东北大学 机械工程与自动化学院, 辽宁 沈阳 110819
收稿日期:2020-11-24
基金项目:国家重点研发计划项目(2017YFB0304200);国家自然科学基金资助项目(51805078);中央高校基本科研业务费专项资金资助项目(N2003021)。
作者简介:何彧(1989-), 男, 辽宁鞍山人, 东北大学博士研究生;
颜云辉(1960-), 男, 江苏丹阳人, 东北大学教授,博士生导师。
摘要:由于缺少实例级标签, 使得深度神经网络在工业表面检测领域的应用受到了限制.为解决这一问题, 本文面向实际的热轧钢板表面缺陷检测任务, 提出基于弱监督学习的缺陷检测网络, 该网络引入类激活映射模型, 使用容易获取的图像级标签进行模型训练, 进行钢板表面的缺陷检测.为了进一步提升检测精度和克服类激活映射模型原有的缺点, 本文采用性能更优的残差网络作为主干网络进行特征提取, 并提出了多层级特征融合网络进行类激活图的生成, 来获取更多的细节信息和更准确的目标激活区域.通过在公开缺陷数据集NEU-CLS上进行实验, 结果表明本文提出的方法能够在标签不完备的情况下进行缺陷检测任务, 并取得0.68%分类错误率和17.75%定位错误率, 胜过其他同类的方法.
关键词:热轧钢板表面缺陷检测弱监督学习多层级特征融合类激活映射
Weakly-Supervised Steel Plate Surface Defect Detection Algorithm by Integrating Multiple Level Features
HE Yu, SONG Ke-chen, ZHANG De-fu, YAN Yun-hui
School of Mechanical Engineering & Automation, Northeastern University, Shenyang 110819, China
Corresponding author: YAN Yun-hui, E-mail: yanyh@mail.neu.edu.cn.
Abstract: Due to the lack of instance-level annotations, the application of deep neural network in the field of industrial surface detection is limited. In order to solve this problem, a weakly-supervised-learning-based defect detection network is proposed for the practical defect detection task of hot rolled steel plate surfaces. This network introduces the class activation mapping model, which can be used to train the model with the image-level annotations that can be obtained relatively easily, and performs the defect detection on the surface of steel plates. In order to further improve the detection accuracy and overcome the shortcomings of the class activation mapping model, the residual network with better performances is used as the backbone network for feature extraction, and the multi-level feature integration network is proposed to generate the class activation maps. In this way, the network can obtain more detail information and activate target areas more accurately. Extensive experiments have been carried out on the NEU-CLS dataset, and the results show that the proposed method can detect defects with incomplete labels, and obtain the classification error rate of 0.68% and the localization error rate of 17.75%, which are better than the other related methods.
Key words: hot-rolled plate surfacedefect detectionweakly-supervised learningmulti-level feature integrationclass activation mapping
近年来, 随着我国“推进智能制造技术发展”这一战略目标的提出, 制造企业对于产品的质量要求也越来越高.在热轧钢板的生产线上, 缺陷检测技术是保证钢板表面质量和性能、提高企业生产效率的关键技术.然而, 目前绝大多数检测系统都是“特征工程”方法[1-3], 其主要步骤包括图像预处理、提取手工特征、特征分类器设计.此类方法成功的关键在于手工特征的判别能力, 然而特征的设计过程却过于主观, 完全依赖于设计者的专业知识和经验, 并且需要大量反复的实验进行调参, 费时又费力.最为重要的是, 特征工程方法的本质是通过人去寻找特征, 并在图像上进行修饰, 整个过程主观依赖很大.
随着人工智能技术的发展, 深度学习理论的不断发展与完善, 其检测精度较传统的特征工程方法有了显著的提升, 并在通用领域的视觉任务中取得令人瞩目的结果[4-5].然而, 这些方法大多是基于有监督学习方式, 需要大量的标记样本进行模型训练, 而这在工业检测领域很难得到保证.由于图像级标签(只标注缺陷图像的类别)是相对容易获取的, 因此目前领域内的绝大多数相关方法只能执行缺陷分类任务.如Zhou等[6]通过一个五层的卷积神经网络, 对热轧钢板表面进行缺陷分类.Li等[7]简化了AlexNet模型[4]的参数用于钢板表面的缺陷分类.与分类任务不同, 缺陷检测任务需要实例级标签(标注图像中缺陷的类别和位置), 这种标签需要专业人士进行标注, 并且需要花费昂贵的人力物力成本, 很难大规模获取.尽管He等[8]通过深度迁移学习技术构建了钢板缺陷检测算法, 但其依旧是基于有监督学习, 只能在样本标签完备的情况下使用.
为解决上述问题, 本文提出了一种基于弱监督学习的钢板缺陷检测网络, 利用卷积神经网络(convolutional neural network, CNN)的分类结果, 通过类激活映射模型(class activation mapping, CAM)[9]生成类激活图, 激活图像中的缺陷目标, 使得在只具有图像级标签的条件下, 模型可以执行缺陷检测任务.同时, 为了进一步提高精度, 本文提出了融合CNN多个层级特征来生成类激活图的方法, 使得提取的特征具有更多的细节信息, 生成的类激活图对于缺陷目标区域的激活更加准确.
1 弱监督缺陷检测网络1.1 整体架构本文所提出的弱监督缺陷检测网络如图 1所示.整个网络是由三部分组成: 主干CNN网络、多层级特征融合网络和类激活映射模型.
图 1(Fig. 1)
图 1 弱监督缺陷检测网络Fig.1 The weakly-supervised defect detection network |
当缺陷样本输入到网络中, 主干CNN会对其进行处理, 并在网络的各个层级阶段提取特征图.其中, 每个层级特征图不仅空间尺寸和维度不同, 而且其特性也不相同.随后, 多层级特征融合网络会将来自CNN不同层级的特征图进行处理, 使其具有相同的空间尺寸和维度, 然后将各个特征图首尾顺序连接, 融合成多层级特征.因此, 多层级特征就具有了CNN各个层级特征的特性.紧接着, 多层级特征经过全局均值池化层(global average pooling, GAP)处理, 转换成特征向量, 然后输入到CNN的分类输出层中进行求解计算, 获得缺陷分类结果.最后, 根据CNN的分类结果, 将输出层的权值参数反向映射, 利用CAM模型生成类激活图, 激活目标区域, 框选该区域获得缺陷定位结果.
在整个过程中, 模型的训练只使用了具有图像级标签的样本进行训练, 通过CNN的特征辨别力来进行弱监督的缺陷检测.
1.2 主干网络CNN是图像领域使用最广泛的深度神经网络, 具有强大的特征分类能力.因此, 本文的弱监督检测网络将CNN作为主干网络, 用于特征的提取.与原始的CAM模型不同, 本文选择残差网络ResNet34模型[10]作为主干CNN, 其具体参数如表 1所示.
表 1(Table 1)
表 1 ResNet34网络参数Table 1 The network parameters of ResNet34
| 表 1 ResNet34网络参数 Table 1 The network parameters of ResNet34 |
从表 1中可以看出, 除了第一层卷积层使用的是单层7×7卷积层外, ResNet34模型一共有四个层级模块, 称为“残差模块”, 将其定义为{R2, R3, R4, R5}.每个残差模块又是由两个3×3卷积层所组成的“残差单元”堆叠而成.每个残差模块都具有一个近路连接, 这种结构使得神经网络的计算性质从乘法变成了加法, 使得模型在训练的时候相对地更容易收敛.
1.3 多层级特征融合目前的卷积神经网络可视化研究发现[11-12], CNN的不同层级特征的特性是不同的.其浅层区域的特征图分辨率高, 含有更多对目标定位有利的细节信息; 深层区域的特征图分辨率低, 含有更多对目标分类有利的语义信息.标准CAM网络最大的问题在于, 只使用了高层级特征图来生成类激活图, 由于丢失了大部分细节信息, 使得类激活图有时只会对目标最具特异性的区域凸显, 造成定位区域不够准确.
因此, 本文提出了融合多层级特征图来生成类激活图的机制.具体地, 该机制是通过四个小型CNN网络来实现的, 定义为{B2, B3, B4, B5}, 分别连接在ResNet34的每个残差模块{R2, R3, R4, R5}的最后一层卷积层.图 2为多层级特征的融合过程.由于CNN每个层级产生的特征的平面尺寸和维度各不相同, 为了融合各个层级的特征, 需将每个特征图的平面尺寸和维度统一. R2特征是低层级特征图, 平面尺寸大而维度低, 具有丰富的细节信息.因此, B2网络首先使用两层堆叠的3×3卷积层连续降低输入特征图的平面尺寸, 然后使用1×1卷积层提升维度.而R3和R4特征是中层级特征, 特性适中, 因此B3和B4网络分别使用了最大池化层(max-pooling layer)和1×1卷积层来降低各自输入特征图的平面尺寸和维度.最后对于高层级的R5特征, 具有特异性最强的语义信息, 其维度高, 但平面尺寸小;因此, B5网络使用3×3反卷积层来上采样输入特征图, 提升平面尺寸, 然后使用1×1卷积层来降低维度.
图 2(Fig. 2)
图 2 CNN不同层级特征的融合过程Fig.2 Fusion process of different level features of CNN |
在统一CNN不同层级的特征图的平面尺寸和维度之后, 将其顺序连接, 融合成多层级特征.以这种方式最后获得的多层级特征就具有不同层级特征的特性, 不但具有高层级特征的语义信息, 有利于准确地进行缺陷分类, 而且具有了低层级特征的细节信息, 有利于准确地进行缺陷定位, 最终获得可靠的检测结果.
1.4 基于多层级特征的CAMCAM是通过主干CNN的分类预测结果反向映射, 生成类激活图, 并通过类激活图对目标区域的凸显, 进行目标定位.具体地, 主干CNN的GAP层会对输入的特征图进行全局均值化, 将特征图转化为一个特征向量.以这样的方式, 特征向量的每一个数值就表示输入的每一层特征图.随后, 将特征向量导入CNN的输出层进行求解计算, 获得分类结果.此时, CAM模型会将CNN输出层的权值参数反向映射到输出特征图上, 并进行加权求和, 经过计算得到的即是类激活图.类激活图能够根据映射权值参数的大小, 对图像中的区域进行不同程度的凸显, 凸显区域的颜色越深则表明该区域对于分类结果的贡献越高, 或者说该区域存在的特征越关键, 是分类器将该图像归为该类的依据.最后, 将类激活图上采样到与原图像相同的尺寸, 就可以获得凸显区域的空间位置, 以此确定目标位置.类激活图的计算示意图如图 3所示.
图 3(Fig. 3)
图 3 类激活图示意图Fig.3 Diagram of class activation map |
在标准CAM模型中, 需要抛弃主干CNN的一部分深层级的卷积层, 以使最后的输出特征图的分辨率增大, 这一分辨率也被称为“映射分辨率”.本文提出的检测网络是将多层级特征作为GAP的输入特征图, 生成类激活图.这样的多级特征不仅可以保留更多的细节信息, 生成定位更准确的类激活图, 而且可以保留CNN深层级部分, 设定更灵活的映射分辨率.以本文所使用的ResNet34模型为例, ResNet34最后一层的输出特征图的分辨率为7×7, 如果直接使用CAM模型进行类激活图的生成, 那么需要删除残差模块R5, 抛弃六层卷积层, 将映射分辨率提高到14×14.这种做法破坏了主线CNN的原始结构, 而且抛弃了残差模块R5所产生的深层级特征所具有的语义信息.但是, 在使用本文所提出的多层级特征融合机制之后, 可以通过更改其支线网络参数, 获得任意的映射分辨率, 解决了上述问题.
在主干CNN中, 令zj表示第j层卷积层的输出特征图, Mj表示第j层卷积层的输入特征图的集合, σ(·)表示激活函数, Wij和bij分别表示第j层的第i个神经元的权值参数和偏置参数, 则第j层卷积层的输出特征图为
(1) |
(2) |
(3) |
综上, 与原始的CAM模型相比, 使用多层级特征进行类激活图生成的好处有两点: ①可以保留更多的细节信息, 获得更准确的缺陷区域, 提升检测精度; ②通过修改特征融合网络的参数, 灵活地改变映射分辨率, 并且不需要丢弃主干CNN的后半部分网络.
2 模型训练设置在训练阶段, 主干CNN和特征融合网络可以一起进行“端到端”(end to end)的网络训练.检测网络是使用图像级标签进行弱监督训练, 输出层为ResNet34的softmax层, 因此其损失函数为交叉熵函数, 定义为
(4) |
检测网络的训练采用批量随机梯度下降法进行训练, 其中权重衰减系数为0.000 1, 动量系数为0.9.最小批次尺寸为64, 学习率为0.001, 训练时长为600 epochs.网络的所有学习层使用“Xavier”方法进行参数的初始化[13].
实验使用的工作站配有i7-5930 K CPU @ 3.5 GHz, 64 GB RAM和一块12 GB GeForce GTX Titan Xp显卡.开发环境为Ubuntu 16.04, 编程语言为python 3.6, 使用的深度学习开发框架为Pytorch.
3 实验结果与分析本文的实验是在缺陷数据集NEU-CLS[14]上进行, 该数据集有六类常见的热轧钢板表面缺陷, 包括Cr(裂纹), In(夹杂), Pa(斑块), PS(麻点), RS(氧化铁皮压入)和Sc(划痕).该数据集一共具有1 800张样本, 每个类各300张.在实验中, 训练集与测试集的比为7∶3.
由于本文提出的检测网络是利用分类结果进行定位的弱监督方法.因此实验使用了两个评价指标来对检测结果进行评估, 其一是评价缺陷分类结果的分类错误率, 其二是评价缺陷定位结果的定位错误率.为了评估网络的定位能力, 本文使用阈值法在类激活图框选目标区域, 设定激活响应大于50%的最大连通区域为预测区域, 并用矩形包围框来指示位置.
表 2给出了本文的弱监督检测模型与其他方法在分类错误率和定位错误率两个指标上的对比结果.表中的“MF”表示提取多层级特征.根据表中的数据结果可知, 原始CAM模型是使用AlexNet作为主干网络, 其定位错误率是最高的.使用多层级特征来生成类激活图能够有效地降低定位错误率, 大约下降8%的错误率, 但只会轻微地损害分类精度, 大约上升0.1%的错误率, 这一规律在本文所提出的模型上也有所体现.本文模型使用AlexNet作为主干网络时的结果与原始CAM的结果相差不多.通过残差网络和多层级特征融合机制, 本文最终的模型取得了最好的检测结果.
表 2(Table 2)
表 2 各模型对比实验结果Table 2 Experimental comparison results of models ?
| 表 2 各模型对比实验结果 Table 2 Experimental comparison results of models ? |
表 2的实验结果证明了本文提出的检测方法的有效性.但也可以看出, 引入多层级特征融合机制会轻微地损害分类精度.因此, 本节将对多层级特征融合网络进行分解实验, 以求得最好的层级组合方式.本文认为层级选取的标准应符合如下两点: ①不能选取相邻层输出的特征图, 因为相邻层级特征具有高度的局部相关性[15]; ②选取的层级尽可能全面, 涵盖CNN从低到高的不同层级, 使多级特征具有更加全面的特性.
表 3给出了分解实验结果.从表中可以看出, 最好的结果是联合所有的四层, 即本文模型所使用的组合取得了最好的检测结果.无论哪种融合策略对于分类错误率的影响均不大, 但是低层级特征的融合对于定位错误率的降低起到了关键性作用, 尤其是R2和R3的低层级特征图开始融合之后, 定位错误率开始大幅度降低.这说明低层级的细节信息对于提高类激活图的准确性有很大的帮助, 并且对于分类精度的影响可以忽略不计.图 4给出了本文模型在NEU-CLS的各类别检测示例.
表 3(Table 3)
表 3 分解实验结果Table 3 Ablation experiment results ?
| 表 3 分解实验结果 Table 3 Ablation experiment results ? |
图 4(Fig. 4)
图 4 缺陷检测对比结果示例Fig.4 Examples of defect detection comparison results |
图 4同时给出了与原始CAM结果的对比.从图中可以看出, 本文模型的检测结果明显好于原始的CAM, 如In(右), Pa(左, 右), Sc(左)中, CAM进行了错误的缺陷定位, 而本文的模型能够准确地定位.又如In(左), PS(左, 右), RS(左)中, CAM能够进行正确的定位, 但没有完全激活缺陷目标的完整区域, 不如本文模型的定位结果精确.从Cr(左, 右), RS(右)的结果可以看出, 本文的模型没有完整地框出缺陷目标, 依旧有提升的空间.
4 结语针对工业缺陷样本缺少实例级标签的问题, 本文面向实际的热轧钢板表面缺陷检测任务, 提出了基于融合多层级特征的弱监督缺陷检测网络.该网络可以使用容易获取的图像级标签执行缺陷检测任务, 避免了繁琐且专业性强的实例级标签标注任务.在钢板缺陷数据集NEU-CLS上的实验结果证明, 本文提出的检测模型获得了0.68%分类错误率和17.75%定位错误率, 胜过其他同类模型.
参考文献
[1] | Liu K, Wang H, Chen H, et al. Steel surface defect detection using a new haar-weibull-variance model in unsupervised manner[J]. IEEE Transactions on Instrumentation and Measurement, 2017, 66(10): 2585-2596. DOI:10.1109/TIM.2017.2712838 |
[2] | Liu K, Luo N, Li A, et al. A new self-reference image decomposition algorithm for strip steel surface defect detection[J]. IEEE Transactions on Instrumentation and Measurement, 2020, 69(7): 4732-4741. DOI:10.1109/TIM.2019.2952706 |
[3] | Dong Y, Tao D, Li X, et al. Texture classification and retrieval using shearlets and linear regression[J]. IEEE Transactions on Cybernetics, 2015, 45(3): 358-369. DOI:10.1109/TCYB.2014.2326059 |
[4] | Krizhevsky A, Sutskever I, Hinton G. ImageNet classification with deep convolutional neural networks[C]//Neural Information Processing Systems(NIPS). New York, 2012: 1097-1105. |
[5] | Ren S, He K, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]//Neural Information Processing Systems(NIPS). Montreal, 2015: 91-99. |
[6] | Zhou S, Chen Y, Zhang D, et al. Classification of surface defects on steel sheet using convolutional neural networks[J]. Materiali in Tehnologije, 2017, 51(1): 123-131. DOI:10.17222/mit.2015.335 |
[7] | Yi L, Li G, Jiang M. An end to end steel strip surface defects recognition system based on convolutional neural networks[J]. Steel Research International, 2017, 88(2): 176-187. |
[8] | He Y, Song K, Meng Q G, et al. An end-to-end steel surface defect detection approach via fusing multiple hierarchical features[J]. IEEE Transactions on Instrumentation and Measurement, 2020, 69(4): 1493-1504. DOI:10.1109/TIM.2019.2915404 |
[9] | Zhou B, Khosla A, Lapedriza A, et al. Learning deep features for discriminative localization[C]//Computer Vision and Pattern Recognition(CVPR). Las Vegas, 2016: 2921-2929. |
[10] | He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Computer Vision and Pattern Recognition(CVPR). Boston, 2015: 770-778. |
[11] | Zeiler M D, Fergus R. Visualizing and understanding convolutional networks[C]//European Conference on Computer Vision(ECCV). Zurrch, 2014: 818-833. |
[12] | Yosinski J, Clune J, Bengio Y, et al. How transferable are features in deep neural networks[C]//Neural Information Processing Systems(NIPS). Montreal, 2014: 3320-3328. |
[13] | Goldman S A, Zhou Y. Enhancing supervised learning with unlabeled data[C]//International Conference on Machine Learning(ICML). Stanford, 2000: 327-334. |
[14] | Song K, Yan Y. A noise robust method based on completed local binary patterns for hot-rolled steel strip surface defects[J]. Applied Surface Science: Part B, 2013, 285: 858-864. DOI:10.1016/j.apsusc.2013.09.002 |
[15] | Lecun Y, Bottou L. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324. DOI:10.1109/5.726791 |