陈其浩, 孙林, 张倩
(山东科技大学测绘与空间信息学院, 青岛 266590)
聚苯乙烯是一种无色透明的塑料,其因易加工、廉价、绝缘等优点广泛用于制作透明件外壳、灯罩、光学化学仪器零件等器材[1],目前国内市场潜力大,应用场景广。聚苯乙烯透明件制造行业竞争激烈,其表面质量直接影响投入成本和产品销量,因此企业对透明件表面划痕检测提出了很高的要求。目前传统的工业流水线划痕检测手段是人工目视的检测方式,这种方法检测人员劳动强度大,易受主观影响,并且效率低,经常存在漏检误检的情况。
近年来,计算机视觉迅猛发展,其中语义分割、图像重建[2-3]等技术目前已广泛应用于人脸识别[4-5]、医疗诊断[6]、遥感成像[7]等领域并取得优异成果[8]。在缺陷检测中,数字图像处理理论与深度学习相结合的检测技术展示出准确率高、检测速度快、节省人力物力等优点,其中图像处理主要负责旋转校正、滤波增强,深度学习主要实现缺陷分类与精准分割。中外学者在各类透明或光滑物体表面的缺陷检测上做了大量的研究,赵文宏等[9]利用均值滤波平滑图像并采用局部动态阈值分割获取二值图像,计算相连接的区域剔除干扰部分后再利用形态学处理方法较好提取了玻璃屏幕划痕缺陷,但需要大量人工提前测量缺陷样本特征。李晨[10]针对超光滑光学元件表面的弱划痕缺陷检测问题,搭建了显微散射暗场成像系统,并结合相应的自适应平滑以及形态学差影算法,实现了超光滑表面中弱划痕的检测,但存在一定的漏检情况,检测效果受光照影响大。李文俊等[11]提出了一种由风格迁移网络和聚焦卷积神经网络构成的深度神经网络,算法实现了亮度不均的复杂纹理背景下表面划痕的检测和实时识别,但所需数据量大,图像标注任务繁重。郭瑞琦等[12]利用U-Net训练缺陷分割模型,在感兴趣区域的基础上模拟视觉感知原理,实现了汽车轮毂表面的缺陷自动分割,但算法存在漏判或误判现象,分割精度有待进一步提高。Pan等[13]由定制的显微扫描系统采集图像并建立数据集,提出了一种基于Mask R-CNN的像素级实例分割模型,完成了在复杂背景下的透明建筑材料表面划痕检测和分割,但模型计算成本高,训练与检测耗时较长。由以上分析可知,传统机器视觉检测算法或深度学习方法在各类缺陷检测应用上仍有许多不足,对于小目标缺陷的检测在精度和速度上都亟待提高。
基于此,现针对工业流水线冰箱透明件表面划痕检测问题,搭建图像采集系统获取被测物体表面图像,为了精确提取划痕缺陷,减少漏检误检的现象,使用深度学习中的显著性目标检测网络U2-Net来进行细微划痕检测的方法,并分析U2-Net网络框架复杂、参数较多所导致的过拟合、训练时间长以及检测速度慢等问题,优化损失函数,给出将Mosaic数据增强、深层可分离卷积和Attention机制融入网络的改进方案。该方案通过实例证明其在透明件划痕检测中具有较高的检测精度和速度,以期为企业生产的缺陷检测提供理论基础。
训练深度学习网络需要采集大量图像,高质量的图像数据集对微小划痕检测至关重要。模拟工业流水线上的图像采集系统,因为透明件存在透明透光、受光泛白反光等特性,经过反复实验比对,选择面光源正面打光、低亮度的方式,使用大华200万像素彩色相机和大华8 mm镜头采集透明件图像,图像采集系统如图1所示。
受光照、产品运输以及图像采集过程中可能产生的噪声影响,在表面划痕检测前,应用中值滤波算法去除噪声,提高图像信噪比。由于实际生产中,瑕疵品占比较低,采集大量不同种类的样本图像较为困难,而样本的数量又直接影响到模型的训练程度,所以对采集的图像进行翻转变换、随机缩放、平移旋转等操作来达到数据集扩充的目的。
采集到透明件原始图像150张,其中包含100张缺陷图像和50张无缺陷图像。使用上述噪声去除和数据集扩充方法对图像进行处理,得到有缺陷与无缺陷的图像共1 000张,其中有缺陷图像占大部分。处理后的数据集图像分辨率为960×600像素,位深数为24,使用Labelme软件对样本图像中的划痕进行标注,依据工业产品检测标准,只标注出需要检测的划痕,其他轻微擦拭或指纹等痕迹不进行标注,并将标注部分和非标注部分的像素值分别设为255和0,如图2所示。从总样本中随机选取100张图像作为测试集,剩下的900张图像作为训练集。
开始训练前,为在一定程度上提高模型精度和加快模型收敛速度,将样本数据进行归一化,把标签图中缺陷部分设为1,即为正样本,把背景部分设为0,即为负样本。
图1 图像采集系统Fig.1 System of image acquisition
图2 透明件原图像及其标注图Fig.2 Image of transparent parts and its label
Qin等[14]提出了由双层嵌套式的U型结构构成的U2-Net网络,主要包括提取级内多尺度特征的残差U型块RSU(residual U-blocks)和连接RSU的外层U型结构。此网络设计无需使用图像分类的主干网络,从头开始训练即可获得优异的效果,并在尽可能不增加计算成本的前提下使网络更深以获得高分辨率的特征图。针对透明件的划痕缺陷特征,使用Pytorch搭建网络测试缺陷检测效果,RSU及U2-Net整体结构如下所述。
残差U型块RSU由三部分构成:采集局部特征并转换通道的输入层、提取和编码多尺度上下文信息的U型结构、融合输入层和中间层的输出层,如图3所示。U型结构左半部分为解码结构,3×3卷积得到多尺度特征,下采样增大感受野,右半部分为解码结构,上采样将特征编码为高分辨率的特征图,中间跳跃结构将编码与解码级联。
Cin、Cout分别为输入、输出通道数;M为内层通道数;H和W为输 入特征图的长和宽;L为RSU的层级参数图3 残差U型块RSUFig.3 Residual U-block
网络整体结构包括6阶段的编码器、5阶段的解码器以及特征图融合输出模块,每阶段均由已配置的RSU填充,如图4所示。
由图4可知,网络左侧为下采样过程,前4个阶段由层级参数L分别为7、6、5、4的RSU填充,阶段内特征图大小逐层减半而又恢复,后两个阶段由配置空洞卷积的RSU填充,阶段内特征图大小保持不变。编码阶段,RSU之间通过2×2的最大池化连接,特征图大小变为原来的1/32。而网络右侧为上采样过程,每阶段内RSU配置与左侧对称位置相同,输入为上阶段输出与左侧对称阶段输出的级联合并。解码阶段,RSU之间通过双线性插值操作连接,逐步将特征图还原。最后,拼接解码阶段每个RSU输出的特征图以得到最终的特征图。
分别为每条侧边支路的输出特征图;Sfuse为 最终融合特征图图4 U2-Net整体结构Fig.4 Architecture of U2-Net
为加速神经网络收敛速度和解决深层网络训练过程中出现的梯度消失问题,采用深监督[15]的方式,即在网络隐含层中添加辅助分类器来对主干网络进行监督。因此,语义分割网络的损失函数定义为
(1)
(2)
式(2)中:(r,c)为每个像素点的坐标;yG和yS分别为某个像素点在真实标签上的像素值和在预测特征图上的像素值。在测试过程中,只选择lfuse作为最终输出的特征图。
为评价神经网络在透明件划痕检测中的精度,将准确率(Accuracy)、精度(Precision)、召回率(Recall)、漏检率(Missing rate)作为评估指标,其计算公式为
(3)
(4)
(5)
(6)
式中:TP为正样本(划痕部分)预测为正样本的概率;TN为负样本(非划痕部分)预测为负样本的概率;FP为负样本预测为正样本的概率;FN为正样本预测为负样本的概率。
由于工业生产中希望检测出全部的瑕疵产品,因此,尽可能降低漏检率(Missing rate)及提高其他3项指标,允许少量的误检。通过以上4项指标,联合模型大小以及检测速度等,来评价神经网络的优劣和改进方案的有效性。
启动训练,将训练数据集输入神经网络,经过1 400~1 600轮的训练(批次为8),训练损失收敛。此时保存训练最优的模型文件,并加载模型进行预测,得到的网络评估指标如表1所示。
由表1可知,测试集结果显示虽然模型检测出了大部分划痕缺陷,但仍然存在严重的误检及漏检现象。U2-Net神经网络解决了传统神经网络无法兼顾局部细节和全局对比度信息的问题,但网络复杂、深度大,容易丢失重要程度高但出现频率低的信息,在面对少量数据集和小目标检测的问题时尤其明显。对实验结果进行分析可得:模型对划痕部分的关注度不足,且可能出现了过拟合现象。因此直接使用U2-Net网络进行透明件表面划痕检测,无法达到预期的效果,模型对无划痕图像数据存在误检测,在图像数据存在轻微划痕时容易出现漏检测现象,并且对同时存在明显划痕和轻微划痕的缺陷图像漏检率较高。在其他方面,U2-Net网络模型大,参数多,训练及预测花费时间较长,不能很好满足工业流水线实时检测的要求。
表1 U2-Net训练结果评估指标Table 1 Evaluation index of U2-Net training result
通过2.5节的分析,对U2-Net划痕检测方案进行改进,对输入网络的训练数据加入Mosaic增强,在解码阶段融入深度可分离卷积和Attention机制,在减少网络训练和检测时间的前提下,提高检测精度。
从输入神经网络的数据出发,引用Bochkovskiy等[16]提出的Mosaic数据增强方法,在不增加推断时间的前提下提高模型性能。从每个批次(大小为8)中随机取出4张图片进行随机裁剪缩放拼接,重复4次,得到的4张新图片与原批次中再次随机选取的4张图片组成一个新批次的数据,再输送给神经网络训练,如图5所示。其优点是输入网络的数据既有原始的图像信息又有增加小目标后的图像信息,模型泛化能力更强,并且4张图片拼接在一起变相地提高了批大小,在进行批量标准化(batch normalization,BN)的时候也会一次计算4张图片,所以使本身最小批次并不需要很大,一个图形处理器(graphics processing unit,GPU)就可以达到较好的效果。
图5 Mosaic数据增强Fig.5 Mosaic data augmentation
由于训练数据丰富度不足或模型过于复杂,深度学习网络会出现过拟合现象,此时向模型引入额外的信息,动态调整模型参数的取值,以降低模型复杂度并提高泛化性能。选用L2正则化方式,损失计算公式为
(7)
式(7)中:L(θ)为模型的目标函数;λ为L2正则项占总损失的比重;θi为神经网络中不断优化的参数。
传统卷积模型参数量大,内存需求大,为满足大多数工业流水线检测需求,融入Google团队在文献[17]中提出的深层可分离卷积(depthwise separable convolution),又称DS卷积。深层可分离卷积主要由DW卷积(depthwise convolution)和PW卷积(pointwise convolution)组成,如图6所示。
n为特征图的长和宽图6 DS卷积与传统卷积Fig.6 Depthwise Separable Convolution and traditional convolution
不同于传统卷积,DW卷积改变图像大小,PW卷积改变图像深度。在U2-Net网络解码阶段,使用DS卷积替换RSU块中下采样的传统3×3卷积,大大减少计算量和模型参数。
划痕检测缺陷图像中正样本占比过少,为解决正负样本不均衡问题,改善小目标检测的效果,将文献[18]中的Attention机制引入U2-Net网络。在解码阶段,每个RSU块进行拼接上采样时加入Attention机制,增强模型对感兴趣区域特征的处理能力,改善分割效果。图像通道数由RSU7输入的3通道,经由中间层的32通道到输出层的64通道,再经过128、256、512通道,进行上采样次第减小,避免出现数据集过拟合现象。将图5的Mosaic数据增强和图6的深层可分离卷积融入U2-Net,并添加Attention机制得到改进网络,如图7所示。
图7 改进的算法结构图Fig.7 Improved algorithm structure
对于语义分割网络的损失函数,由于本文研究针对划痕缺陷进行检测,每张划痕图像中划痕部分像素占比很小,属于正负样本不均衡的小目标检测问题,而原网络使用的标准二分类交叉熵损失函数同等的关注每一个类别,会使模型严重偏向负样本,模型效果较差。因此,改进网络对于最终融合输出特征图Sfuse的输出lfuse,采用Focal-loss函数(LF)[19]与Tversky-loss函数(LT)[20]的组合来代替标准二分类交叉熵函数,即
lfuse=αLF+βLT
(8)
式(8)中:α与β分别为两种损失函数占总损失的比重;LF与LT公式为
(9)
(10)
式中:αF为解决正负样本数量不平衡问题使用的平衡因子;p为预测样本属于1的概率;γ>0;αT与βT为调节系数。
实验环境操作系统为Windows,计算机处理器为Intel Core i5-9500,GPU为GTX1650。初始化网络并设置各超参数取值为:α=2,β=8,αF=0.75,γ=2.0,αT=0.4,βT=0.6,λ=0.002。经过反复地对比调优实验,最终得到改进网络训练后的结果,对比U2-Net训练结果及使用U-Net网络在相同数据集上训练得到的结果,实验结果如表2所示。
由表2可知,改进网络的训练效果良好,测试集的分割准确率达到0.985,而U2-Net的表现稍差一些,U-Net对轻微划痕的检测结果较差。实验证明优化策略确实能有效地提升分割准确率,优于语义分割网络U2-Net及传统经典的分割网络U-Net,证明了改进思路的正确性。
为测试模型对真实场景的检测效果,使用3种网络对采集到的1 920×1 200像素透明件原图像进行检测,网络评估指标对比结果如表3所示。
由表3可知,改进网络在透明件原图像检测中的表现优于其他两种网络,再次验证了Mosaic数据增强+Attention U2-Net+DS卷积的改进思路在透明件划痕检测中的正确性。
表2 改进网络训练结果对比Table 2 Comparison of improved network training results
表3 改进网络、U2-Net与U-Net测试指标结果对比Table 3 Results of improved network、 U2-Net and U-Net
为进一步评价改进方案,对上述三种网络的模型大小和检测时间进行比较。U-Net网络和U2-Net网络的模型大小分别为51.2 MB和168 MB,检测一张图像的平均时间分别为0.41 s和0.85 s,而改进网络模型大小为134.7 MB,检测一张图像的平均时间为0.69 s。由此可见,改进网络具有多种性能的提升,能够满足缺陷检测的实际需求。
对产品中常见的无缺陷、轻微划痕以及明显划痕三种不同情况进行检测,检测结果如图8所示。
图8 无缺陷、轻微划痕以及明显划痕三种图像检测情况Fig.8 Detection results of no defect, insignificant and obvious scratches image
由图8中第1列对无划痕缺陷透明件的检测结果可以看出,U2-Net及U-Net预测图存在少量误检现象,部分点状缺陷及物件边缘信息被提取,而改进网络相比于二者表现较好,误检测的情况已经消除。
由图8中第2列对轻微划痕透明件的检测结果可以看出,U2-Net预测图存在一定漏检及误检情况,对图像的细节处理不够,U-Net网络对轻微划痕透明板的检测结果与标签图存在大量不符之处,故在图中未使用红色圆圈进行标注,而改进的U2-Net网络能较好地分割出浅划痕,仅有极少处轻微缺陷未检测出来。
由图8中第3列对明显划痕透明件的检测结果可以看出,U2-Net及U-Net网络对明显划痕检测效果较好,但对图像中存在的轻微划痕有一定的漏检现象,而改进网络能实现复杂划痕情况(图像中同时存在明显划痕及微小划痕)的精准检测,泛化能力较强。
针对工业流水线冰箱透明件产品表面划痕自动化检测问题,提出了一种基于改进U2-Net深度学习模型的透明件表面划痕缺陷检测方法,得到以下结论。
(1)应用U2-Net神经网络于透明件划痕检测,对缺陷图像中明显划痕有一定的检测能力,但对微小缺陷等复杂情况存在较多误检与漏检,难以满足实际工业检测的要求。
(2)提出了在数据输入前加入马赛克数据增强方式,提高模型的泛化能力;加入正则化技术,减轻网络过拟合;在网络中融入深层可分离卷积和注意力机制,对整体网络进行改进。
(3)由实验结果表明,提出透明件划痕检测方法能够有效地提升缺陷检测问题中的划痕分割准确率,降低漏检率。此方法可以对各类复杂缺陷情况的图像进行准确分割,检测准确率达到0.987,检测效果优于直接应用U2-Net与U-Net,且在检测速度上有所提高,最终结果验证了改进方案的正确性和可行性。