一种能重塑工业质检领域的玻璃缺陷自动检测技术横空出世,一个基于YOLOv8的智能识别检测系统,可以一秒内以超过30帧的速度,针对破裂、打胶、起霜、污染跟未加工这五种常见性问题同时展开检测工作,其检测精度还超过了95%,将传统人工目检那种效率较低同时漏检率又高的行业痛点彻底做了改变。
本项目运用专门构建的玻璃状况数据集,该数据集兼具破裂、针对物体表面进行的打胶、通过一定方式形成的起霜、因脏东西附着而起了污染现象以及处于未对玻璃特性作出改变的未加工形式等,有这5种不同类别的缺陷类型,此数据集采集于2024年3月开始一直到6月结束的这段时间内,是来自3家玻璃生产企业各自生产线的图像呢,一共有8500张,均为高清晰度的图片,并且每张图像都由专业的质检工程师所作的标准注释,注释方式采用的是YOLO格式呈现边界框的那种标注形式哦。
将数据集依照8:1:1的比例,划分成训练集、验证集以及测试集,这个训练集是包含6800张图像,对验证集有这850张,测试集同样是850张,而在数据集中有涵盖不同光照条件、各种拍摄角度还有多样化背景环境下的玻璃图像,这里面就包含了白天自然光的情况、夜间人工照明下的情形、正面拍摄的状况、侧面拍摄等多种不同的情况。
YOLOv8由Ultralytics公司在2023年1月发布,可作为目标检测算法的最新版本,相较于之前的YOLOv5版本,在骨干网络部分,它采用C2f模块替换原有的C3模块,增强了特征提取能力,其颈部网络运用PANet结构,该结构能够更优地融合多尺度特征。
在玻璃缺陷检测这个任务当中,存在着YOLOv8的Anchor-Free检测头设计,这种设计呢,让小目标缺陷的定位变得更加准确。关于模型,它提供了五种不同规模的版本,分别是n、s、m、l、x版本。在本项目里哟,会依据实际需求去选择YOLOv8m版本,以此在检测精度以及推理速度之间达成最佳的平衡状态。并且在NVIDIA GTX 3060显卡之上,推理的速度能够达到35毫秒每张。
英特尔酷睿i7-12700K中央处理器、32GB运行内存、英伟达RTX 3060 12GB图形处理器所配置成的工作站,被用于模型训练。训练参数被设置成:输入图像分辨率是640×640,批处理大小为16。初始学习率为0.01,采用的是SGD优化器,总共展开200个轮次的训练。训练过程利用数据增强技术,此技术包含随机反转、转动、色彩调校等。
训练历经200轮之后,模型于测试集那里的平均精度达成了96.3\%,各类缺陷的识别精度依次是,玻璃破裂为97.2\%、玻璃打胶为95.8\%、玻璃起霜为94.5\%、玻璃污染为96.1\%、玻璃未加工为98.0\%,召回率平均值是95.7\%,可满足工业生产线的实时检测需求。
基于Python 3.9开发的系统,依赖PyTorch 2.0深度学习框架,首先要从GitHub克隆项目代码来进行部署,接着通过pip安装requirements.txt当中的依赖包,像opencv - python、ultralytics、numpy等,预训练模型权重文件大小大概是50MB,下载后要放入指定目录。
用之前得去改动data.yaml文件里的数据集路径设置,要把训练集以及验证集的绝对路径换成本地真实路径。训练的指令是python train.py --data data.yaml --weights yolov8m.pt --epochs 200,推理的指令是python detect.py --source 图片路径 --weights best.pt。系统支持单张图片、视频文件、摄像头实时流三种输入方式。
在2024年8月,于浙江的某玻璃加工企业进行实际测试时,该系统被部署在生产线的检测工位,它与传送带相配合,从而实现了每小时检测1200片玻璃的高效率情形,这种效率的工作量等同于6名熟练质检员的工作量情况。该系统能够检测的最小裂纹长度是0.5毫米,其对于打胶不均匀的识别精度达到了0.2毫米级别。
git clone [项目地址]
cd 项目目录
已成功应用该系统的领域有汽车玻璃生产,建筑玻璃加工,电子玻璃检测等多种。某汽车玻璃厂商采用此系统后,产品漏检率从人工检测时的3.5%降至0.2%,且每年耗费的质检人力成本可节省约120万元。未来版本会增添缺陷分类细粒度识别功能,比如区分污染物的不同类型,评估起霜的程度等。
pip install -r requirements.txt
于工业生产期间,您碰到过什么样的玻璃质量方面的问题呢?欢迎在评论专区分享您所拥有的检测经验,为本文点赞并且收藏起来,以便能够随时去查阅其中的技术细节。
wget [模型下载地址] 相关标签: # 基于YOLOv8 # 玻璃缺陷识别 # 深度学习 # 工业质检 # 目标检测