陈国良,庞裕双
(武汉理工大学机电工程学院,湖北 武汉 430070)
微操作是在微小空间范围内对微尺度元件或者物体进行操作,微操作空间下的目标对象尺度很小,通常是亚毫米(mm)级或者微米(μm)级。为了完成微操作工作任务,系统的视觉处理装置需要获取目标的类别和位置。而在微操作空间下,待检测目标存在着尺度变化的情况。传统的目标检测方法由于区域选择策略没有针对性[1]、手工设计的特征鲁棒性较差[2]等问题,在微操作空间下的检测效果并不太理想。
近年来,卷积神经网络(convolutional neural network,CNN)因为其优异的特征提取能力被应用到图像识别的任务之中,Faster RCNN[3]、YOLO[4]、SSD[5]等基于深度学习的目标检测算法也被提出,在众多领域得到使用并取得突破。研究人员也将深度学习的相关方法迁移到微操作空间下的目标检测任务之中。彭刚等人[6]提出了一种将深度残差网络和在线困难样本挖掘策略相结合的微操作系统检测方法,但这种方法对目标尺度较小时的检测效果较差。张彤彤等人[7]则将知识蒸馏融合到目标检测网络模型之中,提高了检测的速率,但同时检测的准确率也降低了。王莉等人[8]提出一种结合跨越式特征融合和线性离散先验框的目标检测方法,但这种网络模型的可迁移性较差。黄开启等人[9]通过引入聚类算法和优化特征提取网络,降低了小目标的漏检率,但当目标图像存在尺度变化时检测效果较差。
基于以上情况,本文对Faster RCNN目标检测算法进行改进,提出了一种基于改进Faster RCNN的微操作空间目标检测算法。首先,使用ResNet50代替原来的VGG16作为骨干网络;然后,引入了递归特征金字塔网络(recursive feature pyramid network,RFPN),对不同深度的图像特征进行融合;接着,优化区域建议网络(region proposal network,RPN)的采样策略,改善原有算法在锚框匹配时对小尺度目标样本提取质量较差的情况;再优化模型的损失函数,进一步提高检测精度,并加快网络模型的收敛速率。最后通过实验验证了改进算法的可行性和有效性。
特征金字塔网络(feature pyramid network,FPN)主要用来处理目标检测中的多尺度问题,其通过改进网络的连接结构,改善多尺度目标检测的性能[10]。但FPN存在只对相邻特征进行融合,忽略了底层和顶层的特征融合的不足。RFPN在普通FPN的基础上,增加了一个反馈结构,通过这种反馈连接能够使得网络的误差信息能够更加充分地调整主干网络的参数,提高检测的性能[11]。
改进的特征提取网络结构如图1 所示。特征的融合分为2个阶段,第1阶段的融合跟FPN相同,设bi(i=2,3,4,5)为ResNet50的第i级操作,Bi为ResNet50的第i级输出,fi为FPN的第i级操作,Fi为FPN 的第i级输出。输入和输出的关系可表示为
图1 ResNet50 +RFPN特征提取网络结构
第2阶段的融合通过反馈连接,将第1 阶段的输出Fi与第2阶段的Bi联系起来。首先,将第1阶段的输出Fi调整其通道数为Bi大小,并与Bi相加得到B′i;然后,继续第1阶段融合的操作;最后,可以得到RFPN的最终输出F′5,F′4,F′3,F′2。设Ri为将Fi和B′i结合的操作,输入和输出的关系可表示为
式中 当i=2时,有Bi=B2,为b2(R(F2,B2))。
Faster RCNN 采用RPN 进行感兴趣区域(region of interest,ROI)的提取,通过预先设定锚框的尺寸、长宽比例和正负样本交并比(intersection over union,IOU)[12]阈值等参数,在原图像上生成众多锚框,并使其与真实样本的实际边界框进行匹配,得到锚框与真实边界框的IOU,再根据阈值进行采样,选择出一定数量的正样本和负样本用于网络的训练。在微操作空间中,随着视野范围的调整,会存在许多小尺度目标。而在提取小尺寸目标的样本时,其对应的正样本锚框的IOU低于其他目标,且正负样本的IOU接近,导致提取出的训练样本质量不高,造成各类样本不均衡的现象。
针对原有的采样策略不适用于微操作空间下的目标的情况,将原来对所有目标都使用统一的正负样本阈值改为使用自适应阀值。当某个图像目标的实际边界框与锚框的IOU普遍低时,则认为这个目标为匹配困难目标,对目标的最大IOU值进行计算,得到自适应的正样本阈值,从而提高正样本的比重,并增大正负样本之间的距离,达到困难样本挖掘的效果。具体步骤如下:
1)输入目标图像,设定好锚框的尺寸、步长及长宽比,在目标图像上获得所有锚框;
2)计算所有锚框与真实目标边界框的IOU;
3)将与真实目标边界框匹配得到最大IOU值的锚框列为候选正样本,并利用该锚框计算标准IOU;
4)将IOU 大于标准IOU 的锚框列为候选正样本,将IOU大小是标准IOU的0.7~1倍的锚框列为忽略样本;
5)在步骤(4)的基础上,在剩余的锚框中,将IOU值大于0.7的锚框列为候选正样本,IOU值小于0.3的列为候选负样本,其他的列为忽略样本;
6)得到候选正负样本后,再从中按比例选取最终用于训练RPN参数的正负样本。
标准IOU的计算表达式如下
式中 IOUmax为锚框与真实边界框匹配得到的最大值,IOUstandard为标准IOU,Relax 为标准IOU 的系数,IOUp为预先设定的正样本阈值。
图2为IOUp为0.7时RPN采样策略和改进RPN采样策略的IOUstandard对比,如图所示,改进的RPN 采样策略为低IOU小尺度目标提供了自适应的宽松阈值,增加了匹配困难的目标样本选择为正样本的概率。
图2 RPN与改进RPN采样的标准IOU系数对比
不同于Faster RCNN在RPN和检测网络部分训练时均使用同样的回归损失函数,改进算法将采用不同的损失函数分别作用于RPN和检测网络,以此来加快网络模型收敛的速度,提高检测精度。RPN的损失函数为
式中Lcls为分类损失函数,Lreg为回边框归损失函数,Ncls为用于训练分类网络的样本数,Nreg为用于训练回归网络的样本数,pi为第i个候选区域目标的预测概率,为第i个建议候选区域的判断值(当样本是正样本时,=1;而当样本是负样本时=0),ti为第i个预测边框的坐标,为第i个真实边框的坐标,λ为平衡因子。
Smooth函数是在假设4个边框点相互独立的前提下计算回归损失,而实际这4 个边框点之间并不是独立无联系的,这就导致最终的回归并不准确。在检测网络使用CIOU Loss[13]损失函数,其表达式为
式(9)中,α为权重参数,p为欧氏距离,b为预测边界框框的中心,bgt为真实边界框框的中心,d为预测边界框和真实边界框最小包围的对角线长度,v用于衡量长宽比相似性。式(11)中,w′和l′分别为真实边界框的宽度和长度,wgt和lgt为分别为预测边界框的宽度和长度。
LCIOU的优点是能够对中心点距离、检测框的面积和长宽比3个方面进行调整,加快网络模型的收敛,提高网络模型的检测准确率。
本文采用的实验对象为亚毫米级的微电阻,微电容和微发光二极管,如图3所示,在显微视觉装置下获取大尺度图像,中尺度图像和小尺度图像。
图3 实验对象
为了防止由于数据集较小带来的过拟合问题,本文通过旋转、缩放、颜色变换、加噪等方法对样本进行扩充最终得到1 500幅目标图像样本,之后按照8∶1∶1的比例随机划分训练集、验证集和测试集。全部模型在TensorFlow2.2 框架下编程实现,模型训练在NVIDIA Geforce GTX 1060(显存5GB)GPU、CUDA10.1和cuDNN 7.6的实验环境下完成,操作系统为Windows10。
网络训练过程中的损失函数值变化如图4 所示。其中,loss为训练集损失值,val_loss为验证损失值。在训练开始时,loss 和val_loss 的值都比较大,随着迭代的增加,loss和val_loss的值都开始下降并趋于平缓。
图4 训练过程中的损失函数变化曲线
精确率(Precision)反映真正例与全部预测正例之间的比例。召回率(Recall)反映真正例与全部真实正例之间的比例。表达式分别为
在Faster RCNN目标检测算法的基础上进行改进,得到如表1所示的几组算法,算法1 为Faster RCNN 原算法,算法2为主干网络替换成ResNet50 的Faster RCNN,在算法2的基础上融合RFPN得到算法3,算法4是在算法3 的基础上改进RPN采样策略,算法5 是在算法4 的基础上使用双损失函数优化,算法5即为所提出的算法。
表1 算法配置
将表1所示的5 种不同的算法在1 500 张图像构成的数据集上进行训练与测试,在测试集中得到表2 所示的实验结果。由表2 可知,ResNet50 的特征提取效果明显果比VGG16更好,这是因为残差网络能够有效处理深度网络梯度弥散的问题。由算法3检测结果可以得知,RFPN对3 种目标的检测效果提升较大。算法5相比算法4,在采用双损失函数的情况下,在提高检测精度的同时,也减少了网络训练的时间。所提出的算法5 与算法1 即Faster RCNN 的原始检测算法相比,微电容,微电阻,微发光二极管的检测精度分别提高了6. 03 %,6. 06 %,6. 14 %,平均精度均值(mAP)提高了6.07%。
表2 算法性能比较
比较本文提出的算法5 和Faster RCNN算法对测试集图像的检测结果,分析改进的算法在微操作空间下的目标检测性能。图5 为本文提出的算法5(左侧)和Faster RCNN(右侧)在多尺度目标图像上的检测结果,前2 幅图中的目标尺度较大,后2幅图中地目标尺度适中。由图可知,前2幅图的检测结果相差不大,即在显微放大倍数较大时,2种算法的检测效果相当,而在后2 幅图中,本文提出的算法检验框的位置更加精确,检测效果明显更好。
图5 多尺度目标图像检测示例
图6 为本文提出的算法5(左侧)和Faster RCNN 算法(右侧)在小尺度目标图像上的检测结果。由图可知:Faster RCNN算法在显微镜放大倍数较小时,目标图像的检测效果较差,且存在一定程度的漏检;而本文提出的算法则明显改善了这种情况,同时对于目标的定位准确性有明显的提升。
图6 小尺度目标图像检测示例
本文将Faster RCNN的主干网络换成特征提取效果更好的深度残差网络,并采用特征融合策略,引入RFPN,对不同深度的特征进行融合,提升了网络对不同尺度大小图像目标的检测性能,接着,改进了RPN的采样策略,改善了原有算法在先验框匹配时对小尺度目标图像的正样本提取不足、负样本质量差的情况。优化了网络的损失函数,采用双损失函数,在提高检测精度的同时,也加快了网络的收敛。实验表明:将改进后的算法运用到微操作空间下对目标进行检测,可以准确、稳定地检测目标,相比于Faster RCNN算法,平均检测精度提高了6.06%。