欢迎来智东西
关注我们
智东西
车东西
芯东西
智猩猩
当前页面

项目实践:基于YOLOv5的瓷砖表面瑕疵检测

工业机器视觉
2022-07-18 16::23

导读

目前基于深度学习的目标检测算法很多,应用在目标检测的效果也很突出,但是现有算法在缺陷检测中并不能很好地体现出来,尤其是在瓷砖缺陷检测中,现有目标检测算法受限于瓷砖特征的多样性以及纹理特性。为此,本文提出了一种基于Yolov5网络的瓷砖缺陷检测方法,可以准确的检测瓷砖上的各种缺陷~

佛山作为国内最大的瓷砖生产制造基地之一,拥有众多瓷砖厂家和品牌。经前期调研,瓷砖生产环节一般(不同类型砖工艺不一样,这里以抛釉砖为例)经过原材料混合研磨、脱水、压胚、喷墨印花、淋釉、烧制、抛光,最后进行质量检测和包装。得益于产业自动化的发展,目前生产环节已基本实现无人化。而质量检测环节仍大量依赖人工完成。一般来说,一条产线需要配2~6名质检工,长时间在高光下观察瓷砖表面寻找瑕疵。这样导致质检效率低下、质检质量层次不齐且成本居高不下。瓷砖表检是瓷砖行业生产和质量管理的重要环节,也是困扰行业多年的技术瓶颈。

在产线上架设专业拍摄设备,实地采集生产过程真实数据,解决企业真实的痛点需求。数据覆盖到了瓷砖产线所有常见瑕疵,包括粉团、角裂、滴釉、断墨、滴墨、B孔、落脏、边裂、缺角、砖渣、白边等。实拍图示例如下:

针对某些缺陷在特定视角下的才能拍摄到,每块砖拍摄了三张图,包括低角度光照黑白图、高角度光照黑白图、彩色图,示例如下:

数据主要分为两种:

  1. 白板瓷砖。花色简单,数量总共约12000张,包含训练集和测试集.

  2. 复杂瓷砖。花色相对复杂,并提供相应的模板图片(同花色且无瑕疵图片),数量总共约12000张,包含训练集和测试集。

复杂瓷砖包含有瑕疵图片带模板、无瑕疵图片和标注数据。标注数据标注模板图片、瑕疵位置和类别信息。示例如下:

生成voc格式的数据集

自动绘制瑕疵点

绘制瑕疵点之后的图像如下图所示

可以看出瑕疵点较小,因此对瓷砖图片进行切图处理。

对瓷砖进行切图处理

为了提高识别的精度,对瓷砖图片进行切图处理,参照这篇文章的代码对图片进行切图处理。

https://blog.csdn.net/weixin_45734379/article/details/112908630

将voc格式的数据集转换为yolo(.txt)格式的数据集

yolov5模型进行目标检测,必须使用yolo格式的数据因此利用下面的程序创建yolo格式的数据

生成的yolo格式数据如下图所示,最前面的数字 4 为瑕疵点类别编号,后面的数据为瑕疵点的位置

将Yolo格式数据自动划分成训练集(train2017),测试集(val2017)

程序生成的数据集存放方式如下图所示

Yolov5模型的训练

模型环境的建立和模型训练流程

https://blog.csdn.net/weixin_45652435/article/details/113095444

模型训练之前需要更改coco128.yaml 和 yolov5s.yaml中的nc(识别对象的类别数目)和 names

进入Yolov5的环境,切换到相应的目录,对模型进行训练

对需要检测的图片进行预测,生成 json 文件

新机器视觉
0篇文章
关注公众号
新机器视觉
0篇文章