基于改进级联Faster RCNN的PCB表面缺陷检测算法

2022-08-30 07:56胡江宇贾树林马双宝
仪表技术与传感器 2022年7期
关键词:特征提取损失卷积

胡江宇,贾树林,马双宝,2

(1.武汉纺织大学机械工程与自动化学院,湖北武汉 430200;2.湖北省数字化纺织装备重点实验室,湖北武汉 430200)

0 引言

随着印制电路板(printed circuit board,PCB)在各类电子产品中广泛应用,工业上对高效、准确的PCB缺陷识别分类检测装置的需求越来越强烈。人工智能技术的兴起,许多融合深度学习技术的算法或检测手段在提高生产效率方面起着巨大的推动作用,不断提高检测效果。例如朱寒[1]提出一种基于改进模板匹配及图像差分法的PCB缺陷多级检测方法;胡珊珊等[2]提出命名为UF-Net的一种基于深度学习的PCB微小缺陷检测网络;瞿栋等[3]提出基于ResNet101网络模型搭建了PCB缺陷图像识别分类模型;朱宪宇等[4]提出将YOLOv4引入到PCB裸板缺陷检测,采用Canopy+K-means聚类改进获取先验框;刘伟森等[5]提出一种基于多尺度轻量级卷积网络的PCB裸板缺陷识别算法解决印刷电路板(PCB)缺陷检测方法存在的检测效率低、接触式检测易损伤问题;谢黎等[6]根据电路板上元器件尺度变化大、小目标数量多的特点,设计改进YOLOv4算法对电路板上不同元器件进行定位与识别;马宇峰等[7]将训练好的模型部署在树莓派4B上设计一种基于深度学习的PCB板元件缺陷检测系统。本文从卷积网络与深度学习入门,在实际图像中,PCB板的缺陷相对较小且与背景色极其相似,本文研究Faster RCNN[8]网络模型的结构框架,针对PCB缺陷[9]检测任务和传统小目标检测任务参数上的不同而进行改进。

1 PCB表面缺陷检测模型

本文以目标检测算法Faster RCNN[10]为架构,改进卷积核、改变特征提取策略、优化损失函数,针对不同任务对模型进行优化拓展[11]。Faster RCNN基本模型架构如图1所示。

图1 Faster RCNN基本模型架构

1.1 改进Faster RCNN模型架构

Faster RCNN[12]因为单一阈值训练的检测器效果有限,为此本文采用Cascade Faster RCNN网络增强检测效果,如图2所示。工业场景下目标面积小,特征微弱,通过多级调整,可以使网络集中在占比较低的缺陷目标,最终获得更为精确的检测框。本文采用Resnet-101[13]残差网络作为骨干网络,并针对PCB表面的特殊缺陷,添加改进后的SPP和多尺度特征融合分析。为提高神经网络对PCB缺陷目标的检测能力,在轻量级特征提取网络之后构建多尺度特征融合网络。对于深层网络,其特征图的分辨率较低,空间几何特征表征能力差,但感受野较大,能够获得高级语义信息;而浅层网络中,由于特征图的分辨率较大,所反映出的空间几何特征细节性更强,但感受野较小,语义表征能力较弱,结合深层网络中的高级语义信息和浅层网络中的几何信息可以提高神经网络的检测性能。

图2 Cascade Faster RCNN网络模型架构

首先采取RPN网络获取PCB表面缺陷部分的ROI区域,下一步借助ROI Pooling层凸显相关特征信息,最终回归出缺陷的原始坐标。而RPN[14]需要一起预测待检范围内有无目标物体和生成边界框的坐标,相关损失函数表示为

(1)

文中采用SmoothL1损失[15]如式(2)所示:

(2)

RPN采用回归预测值与真值偏移量的方式,计算预测边界框的位置如下:

(3)

式中:x、y、w、h分别表示框的中心点坐标和框的高和宽;x、xa、x*分别表示预测框、锚框和预测框真值。

回归损失函数如式(4)所示:

(4)

1.2 过滤特征金字塔

为过滤特征图中的部分噪声特征,本文提出一种过滤特征金字塔SPP-net。将各种CNN[16]架构的精度都大幅提升,SPP-net只需计算一次特征图,然后对任意尺寸的区域进行特征池化,最后产生一个代表性尺寸用作训练检测器。它避免反复计算卷积值,显著降低算力,SPP工作流程如图3所示。

图3 SPP特征过滤金字塔

1.3 多尺度融合分析

本文提出特征金字塔的检测网络进行多尺度特征融合[17]。一般而言,特征提取网络即为自下而上的卷积操作,本文将ResNet-101作为骨干网络,用C1~C5来分别表示ResNet每个阶段池化后的特征图的输出,同时每一阶输出的特征图像在尺寸上相差2倍。自上而下的路径首先是从最上方的C5开始进行最近邻上采样,通过1*1的卷积层。产生低分辨率特征信息,然后通过上采样将特征放大1倍,通过横向连接与C4层有着相同尺寸的特征图像进行融合,并将融合后的特征图像通过3*3的卷积核来避免上采样产生的混叠效应,进而得到新的具有强语义信息的融合特征图像,记为P2~P5,如图4所示。由于多层特征的图像分辨率不同,执行多尺度特征映射时,针对不同尺度的区域候选框,通过公式(5)来对金字塔的等级进行计算。

图4 多尺度融合

(5)

式中:数字640为所用电路板数据集图像的尺寸;k0为基础网络中通过卷积网络映射出特征图像的层次;w、h为生成候选框的宽和高。

通过对比分析每层的特征信息然后综合得出包含丰富特征信息的特征图,进而逐步提高网络对不同尺度缺陷检测的能力。

1.4 损失函数改进

Faster RCNN默认目标分类损失使用多类别交叉熵损失[18]函数。而待检测的电路板图像,缺陷通常只占极小区域,正负样本出现严重不均衡,负样本数量过大也会影响损失函数。在识别过程中,简单样本会抑制对困难样本的学习能力。因此,按照式(6)使用focal loss损失函数。

(6)

式中:y为真实值;y′为预测的概率值;α为调节正负类的矫正系数;γ用来调节样本损失权重,γ=2。

通过α和γ对样本不平衡进行调整,有效解决样本不平衡问题,提高模型学习能力。

1.5 感兴趣区域校准

ROI Align通过双线性或内插的方式得到位置为浮点数的象素点上的所有图像数据,进而使整个特征聚集过程转变为一种连续的操作,从而克服了区域不匹配问题。

1.6 引用MobileNetV3改进特征提取网络

PCB板缺陷具有缺陷区域面积小的特点,同时检测算法需要部署在工业现场轻量化移动端中。而Faster RCNN算法以CSPDarknet53网络作为特征提取网络,有104层卷积网络,其中卷积层72个,并且使用大量标准3*3卷积操作。在进行运算过程中,使用大量计算资源,从而难以部署至工业轻量化移动端中。同时,由于卷积层数较多,随着多层特征传递,使局部精细化特征提取能力逐渐下降,影响算法对PCB小目标缺陷的检测性能。因此有必要对Faster RCNN特征提取网络进行改进,以满足PCB面板小目标缺陷检测和方便算法部署在移动端要求。

MobileNetV3是MobileNet网络发展的第三代,其由Andrew等在MobileNetV1和MobileNetV2基础上进行改进。同时改进swish激活函数为h-swish减少计算量,可以达到更少计算量,更高精度的效果。与CSPDarknet53网络相比,既保持较为强大的特征提取能力,又在很大程度上减少模型的体积,使其更加方便部署在工业现场移动端中。同时比CSPDarknet53网络具有更少的网络深度,可以更好对局部精细化特征提取,提升对PCB小目标缺陷检测性能。

2 实验结果与分析

2.1 样本数据

在文中采用DingR[19]开源的PCB缺陷数据集作为训练数据集,所有图片共分为6个类,分别代表缺失孔、鼠咬伤、开路、短路、杂散、伪铜6种缺陷。缺陷实际分布情况如表1所示,各类检测难点如表2所示。

表1 PCB缺陷数据集

表2 PCB缺陷检测要点

在训练过程中如果没有一定数量的数据集将面临过拟合问题。数据集中原始图像尺寸为3 014像素×2 138像素,尺寸与cascade-RCNN网络模型的输入要求不匹配。因此将输入图像裁剪为640像素×640像素的子图像,裁剪后图像数据按照训练集和测试集4∶1比例划分,其中训练集包含8 871张图像,测试集包含2 217张图像。

2.2 模型评价指标

为评价模型有效性,采用汉明损失(HLoss)作为模型分类精度评价指标、分类精度(AP)及平均精度均值(mAP)作为模型检测精度评价指标。HLoss表示所有标签中错误样本的比例,计算公式如式(7)所示:

(7)

式中:n为样本类总数;L为标签类总数;xij为第i个模型上预测结果中第j个分量的真实值;yij为第i个模型预测结果中第j个分量的预测值;XOR为异或运算。

AP计算式如式(8)所示:

(8)

式中TP、FP分别为真正例、假正例。

对于多种类目标的平均检测精度采用mAP作为总类别评价指标,计算公式如式(9)所示:

(9)

式中:AP为单类别准确率;C为总类别数。

2.3 模型训练

本文模型训练所用环境配置为Intel i9-9700K处理器,训练过程中的精度曲线如图5所示。

图5 训练过程精度曲线变化

2.4 结果对比分析

实验选取缺失孔,鼠咬伤,开路,短路,杂散,伪铜6类PCB缺陷进行验证,结果见表3。

表3 不同缺陷种类模型性能

对表3数据进行分析可以得出,本文设计的缺陷检测模型对于不同种类缺陷检测具有较高精度,平均分类精度达98.91%,平均mAP为78.21%。其次使用YOLOv5、Faster RCNN、Cascade-RCNN及本文所构建的缺陷检测模型设计4组对比实验,对比各模型在本文所用数据集上的分类精度AP、mAP、误检率及漏检率4项指标,实验结果见表4。

表4 不同模型对比结果

由表4可知,本文所构建模型分类精度较YOLOv5模型提升3.08%,漏检率降低4.3%。Cascade RCNN漏检率略低于本文模型,但准确率不及本文模型,分析其原因是由于Cascade RCNN所采用的结构为级联结构,对阈值的提升是逐步进行的,故漏检率较低。文中实验结果如图6所示,改进的Cascade RCNN可以较为正确的判断故障是属于哪种类型,并且给出相关属性。

图6 实验结果

为验证本文模型改进方案是否有效,采用模块分离法对每个阶段模型进行分离训练,得到添加相应模块后的模型mAP,依次添加ROIAlign模块、DCN模块、多尺度融合及优化损失函数,mAP由71.65%提升到78.21%。模型效果得到显著提升,验证本文改进方案的有效性。

3 结束语

对于工业制造过程中常见的PCB板缺陷检测效率低问题,本文提出改进 Faster RCNN模型架构并且结合级联神经网络的PCB板缺陷检测算法,将原有的感兴趣候选区域池化层用ROI Ailgn池化替代,这样就对滑动窗口产生优化,从而生成精确度更高的缺陷回归框。本文为了加强整体特征的语义充分表达,强化微小目标特征的函数分辨率并且筛选掉原特征图中的已存的噪声特征。与此同时,通过采用focal loss对损失函数进行优化RPN损失函数,使得生成候选区域的精度更高。为使模型能够得到广泛的应用,采用数据增强和裁剪以及多阶段训练添加样本,丰富数据集。实验过程中发现边界框宽高比、NMS阈值、IoU阈值等一些超参数的设置,对模型的性能有极大的影响。最后实验证实本文模型的可靠性,平均分类精度达98.91%,mAP达到78.21%。

猜你喜欢
特征提取损失卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
卷积神经网络的分析与设计
空间目标的ISAR成像及轮廓特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于特征提取的绘本阅读机器人设计方案
从滤波器理解卷积
玉米抽穗前倒伏怎么办?怎么减少损失?
基于Daubechies(dbN)的飞行器音频特征提取
基于傅里叶域卷积表示的目标跟踪算法