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文章
3206浏览量
48796 -
OpenCV
+关注
关注
30文章
631浏览量
41321 -
定位检测
+关注
关注
0文章
4浏览量
8222 -
迁移学习
+关注
关注
0文章
74浏览量
5559
原文标题:实战 | 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中的损失函数解析

评论