一种基于Ghostnet与注意力机制的玻璃细珠缺陷检测算法
文献发布时间:2024-04-18 19:58:26
技术领域
本发明涉及计算机视觉技术领域,具体为一种基于Ghostnet与注意力机制的玻璃细珠缺陷检测算法。
背景技术
现有的玻璃细珠生产过程已经基本实现了全线自动化,包括自动化的生产、切割、着色、分拣、称重、包装等工序,但是由于玻璃细珠本身很脆,在加工的过程中会造成破损、竖直、颜色混淆等各种各样的缺陷问题,然而通过人工挑拣,存在速度慢,劳动成本高、容易漏检或误判等问题;此外,若挑拣不及时,会严重影响企业的产品质量,对下游服装生产商造成不必要的负面影响。
在研发的玻璃细珠缺陷检测与智能分拣装备中,通过智能检测模块检测出缺陷的玻璃细珠,进而吸管装置能够高效准确稳定的吸取出缺陷的玻璃细珠。以YOLOv5为代表的目标检测技术,存在骨干网络对特征提取不充分问题,玻璃细珠本身体积非常小,长度大约在3~4mm之间,这会导致检测精度较低,极易造成误检、漏检,影响玻璃细珠智能分拣装备不能准确识别和分离出不同种类的缺陷。为此我们提出一种基于Ghostnet与注意力机制的玻璃细珠缺陷检测算法来解决此问题。
发明内容
本发明的目的在于提供一种基于Ghostnet与注意力机制的玻璃细珠缺陷检测算法,具备可以突出玻璃细珠的缺陷特征,提高玻璃细珠缺陷检测效率,能够满足玻璃细珠生产过程中出现的不同类型的缺陷检测需求的优点,解决了目前通过人工挑拣,存在速度慢,劳动成本高、容易漏检或误判,若挑拣不及时,会严重影响企业的产品质量,对下游服装生产商造成不必要负面影响的问题。
为实现上述目的,本发明提供如下技术方案:一种基于Ghostnet与注意力机制的玻璃细珠缺陷检测算法,包括如下步骤:
步骤1:使用高清摄像机获取原始视频数据,筛选出视频数据中的有效帧保存成图像,将对原始图像用darklabel工具进行标注,生成YOLO格式的标签文件,目标类别分为color(颜色异常)、broken(破损)、vertical(竖直)三类;
步骤2:检测前对数据集进行预处理,通过python脚本对其转化为3*3patch形式,即每张图片随机裁剪成9块再重新组合,处理后再按照6:2:2的比例划分为训练集、验证集、测试集;
步骤3:将所划分的训练集图像输入改进的目标检测算法网络中,得到目标检测模型;
步骤4:使用验证集数据来评估模型的好坏,若模型训练结果较差,则尝试调整网络参数后重新进行训练,得到最优模型;以平均精度和平均精度均值为评价指标对模型性能进行评估,得出改进算法的性能;
步骤5:使用评估结果良好的模型进行玻璃细珠缺陷检测。
优选的,所述步骤3中,检测算法的具体操作包括以下步骤:
步骤3.1:分别在YOLOv5的Backbone中CSP1_1、CSP1_3、SPP之后引入ECA注意力机制模块,主要从SE模块的维度缩减和跨通道信息交互这两方面入手优化SE模块,ECA注意力机制用一维卷积实现局部跨通道交互,提取通道的依赖关系,加强对图片中待检测目标的特征提取;ECA主要由全局池化、CONVLD、SCALE3个操作组成,GAP沿着空间维度进行特征压缩,将W*H*C的特征输入转换为1*1*C的特征输出,以获得全局信息;利用CONVLD实现无降维的局部跨通道交互,直接获取通道与权重的相关性,再通过sigmoid函数获得归一化的权重;最后SCALE操作是将归一化后的权重通过乘法加权到每一个通道特征上,得到经过通道注意力后各通道加权的语义特征;
步骤3.2:使用GhostBottleneck构成的C3Ghost模块替换掉原骨干网络中的C3模块,Ghost瓶颈结构主要由两个Ghost模块堆叠构成,其中第1个Ghost负责按照扩展比来膨胀输入特征的通道数,之后通过批归一化(BN)和ReLU激活函数处理后传入第2个Ghost模块来削减特征的通道数,使得到的输出通道数目与输入对应,最后通过BN后再将输出与原始输入连接起来,该模块可以压缩参数,有效降低比例细珠缺陷检测模型对计算资源的占用;
步骤3.3:使用步骤3.1和步骤3.2中引入的ECA和Ghost模块,替换yolov5s.yaml文件中的backbone结构;
步骤3.4:将步骤2中的train数据集送入改进的网络进行训练,得到目标检测模型。
优选的,所述步骤4中,将改进的算法和原始YOLOV5算法进行对比试验,本算法对玻璃细珠这个小目标缺陷检测表现效果更好,mAP值达到95.88%,在原始YOLOV5的基础上,颜色(color),破损(broken)和竖直(vertical)类别的AP值分别提高了3.2%,2.7%,3.5%,mAP值提高了4.35%。
与现有技术相比,本发明的有益效果如下:
1、本发明提出的一种基于Ghostnet与注意力机制的玻璃细珠缺陷检测算法,通过人工标注的数据集中随机提取目标类别和位置信息,对每张图片进行3*3patch预处理操作后,采用本发明的算法,在检测算法YOLOV5的基础上,使用轻量化网络Ghost网络替换原有的特征提取主干网络,并引入ECA注意力机制,使得模型的参数量和内存占用率大大减少,有效提高玻璃细珠缺陷检测精度和速度,为其在移动端部署提供技术支撑。
2、本发明提供一种基于Ghostnet与注意力机制的玻璃细珠缺陷检测算法。该方法首先对原始玻璃细珠图片进行预处理,将每张图片转化为3*3patch形式,可减少输入图像的大小,提高模型的效率;在研发的玻璃细珠缺陷检测与智能分拣装备中,缺陷检测模块算法中引入轻量级GhostNet中的Ghost模块优化YOLOv5主干特征提取网络,在模型预测输出端融合高效通道注意力(ECA)机制,在保证准确度的同时缩小模型,减少模型计算量,从而突出玻璃细珠的缺陷特征,提高玻璃细珠缺陷检测效率,能够满足玻璃细珠生产过程中出现的不同类型的缺陷检测需求,为智能制造和工业生产提供更加可靠的保障,解决了目前通过人工挑拣,存在速度慢,劳动成本高、容易漏检或误判,若挑拣不及时,会严重影响企业的产品质量,对下游服装生产商造成不必要负面影响的问题。
附图说明
图1为本发明的一种引入Ghost模块和ECA的YOLOv5玻璃细珠缺陷检测算法流程图;
图2为本发明算法引入的ECA模块图;
图3为本发明算法引入的Ghost网络结构图;
图4为本发明yolov5-Ghost整体网络结构图;
图5为本发明算法的精确率(Precision)图;
图6为本发明算法的召回率(Recall)图;
图7为本发明算法的平均精度(AP)图;
图8为本发明算法与Yolov5算法精度对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于Ghostnet与注意力机制的玻璃细珠缺陷检测算法,包括如下步骤:
步骤1:使用高清摄像机获取原始视频数据,筛选出视频数据中的有效帧保存成图像,将对原始图像用darklabel工具进行标注,生成YOLO格式的标签文件,目标类别分为color(颜色异常)、broken(破损)、vertical(竖直)三类;
步骤2:检测前对数据集进行预处理,通过python脚本对其转化为3*3patch形式,即每张图片随机裁剪成9块再重新组合,处理后再按照6:2:2的比例划分为训练集、验证集、测试集;
步骤3:将所划分的训练集图像输入改进的目标检测算法网络中,得到目标检测模型;
进一步的,所述步骤3中,检测算法的具体操作包括以下步骤:
步骤3.1:分别在YOLOv5的Backbone中CSP1_1、CSP1_3、SPP之后引入ECA注意力机制模块,主要从SE模块的维度缩减和跨通道信息交互这两方面入手优化SE模块,ECA注意力机制用一维卷积实现局部跨通道交互,提取通道的依赖关系,加强对图片中待检测目标的特征提取;ECA主要由全局池化、CONVLD、SCALE3个操作组成,GAP沿着空间维度进行特征压缩,将W*H*C的特征输入转换为1*1*C的特征输出,以获得全局信息;利用CONVLD实现无降维的局部跨通道交互,直接获取通道与权重的相关性,再通过sigmoid函数获得归一化的权重;最后SCALE操作是将归一化后的权重通过乘法加权到每一个通道特征上,得到经过通道注意力后各通道加权的语义特征;
步骤3.2:使用GhostBottleneck构成的C3Ghost模块替换掉原骨干网络中的C3模块,Ghost瓶颈结构主要由两个Ghost模块堆叠构成,其中第1个Ghost负责按照扩展比来膨胀输入特征的通道数,之后通过批归一化(BN)和ReLU激活函数处理后传入第2个Ghost模块来削减特征的通道数,使得到的输出通道数目与输入对应,最后通过BN后再将输出与原始输入连接起来,该模块可以压缩参数,有效降低比例细珠缺陷检测模型对计算资源的占用;
步骤3.3:使用步骤3.1和步骤3.2中引入的ECA和Ghost模块,替换yolov5s.yaml文件中的backbone结构;
步骤3.4:将步骤2中的train数据集送入改进的网络进行训练,得到目标检测模型。
步骤4:使用验证集数据来评估模型的好坏,若模型训练结果较差,则尝试调整网络参数后重新进行训练,得到最优模型;以平均精度和平均精度均值为评价指标对模型性能进行评估,得出改进算法的性能;
进一步的,所述步骤4中,将改进的算法和原始YOLOV5算法进行对比试验,本算法对玻璃细珠这个小目标缺陷检测表现效果更好,mAP值达到95.88%,在原始YOLOV5的基础上,颜色(color),破损(broken)和竖直(vertical)类别的AP值分别提高了3.2%,2.7%,3.5%,mAP值提高了4.35%。
步骤5:使用评估结果良好的模型进行玻璃细珠缺陷检测。
综上所述,本发明提供了基于Ghostnet与注意力机制的玻璃细珠缺陷检测算法,该方法首先对原始玻璃细珠图片进行预处理,将每张图片转化为3*3patch形式,可减少输入图像的大小,提高模型的效率;在研发的玻璃细珠缺陷检测与智能分拣装备中,缺陷检测模块算法中引入轻量级GhostNet中的Ghost模块优化YOLOv5主干特征提取网络,在模型预测输出端融合高效通道注意力(ECA)机制,在保证准确度的同时缩小模型,减少模型计算量,从而突出玻璃细珠的缺陷特征,提高玻璃细珠缺陷检测效率,能够满足玻璃细珠生产过程中出现的不同类型的缺陷检测需求,为智能制造和工业生产提供更加可靠的保障,解决了目前通过人工挑拣,存在速度慢,劳动成本高、容易漏检或误判,若挑拣不及时,会严重影响企业的产品质量,对下游服装生产商造成不必要负面影响的问题。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
- 融合时空注意力机制的PCB缺陷检测算法
- 一种基于注意力机制指导的分层分类缺陷检测方法