YOLOv8是YOLO系列模型的最新王者,各種指標(biāo)全面超越現(xiàn)有對象檢測與實(shí)例分割模型,借鑒了YOLOv5、YOLOv6、YOLOX等模型的設(shè)計(jì)優(yōu)點(diǎn),全面提升改進(jìn)YOLOv5的模型結(jié)構(gòu)基礎(chǔ)上實(shí)現(xiàn)同時保持了YOLOv5工程化簡潔易用的優(yōu)勢。
數(shù)據(jù)準(zhǔn)備
工業(yè)碼(DataMatrix碼簡稱DM碼)檢測與識別是機(jī)器視覺最常用得場景之一,從DM碼的定位、質(zhì)量評估、預(yù)處理、檢測與ROI截取、解析識別。每個環(huán)節(jié)都有很多技術(shù)細(xì)節(jié),以DM碼的發(fā)現(xiàn)于定位來說,早期都是基于傳統(tǒng)的圖像分析與尋邊算法實(shí)現(xiàn)DM碼定位,現(xiàn)在基本上都是基于輕量化的深度學(xué)習(xí)對象檢測模型來完成。本文的數(shù)據(jù)集是來自一個網(wǎng)友的貢獻(xiàn),它的DM碼圖像。
傳統(tǒng)方法分析相對來說比較容易收到其它因素干擾,導(dǎo)致解碼率不高,因此我從他給我的2000多張圖像中挑選出200張,用OpenMV做好了標(biāo)注,制作生成了數(shù)據(jù)集。
模型訓(xùn)練與量化部署
然后基于YOLOv8對象檢測模型,使用遷移學(xué)習(xí)方式訓(xùn)練了一個DM碼檢測模型,訓(xùn)練結(jié)果如下:
把訓(xùn)練生成的best.pt模型導(dǎo)出ONNX格式模型,再進(jìn)一步量化為INT8,最終模型大小只有3MB,在端側(cè)板子上都可以部署運(yùn)行,然后運(yùn)行測試。
采用ZXING開源解碼結(jié)果
這其中最重要的就是定位查找DM碼,使用YOLOv8訓(xùn)練一個自定義對象檢測模型,可以很輕松的搞定,然后基于ROI使用OpenCV完成預(yù)處理之后即可解碼。
-
模型
+關(guān)注
關(guān)注
1文章
3461瀏覽量
49775 -
OpenCV
+關(guān)注
關(guān)注
31文章
641瀏覽量
42219 -
定位檢測
+關(guān)注
關(guān)注
0文章
4瀏覽量
8261 -
遷移學(xué)習(xí)
+關(guān)注
關(guān)注
0文章
74瀏覽量
5660
原文標(biāo)題:實(shí)戰(zhàn) | YOLOv8+OpenCV 實(shí)現(xiàn)DM碼定位檢測與解析
文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
【飛凌嵌入式OKMX8MP-C 開發(fā)板試用體驗(yàn)】OpenCV-DNN移植&使用體驗(yàn)(基于YOLOV3模型識別物體)
使用Yolov5 - i.MX8MP進(jìn)行NPU錯誤檢測是什么原因?
使用OpenCV與微信二維碼引擎實(shí)現(xiàn)二維碼識別
使用OpenCV+ONNXRuntime部署YOLOV7目標(biāo)檢測

YOLOv5在OpenCV上的推理程序
使用YOLOv8做目標(biāo)檢測和實(shí)例分割的演示
在AI愛克斯開發(fā)板上用OpenVINO?加速YOLOv8目標(biāo)檢測模型

YOLOv8版本升級支持小目標(biāo)檢測與高分辨率圖像輸入

AI愛克斯開發(fā)板上使用OpenVINO加速YOLOv8目標(biāo)檢測模型

OpenCV4.8+YOLOv8對象檢測C++推理演示

YOLOv8實(shí)現(xiàn)旋轉(zhuǎn)對象檢測

OpenCV4.8 C++實(shí)現(xiàn)YOLOv8 OBB旋轉(zhuǎn)對象檢測

基于OpenCV DNN實(shí)現(xiàn)YOLOv8的模型部署與推理演示

YOLOv8中的損失函數(shù)解析

評論