CN115861170A - 基于改进yolo v4算法的表面缺陷检测方法 - Google Patents

基于改进yolo v4算法的表面缺陷检测方法 Download PDF

Info

Publication number
CN115861170A
CN115861170A CN202211239496.9A CN202211239496A CN115861170A CN 115861170 A CN115861170 A CN 115861170A CN 202211239496 A CN202211239496 A CN 202211239496A CN 115861170 A CN115861170 A CN 115861170A
Authority
CN
China
Prior art keywords
glass
loss
training
data set
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211239496.9A
Other languages
English (en)
Inventor
吴定会
张文锋
王博文
唐丹丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangnan University
Original Assignee
Jiangnan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangnan University filed Critical Jiangnan University
Priority to CN202211239496.9A priority Critical patent/CN115861170A/zh
Publication of CN115861170A publication Critical patent/CN115861170A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

本发明公开了一种基于改进YOLO V4算法的表面缺陷检测方法,具体包括:获取原始数据集、标准化数据集、数据集标签标定、训练模型构建、生成权重文件、读取权重文件进行测试等步骤。本发明构建了改进YOLO V4训练网络结构模型,改进YOLO V4算法将原有算法的3个输出预测特征图改为4个输出预测特征图,增加多个特征层后的卷积层个数,增加了注意力机制。以上改进使得网络可以学习到更细节的特征,从而可以有效地增强特征提取网络的小目标特征提取能力和检测性能。本发明可以准确快速的检测出缺陷位置并确定缺陷种类,可以在玻璃进行下一步加工前确定是否继续加工并对机器进行故障排查,进而达到有效提高生产效率并降低生产成本的目的。

Description

基于改进YOLO V4算法的表面缺陷检测方法
技术领域
本发明涉及图像处理及缺陷检测领域,尤其涉及一种基于改进YOLO V4算法的表面缺陷检测方法。
背景技术
在生产精密玻璃仪器过程中,由于机器摩擦和人工问题会出现一些非良品的玻璃,而在传统的人工检测方法中,人们会因为个体的不同,出现疲劳、认识差异、误检率高等问题。玻璃缺陷类型的准确分类对于后续排查机器故障和安全高效生产有着重要意义。
现有的玻璃缺陷检测方法主要有两种方法,一种是基于阈值分割的传统检测方法,往往采用常规图像处理算法或人工设计特征加分类器方式;另一种是基于深度学习的玻璃检测方法,该方法又可分为以YOLO系列为代表的单目标检测算法和以FasterR-CNN为代表的双目标检测算法。其中,基于双目标检测算法在针对缺陷种类不均衡及小目标缺陷时模型准确率不佳、实时性低、识别速度较慢等问题,难以准确检测识别缺陷;而基于YOLO系列的单目标检测算法在牺牲少量精度的前提下取得了较高的检测速度,被广泛应用在工业场景中,但对于整体尺寸较小且部分类型的缺陷尺寸较小的玻璃器件,目前仍缺少针对性的检测方法来准确的识别精密玻璃缺陷。
发明内容
针对现有技术中的不足,设计一套科学的基于图像识别的玻璃表面质量全检测方法,本发明提出一种基于改进YOLO V4算法的表面缺陷检测方法,以解决由于缺陷形状多样化、同种缺陷多尺度以及缺陷尺度过小而造成的特征提取困难问题。
本发明提出的基于改进YOLO V4算法的表面缺陷检测方法,包括以下步骤:
步骤一、原始数据集的获取:利用工业相机采集玻璃图像,对一枚玻璃完成一次画像采集得到6张玻璃照片,包括:工业相机在同轴光源的透射下在待拍摄玻璃正上方垂直拍摄玻璃的正反面,分别得到1号、4号两张照片,在低亮度环形光源透射下在同样位置垂直拍摄玻璃的正反面,分别得到2号、5号照片,在高亮度环形光源透射下在同样位置垂直拍摄玻璃的正反面,分别得到3号、6号照片;每隔设定时间拍摄一张照片,采集到的全部图像作为缺陷检测的原始数据集;
步骤二、人工挑选每枚玻璃6张照片中缺陷最明显的一张,对这部分玻璃图像进行标准化处理,得到标准化数据集;
步骤三、数据集标签标定:采用图像标注软件,人工对标准化数据集的每个图像进行缺陷标签标注;将标准化数据集按照8:2的比例划分为训练集和测试集,其中对每种缺陷都按照8:2的比例划分到训练集和测试集;
步骤四、构建改进YOLO V4训练网络结构模型;
步骤五、模型训练生成权重文件:对模型参数进行初始化,设置权重衰减系数和学习率;将训练集输入训练网络结构模型进行训练,计算各部分损失函数和总损失函数,当总损失函数收敛时,结束训练,保存训练好的权重文件;
步骤六、读取权重文件并测试:将步骤三准备好的测试集投入到模型当中进行测试,若测试没达到预期标准,则返回步骤五,继续训练模型参数,以获取最佳权重文件;若测试通过,将按照步骤一方法采集的玻璃图像输入到训练好的改进YOLO V4训练网络结构模型,实时实现表面缺陷的识别、分类以及定位。
具体的,在步骤二中,将玻璃旋转至固定角度并消除背景将其单独裁剪出来。
步骤二对玻璃图像进行标准化处理的方法为:
2.1、将采集到的原始数据集中的玻璃照片进行二值化处理;
2.2、对二值化后的照片进行高斯滤波处理,寻找出图片中的所有连通域及连通域对应的最小外接矩形;对该最小外接矩形进行特征计算;
2.3、通过实际玻璃已知参数进行判别,对符合条件的最小外接矩形进行旋转裁剪操作,将其旋转至标准方向并将该最小外接矩形裁剪,实现标准化处理,保存至标准化数据集。
具体的,步骤三中玻璃缺陷包括3种:划伤不良、缺口不良和来料不良。
步骤三中采用图像标注工具labelImg,对标准化数据集进行标注,每标注好一张玻璃图像会产生一个对应的txt文件,txt文件所包含的内容包括:目标边界框的类别信息、中心点位置坐标(x,y)、宽w、高h;所述目标边界框是标注好的矩形框,该矩形框将缺陷包围在内。
具体的,步骤四中构建的改进YOLO V4训练网络结构模型包括:CSPDarknet53主干特征提取网络、卷积块注意力模块CBAM、空间金字塔池化结构SPP、路径聚合网络PANet和检测网络Detection五个模块;其中,CSPDarknet53是检测算法的主干特征提取网络,由多个Resblock_body模块组合而成,Resblock_body模块是由一次下采样和多个残差结构堆叠而成;卷积注意力模块CBAM是将通道注意力模块和空间注意力模块串联结合组成的注意力模块,直接使用CBAM来同时实现通道注意和空间注意;SPP结构是对特征层中的特征作三次卷积后进行最大池化,池化过程中共使用4种不同尺度的池化层进行处理,池化核大小分别为1*1、5*5、9*9、13*13;PANet结构是由卷积操作、上采样操作、特征层融合、下采样操作构成的循环金字塔结构,经过PANet结构后,不同特征层的特征之间充分融合,能有效提高缺陷的特征提取能力;检测网络Detection利用PANet处理后的4个特征图进行结果预测,首先对4个特征图分别进行卷积操作,然后对每个特征层的3个先验框进行判别,判断其内部是否包含目标,同时判断目标种类,最后进行非大抑制处理和先验框调整,以获得最终的预测框。
具体的,步骤五中将权重衰减系数设置为0.0004至0.0006之间,初始学习率设置为0.001至0.002之间,最大迭代次数设置为20000至30000之间;学习率设定采用逐步递减策略,即训练到一定次数后分两次逐步将学习率减小为初始学习率的10%。
具体的,步骤五中总损失函数Loss为:
Loss=Lossclass+Lossconfidence+Lossbounding
其中,Lossclass为分类损失函数,Lossconfidence为置信度损失函数,Lossbounding为边界框回归损失函数;
Figure BDA0003884576590000031
Figure BDA0003884576590000032
Figure BDA0003884576590000033
Figure BDA0003884576590000034
其中,K为预测框,Kgt为真实框,k和kgt分别表示预测框和真实框的中心点;w和h为预测框的宽和高;wgt和hgt为真实框的宽和高;l表示预测框和真实框的最小外界矩形的对角线距离;η()表示欧式距离;
Figure BDA0003884576590000035
其中,S为网格数;N为每个网格中的先验框个数;
Figure BDA0003884576590000036
为预测置信度,/>
Figure BDA0003884576590000037
为实际置信度;/>
Figure BDA0003884576590000038
为预测的边界框包含目标的指示值,取值为1时表示包含,取值为0时表示不包含;
Figure BDA0003884576590000039
为预测的边界框不包含目标的指示值,取值为1时表示不包含,取值为0时表示包含;ηnoob为自行设定的参数值;γ为一个超参数,称为聚焦参数,取值范围为γ∈[0,5];
Figure BDA00038845765900000310
其中,n表示检测目标所属的种类;nclass是缺陷总类别数;Pi j(n)为网格中目标属于类别n的预测概率,
Figure BDA00038845765900000311
表示网格中目标属于类别n的实际概率。
具体的,步骤一拍摄采集过程中采用智能机械臂自动翻转玻璃的正反面,自动完成玻璃转动与相机获取图像同步。步骤一所述工业相机采用的是工业面阵相机。
本发明的优点是:采用了改进YOLO V4训练网络结构模型,改进YOLO V4算法将原有算法的3个输出预测特征图改为4个输出预测特征图;增加多个特征层后的卷积层个数,经过多个卷积层的卷积运算之后,可以加深网络的深度;增加了注意力机制,注意机制可以传递有效特征,通道抑制无效特征。以上操作使得网络可以学习到更细节的特征,从而可以有效地增强特征提取网络的小目标特征提取能力和检测性能。本发明可以准确快速的检测出缺陷位置并确定缺陷种类,从而在玻璃进行下一步加工前确定是否继续加工并对机器进行故障排查,进而达到有效提高生产效率并降低生产成本的目的。
附图说明
图1为本发明提出的玻璃仪器缺陷检测方法流程图。
图2为本发明提出的改进YOLOV4算法图。
图3为画像采集设备的结构示意图。
图4为采集玻璃样品原始画像图。
图5为画像标准化过程。
图6为玻璃表面缺陷检测平台界面。
图7为玻璃表面缺陷检测结果图。
具体实施方式
以下结合附图和具体实施例对本发明做进一步说明。
如图1所示,本发明的表面缺陷检测方法总体包括:获取原始数据集、标准化数据集、数据集标签标定、训练模型构建、训练模型并生成权重文件、读取权重文件进行测试等步骤。以下是本发明的具体实施案例。
步骤一:原始数据集的获取:
本发明基于画像采集设备进行检测,通过不同光源和摄像角度,获取玻璃上下表面画像信息状况。如图3所示,整个玻璃原始画像采集系统由工业相机1、同轴光源2、环形光源3、光学支架4以及智能工业机械臂5组成。工业相机1拍摄得到原始照片6。其中两种光源与相机同轴,当一种光源工作时,另一种光源会自动偏离相机轴,可以对相机视野中物体进行均匀照射。工业相机1安装于光学支架4上,垂直拍摄玻璃正反面,通过调节相机与玻璃台之间的距离,使得相机视野覆盖整块玻璃,且清晰成像。
工控设备对一件缺陷玻璃完成一次画像采集得到6张不同效果的玻璃照片,如图4所示。机械臂5从操作台抓取一枚玻璃,移动到工业相机1面前进行拍照。首先工业相机1在同轴光源2的透射下在待拍摄玻璃的正上方,机械臂5自动翻转待拍摄玻璃的正反面,分别得到1号、4号两张照片;然后在低亮度环形光源3透射下同样拍摄玻璃的正反面,分别得到2号、5号照片;最后在高亮度环形光源3透射下拍摄玻璃的正反面,分别得到3号、6号照片。
拍摄采集过程中自动完成玻璃转动与相机获取图像同步,拍摄用的工业相机1采用2000万像素的面阵相机,相机拍摄时,相机面平行于待拍摄玻璃,允许玻璃倾斜角度±3°,每隔设定间隔(如2秒)拍摄一张照片。
实施例中共拍摄1850枚玻璃,由于每枚玻璃经过不同光源的正反面拍摄得到6张照片,所以最后共采集到玻璃照片共计11100张,作为玻璃缺陷检测的原始数据集。
需要注意的是,由于玻璃缺陷可能存在于正反面的其中一面,以及缺陷可能对于某种光源不敏感,导致实际上存在缺陷的玻璃,在拍摄出的某些照片上缺陷不明显。所以本发明采用对同一枚玻璃拍摄6种不同光源的正反面照片,在构建标准化数据集的时候,只取每枚玻璃对应的6张照片中的一张缺陷明显的照片。而在实际工业应用中进行缺陷检测的时候,会将采集到的6种照片全部输入到训练好的网络中进行检测,将会大大增加缺陷的检出率。
步骤二:标准化数据集的获取:
对采集到的玻璃图像进行标准化处理。实施例中,玻璃双面镀膜,尺寸较小,长宽高的实际大小为:15.96*10.5*1.1(mm),生产过程中易产生划伤,不良类型较多。玻璃不良种类主要分为3种:划伤不良、缺口不良和来料不良。如图5所示,左侧照片为采集玻璃样品原始画像图,箭头所指方框即为玻璃照片,白色部分为固定玻璃用的夹子,黑色部分为背景。
数据集图像标准化处理过程:首先,将玻璃照片进行二值化处理,本发明将二值化阈值设定为80,即当照片中像素值大于设定的二值化阈值时,将该部分的像素变为255,否则变为0。接着,对二值化后的照片进行高斯滤波处理,这里选用大小为3*3的高斯核。经过以上处理后即可寻找出图片中的所有连通域。然后对所有连通域对应的最小外接矩形进行特征计算,包括中心点坐标,偏离坐标轴角度,长,宽,周长和长宽比。已知本发明实施例处理的实际玻璃照片长宽比为5:3,通过实际玻璃已知参数进行判别,对符合条件的最小外接矩形进行选择。最后对符合条件的最小外接矩形进行旋转裁剪操作,将其旋转至标准方向并将该最小外接矩形裁剪,实现标准化处理,保存至标准化数据集。如图5所示,右侧为标准化的玻璃图像。
步骤三:数据集标签标定:
将标准化数据集按照8:2的比例划分为训练集和测试集,三种缺陷照片均按照8:2的比例划分到训练集和测试集。实施例中,划伤不良、来料不良和缺口不良3类缺陷的训练集分别分配500张标准化图片,3类缺陷测试集分别分配125张标准化图片,总计训练集和测试集共有1850张照片。采用图像标注工具labelImg,对标准化数据集进行缺陷标签标注,其中,划伤不良命名为scratch,来料不良命名为badness,缺口不良命名为atel。每标注好一张玻璃图像会产生一个对应的txt文件,文件以原图片名作为文件名,txt文件所包含的内容包括目标边界框的类别信息和目标边界框中心点位置坐标(x,y)、宽(w)和高(h)三个位置信息,此处的目标边界框即是标注好的缺陷矩形框,该矩形框将缺陷包围在内。例如:0,0.363492,0.634586,0.355556,0.228571代表该图片所含缺陷有一种,且是划伤不良类型,目标边界框中心点坐标为(0.363492,0.634586),宽和高分别为0.355556和0.228571。这样将标准化图片文件变成标注的txt文件,为网络训练做好准备。
步骤四:算法网络模型构建:
原版YOLOV4算法在一定程度上可对不同尺寸、类型的缺陷特征进行提取,但由于光学部件表面中的部分划伤不良和缺口不良尺寸较小,特征不明显,若直接使用原版的YOLOV4算法进行训练与检测,检测效果并不理想。因此,本发明针对原版YOLOV4算法网络结构进行了改进。图2中用I、II、III标识了改进处。
如图2所示为改进的YOLO V4网络结构图,改进的YOLOV4网络结构主要包括主干特征提取网络(CSPDarknet53)、卷积块注意力模块(CBAM)、空间金字塔池化结构(SPP)、路径聚合网络(PANet)和检测网络(Detection)等5个模块。
改进的YOLOV4主干特征提取网络是CSPDenseNet,图2中Res_b模块所示为残差块,直接使用两次3*3和1*1的CBM卷积,然后增加一个残差通道使用Concat函数按通道方向组合。通过不断进行下采样以获得更高层次的语义信息,既减少了计算量,又增强了梯度信息。改进的网络结构模型输入图像分辨率为608*608,将特征层R1、R2和R3处后的1个卷积层改为3个CBL卷积层,即图2的I处。经过多个CBL卷积层的卷积运算之后,可以加深网络的深度,从而可以获得更深层次的语义信息。
SPP结构是对特征层R5中的特征作三次卷积后进行最大池化,池化过程中共使用4种不同尺度的池化层进行处理,池化核大小分别为1*1、5*5、9*9、13*13。经过SPP处理后可有效增加感受野,分离出显著的上下文特征。
改进的YOLO V4网络增加了卷积注意力机制(CBAM),即图2的II处。随着网络卷积运算的增加,语义信息也变得更加高级。注意机制可以传递有效特征,通道抑制无效特征。因此,本文在改进的YOLO V4网络中引入了通道注意力模块和空间注意力模块,以获取更有效的特征信息。卷积注意力模块将通道注意力模块和空间注意力模块串联结合组成的注意力模块,直接使用CBAM来同时实现通道注意和空间注意。
PANet结构是由卷积操作、上采样操作、特征层融合、下采样操作构成的循环金字塔结构。经过PANet结构后,不同特征层的特征之间充分融合,能有效提高缺陷的特征提取能力。本发明将原有的3个输出特征图改为4个输出特征图,即在图2的I处增加了一组152*152的特征图输出。首先,改进的YOLO V4算法网络在R2、R3和R4特征层后分别进行3次卷积操作,分别得到152*152*64、76*76*128和38*38*256尺寸的特征图;然后,将经过SPP结构和3次CBL卷积运算后得到的19*19*512的特征图进行CBL卷积和上采样操作,再与R4后的38*38*256特征图进行Concat拼接,得到38*38*512大小的特征图;同理,对38*38*512的特征图进行CBL卷积和上采样操作,得到76*76*128大小的特征图,再将76*76*128特征图与R3后的76*76*128特征图进行Concat拼接,得到76*76*256大小的特征图;最后,将76*76*256特征图进行CBL卷积和上采样操作,得到152*152*64大小的特征图,再将该特征图与R2后的152*152*64特征图进行Concat拼接,得到152*152*128大小的特征图。
Detection利用PANet处理后的输出特征图进行结果预测,改进的YOLO V4网络将原有的3个输出特征图改为4个输出特征图,即在图2的III处增加了一组152*152的特征图输出,如图2所示。将得到的152*152*128特征图、76*76*128特征图、38*38*128特征图和19*19*128特征图分别进行CBL卷积操作,最终得到152*152*24特征图、76*76*24特征图、38*38*24特征图和19*19*24预测特征图。其中,本发明处理的缺陷照片种类nclass=3,故最终输出特征图通道数N=(nclass+5)×3=24。最后对每个输出特征图的3个先验框进行判别,判断其内部是否包含目标,同时判断目标种类,最后进行非极大抑制处理和先验框调整,以获得最终的预测框。
以上操作可使得网络学习到更细节的特征,从而可以有效地增强特征提取网络的小目标特征提取能力和检测性能。
步骤五:训练模型并生成权重文件:
将训练集输入构建好的训练网络结构模型进行训练,检测时网络首先将待测图片分割成不同大小的网格,每个网格负责不同的区域,如果待检测目标的中心落在某个网格中,则由该网格负责检测目标。由于网络模型参数较多,完成一次完整训练所需时间较长,故本发明采用COCO数据集的预训练权重做迁移学习进行训练。
5.1、模型参数初始化
实施例中将权重衰减系数设置为0.0004至0.0006之间,初始学习率设置为0.001至0.002之间,最大迭代次数设置为20000至30000之间。学习率设定采用逐步递减策略,即训练到一定次数后分两次将学习率减小为初始学习率的10%,比如本发明实施例初始学习率设置为0.0016,在训练迭代次数达到6000和8000时,将学习率分别降至0.016和0.16,并在每一轮训练时开启数据增强。
5.2、损失函数计算
YOLO V4损失函数由分类损失函数、置信度损失函数、边界框回归损失函数三部分组成,总损失函数Loss公式可以写为:
Loss=Lossclass+Lossconfidence+Lossbounding
其中,Lossclass为分类损失函数,Lossconfidence为置信度损失函数,Lossbounding为边界框回归损失函数。
改进后的YOLO V4分类损失函数和置信度损失函数使用Focal损失函数替换原来的置信度损失和分类损失的二分类交叉熵损失函数,边界框回归损失函数采用CIoU函数。
具体的,YOLO V4损失函数中的Lossbounding采用了CIoU损失函数进行计算,将目标中心点距离、长宽比和重叠面积都考虑在内,使预测框更加符合真实框,从而使目标框回归更加稳定,解决了只使用IoU损失函数时在训练过程中出现发散、震荡等问题。边界框回归损失函数Lossbounding计算公式为:
Figure BDA0003884576590000071
Figure BDA0003884576590000072
Figure BDA0003884576590000073
Figure BDA0003884576590000074
其中,K为预测框;Kgt为真实框;k和kgt分别表示预测框和真实框的中心点;w和h为预测框的宽和高;wgt和hgt为真实框的宽和高;l表示预测框和真实框的最小外界矩形的对角线距离;η()表示欧式距离;λ是用于协调比例的参数;μ用来衡量长宽比的一致性。
由于一张照片可能会出现多类缺陷,所以最终的各类缺陷比例存在不均衡性,而Focal损失函数是针对分类过程中存在正负类样本分布不均衡问题提出的,通过减少易分类样本的权重,使模型在训练时更注意难以分类的样本。为了增强模型对缺陷检测的能力,使用Focal损失函数替换置信度损失函数和分类损失函数中的二分类交叉熵损失函数。
具体的,改进后的YOLO V4置信度损失函数Lossconfidence的计算公式为:
Figure BDA0003884576590000081
其中,S为网格数;N为每个网格中的先验框个数;
Figure BDA0003884576590000083
为预测置信度,/>
Figure BDA0003884576590000084
为实际置信度;/>
Figure BDA0003884576590000085
为预测的边界框包含目标的指示值,取值为1时表示包含,取值为0时表示不包含;
Figure BDA0003884576590000086
为为预测的边界框不包含目标的指示值,取值为1时表示不包含,取值为0时表示包含。ηnoob为技术人员自行设定的参数值;γ为一个超参数,称为聚焦参数(focusingparameter),其取值范围为γ∈[0,5],本发明实施例中将其取值为2。
改进后的YOLO V4分类损失函数Lossclass的计算公式为:
Figure BDA0003884576590000082
其中,n表示检测目标所属的种类;nclass是缺陷总类别数;Pi j(n)为网格中目标属于类别n的预测概率,
Figure BDA0003884576590000087
表示网格中目标属于类别n的实际概率。
当总损失函数Loss达到收敛阈值时,停止训练并保存训练好的权重文件。开发相应的python程序,将在云服务器下训练好的权重文件放至windows环境下运行,可以解决硬件条件不足的问题,并节约了大量的训练时长,此程序可在嵌入式Linux系统中运行,更符合实际工业生产运行条件。
步骤六:读取权重文件并测试:
使用python程序读取上述权重文件,开发缺陷检测平台界面,界面如图6所示,将步骤三准备好的测试集输入到模型当中进行测试。进入缺陷检测系统后,首先选择需要检测的图像文件。点击“选择”按钮,打开选择图片对话框,找到存放图片数据集的根地址;选择根地址,点击“选择文件夹”,之后点击界面上的“运行”按钮,缺陷检测的效果将在缺陷检测系统的图片展示区显示,相应有缺陷的图像会被标记出来并显示在对应的坐标区,其中下侧方框会显示当前处理的是第几张图片,图6中所检测到三张图片的缺陷类型分别为划伤和缺口,当所有图片处理完之后会显示“Finish!”。
实施例中进行了不同类型玻璃缺陷检测的测试,部分测试结果如图7所示,其中,scratch代表划伤不良缺陷,badness代表来料不良缺陷,atel代表缺口不良缺陷。测试结果说明本方法能够高精度的对以上三类玻璃表面缺陷进行检测。
本发明提出的表面缺陷检测方法应用于工业生产中时,将按照步骤一方法采集的玻璃图像输入到训练好的改进YOLO V4训练网络结构模型,即可实现实时的表面缺陷的识别、分类以及定位,对于技术人员后期排查机器故障、提高生产质量有着巨大的作用。

Claims (10)

1.基于改进YOLO V4算法的表面缺陷检测方法,其特征是,包括以下步骤:
步骤一、原始数据集的获取:利用工业相机采集玻璃图像,对一枚玻璃完成一次画像采集得到6张玻璃照片,包括:工业相机在同轴光源的透射下在待拍摄玻璃正上方垂直拍摄玻璃的正反面,分别得到1号、4号两张照片,在低亮度环形光源透射下在同样位置垂直拍摄玻璃的正反面,分别得到2号、5号照片,在高亮度环形光源透射下在同样位置垂直拍摄玻璃的正反面,分别得到3号、6号照片;每隔设定时间拍摄一张照片,采集到的全部图像作为缺陷检测的原始数据集;
步骤二、人工挑选每枚玻璃6张照片中缺陷最明显的一张,对这部分玻璃图像进行标准化处理,得到标准化数据集;
步骤三、数据集标签标定:采用图像标注软件,人工对标准化数据集的每个图像进行缺陷标签标注;将标准化数据集按照8:2的比例划分为训练集和测试集,其中对每种缺陷都按照8:2的比例划分到训练集和测试集;
步骤四、构建改进YOLO V4训练网络结构模型;
步骤五、模型训练生成权重文件:对模型参数进行初始化,设置权重衰减系数和学习率;将训练集输入训练网络结构模型进行训练,计算各部分损失函数和总损失函数,当总损失函数收敛时,结束训练,保存训练好的权重文件;
步骤六、读取权重文件并测试:将步骤三准备好的测试集投入到模型当中进行测试,若测试没达到预期标准,则返回步骤五,继续训练模型参数,以获取最佳权重文件;若测试通过,将按照步骤一方法采集的玻璃图像输入到训练好的改进YOLO V4训练网络结构模型,实时实现表面缺陷的识别、分类以及定位。
2.如权利要求1所述的基于改进YOLO V4算法的表面缺陷检测方法,其特征是,步骤二中将玻璃旋转至固定角度并消除背景将其单独裁剪出来。
3.如权利要求1所述的基于改进YOLO V4算法的表面缺陷检测方法,其特征是,步骤二对玻璃图像进行标准化处理的方法为:
2.1、将采集到的原始数据集中的玻璃照片进行二值化处理;
2.2、对二值化后的照片进行高斯滤波处理,寻找出图片中的所有连通域及连通域对应的最小外接矩形;对该最小外接矩形进行特征计算;
2.3、通过实际玻璃已知参数进行判别,对符合条件的最小外接矩形进行旋转裁剪操作,将其旋转至标准方向并将该最小外接矩形裁剪,实现标准化处理,保存至标准化数据集。
4.如权利要求1所述的基于改进YOLO V4算法的表面缺陷检测方法,其特征是,步骤三中玻璃缺陷包括3种:划伤不良、缺口不良和来料不良。
5.如权利要求1所述的基于改进YOLO V4算法的表面缺陷检测方法,其特征是,步骤三中采用图像标注工具labelImg,对标准化数据集进行标注,每标注好一张玻璃图像会产生一个对应的txt文件,txt文件所包含的内容包括:目标边界框的类别信息、中心点位置坐标(x,y)、宽w、高h;所述目标边界框是标注好的矩形框,该矩形框将缺陷包围在内。
6.如权利要求1所述的基于改进YOLO V4算法的表面缺陷检测方法,其特征是,步骤四中构建的改进YOLO V4训练网络结构模型包括:CSPDarknet53主干特征提取网络、卷积块注意力模块CBAM、空间金字塔池化结构SPP、路径聚合网络PANet和检测网络Detection五个模块;其中,CSPDarknet53是检测算法的主干特征提取网络,由多个Resblock_body模块组合而成,
Resblock_body模块是由一次下采样和多个残差结构堆叠而成;卷积注意力模块CBAM是将通道注意力模块和空间注意力模块串联结合组成的注意力模块,直接使用CBAM来同时实现通道注意和空间注意;SPP结构是对特征层中的特征作三次卷积后进行最大池化,池化过程中共使用4种不同尺度的池化层进行处理,池化核大小分别为1*1、5*5、9*9、13*13;PANet结构是由卷积操作、上采样操作、特征层融合、下采样操作构成的循环金字塔结构,经过PANet结构后,不同特征层的特征之间充分融合,能有效提高缺陷的特征提取能力;检测网络Detection利用PANet处理后的4个特征图进行结果预测,首先对4个特征图分别进行卷积操作,然后对每个特征层的3个先验框进行判别,判断其内部是否包含目标,同时判断目标种类,最后进行非大抑制处理和先验框调整,以获得最终的预测框。
7.如权利要求1所述的基于改进YOLO V4算法的表面缺陷检测方法,其特征是,步骤五中将权重衰减系数设置为0.0004至0.0006之间,初始学习率设置为0.001至0.002之间,最大迭代次数设置为20000至30000之间;学习率设定采用逐步递减策略,即训练到一定次数后分两次逐步将学习率减小为初始学习率的10%。
8.如权利要求1所述的基于改进YOLO V4算法的表面缺陷检测方法,其特征是,步骤五中总损失函数Loss为:
Loss=Lossclass+Lossconfidence+Lossbounding
其中,Lossclass为分类损失函数,Lossconfidence为置信度损失函数,Lossbounding为边界框回归损失函数;
Figure FDA0003884576580000021
Figure FDA0003884576580000022
Figure FDA0003884576580000023
Figure FDA0003884576580000024
其中,K为预测框,Kgt为真实框,k和kgt分别表示预测框和真实框的中心点;w和h为预测框的宽和高;wgt和hgt为真实框的宽和高;l表示预测框和真实框的最小外界矩形的对角线距离;η()表示欧式距离;
Figure FDA0003884576580000031
其中,S为网格数;N为每个网格中的先验框个数;
Figure FDA0003884576580000032
为预测置信度,/>
Figure FDA0003884576580000033
为实际置信度;
Figure FDA0003884576580000034
为预测的边界框包含目标的指示值,取值为1时表示包含,取值为0时表示不包含;/>
Figure FDA0003884576580000035
为预测的边界框不包含目标的指示值,取值为1时表示不包含,取值为0时表示包含;ηnoob为自行设定的参数值;γ为一个超参数,称为聚焦参数,取值范围为γ∈[0,5];
Figure FDA0003884576580000036
其中,n表示检测目标所属的种类;nclass是缺陷总类别数;
Figure FDA0003884576580000037
为网格中目标属于类别n的预测概率,/>
Figure FDA0003884576580000038
表示网格中目标属于类别n的实际概率。
9.如权利要求1所述的基于改进YOLOV4算法的表面缺陷检测方法,其特征是,步骤一拍摄采集过程中采用智能机械臂自动翻转玻璃的正反面,自动完成玻璃转动与相机获取图像同步。
10.如权利要求1所述的基于改进YOLOV4算法的表面缺陷检测方法,其特征是,步骤一所述工业相机采用工业面阵相机。
CN202211239496.9A 2022-10-11 2022-10-11 基于改进yolo v4算法的表面缺陷检测方法 Pending CN115861170A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211239496.9A CN115861170A (zh) 2022-10-11 2022-10-11 基于改进yolo v4算法的表面缺陷检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211239496.9A CN115861170A (zh) 2022-10-11 2022-10-11 基于改进yolo v4算法的表面缺陷检测方法

Publications (1)

Publication Number Publication Date
CN115861170A true CN115861170A (zh) 2023-03-28

Family

ID=85661442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211239496.9A Pending CN115861170A (zh) 2022-10-11 2022-10-11 基于改进yolo v4算法的表面缺陷检测方法

Country Status (1)

Country Link
CN (1) CN115861170A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116589171A (zh) * 2023-07-14 2023-08-15 江西省博信玻璃有限公司 一种具备自动检测玻璃的智能钢化方法及系统
CN117058081A (zh) * 2023-08-02 2023-11-14 苏州弗莱威智能科技有限公司 一种光伏玻璃的边角及表面缺陷检测方法
CN117115409A (zh) * 2023-10-24 2023-11-24 广东埃文低碳科技股份有限公司 一种基于机器视觉的仪表数据采集装置及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116589171A (zh) * 2023-07-14 2023-08-15 江西省博信玻璃有限公司 一种具备自动检测玻璃的智能钢化方法及系统
CN116589171B (zh) * 2023-07-14 2024-01-09 江西省博信玻璃有限公司 一种具备自动检测玻璃的智能钢化方法及系统
CN117058081A (zh) * 2023-08-02 2023-11-14 苏州弗莱威智能科技有限公司 一种光伏玻璃的边角及表面缺陷检测方法
CN117115409A (zh) * 2023-10-24 2023-11-24 广东埃文低碳科技股份有限公司 一种基于机器视觉的仪表数据采集装置及方法
CN117115409B (zh) * 2023-10-24 2024-03-08 广东埃文低碳科技股份有限公司 一种基于机器视觉的仪表数据采集装置及方法

Similar Documents

Publication Publication Date Title
CN111553929B (zh) 基于融合网络的手机屏幕缺陷分割方法、装置及设备
CN112949564B (zh) 一种基于深度学习的指针式仪表自动读数方法
CN111325713B (zh) 基于神经网络的木材缺陷检测方法、系统及存储介质
CN106875381B (zh) 一种基于深度学习的手机外壳缺陷检测方法
CN115861170A (zh) 基于改进yolo v4算法的表面缺陷检测方法
CN107330453B (zh) 基于分步识别和融合关键部位检测的色情图像识别方法
CN110136101B (zh) 一种基于孪生距离比对的轮胎x光病疵检测方法
CN107123111B (zh) 一种用于手机屏幕缺陷检测的深度残差网络构造方法
CN110543878A (zh) 一种基于神经网络的指针仪表读数识别方法
CN114663346A (zh) 一种基于改进YOLOv5网络的带钢表面缺陷检测方法
CN111932511B (zh) 一种基于深度学习的电子元器件质量检测方法与系统
CN109684967A (zh) 一种基于ssd卷积网络的大豆植株茎荚识别方法
CN114897816B (zh) 基于改进掩膜的Mask R-CNN矿物颗粒识别以及粒度检测方法
CN112102229A (zh) 一种基于深度学习的工业ct检测缺陷的智能识别方法
CN110765865A (zh) 基于改进的yolo算法的水下目标检测方法
CN115439458A (zh) 基于深度图注意力的工业图像缺陷目标检测算法
CN110619619A (zh) 一种缺陷检测方法、装置及电子设备
CN113420619A (zh) 一种遥感影像建筑物提取方法
CN111160100A (zh) 一种基于样本生成的轻量级深度模型航拍车辆检测方法
CN115493532B (zh) 测量板材表面待测量元素面积的测量系统、方法及介质
CN114612406A (zh) 一种基于可见光和红外视觉的光伏板缺陷检测方法
CN115760837A (zh) 一种基于深度神经网络的晶体质量评估方法及系统
CN115829995A (zh) 基于像素级的多尺度特征融合的布匹瑕疵检测方法及系统
CN110458019B (zh) 稀缺认知样本条件下的排除倒影干扰的水面目标检测方法
CN115439738A (zh) 一种基于自监督协同重构的水下目标检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination