0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

YOLOv5瓷砖表面瑕疵质检

新机器视觉 来源:机器学习AI算法工程 2023-05-15 11:35 次阅读

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

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

e4efe15c-f2ce-11ed-90ce-dac502259ad0.png

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

e5315de4-f2ce-11ed-90ce-dac502259ad0.png

数据主要分为两种:

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

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

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

e55b1544-f2ce-11ed-90ce-dac502259ad0.png

一、生成voc格式的数据集

e57a0fa8-f2ce-11ed-90ce-dac502259ad0.png

e58bbc1c-f2ce-11ed-90ce-dac502259ad0.png

二、自动绘制瑕疵点

e5c9e0e6-f2ce-11ed-90ce-dac502259ad0.png

e5e88596-f2ce-11ed-90ce-dac502259ad0.png

e606a922-f2ce-11ed-90ce-dac502259ad0.png

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

e61cd9e0-f2ce-11ed-90ce-dac502259ad0.png

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

三、 对瓷砖进行切图处理

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

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

e64cc70e-f2ce-11ed-90ce-dac502259ad0.png

e6690284-f2ce-11ed-90ce-dac502259ad0.png

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

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

e6874dc0-f2ce-11ed-90ce-dac502259ad0.png

e6af2fb6-f2ce-11ed-90ce-dac502259ad0.png

e6e3b236-f2ce-11ed-90ce-dac502259ad0.png

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

e7087bb6-f2ce-11ed-90ce-dac502259ad0.png

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

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

e741daf0-f2ce-11ed-90ce-dac502259ad0.png

五、Yolov5模型的训练

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

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

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

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

e76b98cc-f2ce-11ed-90ce-dac502259ad0.png

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

e78ff000-f2ce-11ed-90ce-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87600
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24352

原文标题:YOLOv5瓷砖表面瑕疵质检

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    YOLOv5】LabVIEW+YOLOv5快速实现实时物体识别(Object Detection)含源码

    前面我们给大家介绍了基于LabVIEW+YOLOv3/YOLOv4的物体识别(对象检测),今天接着上次的内容再来看看YOLOv5。本次主要是和大家分享使用LabVIEW快速实现yolov5
    的头像 发表于 03-13 16:01 1658次阅读

    Yolov5算法解读

    yolov5于2020年由glenn-jocher首次提出,直至今日yolov5仍然在不断进行升级迭代。 Yolov5YOLOv5s、YOLOv
    的头像 发表于 05-17 16:38 4298次阅读
    <b class='flag-5'>Yolov5</b>算法解读

    YOLOv5】LabVIEW+TensorRT的yolov5部署实战(含源码)

    今天主要和大家分享在LabVIEW中使用纯TensoRT工具包快速部署并实现yolov5的物体识别
    的头像 发表于 08-21 22:20 831次阅读
    【<b class='flag-5'>YOLOv5</b>】LabVIEW+TensorRT的<b class='flag-5'>yolov5</b>部署实战(含源码)

    龙哥手把手教你学视觉-深度学习YOLOV5

    步数的课程,希望学员学习后能在实际工业项目中落地应用。本次课程将重点讲解《YOLOv5》篇,让没有任何深度学习基础的小白学员,通过视频课程能动手配置好yolov5环境,能利用自己的数据集训练模型,能
    发表于 09-03 09:39

    求大佬分享RK3399运行瑞芯微官方yolov5 C++代码

    求大佬分享RK3399运行瑞芯微官方yolov5 C++代码
    发表于 03-07 06:33

    怎样使用PyTorch Hub去加载YOLOv5模型

    在Python>=3.7.0环境中安装requirements.txt,包括PyTorch>=1.7。模型和数据集从最新的 YOLOv5版本自动下载。简单示例此示例从
    发表于 07-22 16:02

    YOLOv5网络结构解析

    1、YOLOv5 网络结构解析  YOLOv5针对不同大小(n, s, m, l, x)的网络整体架构都是一样的,只不过会在每个子模块中采用不同的深度和宽度,  分别应对yaml文件中
    发表于 10-31 16:30

    使用Yolov5 - i.MX8MP进行NPU错误检测是什么原因?

    的时机(yolov5s 模型,输入为 448x448 ~ 70ms)。 现在我正在尝试使用 Yolov5(uint8 量化),但我尝试使用不同的预训练模型获得相同的行为,在 CPU 上进行良好检测,在
    发表于 03-31 07:38

    如何YOLOv5测试代码?

    使用文档“使用 YOLOv5 进行对象检测”我试图从文档第 10 页访问以下链接(在 i.MX8MP 上部署 yolov5s 的步骤 - NXP 社区) ...但是这样做时会被拒绝访问。该文档没有说明需要特殊许可才能下载 test.zip 文件。NXP 的人可以提供有关如
    发表于 05-18 06:08

    yolov5模型onnx转bmodel无法识别出结果如何解决?

    问题描述: 1. yolov5模型pt转bmodel可以识别出结果。(转化成功,结果正确) 2. yolov5模型pt转onnx转bmodel可以无法识别出结果。(转化成功,结果没有) 配置: 1.
    发表于 09-15 07:30

    基于YOLOv5的目标检测文档进行的时候出错如何解决?

    你好: 按Milk-V Duo开发板实战——基于YOLOv5的目标检测 安装好yolov5环境,在执行main.py的时候会出错,能否帮忙看下 main.py: import torch
    发表于 09-18 07:47

    yolov5训练部署全链路教程

    本教程针对目标检测算法yolov5的训练和部署到EASY-EAI-Nano(RV1126)进行说明。
    的头像 发表于 01-05 18:00 2326次阅读
    <b class='flag-5'>yolov5</b>训练部署全链路教程

    使用旭日X3派的BPU部署Yolov5

    本次主要介绍在旭日x3的BPU中部署yolov5。首先在ubuntu20.04安装yolov5,并运行yolov5并使用pytoch的pt模型文件转ONNX。
    的头像 发表于 04-26 14:20 541次阅读
    使用旭日X3派的BPU部署<b class='flag-5'>Yolov5</b>

    【教程】yolov5训练部署全链路教程

    本教程针对目标检测算法yolov5的训练和部署到EASY-EAI-Nano(RV1126)进行说明,而数据标注方法可以参考我们往期的文章《Labelimg的安装与使用》。
    的头像 发表于 01-29 15:25 2836次阅读
    【教程】<b class='flag-5'>yolov5</b>训练部署全链路教程

    YOLOv5网络结构训练策略详解

    前面已经讲过了Yolov5模型目标检测和分类模型训练流程,这一篇讲解一下yolov5模型结构,数据增强,以及训练策略。
    的头像 发表于 09-11 11:15 1117次阅读
    <b class='flag-5'>YOLOv5</b>网络结构训练策略详解