尚洁 吴观茂
摘 要:为了提升工业零件缺陷检测的精度和速度,在Mask R-CNN的基础上,引入了引导锚框的anchor生成方案提升检测精度;在此基础上对Mask R-CNN网络框架进行改进,去掉Mask分支,实现检测速度的优化。采用的数据集是DAGM工业缺陷数据集,并与先前的代表方法进行对比实验。实验表明,改进后的算法在检测精度方面对比原始算法提升了约1.94%,且速度也提升了1.2 frame/s,提升了工业零件缺陷检测的速度和精度。
关键词:工业缺陷检测;Mask R-CNN;引导锚框
中图分类号:TP391.4 文献标识码:A文章编号:2096-4706(2022)03-0137-04
Industrial Parts Defect Detection Technology Based on Improved Mask R-CNN Algorithm
SHANG Jie, WU Guanmao
(College of Computer Science and Engineering, Anhui University of Science & Technology, Huainan 232001, China)
Abstract: In order to improve the accuracy and speed of industrial parts defect detection, on the basis of Mask R-CNN, the anchor generation scheme of the guide anchor frame is introduced to improve the detection accuracy. on this basis, the Mask R-CNN network framework is improved and Mask branch is removed to realize the optimization of detection speed. The data set used is the DAGM industrial defect data set, and a comparison experiment with the previous representative method is carried out. Experiments show that the improved algorithm has improved by 1.94% in detection accuracy compared with the original algorithm, and the speed has also improved by 1.2 frame/s, the speed and accuracy of industrial parts defect detection are improved.
Keywords: industrial defect detection; Mask R-CNN; guide anchor frame
0 引 言
随着计算机技术等信息产业在工业行业领域的广泛应用,工业制造大数据研究正成为帮助政府指导企业转型升级的重要支撑。在工业生产铸造的过程中,由于生产技术等问题会不可避免的导致部分工业零件存在一些微小的表面缺陷。所以在工业零件缺陷检测中,需要使用精确的目标检测技术来定位小的有缺陷的工业零件。但是现有的检测技术受限于人工检测,十分费力;而且传统的机器识别算法也需要借助人工的方式来进行图像的处理,在实际的生产过程中往往很难达到机器视觉缺陷检测系统所需的理想环境,使得无论是检测的精度还是速度都无法得到保证。
近年来,受益于卷积神经网络,深度学习领域发展迅速。Ross Girshick等[1]人基于深度学习技术,开创性地提出了R-CNN模型,使目标检测领域迎来了崭新的篇章;基于此,Girshick等[2]又提出了Fast R-CNN模型,大大提高了特征提取的速度;Ross B.Girshick等[3]又基于此提出了Faster R-CNN模型,目标检测的精度大大提高。为了进一步突破检测模型的速度瓶颈,Redmon等[4]推出了基于one-stage的YOLO模型,丢弃候选框的提取步骤,直接在特征图上进行回归操作;而后又出现了YOLO V4等[5],使得目标检测的速度更上一层楼。
虽然比起R-CNN系列检测算法,YOLO系列的检测算法效率更高速度更快,但其局限性在于检测较小目标时,由于YOLO的单个网格单元可以同时对相同类型的两个边界框进行回归但是其局限性在于检测小目标时,但是在工业零件的实际制造过程中,有缺陷的种类也很多,缺陷形成的可预见性差无规则。所以YOLO的检测精度会低于R-CNN系列。
根据上述分析,本文将采用Mask R-CNN算法进行工业零件的检测,以达到提升检測精度和速度的目的。R-CNN算法问世至今,之后又涌现出很多在其基础上的创新算法,先后出现了Fast R-CNN、Faster R-CNN以及Mask R-CNN算法。本文对Mask R-CNN进行改进,anchor生成策略引用融合引导锚框算法[6],来生成高质量的anchor,提高检测精度;同时去掉Mask掩码分支,提升算法的检测速度。
1 Mask R-CNN算法
2017年,何凯明等[7]提出Mask R-CNN算法。它在Faster R-CNN的基础特征网络之后增加了一个Mask分支,来对每个检测出来的目标进行语义分割。之后又对ROI Pooling模块进行改进,引入兴趣区域对齐层(Reigon of Internet Align layer, ROI Align)来解决Faster R-CNN中区域匹配不均的问题,来使特征图与输入像素逐一对齐,改善分割精度。因此,Mask R-CNN同时兼备分类、边界框回归以及实例分割的特点,大大改善了对小目标检测的缺陷分割。
Mask R-CNN网络整体结构主要分为这四个模块:主干网络(Backbone)、区域候选网络(RPN)、ROI Align和R-CNN。Backbone通常包含残差网络(ResNet)和特征金字塔网络(FPN)。FPN负责对ResNet输出的5层特征图进行图像融合,来获得细节信息更丰富的特征图并且输出到RPN模块和ROI Align模块。RPN用来生成目标候选区域,对获取到的特征图中的前景和后景部分进行分类以及bbox的回归,最终得到前景的一个大概位置。从Backbone得到了特征图和从RPN得到了目标候选区域之后输入到ROI Align模块,并且使用双线性插值的方法[8]映射成固定维数的特征向量再经过全连接层输出到R-CNN模块。
1.1 RPN
区域建议网络(RPN)将一张图像(任意大小)作为输入和输出一组矩形对象建议,其中每个对象建议都有一个对象评分。其具体流程图如图1所示。首先图像经过卷积神经网络得到一张N×16×16的特征图,接着经过3×3的卷积得到一个256×16×16的特征图,接着再次经过两次1×1的卷積分别得到18×16×16和36×16×16的特征图,即16×16×9个结果,其中每个结果包含2个分数和4个坐标。再利用之前预先设定的anchors,经过后处理就得到了目标候选框。
1.2 ROI Align
RPN得到了目标候选框之后,会传入给ROI Align。ROI Align原理如图2所示。虚线框是一个5×5的特征图,实线框是ROI区域。接下来要对实线框部分做2×2的池化操作来获取ROI区域的特征图。首先将该ROI区域划分为4个大小相同的2×2区域,接着在其每个小区域中设置四个采样点和该采样点最近的4个特征点的像素值;然后利用双线性插值计算得到每个采样点的像素值;最后计算每个小区域的池化值来生成ROI区域的大小为2×2的特征图。
1.3 Mask分支
为了使预测的掩码的准确性更高,基于Faster R-CNN,Mask R-CNN增加了Mask分支,ROI Align操作之后得到的ROI会传入此分支,来生成用于检测目标的掩码。此时,ROI Align会输出14×14×256的特征图;Mask分支会对其进行4次卷积操作和一次反卷积操作,4次卷积操作得到的特征图大小为14×14×256,反卷积操作得到的特征图大小是28×28×256。使输出的特征图对齐输入的特征图尺寸,此时会得到输入的特征图中每个像素对应的类别置信度,来实现实例分割的目的。
2 锚框生成方法的改进
2.1 Mask R-CNN锚框生成算法
由于在Mask R-CNN中的锚框生成策略是根据相应的数据集事先预定好的尺寸,这种策略不适用于本文所使用的缺陷数据集,使得算法在生成ROI时需要进行大量的回归工作,网络的训练时间也会大幅度增加,进而影响到算法的检测效率。
2.2 生成锚框方案的改进
针对上述问题,我们提出引用引导锚框方案来生成anchor,通过图的特征来指导anchor的生成。引导锚框算法包含的两个主要模块是anchor生成模块以及自适应特征模块。
通常来说中心点的坐标和宽高能确定一个anchor,因此anchor生成模块又分为两个分支:anchor位置分支以及anchor的形状分支,并且引入特征自适应模块来调节anchor的感受野与特征图。如图3所示。根据图像特征先进行anchor的坐标(位置)预测,接着再根据预测的anchor位置部分来预测相对应位置的anchor的形状。最后根据anchor的位置和形状来进行特征图自适应匹配,得到质量高的anchor。引导锚框算法生成anchor方案具体步骤如下:
(1)对输入的特征图使用1×1的卷积操作,得到与特征图相同的概率图。概率图上的位置对应于原图的位置如公式(1)所示:
(i’,j’)=((i+0.5)s,(j+0.5)s)(1)
式中:i,j为概率图的坐标,s为卷积的步长;
(2)通过阈值来过滤掉大约90%的低召回率区域,来得到存在目标的可能位置;
(3)使用1×1的卷积作用域特征图FI,得到一个包含宽和高的双通道映射图:dw和dh;
(4)对dw和dh进行转换得到最终的w和h,转换公式如(2)所示:
w=σ · s · edw,h=σ · s · edh(2)
式中:σ—转化的尺度因子;
(5)根据基础anchor的形状在每个位置单独的变换特征,公式如(3)所示:
fi’=NT(fi,wi,hi)(3)
式中:fi—第i个位置的特征,wi,hi—相应位置的anchor形状,NT—可变形卷积操作;
(6)得到用来确定anchor的四个参数,进行后续Mask R-CNN检测流程。
所引用的方法首先通过识别有可能的目标区域来确定anchor的形状,最终生成稀疏的anchor坐标。并设计一种自适应特征模块来解决anchor感受野大小匹配不均的问题。我们只需要在模型中添加2个1×1的卷积层和1个3×3的可变形卷积,就能够实现更加合理的anchor生成方案,大大提高检测的效率和精准性。
3 掩码分支的改进
3.1 Mask R-CNN中的掩码分支
如1.3小节所讲,Mask R-CNN增加了掩码分支之后,虽然在检测的精度上有所提升,但是这在一定程度上了牺牲了速度的代价。
3.2 掩码分支的改进
对于工业零件缺陷检测任务,在生产的过程中对检测的速度是有一定的要求的,无需对缺陷样本进行细致的分割。所以在进行工业零件缺陷检测的时候,对Mask R-CNN结构的Mask分支[9]进行更改,将其舍去。舍去分支之后如图4所示。
4 实验验证
4.1 数据集
本文的数据集样本采用DAGM数据集,该数据集包含2 100个样本,样本图像分辨率为512×512。DAGM一共包含十类缺陷样本,每类给出一个原始未标记缺陷位置的样本和一个标记有缺陷位置的样本。并且图像中缺陷的尺寸和位置的多样性,且背景纹理复杂与缺陷部分极易混淆,大大加深了检测的难度。
4.2 实验条件
本文在Windows10系统中采用的深度学习网络框架为TensorFlow,代码运行环境为Python3.6.10。避免过拟合以及加快训练速度,我们使用SGD(随机梯度下降)进行训练,共迭代次数为20 000次,本实验中的评价指标为mAP。
4.3 实验结果
首先将本文所改进的anchor生成方案引导锚框算法与MaskR-CNN的原始方案在数据集上进行对比实验。实验结果如表1所示。通过表1对比实验发现,采用引导锚框算法生成的anchor方案对比原始Mask R-CNN的mAP达到了98.69%,而且检测速度也达到了2.6 frame/s,精度和速度同时得到了提升。
继续测试本文的第二个改进方案,实验结果如表2所示。通过实验可知改进之后的Mask R-CNN其检测精度略微提升但是速度却得到了改善,提升了1.1 frame/s。
上述两个实验表明本文所提出的两种方案均能提升Mask R-CNN在工业数据集种的检测性能,所以我们将以上两种改进方案同时运用在Mask R-CNN算法种,并与原始Mask R-CNN算法进行比较。同时在此次实验中加入Faster R-CNN,将上述两种方法运用其中,进行观察对比实验。实验结果如表3所示。由表3可知,使用改进的Mask R-CNN算法进行工业零件缺陷检测时mAP和检测速度均取得最佳的效果。
5 结 论
针对工业零件的缺陷检测,本文基于Mask R-CNN算法进行改进,提出引导锚框的anchor生成方案以及对Mask R-CNN的Mask分支进行改进。此外还进行了实验对比,实验表明两种改进算法使得检测效果均有所提升。又将两种改进方案结合到一起,进一步提升了Mask R-CNN的检测速度和精度。
参考文献:
[1] GIRSHICK R,DONAHUE J,DARRELL T,et al.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation [C]//2014 IEEE Conference on Computer Vision and Pattern Recoginition.Columbus:IEEE,2014:580-587.
[2] GIRSHICK R.Fast R-CNN [C]//2015 IEEE International Conference on Computer Vision(ICCV).Santiago:IEEE,2015:1440-1448.
[3] REN S,HE K,GIRSHICK R,et al.Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks [J].IEEE Trans Pattern Anal Mach Intell,2017,39(6):1137-1149.
[4] REDMON J,DIVVALA S,GIRSHICK R,et al.You Only Look Once:Unified, Real-Time Object Detection [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition(CVPR).Las Vegas:IEEE,2016:779-788.
[5] BOCHKOVSKIY A,WANG C Y,LIAO H Y M.YOLOv4:Optimal Speed and Accuracy of Object Detection [J/OL].arXiv:2004.10934 [cs.CV].[2022-01-02].https://arxiv.org/abs/2004.10934.
[6] HE K, GKIOXARI G,DOLLAR P, et al. Mask R-CNN [C]//2017 IEEE International Conference on Computer Vision(ICCV).Venice:IEEE,2017:2980-2988.
[7] WANG J,CHEN K,YANG S,et al.Region Proposal by Guided Anchoring [C]//2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR).Long Beach:IEEE,2019:2960-2969.
[8] ZOPH B,CUBUK E D,GHIASI G,et al.Learning Data Augmentation Strategies for Object Detection [J/OL].arXiv:1906.11172 [cs.CV].[2022-01-03].https://arxiv.org/abs/1906.11172.
[9] YU X,GONG Y,JIANG N,et al.Scale Match for Tiny Person Detection [C]//2020 IEEE Winter Conference on Applications of Computer Vision(WACV).Snowmass Village:IEEE,2020:1246-1254.
作者簡介:尚洁(1996—),女,汉族,江苏连云港人,硕士在读,研究方向:目标检测等;通讯作者:吴观茂(1965—),男,汉族,安徽淮南人,副教授,博士,研究方向:计算机深度学习等。