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

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

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

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

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

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

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

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

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

評論