在双碳大背景下,发展氢能已成为全球主要国家的共识,氢燃料电池产业同样受到了高度重视。近年来,中国有关氢能和燃料电池相关的政策持续加码,积极推进氢能及燃料电池的推广和应用。氢燃料电池产业链最主要、最核心的是燃料电池系统,微流道双极板作为新能源燃料电池的关键部件,起到均匀分配气体、收集电流、冷却和支撑等作用。其中金属双极板拥有较高的能量密度,并且具有优异的导电、导热性能,低成本、易加工,适合大规模批量生产。因此,研制高性能金属双极板是目前的重要发展方向。金属双极板的技术难点在于成形技术以及金属双极板表面处理技术[1],在众多成形工艺中,精密冲压成形具有高生产效率、低成本、成形精度好等优点,成为金属双极板主要制造技术。然而,金属双极板冲压成形后双极板表面变形,流道深度不一致对其表面质量造成了重大影响[2]。同时,受到实验环境、机器磨损以及极板运输操作不当等因素的影响,使得金属双极板的表面留下大量不同种类的缺陷[3]。这些缺陷有些存在于局部物理形态上的,如划痕、褶皱、凹陷[4]等,还有一些表面缺陷涉及到化学性质的不均匀,如夹杂、斑点[5]等大大的影响金属双极板的表面结构及性能优劣。所以,良好的金属双极板表面缺陷检测技术能够保证其表面质量,对其生产方式和保存运输具有重大意义。本文着重研究一种基于深度学习的缺陷检测算法,在保证具有高检测精度的同时能够有高传输效率,且模型足够轻量化能够满足部署移动端的需求。
随着计算机视觉技术的发展,缺陷检测可以分为两个方向。一个是基于传统图像处理的方向,还有一个是基于深度学习的图像检测方向。
在传统图像处理中,Li等[6]提出了一种基于直方图特征的缺陷分类算法,用于自动检测图案缺陷。Zhang[7]提出了一种结合LBP和GLCM的算法。利用LBP和GLCM分别提取缺陷图像的局部特征信息和整体纹理信息。Halfawy等[8]提出了一种高效的模式识别算法,利用HOG和支持向量机(support vector machines, SVM)对管道缺陷进行自动化检测和分类。特征提取方法多种多样,各有优缺点。对于具体的目视检测项目,应考虑特征提取方法是否充分利用全局信息,其计算是否方便,是否能满足实时性需求等。
在深度学习中,主要有Faster RCNN、YOLO系列网络、SSD网络可应用于缺陷检测[9]。有研究者基于Faster RCNN进行缺陷检测,如Zhou等[10]在Faster RCNN加入了可变形卷积。Wei等[11]在Faster RCNN基础上添加了视觉增益机制,通过视觉增益机制增加模型知觉的灵敏程度。Su等[12]基于Faster RCNN构建了通道注意子网络与空间注意子网络连接的互补注意网络, 用于表面缺陷检测。YOLO[13]是一种基于深度神经网络的目标识别和定位算法,通过固定网格回归进行目标检测。它的主要特点是运行速度快,可用于实时系统。YOLO基于回归的思想,将整个图像作为网络的输入,直接对图像多个位置上的物体边界和物体类别进行回归。Adibhatla等[14]采用YOLO/CNN模型对PCB缺陷进行检测,缺陷检测准确率达到98.79%。但是,该方法能够检测到的缺陷类型有限,需要进行优化。Lv等[15]提出了一种基于YOLOv2[16]的钢材表面缺陷检测主动学习方法。该模型实现了高效率,但以牺牲精度为代价。Jing等[17]提出了一种改进的YOLOv3[18]模型,利用K-means算法对标记数据进行聚类。实验结果表明,改进的YOLOv3模型在织物疵点检测中具有较好的性能。但是,实时性能还有待提高。YOLOv4[19]网络作为一种基于回归的检测方法,具有良好的检测速度。但对小目标的检测精度还有待提高。在检测铁片表面裂纹中,Deng等[20]提出了一种级联YOLOv4 (C-YOLOv4)网络。实验结果表明,C-YOLOv4具有较好的鲁棒性和裂纹检测精度。SSD结合了YOLO和Faster R-CNN的一些策略,Zhai等[21]提出了一种基于DenseNet和特征融合的DF-SSD目标检测方法。实验结果表明,所提出的DF-SSD方法在小物体和特定关系物体的检测方面具有较高的性能。Li等[22]在SSD框架基础上将浅层信息与深层特征融合进行缺陷检测,效果优于原SSD网络。
本文提出的DN-YOLOv5算法对主干网络进行了优化和调整,大大减少了模型参数,提升了网络轻量化程度,能够对金属双极板表面缺陷图像进行快速、精准的检测,另外本文的模型具有良好的鲁棒性且模型较小,完全满足轻量化模型部署到移动端的需求。
1 DN-YOLOv5网络改进 1.1 轻量化主干网络DN-YOLOv5结构YOLOv5是由输入端、Backbone、Neck、Head构成的。而DN-YOLOv5是在原YOLOv5的基础上通过改进其Backbone主干网络结构得到的一种极其轻量化的网络结构。在DN-YOLOv5主干网络中,考虑到计算参数量方便后期模型导出和部署,本文去除了头部Focus特征提取模块,将第1层CBS模块采用16输出3×3卷积核大小代替原先的64输出6×6卷积核大小的CBS模块。然后在接下来若干层中使用显著减少参数量的深度可分离卷积模块替代原先这种CSP/CBS特征提取模块,在主干结构末端添加NAM[23]注意力机制并仍以SPPF为封口模块作为最终输出。整个DN-YOLOv5的主干网络结构部分如图 1所示。
一般来说,随着现在的模型特征提取能力的增加以及FLOP的数量越来越大,在移动端或CPU设备上实现快速推理速度会变得缓慢[24]。为实现在不增加模型参数计算量和尽可能降低延迟的情况下增强网络特征提取能力。当从ARM移动设备切换到Intel CPU设备上时,往往大部分的轻量级网络不能满足推理时间较少的要求。为了在不增加推理时间条件下进一步提升模型的性能,选取MobileNetV1[25]轻量化网络中的DepthSepConv来作为基本模块,这种深度可分离卷积模块没有shortcut操作,也没有concat或elementwise-add这样的额外操作,经验证这些操作不仅不会提升模型的准确性,还会降低模型的推理速度。由于该模块已被Intel CPU加速库深度优化,它的推理速度优于大部分轻量化网络模块。一个深度可分离卷积层可选模块包含关系如图 2所示。
很多类似于CBAM[26]这样的卷积块注意力模块都嵌入了通道和空间注意力子模块,但是许多这样的工作大多忽略了来自训练的调整权重的信息,所以想要利用训练模型权重的方差测量来突出显著特征。而NAM作为一种高效、轻量级的注意力模块,采用CBAM的模块集成,并重新设计了通道和空间注意力子模块。在上述可分离卷积模块的输出即主干网络的末端将NAM注意力模块嵌入,对于残余网络,它嵌在残余结构的末端。对于通道注意力子模块,使用批量归一化(batch normalization, BN)[27]的比例系数,如下式所示。这个比例系数可以测量通道的方差并体现其重要性。
$B_{\text {out }}=\mathrm{BN}\left(B_{\text {in }}\right)=\gamma \frac{B_{\text {in }}-\mu_\beta}{\sqrt{\sigma_\beta^2+\varepsilon}}+\beta$ | (1) |
式中: μβ、σβ分别为小批量β的平均值和标准偏差,γ、β分别为可训练的放射变化参数(尺度和位移)。通道注意力子模块为(如图 3所示)
$M_{\mathrm{c}}=\operatorname{sigmoid}\left(W_\gamma\left(\mathrm{BN}\left(F_1\right)\right)\right)$ | (2) |
式中Mc为通道输出特征。
γ是每个通道的比例系数,得到的权重为Wγ=γi/Σj=0γj。将BN的比例系数应用到空间维度中来衡量像素重要性并将其称为像素归一化。对应的空间注意力子模块为(如图 4所示)
$M_{\mathrm{s}}=\operatorname{sigmoid}\left(W_\lambda\left(\mathrm{BN}_{\mathrm{s}}\left(F_2\right)\right)\right)$ | (3) |
式中: Ms为空间输出特征,λ为比例系数。
1.4 重新定义的损失函数SIoUYOLOv5采用CIoU损失函数,传统的目标检测损失函数依赖于边界框回归指标的聚合,例如预测框和真实框(即GIoU、CIoU、ICIoU等)的距离、重叠区域和纵横比。然而,目前使用的方法都没有考虑到所需真实框与预测框间方向的不匹配。这种不足导致收敛速度较慢且效率较低,因为预测框可能在训练过程中“四处游荡”并最终产生更差的模型。针对上述问题,采用SIoU损失函数替换原损失函数。
本文中的损失函数SIoU,考虑了期望回归之间的向量角度,重新定义了损失指标。应用于传统的神经网络和数据集表明,SIoU提高了训练的速度和推理的准确性。SIoU损失函数由4个函数组成:Angle cost,Distance cost,Shape cost,IoU cost。
1.4.1 Angle cost添加这种角度感知LF组件背后的想法是最大限度地减少与距离相关的变量数量。基本上,模型将尝试首先将预测带到x或y轴(以最接近者为准),然后沿着相关轴继续接近,如图 5所示。为了实现这一点,通过下式来引入LF组件并评估损失。
$\varLambda=1-2 \times \sin ^2\left(\arcsin (x)-\frac{\pi}{4}\right)$ | (4) |
式中:
考虑到上述定义的角度损失,重新定义距离损失为
$\varDelta=\sum\limits_{t=x, y}\left(1-\mathrm{e}^{-\gamma \rho t}\right)$ | (5) |
式中:
图 6为真实边界框距离计算方法和预测。
形状损失的函数定义为
$\varOmega=\sum\limits_{t=w, h}\left(1-\mathrm{e}^{-w t}\right)^\theta$ | (6) |
式中:
定义的损失函数为
$L_{\mathrm{box}}=1-\mathrm{IoU}+\frac{\varDelta+\varOmega}{2}$ | (7) |
式中,
IoU组成作用关系如图 7所示。
本文的缺陷数据集使用500 W分辨率的HZ20-GS050GM的工业CMOS黑白全局快门相机以及FA-25-5MP的工业镜头来进行图像的采集工作。使用COP-200B的同轴光源配合DBFL-160W120的直发背光源多角度混合光搭建最佳采集工作台(尽可能的减小金属表面反光的影响)。每张采集到的原始图像尺寸大小为2 448×2 048,通过对原始图像椒盐添噪、高斯模糊、翻转、平移、裁剪等多种数据扩增方式,得到了凹凸点、夹杂和划痕三大类缺陷共600张的缺陷图集,并用Labelimg对其进行标注。数据集的部分样本如图 8所示(由于本文中的检测对象金属双极板流道区域受限于相关协议约束,故已作模糊虚化处理,仅展示金属双极板两端检测区域)。
本文采用的工作站是在Win10操作系统下且显卡为RTX3080,基于Pycharm平台,使用语言为Python3.9,Pytorch版本1.12.1,CUDA版本11.3.1来实现模型搭建以及训练工作。根据8∶ 1的比例,将金属双极板缺陷数据集划分为训练集和测试集,见表 1。
对模型参数初始化,设置学习率为0.01,训练epoch为300,batch-size为4,为了使训练图像尺寸与相机实际采集到的图像尺寸相符从而避免特征信息丢失最小化,故将图片输入尺寸设定为2 240×2 240。
2.3 模型评估为了更加客观精准地评估网络DN-YOLOv5在本文缺陷数据集上的检测效果,本实验采用平均精度均值map@0.5(IoU=0.5),混淆矩阵,PR曲线,Box,Objectness,Classfication训练Loss拟合图多重指标来进行模型的评估工作。如图 9所示是该模型的混淆矩阵图,由图中可知真实值与预测值较接近,其中凹凸点和划痕正类样本比分别为0.98,0.97,而夹杂达到了1.00,可见模型精确度较高。
模型的PR曲线如图 10所示,该曲线图反应的是精确率(Precision)和召回率(Recall)的相互关系,图 10反应了模型评价标准中的多类别平均精度map@0.5,凹凸点、划痕以及夹杂的map@0.5值分别为0.979,0.991,0.996,3种缺陷的平均map@0.5值达到了0.988,模型精准度较高,性能良好。
如图 11所示,3个指标Box,Objectness,Classification在经历300个epoch训练中能够理想的拟合符合预期,精确率和召回率如下:
$\text {Precision }=\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FP}}$ | (8) |
$\text {Recall }=\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FN}}$ | (9) |
式中,正类样本占比较高。从图 11中Precision和Recall可知,单精确率和召回率都较高,该模型训练良好,具备优异性能。
本文在NVIDIA GeForce RTX3080的显卡环境下,对75张缺陷测试图像进行检测,部分检测效果图像如图 12~14所示,图 15为训练过程中多种缺陷的随机混合测试图,经测试,75张缺陷图像检测共耗时7.51 s,模型每秒传输帧数为9.98,所有缺陷的真检率为99.74%。
为了验证主干网络中的深度可分离卷积模块和末端添加的NAM注意力机制分别在文中具有优化改进作用,同时得出特征融合网络DN-YOLOv5具备更佳的性能,本文进行了消融实验。首先,通过对原YOLOv5主干网络结构末端添加NAM注意力机制和不添加NAM的情况进行了消融实验。实验表明,在原YOLOv5主干网络中末端添加NAM注意力机制,模型参数减少了17.29%,每秒传输帧数增加了0.15,map值提升0.003,网络轻量化得到改善,检测率以及图像传输效率提升,见表 2。
将深度可分离卷积模块(DepthSepConv)替代原YOLOv5中的Backbone主干网络部分,并在末端层插入NAM这种轻量、高效的注意力模块,以SPPF为封口模块作为输出,并重新定义SIoU作为损失函数。在网络中,利用更多浅层特征信息来检测多目标的同时加入NAM来增强检测效果并进一步使得模型参数轻量化。本文分别进行了在DN-YOLOv5主干网络末端层相同位置处添加SE、CBAM模块与NAM做消融实验,同时再结合SIoU损失函数对模型作出最后的完善。实验表明,深度可分离卷积模块在替代原YOLOv5主干网络结构后,其模型参数大大减小,网络轻量化程度大幅提升,见表 3。本文的DN-YOLOv5(DepthSepConv+NAM+SIoU)相较于在末端添加SE模块,其模型参数减小了29.92%,每秒传输帧数提升0.07,map值基本持平,总体轻量化程度提升较高。相较于末端添加CBAM模块,模型参数减小13.40%,每秒传输帧数提升0.14,map值略有提升。相较于原YOLOv5主干网络结构,模型参数减小了52.13%,网络轻量化程度得到大幅提升,且每秒传输帧数提升0.52,这对长时间、多数据的传输效率有很大改善,map值略有下降影响较小。
主流目标检测模型与DN-YOLOv5对缺陷图像检测的性能对比见表 4,由表 4可知,DN-YOLOv5的真检率为99.74%,误检、漏检数量都小于其他主流目标检测模型,结合DN-YOLOv5中各模块的性能对比可知,DN-YOLOv5针对该缺陷数据集的map值较高,模型性能较好。
1) 本文针对氢燃料电池中的金属双极板表面缺陷存在种类多、尺寸小对比不明显、难检、易误检漏检、大参数量模型难部署等问题,提出了一种DN-YOLOv5轻量化网络的缺陷检测算法。
2) 修改原YOLOv5主干网络结构和模块数量,融合深度可分离卷积模块,在主干网络末端添加NAM注意力机制的操作来优化网络结构,引入了SIoU作为新的损失函数,提升了网络检测小目标、多目标检测能力,大大减少了模型参数量,提升了网络轻量化程度。
3) 实验表明,在NVIDIA GeForce RTX3080的显卡环境下,75张缺陷图像检测共耗时7.51 s,模型每秒传输帧数为9.98,所有缺陷的真检率为99.74%,故本文提出的DN-YOLOv5网络算法能够快速、准确的检测出金属表面缺陷图像,满足轻量化模型部署移动端设备的要求。
[1] |
侯明, 衣宝廉. 燃料电池的关键技术[J]. 科技导报, 2016, 34(6): 52. HOU Ming, YI Baolian. Fuel cell technologies for vehicle applications[J]. Science & Technology Review, 2016, 34(6): 52. DOI:10.3981/j.issn.1000-7857.2016.06.005 |
[2] |
肖勇, 吴新跃, 贾延奎, 等. 燃料电池金属双极板精密冲压成型缺陷研究[J]. 电源技术, 2019, 43(4): 587. XIAO Yong, WU Xinyue, JIA Yankui, et al. Study on precision stamping defect of metal bipolar plate of fuel cell[J]. Chinese Journal of Power Sources, 2019, 43(4): 587. DOI:10.3969/j.issn.1002-087X.2019.04.014 |
[3] |
郭政亚, 熊振华. 金属增材制造缺陷检测技术[J]. 哈尔滨工业大学学报, 2020, 52(5): 49. GUO Zhengya, XIONG Zhenhua. Defect detection technology in metal additive manufacturing[J]. Journal of Harbin Institute of Technology, 2020, 52(5): 49. DOI:10.11918/201905012 |
[4] |
韩芳芳, 段发阶, 张宝峰, 等. 单线阵CCD系统的表面凹坑缺陷检测方法[J]. 哈尔滨工业大学学报, 2012, 44(4): 116. HAN Fangfang, DUAN Fajie, ZHANG Baofeng, et al. Study and modeling for surface pit defect detection based on linear array CCD system[J]. Journal of Harbin Institute of Technology, 2012, 44(4): 116. DOI:10.11918/j.issn.0367-6234.2012.04.023 |
[5] |
周心悦. 基于机器视觉的金属片表面缺陷实时检测与分类研究[D]. 合肥: 中国科学技术大学, 2021 ZHOU Xinyue. Research on real-time detection and classification of metal sheet surface defects based on machine vision[D]. Hefei: University of Science and Technology of China, 2021. DOI: 10.27517/d.cnki.gzkju.2021.001157 |
[6] |
LI Min, WAN Shaohua, DENG Zhongmin, et al. Fabric defect detection based on saliency histogram features[J]. Computational Intelligence, 2019, 35(3): 517. DOI:10.1111/coin.12206 |
[7] |
ZHANG Lei. Fabric defect classification based on LBP and GLCM[J]. Journal of Fiber Bioengineering and Informatics, 2018, 8(1): 81. DOI:10.3993/jfbi03201508 |
[8] |
HALFAWY M R, HENGMEECHAI J. Automated defect detection in sewer closed circuit television images using histograms of oriented gradients and support vector machine[J]. Automation in Construction, 2014, 38: 1. DOI:10.1016/j.autcon.2013.10.012 |
[9] |
朱贺, 杨华, 尹周平. 纹理表面缺陷机器视觉检测方法综述[J/OL]. 〔2022-03-17〕. https://kns.cnki.net/kcms/detail/61.1114.TH.20220316.1246.015.html ZHU He, YANG Hua, YIN Zhouping. Review of machine vision detection methods for texture surface defects[J/OL]. 〔2022-03-17〕. https://kns.cnki.net/kcms/detail/61.1114.TH.20220316.1246.015.html |
[10] |
ZHOU Hao, JANG B, CHEN Yixin, et al. Exploring faster RCNN for fabric defect detection[C]//2020 Third International Conference on Artificial Intelligence for Industries (AI4I). Irvine, CA: IEEE, 2020: 52. DOI: 10.1109/AI4I49448.2020.00018
|
[11] |
WEI Bing, HAO Kuangrong, GAO Lei, et al. Detecting textile micro-defects: A novel and efficient method based on visual gain mechanism[J]. Information Sciences, 2020, 541: 60. DOI:10.1016/j.ins.2020.06.035 |
[12] |
SU Binyi, CHEN Haiyong, CHEN Peng, et al. Deep learning-based solar-cell manufacturing defect detection with complementary attention network[J]. IEEE Transactions on Industrial Informatics, 2021, 17(6): 4084. DOI:10.1109/TII.2020.3008021 |
[13] |
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, NV: IEEE, 2016: 779. DOI: 10.1109/CVPR.2016.91
|
[14] |
ADIBHATLA V A, CHIH H C, HSU C C, et al. Defect detection in printed circuit boards using you-only-look-once convolutional neural networks[J]. Electronics, 2020, 9(9): 1547. DOI:10.3390/electronics9091547 |
[15] |
LV Xiaoming, DUAN Fajie, JIANG Jiajia, et al. Deep active learning for surface defect detection[J]. Sensors, 2020, 20(6): 1650. DOI:10.3390/s20061650 |
[16] |
REDMON J, FARHADI A. YOLO9000: Better, faster, stronger[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu, HI: IEEE, 2017: 6517. DOI: 10.1109/CVPR.2017.690
|
[17] |
JING Junfeng, ZHUO Dong, ZHANG Huanhuan, et al. Fabric defect detection using the improved YOLOv3 model[J]. Journal of Engineered Fibers and Fabrics, 2020, 15: 155892502090826. DOI:10.1177/1558925020908268 |
[18] |
REDMON J, FARHADI A. YOLOv3: An incremental improvement[J/OL]. [2018-04-08]. https://arxiv.org/abs/1804.02767. DOI: 10.48550/arXiv.1804.02767
|
[19] |
BOCHKOVSKIY A, WANG C Y, LIAO Hongyuan. YOLOv4: Optimal speed and accuracy of object detection[J/OL]. [2020-04-23]. https://arxiv.org/abs/2004.10934. DOI: 10.48550/arXiv.2004.10934
|
[20] |
DENG Huafu, CHENG Jianghua, LIU Tong, et al. Research on iron surface crack detection algorithm based on improved YOLOv4 network[J]. Journal of Physics: Conference Series, 2020, 1631(1): 012081. DOI:10.1088/1742-6596/1631/1/012081 |
[21] |
ZHAI Sheping, SHANG Dingrong, WANG Shuhuan, et al. DF-SSD: An improved SSD object detection algorithm based on DenseNet and feature fusion[J]. IEEE Access, 2020, 8: 24344. DOI:10.1109/ACCESS.2020.2971026 |
[22] |
LI Chuanchang, CUI Guohua, ZHANG Weiwei, et al. Defect detection in vehicle mirror nonplanar surfaces with multi-scale atrous single-shot detect mechanism[J]. AIP Advances, 2021, 11(7): 075202-1. DOI:10.1063/5.0053851 |
[23] |
LIU Yichao, SHAO Zongru, TENG Yueyang, et al. NAM: Normalization-based attention module[J/OL]. [2021-11-24]. https://arxiv.org/abs/2111.12419v1. DOI: 10.48550/arXiv.2111.12419
|
[24] |
CUI Cheng, GAO Tingquan, WEI Shengyu, et al. PP-LCNet: A lightweight CPU convolutional neural network[J/OL]. [2021-09-17]. https://arxiv.org/abs/2109.15099v1. DOI: 10.48550/arXiv.2109.15099
|
[25] |
HOWARD A G, ZHU Menglong, CHEN Bo, et al. MobileNets: Efficient convolutional neural networks for mobile vision applications[J/OL]. [2017-04-17]. https://arxiv.org/abs/1704.04861. DOI: 10.48550/arXiv.1704.04861
|
[26] |
WOO S, PARK J, LEE J Y, et al. CBAM: Convolutional blockattention module[J/OL]. [2018-07-18]. https://arxiv.org/abs/1807.06521v2. DOI: 10.48550/arXiv.1807.06521
|
[27] |
IOFFE S, SZEGEDY C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J/OL]. [2015-02-11]. https://arxiv.org/abs/1502.03167v1. DOI: 10.48550/arXiv.1502.03167
|