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

YOLOv5在OpenCV上的推理程序
在AI愛克斯開發板上用OpenVINO?加速YOLOv8目標檢測模型

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

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

YOLOv8實現旋轉對象檢測

OpenCV4.8 C++實現YOLOv8 OBB旋轉對象檢測

基于OpenCV DNN實現YOLOv8的模型部署與推理演示

YOLOv8中的損失函數解析

評論