基于优化候选区域的战场目标检测研究
2021-11-19邓雪亚肖秦琨
邓雪亚,肖秦琨
(西安工业大学兵器科学与技术学院,陕西西安710021)
1 引言
适应现在战场上技术的进步,掌握作战信息的实时性和准确性是非常重要的。对战场上的目标进行精确的检测是实现战场目标跟踪打击的重要基础。仅仅依靠人工的方法对目标进行检测是不行的,检测精度和速度都跟不上战场的实际需求。因此,发展具有自动检测功能的坦克装甲车辆是目前战场信息化作战的趋势[1]。本文提出基于优化候选区域的战场目标检测研究,解决小目标和遮挡目标的检测问题。
基于深度学习的目标检测算法不断地深入研究,Ren等[2]人,提出Faster R-CNN算法,该算法使用区域提取网络(Region Proposal Networks,RPN),与检测网络共享特征图很大地提高了目标检测的速度。但Faster R-CNN算法对于小目标的深层次的特征提取不精确。一些研究者对Faster R-CNN算法进行了改进,用来解决目标检测的复杂问题。Jipeng等[3],提出改进的Faster R-CNN结构,该算法将低层次和高层次的特征融合在一起用于小物体检测,在检测精度方面取得了一些进步,但仍存在一些问题。林国平等[4],采用了K-Means++聚类算法来代替原来Faster R-CNN算法中的RPN网络来提取候选框,该改进算法对车辆有较高的检测精度,但在物体模糊不清或者有遮挡发生时,会出现漏检的情况。张御宇等[5],针对小尺度目标提出改进的Faster R-CNN算法,该算法增强了高低卷积层间的信息传递,增加锚的尺寸和锚框选择策略,检测准确率有了明显的提高,但文中没有考虑改进算法的耗时问题。
综上所述,本文提出基于优化候选区域的Faster R-CNN算法主要针对小型目标和存在遮挡影响的目标检测问题。1)在主网络conv3-3和conv5-3卷积层的特征图上分别设置不同大小的滑动窗口,来得到候选框,分别计算两个卷积层上候选框与真实框的误差,选择误差最小值,再从两卷积层的误差最小值中选择较小者作为优化后的候选区域送入检测网络;2)对于RPN网络滑动窗口的锚框,增加一个尺寸,来丰富候选框的数量和提高小型目标及遮挡目标候选框的精度;3)引入排斥损失来优化遮挡目标候选框的选择。在坦克装甲目标的数据集上,验证本文算法解决小型目标和遮挡目标在检测精度和检测速率上的有效性。
2 优化候选区域的Faster R-CNN算法
2.1 Faster R-CNN基本原理
如图1所示为Faster R-CNN算法的检测原理。区域提取网络的目的是对输入图像提取出丰富的目标候选区域,以VGG-16网络为例来进行说明。RPN网络设置滑动窗口,卷积核的大小为n×n(n=3)可产生k个区域建议框,称为锚[6]。锚设置为5122,2562和1282三种大小,具有1:1、1:2和2:1的比例。以满足平移不变的属性。每个滑动窗口内的特征映射到相应的低维度,通过ReLU[7]激活函数,将得到的矢量输入到两个卷积层,分别是目标判断得分层(cls)和位置边界回归层(reg)实现目标候选区域的类别判定和位置边界回归[8]。
图1 Faster R-CNN算法原理图
2.2 优化候选区域的Faster R-CNN算法
由于视野范围的不同,就会出现不同尺度的目标,导致目标的大小不一,对于检测的精度会有影响[9-10]。小型的目标会出现检测精度不高的问题,遮挡目标会影响目标的检测精度。为了解决小型目标检测精度不高和遮挡因素的问题,本文提出了一种基于优化候选区域的Faster R-CNN算法。软件流程图如图2所示。
图2 本文软件流程图
如图3所示为,优化候选区域的Faster R-CNN算法总体框架结构。本文算法与传统Faster R-CNN的改进之处有以下几点:
图3 本文算法的总体框架结构
1)在主网络的卷积层(conv3-3,conv5-3)上分别设置不同大小的滑动窗口,来得到数量丰富的锚框。把目标图像在卷积conv3-3层的特征图上设置滑动窗口得到候选区域,conv5-3卷积层也同理。分别计算候选框与真实框的误差,利用误差比较的方法选出候选框误差最小的,从两层误差最小的候选框中选择精确度高的一层上的候选框,作为优化后的候选区域和对应层的特征图送入检测网络,完成候选区域的特征提取及目标分类和边界框的回归修正。
2)RPN网络中,在conv3-3层滑动窗口设置为5×5大小的窗口,conv5-3层滑动窗口设置为7×7和9×9大小的窗口。如图4所示为改进的RPN网络结构。每个滑动窗口在原RPN方法(5122,2562和1282)三种大小锚框选择的基础上增加一个642大小的锚框,每个大小的锚框还是按照三种比例尺寸。每个滑动窗口增加一个642大小尺寸的锚框,这样在滑动窗口从特征图上生成的候选框的数量增加,而且对于不同尺度目标生成候选框质量也会提高。
图4 改进RPN结构
Zeiler等[11],对CNN的研究表明layer3主要是学习目标的纹理特征,layer5学习的是目标物体特有的特征以及全部的特征。传统的Faster R-CNN算法是在卷积层的conv5-3层来生成特征图,本文提出在conv3-3和conv5-3层来获得目标的特征图。因此,选择conv3-3和conv5-3层的特征图来产生候选区域,再进行误差比较,选择合适层的作为优化候选区域。
3)解决坦克和装甲车辆存在遮挡影响的问题,提出排斥损失[12](Repulsion Loss,RepLoss)。其由两个因素组成:引力项和其排斥项。引力项是目标的预测框尽可能的接近真实框。排斥项是要远离遮挡物或其它非目标真实区域,增大与非目标区域的距离。RepLoss可以有效的防止目标预测框移动到其它遮挡物或非目标的区域上,从而可以提升检测算法在遮挡目标上的鲁棒性。
2.2.1 改进的RPN损失函数
损失函数的作用是判断建议框和真实框之间的误差。建议框与真实目标框重叠时,最高锚框的总和大于或等于0.7,该建议区域分配为正样本标签。建议框与真实框的重叠率低于0.3的时候,该建议区域分配为负样本标签[13]。损失函数采用反向传播和梯度下降的方法,不断地训练网络,调整参数。conv3-3和conv5-3层的损失函数是相同的,损失函数定义为
(1)
分类损失函数为
(2)
回归损失函数为
(3)
其中R函数定义为
(4)
式(1)的两部分由Ncls和Nreg归一化分类损失项和回归损失项,并由平衡参数λ加权。默认Ncls为512,Nreg为锚框的数量。
4个坐标的预测框和锚框的边界回归为
tX=(x-xa)/ωa,ty=(y-ya)/ha
tW=log(ω/ωa),th=log(h/ha)
(5)
4个坐标的真实框和锚框的边界回归为
(6)
其中x,y,w和h表示框的中心坐标及宽度和高度。x,xa和x*分别表示预测框、锚框和真实框的坐标,同理y,w,h类似。
对于解决遮挡目标的方法是采用排斥损失,本文考虑的是坦克装甲车辆单目标的检测,其排斥损失函数为
(7)
其中,LAttr是引力项;LRepGT是排斥项;j表示第几层卷积层。
假设P=(lP,t,wP,hP)和G=(lG,tG,wG,hG)分别代表目标候选区域的边界框坐标和真实框的边界框坐标。l,t表示边界框的左上角的坐标;w,h表示边界框的宽度和高度;P+={P}表示目标候选框的集合。
(8)
(9)
RPN网络的最小损失函数为
(10)
分别计算出conv3-3和conv5-3层的误差,也即求出两个卷积层的损失函数。根据式(10)分别求出conv3-3和conv5-3层的损失函数最小的L3和L5。从两卷积层最小损失函数选出较小的损失函数,该损失函数对应的候选区域即是优化候选区域。用L表示误差比较的结果,即为
L=min{L3,L5}
(11)
2.2.2 检测网络损失函数
检测网络中也存在目标的损失函数,同样包括目标分类损失函数和位置边界损失函数。检测网络的损失函数为
(12)
(13)
其中,|S+|表示正样本数量,|S-|表示负样本数量。边界回归损失函数与RPN网络边界损失函数相同。
2.2.3 网络总损失函数
通过大量数据集的训练,采用梯度下降的方法不断地调整网络的参数,最终使网络的总损失达到最小。总损失函数用L*表示,即网络的总损失函数为
L*=L+L′
(14)
训练网络使L*达到最小即可。
3 实验及分析
本文实验环境是在Matlab软件上,通过ImageNet数据集对VGG-16网络进行模型的初始化。本文构建符合PASCAL VOC数据集格式的坦克装甲目标数据集,坦克和装甲车辆分别各有3000个图像,其中75%为训练数据集,25%为测试数据集。
3.1 实验结果
在优化候选区域的Faster R-CNN算法上对坦克装甲目标分别进行检测,结果如图5所示,检测结果表明:在优化候选区域的Faster R-CNN算法上进行不同尺度的坦克装甲车辆的检测能达到很好的检测效果。
图5 不同尺度坦克装甲车辆检测效果图
图6是遮挡目标检测结果。优化候选区域的Faster R-CNN算法的检测精度很好,实验结果表明优化候选区域的Faster R-CNN算法对目标的检测有了提高。
图6 背景相似和遮挡目标检测结果
3.2 检测分析
3.2.1 不同尺寸锚框的检测分析
本文中改进的RPN网络选择每个滑动窗口增加一个锚框的尺寸来得到候选框。在坦克装甲车辆的数据集上,用不同尺寸的锚框来进行检测实验,从中选择最优的锚框大小。增加一个642大小的锚框,不仅能增加候选框的数量,还能提高小型目标生成候选框的精度。
从表1中可以得到,锚框大小为5122,2562,1282和642的检测效果最好,因此,本文中选用这四种尺寸的锚框来获取候选区域。
表1 不同尺寸锚框下目标的检测结果
3.2.2 不同卷积层下目标的检测分析
文中采用卷积conv3-3和conv5-3层分别提取特征完成目标检测,在坦克装甲车辆的数据集上进行验证对比如表2所示。
从表2中可以看出:1)本文中选择的卷积层(conv3-3和conv5-3层)与传统的Faster R-CNN算法采用的卷积层相比较,目标检测精度有明显的提高。因为传统的Faster R-CNN算法在卷积层的最后一层上生成目标的特征图,文中在卷积层conv3-3和conv5-3上分别生成特征图,再分别生成候选框,通过误差比较的方法选择合适层上的候选区域作为优化候选区域;2)本文中卷积层的选择与文献[14]中选择相同,结果说明该算法的有效性;3)在数据集上分别进行了不同卷积层组合下的目标检测实验,结果表明该算法在conv3-3和conv5-3层上有较好的检测精度。因此本文中选择卷积conv3-3和conv5-3层分别提取目标特征。
表2 不同卷积层下目标的检测结果
3.2.3 改进的RPN检测分析
本文算法是用改进的RPN网络来提取候选区域。提取候选区域耗时的对比如表3所示。
表3 提取候选区域精度和时间对比
可以从中得到以下信息:提取相同数量的候选框时,改进的RPN网络的平均精度更高,说明提取候选框的质量更高。R-CNN和Fast R-CNN算法中候选区域的产生是通过选择性搜索(Selective Search,SS)方法,而改方法提取相同数量的候选框花费的时间更多,RPN算法为整体检测系统节省了不少时间。
3.2.4 不同尺度目标的检测分析
在坦克和装甲车辆的数据集上对三种尺度的目标进行本文算法和Faster R-CNN算法以及文献[17]中改进算法进行对比实验,结果如表4所示。
表4 不同尺度目标的检测精度对比
本文算法与Faster R-CNN算法比较,三种尺度下的目标检测精度都有明显的提高,本文中对于目标多层次的特征信息能很好的提取出来。文献[10]与本文算法相比较,进一步说明本文中算法的有效性。
3.2.5 其它影响因素下目标检测分析
存在遮挡和背景相似的坦克装甲目标进行检测,与Faster R-CNN算法上的检测精度对比如表5所示。可以得到:影响因素在改进算法上的检测精度比Faster R-CNN算法上的检测精度有了明显的提高,说明本文算法对遮挡和背景相似的检测提供了一个新的方向。
表5 存在检测精度和平均速度的对比
3.2.6 坦克装甲目标的检测分析
本文算法与其它目标检测算法的检测精度和平均速度的对比结果如表6所示。可得:1)本文算法对目标的平均检测精度为82.6%。本文的改进算法比传统算法和其它改进算法的平均精度相比有所提高。文献[15]是采用人工的方法进行目标的检测,精测精度不高。在同样的数据集上进行其它三种传统方法的检测实验,结果表明本文检测算法的性能指标更优。
表6 坦克装甲目标检测精度和平均速度的对比
一个原因是输入图像进行不同卷积层的目标候选区域的提取,再进行误差比较筛选出精确度高的目标候选区域。另一个原因是引入排斥损失来优化遮挡目标候选框的选择。与文献[16],[17]和[18]对比可得,本文所提的优化候选区域的Faster R-CNN算法对小型目标和存在遮挡目标的检测精度和速度更优。在两个卷积层的特征图上分别设置不同的滑动窗口,比较两个卷积层上候选框的误差选出精确度高的候选框作为优化后的候选区域。由表1和表2的实验数据可以得到改进算法的提出,使目标检测的整体精度有所提高。
本文算法在坦克装甲车辆的数据集上,目标召回率和检测精度的曲线如图7所示。从图中可以看出,随着样本数量的增加,目标的召回率会不断地增加,在目标召回率增加的同时,目标的检测精度呈震荡变化,但总体是呈下降的趋势。实验表明,高召回率的条件下能有高的精度,说明本文算法提高了目标的检测精度。
图7 精度-召回率曲线
4 结论
本文提出优化候选区域的算法,在主网络的conv3-3和cnv5-3卷积层的特征图,分别滑动不同的窗口来提取目标候选框,同时,引入排斥损失来优化遮挡目标候选框的选择,利用误差比较的方法选出最优的候选框。每个滑动窗口,增加一个642大小的锚框,丰富候选框的数量。在坦克装甲车辆数据集上进行实验,与传统方法对比,结果表明:不同尺度目标和遮挡目标在检测速率和平均精度性能方面更好。为战场目标实现自动化检测提供了一个新思路。下一步工作的任务是在此算法的基础上进行改进,实现严重遮挡的战场目标准确检测的问题。