YOLOv8+OpenCV实现DM码定位检测与解析

描述

    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完成预处理之后即可解码。

 

  审核编辑:汤梓红
 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分