基于Faster R-CNN的金属表面缺陷检测研究

2022-11-10 07:48马静
电子测试 2022年18期
关键词:特征提取卷积算法

马静

(惠州经济职业技术学院,广东惠州,516057)

0 引言

伴随着基于深度学习的目标检测算法不断突破,基于机器视觉的智能检测技术也突飞猛进。基于深度学习的目标检测算法主要分为One-Stage(单阶段)和Two_Stage(二阶段)两类。其中One-Stage目标检测算法是基于回归对目标进行分类和定位,如SSD及YOLO系列算法等。Two_Stage目标检测算法是基于区域建议,将检测问题分成提取候选区域、候选区域分类与定位两个阶段,如SPP-Net、R-CNN、Fast R-CNN、Faster R-CNN等。One-Stage算法速度较快,但精度较低。Two_Stage算法精度较高,但速度较慢【2】。在综合考虑金属表面光滑、高反光、检测难度大等特性以及基于深度学习的目标检测算法的特点的基础上,本文选择了Faster R-CNN目标检测算法对麻点和划痕两类常见金属表面缺陷检测进行了研究。

1 Faster R-CNN检测算法

基于Region Proposal的R-CNN系列目标检测方法是当前目标检测技术领域一个重要分支,它经历了R-CNN, SPPNET, Fast R-CNN, Faster R-CNN的演变过程。Faster R-CNN在R-CNN, SPP-NET及Fast R-CNN算法基础上进行优化【3】,成为了目标检测的优秀代表。

如图1所示,Faster R-CNN主要由特征提取网络(Conv Layers)、RPN网络(Region Proposal Networks)、Roi Pooling及Classification网络几个部分组成。特征提取网络使用VGG16、ResNet等模型提取图片特征(Feature Map)。RPN网络实质是二分类和坐标回归,其主要工作原理是在Feature Map基础上通过softmax判断Anchor(锚)是属于Positive(正样本)还是Negative(负样本),同时利用Bounding-Box Regression(边框回归)修正Anchor,获得精确的proposals从而生成Region Proposals。Roi Pooling层的核心是将大小不同的特征区域通过池化操作转化为相同尺度的特征。Classification网络利用Roi Pooling送入的Proposal Feature Map计算Proposal的类别,同时再次利用Bounding-Box Regression获得检测框最终的精确位置【4-6】。

图1 Faster R-CNN基本结构

2 基于Faster R-CNN实验方案设计

2.1 特征提取网络实验设计

本文特征提取网络主要使用VGG16网络模型进行特征提取。原始图像在经过模型处理后,在特征维度上完成一定的缩减。

如图2所示,首先将任意大小PxQ的图像缩放至固定大小1000x600,然后将1000x600图像送入VGG16网络,通过VGG16网络最后生成feature Map。VGG16网络主要由13个conv层,13个relu层,4个pooling层构成。conv层卷积核设为(3,3),同时设定 stride=1,padding=1,以便在进行卷积操作时,保持特征的空间维度不改变。pooling层卷积核设为(2,2),同时设定 stride=2,padding=0。

图2 特征提取网络实验设计图

2.2 RPN网络实验设计

RPN网络主要功能是通过Anchor机制判断Anchor是否检测到物体、计算包含物体的检测框的偏移量以及检测框的坐标。

如图3所示,Feature Map进入RPN后,分别进行两次卷积,第一次按照kernel_size=3,stride=1,padding=2进行卷积,通过卷积进一步集中特征信息。第二次按照kernel_size=1,stride=1,padding=0的方式做两个全卷积,分别得到Rpn_cls_score及Rpn_bbox_pred。其中Rpn_cls_score记录了RPN网络中每一个空间位置Anchor的出现概率。Rpn_bbox_pred表示网络中每一个Anchor的坐标偏移量(四个回归值△x,△y,△,△h)。在Rpn_cls_score的基础上再经过Reshape(2,-1)→softmax→Reshape(24,-1)的处理得到Rpn_cls_porb_reshape,它记录了Anchor Box分类的概率。

图3 RPN 网络实验设计图

实验的最后是计算RPN网络输出的损失Rpn_loss_bbox与Rpn_loss_cls。其中Rpn_loss_bbox是对Rpn_bbox_targets(真实的检测框对应Anchor的偏移量)与Rpn_bbox_pred做的smooth L1损失,它记录了是否存在物体的损失。Rpn_loss_bbox是对Rpn_lables(真实的Anchor标签)与Rpn_cls_score做的softmax损失,它记录了物体检测偏移量的损失【7】。

2.3 Roi Pooling及Classification(RC)网络实验设计

RC网络是在RPN特征提取的基础上,继续分类和检测框微调工作,最终实现目标检测。

如图4所示,Proposal目标层首先通过gt_boxes(包含了真实检测框坐标与类别的数据结构)计算出rpn_rois(RPN检测框)的Bbox_cls (真实结果的类别信息)和Bbox_targets(真实的坐标),作为后续输入的rois。接着通过rois的检测框坐标从特征提取网络实验输出的特征取得此坐标对应的ROI区域的特征。通过ROI池化得到Pool5,从而输出固定大小的Feature Map,再对特征图进行全连接产生fc7全连接层。全连接层由两部份组成FC 21和FC 84,其中FC2是用来分类,预测ROI属于哪个类别(20个类+背景),FC84用来回归位置(21个类,每个类都有4个位置参数)。通过全连接层与softmax计算每个检测框的类别,输出cls_prob概率向量,同时再次利用边框回归获得每个检测框的位置偏移量bbox_pred,用于回归获得更加精确的目标检测框。

图4 RC网络实验设计图

实验的最后计算损失loss_cls与loss_Bbox。其中loss_cls是对Bbox_targets与Bbox_pred做的smooth L1损失,它记录了物体分类损失。loss_Bbox是对Bbox_cls与cls_score做的softmax损失,它记录了物体检测偏移量的损失。

3 基于Faster R-CNN缺陷检测实验

3.1 实验平台

本次实验的硬件环境是CPU Intel(R) Core( TM) i9,64GB内存,显卡型号为NVIDIA Quahra M2002,软件环境window7操作系统,Anacoada3.5.4,Tensorflow,主要编程语言python。标注工具LabelImg。

3.2 数据集的构建

本文检测原始图像均由数码相机拍摄而成,共190张,分辨率为1440*1080,其中麻点88张、划痕102张,数据样图如图5所示。但由于数据量较少,又对原图进行90及180度旋转处理和2次1000X600的随机裁剪处理,最终将数据集扩充至1710张图片。最后使用LabelImg对数据集进行标注,表明其缺陷的位置和种类。

图5 数据样图

3.3 模型训练

在模型训练时将数据集按照训练集、验证集与测试集为6:2:2的比例进行分配,即训练集1026张图片、验证集及测试集各342张图片。Faster R-CNN训练实质是RPN+Fast R-CNN的训练,整个训练过程是一个交叉过程,可梳理为五步。第一步,使用VGG16模型对缺陷数据进行特征提取。为了节省显存,前四层卷积层的学习率设为0。Conv5的输出作为图片特征(feature)。conv5下采样了输入数据的16倍;第二步,利用第一步模型中的参数训练RPN网络,得到特征提取模块一(初始检测框及相应模型参数)。利用Anchor机制和回归机制,将20000多个候选的Anchor选出256个Anchor进行分类和回归位置,同时利用非极大值((Nonmaximum suppression, NMS)抑制,选出概率最大的2000个ROI;第三步,训练Fast R-CNN,得到特征提取模块二;利用ProposalTargetCreator从2000 个rois选择128个ROI进行训练,从中选出58个ROI和gt_bboxes的IoU大于0.5的ROI作为正样本,70个IOU小于0的rois作为负样本。第四步,利用特征提取模块二的参数重新训练RPN网络(只更新网络参数),生成目标推荐框。第五步,利用推荐框对Fast R-CNN网络进行重新训练(只更新网络参数)。

3.4 检测结果

模型检测结果如表1所示,训练loss收敛如图5所示,图表数据表明模型在迭代1000次时趋于收敛,迭代1000次后麻点的检测结果为90.56%,划痕的检测结果为91.21%,整个模型的平均检测精度为90.78%。实验结果表明Faster R-CNN在金属表面缺陷检测表现优异。

表1 模型训练结果

4 总结与展望

本文在对Faster R-CNN模型较深入研究的基础上,针对模型几个重要环节做了详细的实验设计,并依据设计对金属表面的麻点、划痕两大类缺陷数据做了模型训练,得到了较好实验结果,但本次实验的检测效率为65.8 frame/s远远不能满足实际需要,因此在工业5.0及人工智能与机器视觉检测技术助力企业智能升级的大背景下,未来将从以下两个方面进行相关研究:(1)在基础特征提取网络、RPN、分类回归等方面优化Faster R-CNN,使其实现的效率显著提升;(2)将深度学习与机器视觉技术完美结合,使理论研究落地,在实际应用中能达到现代化工业生产中精准化和智能化的要求。

图6 模型训练loss收敛图

猜你喜欢
特征提取卷积算法
同步定位与建图特征提取和匹配算法研究
基于全卷积神经网络的猪背膘厚快速准确测定
基于FPGA的卷积神经网络加速优化方法
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
Travellng thg World Full—time for Rree
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
学习算法的“三种境界”
算法框图的补全