APP下载

基于改进Cascade RCNN的集成电路板瑕疵检测算法

2023-10-30王代涛李文杰俞文静

现代计算机 2023年16期
关键词:均衡化集成电路尺度

王代涛,李文杰,谢 波,俞文静

(广州软件学院网络技术系,广州 510990)

0 引言

瑕疵检测通常是指对物体表面疵点的检测[1-2]。在集成电路板批量生产或者经年使用中,由于各方面因素的影响,会产生诸如漏孔、鼠咬、开路、短路、杂散、杂铜等瑕疵。迄今为止,对集成电路板的瑕疵检测主要还是依赖人工进行实现,存在着效率低、人工成本高和检测标准难以统一等问题。因此,急需通过一些高效、智能化的方案去解决这一问题。计算机视觉拥有高效、稳定、可长时间工作等特性,以计算机视觉替代人工进行瑕疵检测获得越来越多的认可。

近年来,物体表面缺陷检测已经成为深度学习领域的热门研究课题。然而,在集成电路板视觉检测中,由于主板图像背景复杂多样,检测目标小、瑕疵难定位,再加上工业生产中要求满足安全性和高精度检测,现有的很多算法模型并不适用于此。集成电路板行业需要既能满足检测精度和安全要求,又能在复杂背景下进行瑕疵检测的高效算法模型。

针对此问题,本文选用Cascade RCNN 为基础检测网络,并选用特征提取效果较好的ResNet50 作为其骨干网络,针对集成电路板检测目标较小的问题加入了FPN 网络,将ResNet50 输出的具有大量位置信息的浅层特征层和具有丰富语义信息的深层特征层进行均衡化融合,以提高检测质量与效率。最后得到的模型体积约为68.94 M,在实验环境下,其FPS为16.1、mAP 和mAR 高达93.8%与98.8%。可安全、有效地实现对集成电路板的瑕疵检测。

本文克服了Cascade RCNN 算法对小目标和重叠度高的缺陷识别率低的问题,提出了一种基于Cascade RCNN 的改进算法,使用ResNet50作为Cascade RCNN 算法的骨干网络,并融入基于FPN 网络改进的多尺度特征融合均衡化网络,搭建了Cascade RCNN-ResNet50-FPN 网络模型,以下称为改进Cascade RCNN,整个算法模型检测精度、召回率较高,既精确又安全,可满足工业集成电路板表面缺陷检测的需求。

1 相关基础理论

1.1 残差神经网络

ResNet50是经典的运用残差单元结构组成的网络,是在 2016 年由 He 等[3]共同提出,旨在解决因卷积神经网络不断迭代而可能导致的梯度消失和网络退化的问题。其网络层次如表1所示。

表1 ResNet50网络结构

ResNet50 包括一个步长为 2 的 7 × 7 卷积层、四个残差单元级联卷积层和一个全连接层。其中残差单元是由一个3 × 3 的卷积核、两个1 × 1 的卷积核和一个残差连接分支组成,其结构如图1所示。

图1 ResNet50网络的残差单元结构

图2 多尺度特征融合均衡化网络结构

图3 边框回归

其中:x1为输入,其期望输出为h(x),但加入一个恒等映射x1后原始学习特征变成h(x)=f(x) +x1,因此残差是指f(x)=h(x) -x1,使得网络拟合更容易,直接映射的加入也使得网络的下一层产生比前一层的图像信息多[2-3]。ResNet50 计算量适中,能提取更多小目标特征信息。

1.2 多尺度特征融合均衡化网络

当前,FPN[4]是目标检测算法中最常用的特征融合网络,具体实现方式如图所示。FPN 是在特征提取网络生成的多尺度特征图的基础上,将最后一层特征图做2倍上采样后与前一层特征图融合生成新的特征图,然后将新生成的特征图以同样的方式与前一层特征图进行融合,逐层重复以上操作,形成特征金字塔。但是特征金字塔网络长距离信息流动会导致缺陷信息的流失和更多的关注相邻分辨率,这种融合方式会产生缺陷特征信息不平衡问题。因此,本文基于FPN 提出了一种多尺度特征融合均衡化网络,利用相同深度融合的平衡语义特征来增强多层次的特征。首先将通过FPN 网络形成的每层特征图通过上采样操作变成相同尺度,然后进行像素级的聚合均值,再将聚合均值化的特征图通过与之前相反的采样操作形成不同尺度的特征图,从而得到缺陷特征信息更平衡的多尺度特征图,实现缺陷特征的多层复用和融合均衡化,提高小目标缺陷敏感度[5]。

1.3 Cassccaaddee RRCCNNNN

Cascade RCNN 是一种提高目标检测效果的方法,其关键在于采用4 次框回归。其通过将RPN[4]输出的检测框输入回归模块(如图 4 所示),并将其输出作为下一层的输入,重复该过程以提高IoU 阈值,从而提升预测框的定位效果。框回归模块通过生成dx、dy来调整矩形框的位置,以及生成dw、dh来调整矩形框的长宽,即Cascade RCNN 通过级联多个框回归模块来增强线性回归的能力,从而改善检测效果。

2 本文方法

2.1 改进的Cassccaaddee RRCCNNNN检测算法

针对Cascade RCNN 算法在进行缺陷检测时仍存在对小目标缺陷漏检的问题,提出了一种改进的Cascade RCNN 算法。改进方式主要有:使用分类效果更好的ResNet50 作为Cascade RCNN 骨干网络,可提取更多的缺陷特征信息;借鉴FPN 的思想,融合浅层特征的位置信息和深层特征的语义信息,可提高小目标的识别率。改进后的Cascade RCNN 网络结构如图4所示。

图4 改进后的Cascade RCNN网络结构

图5 Cascade RCNN-ResNet50-FPN结构

2.2 Cassccaaddee RCNN-ReessNNeett5500--FFPPNN组合

本文网络模型的基本检测流程是通过ResNet50提取特征信息,再使用FPN融合各尺度特征图,生成语义与全局信息更多的特征图组,RPN按尺度在对应的特征图上生成候选框,最终由多个ROI Align对候选框进行多次的框回归。

骨干网络部分采用ResNet50,赋予模型强大的特征提取能力。ResNet50最初作用是用来做分类网络的,要使其运用在目标检测中充当骨干网络,只需要将最后一层的全连接层删除,并将四个大块的特征图输入FPN中,最后从RPN中将预测框与FPN 得到的特征图传入Cascade RCNN即可完成目标检测网络的搭建。

改进Cascade RCNN 这一检测方法的优点是通过级联多个渐增阈值的框回归模块使其可以将原本低质量的检测框优化为高质量的检测框,对小缺陷目标更为敏感,提升了检测的准确率和召回率。

3 数据集

本文的集成电路板数据集来源于北京大学智能机器人开放实验室[5],其中包含1386 张缺陷图像,以8∶2 的比例分为训练集与验证集,其主要由六种缺陷构成:漏孔、鼠咬、开路、短路、杂散、杂铜。各类缺陷尺寸相对较小,常用算法难以在该数据集上取得良好结果。

针对本文的模型,模型训练时对数据集图像进行了如下的处理:

(1)随机裁剪:对图片进行随机裁剪以提高模型鲁棒性;

(2)随机翻转:图片以0.5的概率进行水平、上下翻转;

(3)标准化:将图像数据进行标准化处理,既减去均值[123.675,116.28,103.53],再除以标准差[58.395,57.12,57.375](如公式1所示)。

式中:X为原始数据集中的样本特征,Xstd为标准化后的样本特征,μ为该特征的均值,σ为改特征的标准差。

4 实验

4.1 参数细节

实验采用 PyTorch 框架[6],主要 CPU、GPU运算设备分别为 Xeon(R)Platinum 8255C、Nvidia TeslaV100*8,采用SGD[7-8]作为优化器,初始学习率为0.0025,动量与权重衰减系数设置为0.0001,共50轮训练,其中前5轮为预热阶段,到达40与45轮时,学习率下降到之前的1/10。

本文采用ResNet-50 作为骨干网络,颈部网络使用FPN,RPN 头部与RoI头部均使用交叉熵损失函数与平滑L1 损失函数作为分类损失函数与回归损失函数。此外,本文还使用相同参数训练了基础Cascade RCNN、SSD、YOLO,与我们的模型进行对比实验。

4.2 实验步骤

在进行缺陷检测的实验时,对Cascade RCNN缺陷检测算法进行改进,由训练至测试得到检测结果,其具体实施步骤为:

(1)将训练集作为网络输入,利用骨干网络ResNet50提取特征,其4个卷积层的输出作为多尺度特征图;

(2)在均衡化网络中对多尺度特征图进行特征融合以输出具有更加丰富和平衡信息的特征;

(3)将所述多尺度特征图送入共享RPN 网络中生成建议框;

(4)将生成的缺陷建议区域和ResNet50 网络的最后输出特征图结合,经池化运算,获取每类缺陷候选区域特征图;

(5)输出特征图输入到Cascade RCNN Head中后,获得每一类缺陷的分类信息及位置信息,经过非极大值抑制,选择最佳预测框;

(6)重复上述步骤至模型收敛后完成训练;

(7)对缺陷检测模型权重参数进行提取;

(8)对所述测试集使用检测模型进行检测,获取每类缺陷的检测结果以及定位结果。

5 结果分析

将验证集带入模型进行计算,结果如图6所示,相关实验运算结果见表2。

图6 检测结果

表2 实验数据指标对比

通过分析可以得出以下结论:①本文模型对CascadeRCNN 的改造是非常有效的,其参数量与计算量在增加不大的情况下,mAP 从79.0% 提升至93.8%,mAR 从 83.6% 提升至98.8%,使得网络更加精准与安全;②本文模型对小缺陷目标检测相对SSD、YOLO与基础Cascade RCNN更为优越,能够较为精准地检测出数据集中非常小的缺陷目标,非常适合于PCB 行业的工业检测。

6 结论与未来工作

本文针对集成电路板中小目标缺陷检测,以及基本Cascade RCNN 检测算法对小目标检测能力弱的问题,提出了一种改进Cascade RCNN,通过ResNet50 取代原网络的骨干网络VGG16,来提高网络模型的特征提取能力;借鉴FPN 思想,提高多尺度特征融合均衡化能力,提高了对小目标检测对象的敏感度;采用多个框回归模块级联来增强线性回归的能力。采用北京大学智能机器人开放实验室提供的集成电路板数据集进行实验研究,实验结果表明,本文所提出的改进Cascade RCNN 算法模型对小目标检测对象有较高的检测效果和检测效率,且模型参数规模较小,适合部署与运行在高端FPGA设备上,可满足集成电路板表面缺陷检测的需求。

未来工作将在介绍改进后的Cascade RCNN检测算法,并将其应用在高端FPGA设备的基础上进行铝片表面工业缺陷检测。首先,对Cascade RCNN算法的两个改进部分的改进目的及改进方式进行详细的分析;然后,介绍该模型训练到测试获取检测结果的具体实现步骤等。

猜你喜欢

均衡化集成电路尺度
首个原子级量子集成电路诞生
财产的五大尺度和五重应对
人工智能与集成电路的关系探讨
PSO约束优化耦合直方图均衡化的图像增强算法
宇宙的尺度
基于CMOS集成电路闩锁效应理论的实践
制度变迁是资源均衡化的关键
直方图均衡化技术在矢量等值填充图中的算法及实现
9
超大规模集成电路用硅片产业化