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完成预处理之后即可解码。
全部0条评论
快来发表一下你的评论吧 !