基于Faster R-CNN的无人机车辆目标检测

2021-11-13 09:00刘子龙
电子科技 2021年11期
关键词:特征提取阈值图像

张 莹,刘子龙,万 伟

(上海理工大学 光电信息与计算机工程学院,上海 200093)

随着计算机视觉技术的快速发展,民用和军用方面的高精度目标检测研究需求逐渐增多,具有目标检测功能的无人机巡检系统逐渐成为新的研究热点。但是无人机视角下的车辆目标中,小目标数量较大,在车辆密集场景下会出现多重叠目标、不完整目标,导致无人机车辆目标检测精度不高。本文以现阶段目标检测算法为基础,提出一种基于无人机平台的车辆目标检测解决方案,进而实现多目标发现、处理和检测。

近年来,深度学习在计算机视觉领域得到了越来越多的关注。利用深度学习进行目标检测与识别已经成为主流方法[1]。常见的用于目标检测的算法包括以YOLO(You Only Look Once)[2-4]系列算法、SSD(Single Shot Multi Box Detector)[5]算法为代表的一阶段检测算法和以R-CNN(Regions with Convolutional Neural Network)[6-8]系列为代表的二阶段检测算法。一阶段的检测算法运算速度较快,但检测精度较差,尤其是对于小目标的检测精度较低,因此在小目标较多的场景下的无人机车辆目标检测应用中,该系列算法效果欠佳。二阶段的检测算法具有较高的检测精度,更适于在多场景下的无人机车辆检测任务。

1 无人机车辆目标检测模型

本文针对无人机物体检测任务,选择Faster R-CNN(Faster Regions with Convolutional Neural Network)作为基础检测算法,并对其进行优化。本文选择Faster R-CNN网络模型为基础算法的原因为:(1) Faster R-CNN模型是高精度检测算法的代表;(2)Faster R-CNN模型将Selective Search算法改进为RPN(Region Proposal Network)网络,提升了检测速度,且Fast R-CNN网络和RPN网络共享特征参数,可进一步提升检测速度。

本文的具体检测过程为:无人机到达指定区域后进行图像采集,并通过无线网络将所拍摄图像回传至地面站;之后采用目标检测算法进行所需目标的检测工作。旋翼无人机物体检测模型框架如图1所示,旋翼无人机物体检测算法流程如图2所示。

图1 旋翼无人机物体检测模型框架Figure 1. Rotor-wing UAV object detection model framework

图2 旋翼无人机物体检测算法流程图Figure 2. Rotor-wing UAV object detection algorithm flowchart

2 数据准备

无人机采集的数据集,必须具有多样性。对于深度学习网络的训练来说,图像越多样,得到的模型越有效,鲁棒性也越高。为了增强图像的多样性,本文控制无人机在不同飞行高度进行拍摄,并使无人机搭载的云台相机角度和拍摄姿势处于不同状态,同时在多种场景下进行图像的采集,例如光线充足和光线较差场景、小区和道路场景等。由于时间限制,除了使用无人机采集到的车辆数据之外,本文还挑选了VisDrone数据集[9]中约2 000张包含车辆的图像,并将其按照本文的标注规则重新标注,以便扩充数据。本文采集到的无人机视角航拍图像如图3所示。本文数据集与相似类型的公开数据集对比如表1所示。

图3 无人机视角航拍图像示例Figure 3. Examples of aerial images from UAV perspective

对已搜集到的数据采取随机旋转、反转变换、添加颜色抖动等几种不影响模型检测结果的数据增强方式来增加数据量。以上操作不仅减轻了模型的过拟合问题,还使得数据具有较强的抗噪声能力,进而增强了模型的实用性和鲁棒性。数据增强前后的效果示意图如图4所示。

表1 本文数据集与相似类型公开数据集对比

数据集使用LabelImg来标记,标注文件格式为XML格式[15]。XML文件主要包含图像的标注信息,例如图像名称、图像大小、object所属类别以及目标框左上顶点和右下顶点在当前被标注图像上的像素坐标信息。模型则根据标注信息进行分类和边框回归。

3 迁移学习初始化模型

迁移学习是将在一项任务中学习到的权重迁移到新的任务中,以提高新任务的泛化性。本文选择数据集较大的PASCAL VOC数据集预训练模型来初始化模型参数。深度学习网络浅层提取到的特征较泛化,深层提取到的特征与数据集的相关性更强,因此,深度学习模型的训练过程由浅入深。本文在特征提取网络初始化时,不采用随机初始化的方案,而是使用预训练获得的参数来初始化模型,并在检测训练时对无人机物体检测网络模型的参数进行微调。

4 模型评价指标

本文采用IoU来衡量目标检测模型定位的准确性,定位准确度越高则IoU值越高。IoU为真实框和预测框重叠部分与两者形成图形总面积比值,如图5所示,其中G为Ground truth box,P为Proposal truth box,所以真实框和预测框的IoU值为

IoU=(G∩P)/(G∪P)

(1)

图5 IoU示意图Figure 5. Schematic diagram of IoU

当得到的IoU值超过一定阈值时,说明真实框被预测框命中。当计算得到的IoU值小于等于一定阈值时,提示遗漏了目标或者可能并未命中真实框。可能发生的事件为如下4种:(1)真阳性事件(TP)。模型在某位置处给出了预测框,且在该处有正样本;(2)假阳性事件(FP)。模型在某位置处给出了预测框,但在该处并没有正样本,即预测框处为背景;(3)真阴性事件(TN)。模型在某位置处没有给出预测框,且该位置为背景;(4)假阴性事件(FN)。模型在某位置处没有给出预测框,但是该位置处为前景。

在检测过程中,将上述4个事件发生次数加以统计,即可计算模型准确率P(Precision,表示模型预测正确的概率)和召回率R(Recall,表示所有目标被模型检测到的概率),计算式如下所示。

(2)

(3)

准确率P和召回率R为负相关,即召回率升高准确率会相应下降,反之亦然。只用准确率和召回率衡量模型整体性能并不科学,理想情况是准确率P和召回率R都尽可能高。为了使两者得到权衡,引入P-R曲线。AP(Average Precision)值为P-R曲线与x轴和y轴围成图形的面积,其取值为0~1,可体现算法模型的综合性能。AP值越高表明检测效果越好,所以最终采用AP值来评价模型性能。

5 模型优化

ResNet卷积神经网络[16]引入残差学习的概念,解决了梯度消失的问题。ResNet卷积神经网络通过让卷积层学习残差映射,简化目标检测问题难度。在深度相同时,ResNet卷积神经网络的性能优于VGG卷积神经网络。为了使无人机目标检测具有更优的性能,本文对Faster R-CNN网络的特征提取网络部分加以改进,弃用其默认的VGG-16卷积神经网络,选用ResNet卷积神经网络。

本文分别采用ResNet-34、ResNet-50和ResNet-101作为特征提取网络,通过实验对比性能数据,得到的实验结果如表2所示。由表2可知,在以上几种特征提取网络中,选择ResNet-101作为本文的特征提取网络效果最佳。

表2 不同特征提取网络模型AP值

无人机飞行高度和角度会导致所要检测目标较小或者存在遮挡的情况。针对这些场景下的目标检测,本文在调整特征提取网络的基础上进一步改进,具体做法为:(1)将每个RPN产生的候选区域进行ROI池化,将池化所得的结果映射至Conv2和Conv4的特征图中,从而得到该候选区域在Conv2和Conv4中的特征信息;(2)将该特征信息进行池化处理,得到固定维度的特征图;(3)将所选择的需合并的特征信息进行归一化处理,在通道上施行信息融合;(4)使用1×1的卷积进行降维,然后将最终得到的特征图送入全连接层做分类回归处理,其结构如图6所示。

图6 改进后的网络结构示意图Figure 6. Schematic diagram of the improved network structure

改进后网络除了使用特征提取网络中最高卷积层输出的特征,还将低层的Conv2输出的特征和Conv4输出的特征与高层特征相结合,达到填充小目标和不完整目标细节信息的目的,提高了网络对小目标和不完整目标的检测精度。采取此种措施是因为模型低层得到的图像特征语义信息较少,但目标位置信息较准确;模型高层得到的语义信息较多,但目标位置信息准确性较低,飞行高度较高时无人机目标检测效果欠佳。

Faster R-CNN模型使用的去除重叠检测框的算法为NMS(Non-Maximum Suppression)算法[17]。NMS在处理过程中存在无法选择相近框的情况,即在两个目标距离相近时存在漏检问题。为了提高目标样本在高密度情况下的召回率,对Faster R-CNN模型中的NMS进行改进。本文采用文献[18]中的方式改进Soft-NMS算法。

根据Soft-NMS算法[19-20]移除检测框的过程可以看出,如果Soft-NMS算法的阈值选取的恰当,Faster R-CNN算法的整体性能也会变好。然而在实际应用中,选取使算法既有较高准确率又有较高召回率的最优阈值较为困难。因此,本文采用加入约束因子的Soft-NMS算法,其算法流程如下

算法1改进Soft-NMS算法

Input:B={b1,b2,…,bn} //所有检测框集合

S={s1,s2,…,sn} //检测框Score集合

D={} //最优检测框集合,//初始化为空集合

Begin:

whileB≠ empty do

bm=max{B} //Score最高的检测框

B=B-bm//移除Score最高检测框bm(最优框)

D=D∪bm//将bm加入集合D

forbiinBdo

ci=cif(IoU(bm,bi))

si=sici

ifsi<σ

B=B-bi

end

end

returnD,S

end

其中,bi为第i个检测框;si为第i个检测框的Score;bm为当前迭代Score最高的检测框。

Soft-NMS算法的计算式为

(4)

本论文中约束因子的计算方法为

ci=α(1-IoU(bm,bi)2)[18]

(5)

ci=α(IoU(bm,bi)-1)2

(6)

式中,ci为检测框i的约束因子;IoU(bm,bi)为最优检测框bm与每一检测框bi的IoU值;α为权重因子。根据检测框的IoU值计算检测框对应的约束因子大小,且由式(5)和式(6)可以看到检测框IoU值越大对该框Score的约束因子越大。在对重叠检测框处理时加入约束因子的Soft-NMS算法,每次迭代循环都将约束因子加入,从而不断衰减检测框的Score,经过数次循环之后将分数低于σ的检测框丢弃。对NMS算法和Soft-NMS算法而言,T值的选取对这两种算法的性能影响较大,但是改进的Soft-NMS算法中参数σ的选取对算法性能的影响较T的选取要小很多。在时间复杂度方面与原算法相同,均为O(n2)。

Faster R-CNN中使用的Anchor共包含3种尺寸{1282,2562,5122},3种比例1∶1、1∶2和2∶1。但是因为Faster R-CNN模型是根据Anchor所包含区域的特征来实现分类和回归的,因此,如果Anchor的尺寸和比例更加贴近数据集目标则可提高分类和回归效果。

改变Faster R-CNN中原始设定的Anchor尺寸,相应增加小尺寸的Anchor,将数据集所有目标的面积和比例加以汇总统计,得到图7和图8所示分布图。由面积直方图可以看到大部分目标大小集中在0~340之间,比例集中在0.7左右。根据直方图分布,本文拟采用的Anchor比例为{1∶2,1∶7,2∶1}。同时使用不同组合的Anchor,得到如表3所示结果。如果基准Anchor设置过多则会增加模型计算量,设置过少则会使得匹配目标的Anchor较少,Anchor和目标真实框间损失值较大,需要较长时间训练。因此,本文在兼顾计算量和性能的原则上选择{162,322,642,962,1282}作为本文Anchor的尺寸。

图7 数据集Ground Truth面积直方图Figure 7. The area histogram of dataset Ground Truth

图8 数据集Ground Truth比例直方图Figure 8. The scale histogram of dataset Ground Truth

表3 不同组合的Anchor下模型的性能

6 实验分析

6.1 基准实验

按照Faster R-CNN模型的原始结构,基准实验选择VGG-16作为其特征提取网络。训练设定为60 000步,设置初始学习率为0.001,在模型训练达到50 000步时,步进式地衰减其学习率,将其下降为0.000 1。这样设置有利于在模型训练到后期时寻找最优解。在网络训练到后期,需要调整的幅度会越来越小,如果设置的学习率过大,可能会产生震荡,导致模型不收敛或者收敛的地方不是最优解。

模型训练具体操作步骤为:(1)随机选取数据集中1 000张图像组成小样本集,在此小样本集上验证是否过拟合,以确保代码正确性。Faster R-CNN模型在小样本集上的Loss曲线如图9所示,模型在小样本集上的损失下降明显,其在小样本集上过拟合,确定了代码正确性;(2)在数据集上正式训练网络。本文训练集、测试集和验证集的划分比例为8∶1∶1,即训练集15 622张,测试集1 950张,验证集1 950张。在训练网络的同时步进地调整学习速率。若模型Loss曲线下降不明显,可以通过衰减其学习速率调整,直到Loss基本上维持不变停止网络训练;(3)将训练完成的模型在测试集上测试,并记录测试数据及可视化测试结果。

图9 在小样本集上的Loss曲线Figure 9. Loss curve on a small sample set

基础Faster R-CNN检测效果如图10所示,图10(a)为白天小目标检测效果,个别小目标被漏检;图10(b)为白天非小目标检测效果,有些不完整目标和被遮挡目标被漏检;图10(c)为夜晚非小目标检测效果;图10(d)为夜晚小目标检测效果,也存在小目标漏检和重叠目标检测效果欠佳的现象。图11~图13展示了几种漏检的情况。实验AP值为80.57%,AP值表征算法模型的整体综合性能,也是本文之后优化实验的基准实验结果。

(a)

(b)

(c)

(d)图10 Faster R-CNN基础模型的测试效果(a)白天小目标检测效果 (b)白天非小目标检测效果 (c)夜晚非小目标检测效果 (d)夜晚小目标检测效果Figure 10. Test effect of Faster R-CNN basic model(a)Detection effect of daytime small targets(b)Detection effect of daytime non-small targets(c)Detection effect of nighttime non-small targets(d)Detection effect of nighttime small targets

图11 小目标漏检样例Figure 11. Example of missed detection of small targets

图12 不完整目标漏检样例Figure 12. Example of missed detection of incomplete targets

图13 检测框重叠严重的目标漏检样例Figure 13. Example of missed detection of targets with severe overlapping detection frames

6.2 改进模型实验

为了验证加入约束因子的Soft-NMS算法不依赖于阈值T的选取,实验参数设置和基准实验相同。首先,进行NMS算法和Soft-NMS算法的测试实验,以确认不同阈值T对算法性能的影响,得到两种算法在不同阈值T下,模型AP值及其变化,如图14所示。

图14 不同阈值T对应的NMS算法和Soft-NMS算法的AP值Figure 14. AP values of NMS algorithm and Soft-NMS algorithm corresponding to different thresholds T

不同阈值T所对应的模型AP值差值较大,在阈值T上升的过程中,AP值逐渐减小。产生这种现象的主要原因是,当阈值T增大时,一些本应被抑制丢弃的检测框,因阈值T过大没有得到抑制。虽然阈值T的增加会降低重叠度高的检测框被抑制的可能,但会导致真正目标框的增加幅度低于假阳性目标框的增加幅度,进而降低整体检测精度。

对加入约束因子Soft-NMS算法进行测试实验,设置同上,默认σ取值为0.001,得到不同α下模型性能。如表4所示,表中改进Soft-NMS算法1代表采用式(5)改进算法;改进Soft-NMS算法2代表采用式(6)改进算法。可以看到不同α取值下AP值变化较平稳,且精度也满足需求,AP值在α为0.6时达到了91.81%。之后选取α值为0.6,测试不同σ值对模型性能的影响,得到如表5所示的AP值。σ为0.001时AP最高,且不同σ值对AP值的影响在小范围内平稳波动。该结果证明加入约束因子Soft-NMS算法在达到一定AP值的基础上减小了阈值T对模型性能的影响。

表4 不同α取值对应的AP值

表5 不同σ取值对应的AP值

表6 改进NMS算法前后模型AP值

表6为改进NMS算法前后模型的评价指标。NMS算法改进之后AP值为91.81%,提高了1.17%。主要原因是NMS算法改进之前相互重叠的目标有一部分会被NMS算法抑制掉,而且阈值T选取不当会降低模型整体精度。但是重叠的目标在整个数据集中所占的比重相对来说较小,故对于综合性能的影响幅度较小。

对改进前后的Faster R-CNN模型进行无人机车辆目标检测实验,得到性能数据如表7所示。将各步改进的Faster R-CNN模型和原Faster R-CNN模型性能指标进行对比。模型改进前的AP值是80.57%,调整特征提取网络后AP值上升了5.61%,改进特征提取网络后AP值再次上升1.89%。经过之后的NMS算法改进和Anchor改进,进一步完善Faster R-CNN对于小目标和重叠目标的检测精度。最终,经过本文改进后,模型的AP值为94.03%,整体提升了13.46%,指标总体向好发展,表现出比原Faster R-CNN模型更佳的综合性能,尤其在特征提取网络改进之后,模型AP值上升幅度大于其他改进措施的幅度,说明该改进方案对于模型全局性能优化具有较大的积极作用。特征提取网络结构的改进主要针对小目标和不完整目标比较难以检测的问题,加之无人机视角下的车辆目标存在小目标占比较大、不完整目标较多的特征,所以模型性能提升幅度较大。改进后的Faster R-CNN模型对无人机车辆目标检测综合性能有较显著的提升。

表7 算法优化前后测试指标对比

图15 改进前Faster R-CNN网络Loss曲线Figure 15. Faster R-CNN network Loss curve before improvement

图16 改进之后Faster R-CNN网络Loss曲线Figure 16. Improved Faster R-CNN network Loss curve

改进前后模型的损失函数曲线如图15和图16所示。改进前的Loss曲线可以看到整体趋势是逐渐下降的,但是在下降过程中存在较多相较于均值来说的“突变值”。造成这种现象的主要原因是原Faster R-CNN网络设置的Anchor值相较于本文所检测的车辆目标来说过大,当Anchor映射至原图时,对于那些不完整目标或小目标来说,用于训练的图像对这类目标的标记框与Faster R-CNN网络模型生成的目标框之间差异过大,导致模型损失函数值过大,所以出现“突变值”。在改进之后的模型Loss曲线中可以看到,相较于改进前,“突变值”明显减少,原因为对Anchor的生成加以改进之后,Anchor大小和目标真实框之间的差异减小。虽然还是会有一些“突变值”,但是这些“突变值”大小明显小于改进之前“突变值”的大小,这是因为改进后Anchor和真实目标标记框之间的差异减小。

选取测试图像,使用改进后的Faster R-CNN模型进行无人机车辆目标检测效果测试,效果如图17所示。图17(a)为白天小目标检测效果,相比较原Faster R-CNN模型检测出了更多的目标,重叠目标也可以被准确地检测出。图17 (b)为白天非小目标检测效果,相比原Faster R-CNN模型检测定位更加精确。图17(c)为夜晚非小目标检测效果,在光线不足的情况下,也能大部分被正确检测。图17 (d)为夜晚小目标检测效果,在光线不足场景下小目标检测也较精准。

(a)

(b)

(c)

(d)图17 本文改进Faster R-CNN模型在不同环境下的检测效果图(a)白天小目标检测效果 (b)白天非小目标检测效果 (c)夜晚非小目标检测效果 (d)夜晚小目标检测效果Figure 17. Detection effect diagrams of improved Faster R-CNN model in different environments(a)Detection effect of daytime small targets(b)Detection effect of daytime non-small targets(c)Detection effect of nighttime non-small targets(d)Detection effect of nighttime small targets

6.3 与其他算法对比

在公开数据集VEDAI上进行各算法的对比试验,得到如图18所示的各算法在数据集VEDAI上的实测效果和如表8所示的测试指标对比。由于VEDAI数据集为卫星拍摄图像,目标相较于本文的数据集在分辨率和尺度上会有一定的差距,所以一定程度上降低了检测精度。但是由图18和表8可知,本文算法的AP值最高、精度最好,实测效果中本文算法检测框置信度较高,且误检的情况较其他算法也较少,所以本文算法在VEDAI数据集上的表现相较其他算法仍较优。

(a)

(b)

(c)

(d)

(e)图18 各算法在VEDAI数据集上的实测效果(a)Faster R-CNN算法实测示例 (b)R-FCN算法实测示例 (c)YOLOv3算法实测示例 (d)SSD算法实测示例 (e)本文算法实测示例Figure 18. Measurement effect of each algorithm on the VEDAI dataset(a)Measurement example of Faster R-CNN algorithm(b)Measurement example of R-FCN algorithm(c)Measurement example of YOLOv3 algorithm(d)Measurement example of SSD algorithm(e)Measurement example of algorithm proposed in this study

表8 5种车辆检测算法在VEDAI数据集上的测试指标对比

7 结束语

本文通过改进网络结构、anchor生成和Soft-NMS算法,使得改进后的Faster R-CNN算法的AP值达到94.03%,较原Faster R-CNN算法提升了13.46%,目标检测效果得到显著优化。与Faster R-CNN模型、YOLOv3模型、SSD模型、R-FCN模型相比,本文改进的Faster R-CNN模型的实际检测效果和性能数据更优,具有一定的实际应用价值。虽然本检测算法在检测精度方面有较大提高,但是该算法为二阶段检测算法,检测速度还有所欠缺,今后将在保证其高检测精度的同时进一步提高该算法的检测速度。

猜你喜欢
特征提取阈值图像
巧用图像中的点、线、面解题
有趣的图像诗
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于自适应阈值和连通域的隧道裂缝提取
基于Daubechies(dbN)的飞行器音频特征提取
比值遥感蚀变信息提取及阈值确定(插图)
Bagging RCSP脑电特征提取算法
室内表面平均氡析出率阈值探讨
基于MED和循环域解调的多故障特征提取