基于卷积神经网络镜座表面缺陷检测
2022-10-29黄建龙周诗洋伍世虔
张 安,黄建龙,周诗洋,伍世虔*
(1.武汉科技大学 机械自动化学院,武汉 430081;2.武汉科技大学 机器人与智能系统研究院,武汉 430081)
0 引言
随着工业4.0时代到来,工业检测领域开始引入自动化检测技术,人工智能的出现也大大提高了工业的生产效率。滤光片是过滤光线的光学器件,滤光片一般被胶粘在塑料镜座上,作为滤光片组件应用在镜头模组内,但是在滤光片组件批量生产过程中,有部分产品会出现加工缺陷,比如镜座压伤、镜座破损、溢胶、崩边等,这些有硬性缺陷的滤光片组件无法应用到镜头内。当前国内部分制造业都是雇佣大量年轻工人通过显微镜的辅助进行微小光学器件的不良筛查,工人在机械化的筛查工作中容易疲劳,工作效率低下,而且容易漏检,长期低头工作也会导致部分工人的颈椎受损。
机器视觉行业的兴起对制造业的发展有了一定的推动作用。为实现了不良品的缺陷检测,DING等人提出基于形态学运算的图像相减方法,成功检测印刷品缺陷[1]。LIANG等人也提出一种分割和模板匹配的算法,实现了织物 疵的缺陷检测[2]。Li等人[3]针对工业制造中冲压件的缺陷检测问题,提出了一种基于模板匹配的缺陷检测方法,实现零件表面缺陷的自动检测。但基于简单的图像空域分析,处理像素级别的问题有局限性,因此冯国勇利用小波变换的方法对图像的时域和频域进行局部分析,该方法能够检测金属表面缺陷[4]。但是以上的解决方法都是传统的图像处理算法,他们有一个共同的缺点就是算法的鲁棒性低,且没有良好的实时性。
相比于传统算法,深度学习有多层神经元作为特征提取器,展现了卓越的特征提取能力。著名的语义分割全卷积神经网络[5](Fully Convolutional Networks,FCN)打开了分割领域的大门。FCN主要适用于现实场景的分割,因此,王森等人[6]在FCN网络上进行改进,提出一种Crack FCN模型检测道路、钢材等裂缝缺陷。TABERNIK等人提出一种分割网络检测表面裂纹图像,检测效果良好,甚至超越了市面上常用的商业检测软件[7]。YAO等人利用提出的卷积神经网络实现了铸件缺陷的检测,测试准确率可以达到96%[8]。深度学习在工业缺陷检测其他产品领域发展出了显著成果,比如轮胎缺陷[9],手机外壳[10],PCB电路板[11]等。以上深度卷积分割网络的结构都很深,所以取得了良好的准确率,但是网络模型的运算时间不尽人意。
当前研究者为增强模型的检测能力,都在逐步的加深网络层级,虽然深层次的卷积神经网络可以学习更加丰富的特征,但是算法的运行时间也随着卷积层的加深也在逐步变长。基于此,本文提出一种多尺度并行的卷积神经网络分割算法,该算法能够像深层次的网络一样提取到图像的低层语义特征和高层语义特征,最后将两种特征进行融合,这对镜座表面缺陷边缘分割的准确率有较大改善,同时运行时间比深层次卷积神经网络也短。为提高不同尺寸缺陷检测准确率,本文也提出了一种多感受野卷积模块,该模块能够将不同感受野卷积核得到的语义特征进行融合,进而丰富了特征图中的不同尺度缺陷的语义特征。
1 缺陷检测网络设计
1.1 MultiNet多尺度并行网络结构设计
MultiNet是一种高效的并行运算的网络结构。MultiNet有三条网络路径,第一条路径输入的图像是直接将原图经过二分之一下采样处理的400×400×1小尺寸图像,经过二分之一下采样后,图像的细节特征减少,然后将下采样后的小尺寸灰度图像送入网络后,经过多次卷积后获得一个100×100×16的特征图,此时的特征图就如同一条很深层次卷积神经网络提取出来的高层语义特征图,因为细节特征会随着卷积层的加深而逐渐消失,所以小尺度图像被提取出镜座的高层语义信息,即镜座的轮廓特征;第二条路径输入尺寸为800×800×1的原图,经过多次卷积后获得一个100×100×16的特征图,此时的特征图包含底层语义信息,即包含着镜座的表面细节特征;第三条路径输入的图像尺寸也是800×800×1的原图,经过多次卷积后获得一个100×100×16的特征图,第三条网络结构提取出来的低层语义信息是对第二条网络提取的特征进行低层语义信息加强化,使得镜座表面的细节特征充分被提取,然后将轮廓特征和细节特征融合,进而有效的提高缺陷检测准确率。其中的3×3的卷积运算都有padding填充操作,卷积后的特征图尺寸大小不变,通过最大池化进行下采样,特征图会缩小一半,MultiNet内部包含六个LightCNN模块,该模块为网络适当的增加了大量的参数,使得模型拥有良好的泛化能力,最后将三个不同的特征图进行通道间的连接操作,通过UpSampling运算进行上采样运算,使得特征图尺寸能够恢复到800×800,然后通过1×1卷积将通道调整为1,获得的特征图为最后的预测分割结果图。MultiNet网络结构图如图1所示。
图1 MultiNet网络结构和特征图可视化
1.2 LightCNN多感受野卷积模块设计
LightCNN是一种轻量级的特征提取模块,首先,LightCNN模块适当的为网络增加了大量可学习的参数,提升了模型的泛化能力,其次,它由1×1卷积、3×3卷积和5×5卷积组成,卷积核为1和3的卷积核感受野小,能够提取缺陷的局部和细节特征,卷积核为5的卷积拥有大的感受野,能够提取到缺陷全局特征,随后将不同感受野得到的特征图进行相加运算,这样融合的方式使得网络更加充分的提取不同尺度的缺陷特征。随后将特征图经过Batch Normalization(BN)层运算,BN将数据进行归一化,归一化可以加快训练速度,这样我们就可以使用较大的学习率来训练网络,同时可以提高网络的泛化能力。使用Leaky ReLU激活函数后,可以是线性输入变成非线性输出,增强了模型的拟合能力,而且Leaky ReLU激活还可以解决ReLU的神经元死亡问题,在负区域具有小的正斜率,因此即使对于负输入值,LightCNN模块也可以进行反向传播。LightCNN多感受野卷积模块如图2所示。
图2 LightCNN多感受野卷积模块
对于LightCNN多感受野卷积模块而言,不同感受野获取的信息是不一样的,如图3所示,1×1卷积的感受野只有一个像素单元格,3×3卷积的感受野9个像素单元,5×5卷积的感受野25个像素单元,大感受野的卷积运算得到的计算结果具有丰富的全局图像信息,小感受野的卷积运算得到的计算结果具有局部图像信息。对于LightCNN特征提取模块,它将小感受野、中感受野、大感受野得到的不同语义信息的特征图与无操作的特征图进行元素间相加融合,最终获得的特征图具有丰富多样的语义信息,这有助于提高不同尺寸缺陷的识别准确率。
图3 不同感受野的示意图
2 实验结果与分析
2.1 图像采集
本视觉检测系统主要是由相机、镜头、光源、硬件平台组成,相机选用CCD工业相机(Charge Coupled Device Camera),光源采用环形光源的同轴光,镜头采用日本Computer公司研发的M1614-MP2型号镜头。滤光片组件由滤光片和镜座组成,滤光片型号多种多样,与之对应的镜座种类也很多,如图4所示。残次品的镜座不能应用到镜头中镜座缺陷种类繁多,典型的缺陷包含压伤、划伤、崩边、崩角、裂纹、擦伤等。
图4 采集的四个型号滤光片组件图像
2.2 实验环境
本实验的运行硬件平台是Windows系统,GPU型号为Nvidia GeForce RTX 2060独立显卡,其显存为6GB;CPU型号为英特尔Core i5-10200H@2.40GHz四核,其内存为16GB。软件运行平台为Anaconda3的Pycharm解释器,在该平台下,安装了python3.6,tensorflow1.13.1,numpy和opencv等第三方库支持算法稳定运行。
2.3 模型训练
本文的训练集包含600张有缺陷的不合格产品图像和100张无缺陷的合格产品图像,网络使用Adam优化器进行网络优化,二元交叉熵函数(Binary Crossentropy)作为损失函数,为了训练出泛化能力更好的模型,训练的超参数设置为:以0.5的概率随机将部分图像进行旋转90°,将学习率设置为0.001,回调函数(ReduceLROnPlateau)来定期衰减学习率,Batchsize设置为4。
2.4 实验结果
2.4.1 模型评估指数
TP表示分类真实值正确的像素个数,FP表示不是真实值被误判为真实值的像素个数,FN是真实值反而被误判为不是真实值的像素个数,TN不是真实值预测为不是真实值的像素个数。
1)交并比(Intersection over Union,IoU):这项指标是衡量语义分割结果好坏的重要指标,它表示预测值和真实值交集占并集的比例,平均交并比等式为:
2)平衡F分数(F1 Score):
3)查准率(Precision):表示真正的为缺陷的像素占据被判定为缺陷像素的比例。
4)查全率(Recall):表示被正确判定为缺陷的像素占据所有缺陷像素的比例。
2.4.2 不同算法分割性能指标的对比
如表2所示,展示了不同网络在测试集上的IoU、F1 Score、每张的测试时间和模型参数量的对比,从表格中可以看出本文方法的准确率和测试时间明显优于其他算法,这是由于其他网络都是利用单尺度特征做训练数据,使得部分浅灰度值的特征经过多次卷积而消失,没有充分提取到图像上的细节和轮廓特征。而本文方法是以多尺度特征融合为数据驱动,将不同层次的特征进行了有效融合,这有效的提高了分割结果。
表2 本文方法与其他分割网络1300张量产测试对比
2.4.3 各个算法效果图
图5第一列是产品整体图像,第二列是缺陷的局部图,第三列是人工手工标记的标签(ground truth),第四列是FCN的测试结果图,第五列是Unet的测试结果图,第六列Unet-Mobile的测试结果图,第七列是本文方法的测试结果图,相同环境下,本文方法分割的结果图更加接近人工手工标记的标签。
图5 本文方法与其它算法的测试结果图
2.4.4 甄选1300张图像模拟实际生产任务测试
为模拟算法在实际成产任务中的表现效果,挑选出1300张图像进行检测,其中包含250张不合格图像,1050张合格图像,同选取了FCN、Unet、Unet-Mobile三个网络的测试结果进行对比。实验结果表示本文提出的方法漏检率和过检率更加符合工业检测标准,虽然Unet-Mobile漏检率表现的跟本文的方法相当,但是过检非常多,无满足工业检测要求,如表1所示。
表1 本文方法与其他分割网络分割性能指标对比
2.4.5 不同标记测试结果
考虑到标注的便捷性问题,本文将人工精准标记的原始标签进行不同程度的膨胀处理(Dilate=0、Dilate=3、Dilate=9、Dilate=13),利用不同膨胀系数的标签图进行了实验,不同膨胀系数标签效果图如图6所示。
图6 缺陷图与不同膨胀系数的标签图
利用本文方法进行多组实验,得出表3的结果数据,如表3所示,在Dilate=为9时,网络分割的各项评估指标为最佳。经过该实验得出的结论是工人在进行标签制作时,不需要花费大量的时间很精准的标注缺陷的边缘位置,而是大致的在缺陷位置进行简单涂鸦生成标签图即可,这大大提高了算法使用的便捷性,切换新的产品检测时,人工能够快速制作标签,实时性能够达到要求。
表3 不同膨胀程度的标签图的实验结果
3 结语
本文提出一种轻量型多尺度并行的缺陷检测网络MultiNet,用于解决镜座表面缺陷检测准确率低和实时性差的问题。首先,该分割网络通过三条轻量型并行的网络能够像深层卷积神经网络一样提取图像的高层语义信息和底层语义信息,因为是并行同时运算,所以运算时间比单条型的深层卷积神经网络短,最后将两种不同层次的特征进行融合,使得检测结果达到实际工程检测要求。其次,本文提出了多感受野卷积模块LightCNN,该模块融合了不同感受野的特征图,提升了不同尺寸缺陷的检测准确率。在标签制作方面,所提的算法只需要简单粗略的标注就能达到良好的分割性能。因此,本文提出的算法为制造业自动化的检测提供了良好的落地应用价值。