基于多尺度深度学习的自适应航拍目标检测
2022-07-04刘芳韩笑
刘芳,韩笑
北京工业大学 信息学部,北京 100124
近年来,无人驾驶飞行器(Unmanned Aerial Vehicles,UAV)逐渐由军事应用转变为工业应用,应用在目标跟踪、搜索和救援、智能停车、航空摄影和基础设施检查等方面,受到广泛关注。无人机具有视角宽、拍摄范围广、灵活性高等优点,可以从不同位置和角度采集数据信息。对无人机视频图像进行目标检测是无人机应用中常见的任务,由于无人机拍摄视角和高度等原因,无人机图像中的目标存在尺寸较小、尺度多变等问题,导致目前的检测算法效果不理想。因此,研究快速准确的无人机图像目标检测方法是无人机视觉领域的热点问题。
随着人工智能和深度学习的兴起与发展,许多研究人员将卷积神经网络(Convolution Neural Network,CNNs)应用到目标检测领域中,取得了显著的成果。但是相比于其他自然场景图像,无人机图像包含的众多密集小目标,不利于卷积神经网络提取特征。文献[3]将SSD(Single Shot MultiBox Detector)用于无人机图像检测行人和车辆,针对网络模型过大、参数过多等问题,通过消减通道数、构建轻量感受野模块,有效降低了参数量,但是对小目标的检测效果不理想;文献[4]提出了一种改进的Faster-RCNN网络,提出ResNet-58作为骨干网,同时引入区域数目调节层,能在训练中调整RPN (Region Proposal Networks)网络中的候选区的数量,有效提升了检测效果,但是候选区域生成网络会产生较大开销,降低了实时性;文献[5]在Faster-RCNN的基础上,添加了K-Means聚类方法,生成适应数据集的预设锚框,增强了网络的鲁棒性,但是该网络主干网采用VGG-16,导致深层语义特征提取不明显,不适用于多尺度目标检测;文献[6] 提出一种基于YOLOv2的多尺度目标检测网络,提取不同尺度的特征进行融合,解决了浅层语义特征不足的问题,但是对弱小目标和被遮挡目标检测效果不佳。综上所述,当前目标检测算法往往无法准确高效完成无人机图像的目标检测。
针对上述问题,在不损失检测实时性的情况下,为了提升无人机图像中目标检测准确率,提出一种基于多尺度深度学习的自适应航拍目标检测算法。首先,为了提高对无人机图像中多尺度特征的表征能力,采用多尺度卷积(Mutil-Scale Convolution,MSConv)对标准卷积进行优化,构建自适应特征提取网络MSDarkNet-53,针对不同尺度的目标采用不同类型的卷积核提取特征。其次,在卷积模块之间引入注意力卷积模块(Convolutional Block Attention Module,CBAM),在空间和通道维度学习特征的权重分布,增强有效特征,抑制无效特征。最后,在预测网络部分对不同尺度特征图进行上采样,融合成高分辨率特征图,在单一尺度的高分辨率特征图上预测目标位置和类别信息,增强对小目标的预测能力。
1 算法介绍
在保证检测效率的情况下,针对航拍图像中的目标尺寸小、尺度变化大的问题,提出一种基于多尺度深度学习的自适应无人机航拍目标检测算法。算法的总体模型如图1所示。所提算法主要分为2部分,第1部分为自适应特征提取网络(MSDarkNet-53),用于提取无人机图像中目标特征,该网络将金字塔特征融合策略引入到卷积过程中,使用不同类型卷积核提取不同尺度目标特征,增强感受野,同时在卷积模块中添加注意力模块,自适应优化权重,提升网络表征能力。第2部分为预测网络部分,用于预测特征图中目标的类别和位置,首先将特征提取网络产生的多层特征映射通过1×1卷积固定到特定维度并进行上采样,然后完成多尺度特征融合得到高分辨率特征图,融合目标细节信息和语义信息,最后在单一尺度上进行目标检测,提升对小目标的检测能力。其中上采样过程采用阶梯插值方法,使融合后高分辨率特征图更加平滑。
图1 算法总体网络结构图Fig.1 Overall network structure of algorithm
1.1 自适应特征提取网络
感受野是卷积神经网络每一层输出的特征图上的像素点在输入图片上映射的区域大小,类似于人类的视觉系统。对于大尺寸目标,较大感受野能更完整地提取特征信息;对于小目标,较小感受野能获取更多细节信息。标准卷积运算只通过一步操作,将输入特征图进行卷积得到输出特征图,如图2所示。采用固定类型的卷积核对整幅特征图进行运算,感受野映射区域有限,但是无人机图像中往往包含多种尺度的目标,距离较近的目标尺寸较大,距离较远的目标尺寸较小,固定尺寸的卷积核对于多尺度目标的特征表达能力有限,无法针对不同尺度目标进行有效的特征提取,导致提取的特征不够完整或者提取到的特征包含过多的背景信息。
图2 标准卷积Fig.2 Standard convolution
为了解决上述问题,本文参考了GoogLeNet中Incepetion模块的思路,引入多尺度深度学习方式,采用多尺度卷积替换传统卷积,在卷积过程中,对不同尺度的特征采用不同类型的卷积核进行特征提取,增强网络的表征能力。如图3所示,多尺度卷积(MSConv)是包含一个由层不同类型卷积核构成的多尺度卷积模型。MSConv的主要任务是在不增加计算复杂度参数量的前提下,采用多尺度卷积核对输入特征进行处理。MSConv由多层不同尺度的卷积核分别进行卷积操作,每一层的卷积核尺寸和深度不同,一方面卷积核大小在增加,另一方面卷积核深度(连通性)在减少。因此,这种多尺度的卷积结构能针对输入特征图中不同目标的大小选择不同类型的卷积核进行特征提取,增强网络的特征提取能力,提取到更完整、更有效的特征信息。
图3 多尺度卷积Fig.3 Multi-scale convolution
对于标准卷积,设输入特征图维度为××,卷积核尺寸为×,卷积核输入特征通道数,则执行个相同尺寸与深度的卷积核得到个×的输出特征图,即输出特征图维度为××。所以,经过一次标准卷积的参数量和计算复杂度分别为
Parameters=××
(1)
FLOPs=×××(×)
(2)
(3)
需要注意的是,由于卷积神经网络中卷积核尺寸一般为奇数且不会过大,如3×3或5×5等,为了便于计算和分组,对式(3)中分母部分计算值进行取整操作,若取整后为奇数,则对其减1化为偶数。
所以,在多尺度卷积过程中,卷积核尺寸随着深度渐加深逐渐减小,对应的输出特征维度为,,…,o。即经过多尺度卷积后的输出特征图维度为××。MSConv的参数量和计算复杂度为
FLOPs=Parameters×(×)
(5)
式中:++…+o=。
由式(4)和式(5)可以看出,当每一层级的输出通道数相近,则每一层的参数量与计算复杂度的分布相对比较均匀,所以总的参数量和计算复杂度和标准卷积相近。同时在多尺度卷积使用分组卷积(Group Convolution)的方式,将输入特征划分为不同的组独立进行卷积计算,每组特征图的通道数是不相同的,通过分组卷积的方式实现卷积核深度改变,当组数增加时,卷积核深度相应减少,卷积的计算代价以一定的倍数(由组数决定)减少,减少全连接产生的参数量。
将普通卷积改进为多尺度卷积之后,虽然能在不增加计算量的基础上,提升网络对目标的表征能力,但是随着网络层数的不断加深,依然会产生大量参数。因此,采用CSP(Cross Stage Partial)策略设计了新的卷积模块,如图4所示,该策略主要从网络设计结构角度来解决在网络推理过程中计算量大的问题,将输入特征图分为2部分,其中一部分通过多尺度卷积正常地进行网络计算,提取特征;另一部分直接通过1×1卷积进行特征图通道维度的固定,然后以shortcut连接方式连接到第1部分的输出特征图中,融合得到最终输出特征。CSP策略能够在实现轻量化学习的情况下保持特征提取的准确性,有效地控制网络的计算量,同时shortcut连接方式能减少目标细节信息的损失,避免梯度消失、网络退化等问题。
此外,在卷积模块中引入注意力机制,能聚焦于局部信息,重点关注目标区域获得更多细节信息,同时该机制中参数量少,减少计算资源的浪费。如图4所示,由于多尺度卷积中卷积核尺寸和通道数并不是固定的,要使较大的目标获得较大的感受野保证特征的完整性,较小的目标使用较小的感受野保证足够的细节信息,需要对不同类型的卷积核进行权重学习,使重点关注的信息获得更大的权重,因此将卷积后的特征图通过卷积注意力模块(CBAM)改变原有特征的权重分布,同时优化特征在空间和通道维度上的权重分布,进行特征权重的自适应学习。CBAM结合了空间注意力机制模块和通道机制注意力模块,空间注意力关注特征的位置信息,通道注意力关注目标的语义特征,分别在空间和通道2个维度,学习或提取特征中的权重分布,依次推断得到注意力特征图。将注意力特征图与原特征图相乘进行自适应特征优化,使网络能更多地关注感兴趣的目标区域,增强有效特征,抑制无效特征或噪声,尤其是对于小目标区域,能获取更多地小目标的细节信息,避免小目标因特征不明显而被当成背景信息。
图4 卷积模块网络结构Fig.4 Structure diagram of convolution module
综上所述,构建了自适应特征提取网络(MSDarkNet-53)用于提取无人机图像的目标特征。该模型网络参数结构如表1所示,其中Kernel表示卷积核类型,即卷积核尺寸和通道数,对于浅层特征采用较大卷积核,保证特征的完整性,通过分组卷积减少全连接产生的参数量。对于深层特征,细节信息较少,采用小尺寸卷积核学习语义信息,分组数相对减少。Output size表示输出特征尺寸,Output channels表示输出特征图维度。
表1 MSDarkNet-53网络模型Table 1 Network model of MSDarkNet-53
1.2 目标预测网络
无人机图像中的目标尺寸普遍较小,特征信息不明显,容易被识别成背景信息而发生漏检。文献[12-13]通过对VGG-16提取的图像特征进行可视化,发现浅层特征图包含更多的小目标特征,所以浅层特征图更适合作为小目标的检测层。浅层特征图的分辨率高,包含更多的小目标特征,但是却缺少语义信息,不能充分地利用上下文信息来提高检测效果。此外,主流单阶段目标检测器(如YOLO系列)存在一定程度的目标重写现象,即2个目标中心距离太近,在特征图上采样时,导致其中一个目标被判定为负样本而重写,无法进行到训练当中。尤其在目标越密集、尺寸接近的无人机图像中,目标重写现象更为明显,严重影响对小目标的检测效果。
为了解决上述问题,提出一种基于多尺度特征融合的目标预测网络。如图5所示,首先,选取骨干网络MSDarkNet-53中多层级映射{C1,C2,C3,C4},分别来自卷积模块{Conv_2,Conv_3,Conv_4,Conv_5},分别对低分辨率特征图利用阶梯插值方法进行上采样,得到更加平滑的高分辨率特征图,增强了小目标的语义特征。其次,为了充分利用上下文信息,将各层级上采样后的特征图进行加权融合,浅层特征具有较小的感受野,有助于目标定位;深层特征有较强的语义信息,有利于目标分类,融合不同层级的特征图中小目标特征的细节信息和语义信息,得到包含更多小目标细节信息的高分辨率特征图,增强网络对小目标特征的识别能力。最后,在融合后的高分辨率特征图中直接做目标的类别识别和位置回归。此外,预测网络中采用1×1卷积来固定特征图的通道维度,保持前后特征图维度一致。
图5 预测网络结构Fig.5 Prediction network structure
(6)
式中:(·)表示上采样函数;Conv(·)表示1×1卷积操作;、、、分别表示经过上采样后特征映射;、、、分别表示不同卷积模块输出的特征映射。、、、、和分别表示各层权重系数,为了避免特征融合过程中的信息冗余,设置层融合权重系数之和为1,取值分别为0.7、0.3、0.6、0.4、0.4、0.6,因为浅层特征图中包含细节特征较多,相对权重占比较大,所以随着、、特征层级的加深,包含细节信息减少,权重、、也相应减小。
卷积神经网络中,通常对低分辨率图像进行上采样来恢复图像的分辨率,得到高分辨率特征图,使小目标更容易被检测。由于无人机图像中小目标特征细节信息较少,与背景信息差异不明显,直接上采样会丢失小目标的一部分细节信息,因此采用阶梯插值方法,其关键思想是使用双三次插值以较小的增量对低分辨率特征图进行多次插值,该插值方法一次将特征图分辨率增加不超过原图的10%,直到达到所需大小为止。相比于直接上采样,通过插值方法对图像进行上采样能在不损失小目标细节信息的前提下,以一种更加平滑的方式增大特征图的分辨率,有利于不同层级特征图的融合,得到包含更多特征细节和语义信息的高分辨率特征图,有利于检测小目标。
1.3 多任务损失
目标检测的主要任务是准确输出图像中目标的类别及所在位置,因此需要进行位置回归和分类的训练。损失函数作为深度神经网络对误检样本评判的依据,在很大程度上影响神经网络模型收敛的效果。同时为目标检测网络的训练提供优化方向,该算法的损失函数主要包含2部分,
=+
(7)
式中:分类损失负责评估分类代价,定位损失负责评估回归代价。
(8)
式中:前2项为传统的IoU Loss;后2项为惩罚项,用于修正真实目标框与预测包围框的宽高比;(·)表示目标真实中心坐标与预测包围框中心坐标的欧氏距离;为真实坐标框和预测包围框的对角线距离(最小闭包区域);用来衡量宽高比的相似性;为正权重系数。CIoU损失充分考虑了目标与预测包围框的重叠面积、中心点距离以及包围框的宽高比等因素,使预测包围框和真实包围框的宽高比尽量保持一致。
2 实验结果与分析
根据实际应用需求,文中所采用的实验数据主要由2部分组成,一部分来自VisDrone 2019无人机目标检测数据集,共有10 209张,包含不同场景的无人机图像,分别包含6 471张训练集、3 190张测试集和5 48张验证集图像,另一部分来自实验室无人机拍摄数据集共5 791张、3 791 张训练集、1 500张测试集、500张验证集。数据集主要以俯视图和侧视图为主,总共标记了7类预定义的目标类别,包括行人、汽车、货车、公共汽车、自行车(包括自行车和电动自行车)、摩托车和三轮车。由于无人机航拍过程中飞行高度和拍摄角度不断变化,拍摄的数据集中包含大量多尺度目标和密集的小目标,并且目标占比小,包含较多背景信息,因此该数据集是一个多尺度、小目标丰富、场景复杂的无人机航拍目标检测数据集。实验平台采用Ubuntu18.04操作系统、内存为32 G,处理器为i7-9800X,图形处理器(GPU)为NVIDIA GeForce RTX2080Ti。
2.1 目标检测算法有效性
为了验证所提算法在实际场景中的目标检测效果,选取无人机数据集中具有代表性并且实际检测较为困难的图像进行测试,评估算法检测效果并进行可视化分析。部分检测结果如图6所示,图6(a)为多尺度情况下目标检测的效果图,由于无人机拍摄高度及视角等原因,导致图中既包含大尺度目标,又包含正常或产生形变的小尺度目标,所提算法可以很好地检测到图中不同尺度的目标,说明利用多尺度卷积对不同尺度的目标采用不同类型的卷积核提取目标特征,可以增强网络对多尺度特征的表征能力,在多个尺度上捕获目标的局部特征细节信息。图6(b)和图6(c) 分别为包含小目标和密集目标的检测效果图,图中目标占比较小,分布较为集中,同时包含大量的背景信息,所提算法依然可以准确检测目标,说明所提算法中的多尺度特征融合的预测网络能有效地融合不同层级特征图,得到包含特征细节信息和语义信息的高分辨率特征图,既能增强网络对小目标的预测能力,又能避免密集目标中心距离相近造成漏检的问题。此外,考虑到影响无人机目标检测的其他因素(如光照),图6(d) 所示,所提算法受光照等外部条件影响较小,在强光或夜间等情况下仍有很好的检测性能,说明所提算法受外部因素影响较小,具有很好的泛化能力,能满足实际任务需求。
图6 多场景检测效果图Fig.6 Multi scene detection rendering
2.2 算法模块可行性
为了评估所提骨干网络在特征提取过程中的有效性,在相同实验条件下,将本文所提骨干网络MSDarkNet-53分别与DarkNet-53、CSPDarkNet-53、MSDarkNet-53_Original进行对比试验,其中DarkNet-53为YOLOv3的骨干网络,CSPDarkNet-53为YOLOv4的骨干网络,MSDarkNet-53_Original为所提骨干网络中没有引入注意力机制进行优化的原始网络,该网络中没有采用CBAM模块进行优化。MSDarkNet-53为经过CBAM优化后的骨干网络,即为本文算法最终采用的骨干网络。根据实验数据进行网络模型性能分析,选取MSCOCO数据集进行对比实验,实验结果如表2所示。
由表2可以看出,本文所提MSDarkNet-53框架在MSCOCO数据集上平均准确率达43.8%,分别比DarkNet-53、CSPDarkNet-53提升了10.8%和1.1%,同时MSDarkNet-53框架的模型比另外2种网络模型分别减少了5%和7%,说明所提网络性能较好。相比于MSDarkNet-53_Original网络,使用CBAM对骨干网进行优化后,检测精度和模型大小方面均有提升,尤其表现在优化模型大小方面,说明注意力卷积模块能有效优化网络模块,提升模型性能。精度提升的主要原因是多尺度卷积使网络可以从具有较低连通性的大感受野探索到具有较高连通性的较小感受野,具有较小感受野的卷积核捕获相关较小目标或目标局部的信息,较大感受野的卷积核为大目标或上下文信息提供了更可靠的细节,不同类型的卷积核带来了互补信息,增强了网络的表征能力。而精度的提升没有导致计算量的增大主要因为多尺度卷积方式与普通卷积参数量相近,不会产生较大计算量,此外注意力卷积模块的引入使网络模型能自适应地学习特征权重,优化特征权重分布,抑制无效信息,减少了不必要计算开销。
表2 MSDarkNet-53性能分析Table 2 Performance analysis of MSDarkNet-53
为了验证算法模块的有效性,设计消融实验对网络模块性能进行评估,消融实验的目的是评估不同模块或不同改进方法在相同条件下对目标检测算法性能的影响。为了验证预测网络对密集小目标检测的有效性,基于无人机数据集设计如下对比实验,其中实验1采用YOLOv3网络,由骨干网DarkNet-53和原预测网络Head组成,原预测网络Head在3个尺度上对不同大小目标分类进行目标类别预测和边界框回归。实验2将骨干网改进为本文所提的MSDarkNet-53,Head仍使用YOLOv3中的预测网络。实验3为本文所提网络,采用MSDarkNet-53和改进Head进行目标检测。在实验中采用mAP、AP、AP、FPS等评价指标来评估算法性能,其中mAP表示平均检测精度(Mean Average Precision),用于衡量算法在所有类别上平均检测精度;AP和AP分别表示IoU阈值为0.5和0.75时的检测精度;FPS(Frame Per Second)表示每秒帧率,用来评价检测速度,值越大,实时性越好。如表3所示,通过比较实验1和实验2可以看出,实验2在mAP、AP、AP指标均优于实验1,说明MSDarkNet-53具有更好的特征表达能力;通过实验2和实验3对比,改进后的预测网络明显优于原预测网络,改进后预测网络主要针对图像中的密集目标和小目标改进,说明多尺度特征融合和单尺度高分辨率特征图进行回归更有利于密集小目标的检测,减少了漏检率,有效提升了检测精度。
表3 各实验有效性分析Table 3 Effectiveness analysis of each module
本文目标检测算法在无人机数据集中的每一类的检测结果如表4所示,其中包含YOLOv3和YOLOv4在该数据集上各类的检测结果作为实验对比数据,部分可视化检测结果如图7所示,可以看出,YOLOv3和YOLOv4对小目标和距离相近的目标存在不同程度的漏检。综合来看,本文算法对于各类目标的平均检测精度高于YOLOv3和YOLOv4,尤其是对于Pedestrian(行人)、Bicycle(自行车)、Motor(摩托车)等密集的小目标检测效果明显。主要原因是YOLOv3和YOLOv4更关注深层特征,忽略了小目标的细节信息,同时采用3种不同尺度的预测网络进行边界框回归会导致相差不大的目标被强制分层预测,影响密集小目标的检测效果。而在本文预测网络中,为减少目标细节信息的损失,选取特征提取网络中4个层级的特征映射进行特征融合,整合不同层级特征图中的有效特征信息,映射到单一尺度的高分辨率特征图中,使小目标的分类特征更加明显,提升了检测准确率,同时单一尺度特征图中做边界框回归可以避免锚框尺度分配不均问题,在一定程度上减少了密集目标漏检的概率,更适用于目标小、密集度高的无人机航拍图像中。
表4 无人机数据集中各类检测结果分析Table 4 Analysis of various results in UAV database
图7 不同算法结果对比Fig.7 Comparison of results of different algorithms
2.3 主流无人机目标检测算法对比结果
为了验证所提算法的性能,将所提算法与当前主流算法进行对比实验,在同一平台下,对不同的主流目标检测算法采用相同的实验数据进行训练并对所得模型进行性能评估,主要对比不同检测网络在无人机航拍过程中准确检测地面目标的能力。进行对比实验的主流目标检测算法包括Faster-RCNN、RetinaNet、YOLOv3、ConnerNet、CenterNet、YOLOv4。
为了便于比较各主流算法性能指标,表5列出了主流目标检测算法的具体结果。综合来看,在无人机航拍数据集中,本文算法性能优于其他算法。从目标检测精度方面来看,本文算法的AP值相比于其他算法有较大提升,平均检测精度达到27.48%,整体检测效果优于其他算法。AP可以反映出算法对于目标的分类能力, AP则是评价目标检测算法的边界框回归能力的有效指标,可以看出本文算法在IoU=0.5的情况下与效果最优的YOLOv4、CenterNet等相近,即对目标的分类能力相近,而在IoU=0.75的情况下,本文算法的AP值优于其他算法,达到26.95%,说明本文算法在无人机航拍数据中具有更好的目标分类能力和较高的边界框回归精度。在分类方面,MSDarkNet-53中采用多尺度卷积方式,在多个尺度上解析输入,在不增加成本的情况下扩大卷积核的感受野,考虑不同层级的空间上下文依赖关系,捕获更详细的信息,并且shortcut连接方式使特征信息可以不经过中间卷积变换直接传到高层特征图,极大程度地避免了由于空间分辨率损失导致细节信息丢失的问题,提取到更多有效特征,有利于目标分类。在回归方面,预测网络提取多层级特征映射进行多尺度特征融合,将包含小目标细节信息较多的底层特征和语义信息较为丰富的高层特征进行加权融合,得到包含更多局部特征细节和语义特征高分辨率特征图,有利于检测小目标;同时,在单一尺度特征图上进行边界框回归既能有效避免密集目标之间的标签重写问题,又能防止不同尺度特征中锚框分配不均的问题,增强了网络对密集目标的检测能力。
表5 无人机数据集中主流目标检测算法结果分析Table 5 Analysis of main object detection algorithms in UAV database
此外,本文算法具有良好的检测实时性,实时性远优于两阶段目标检测器(如Faster-RCNN),检测速度与YOLOv4接近,比YOLOv3提升了约18%,主要原因是多尺度卷积方式计算过程中产生参数量与标准卷积相近,不会产生过多的计算开销,同时CSP策略将网络推理过程中的梯度变换操作集成到特征图中,避免了重复梯度信息导致计算量增加的问题,并且保持推理准确性。
3 结 论
1) 结合多尺度卷积方式和注意力机制,构建了自适应特征提取网络MSDarkNet-53,在不增加计算开销的基础上,优化了网络结构,提升了网络的特征表达能力。
2) 提出了基于多尺度特征融合的目标预测网络,融合不同层级特征映射,在单一尺度的高分辨率特征图上进行分类和回归,有效增强了不同网络层之间的上下文信息,提升了目标预测的准确性,尤其对小目标的检测效果提升明显。
3) 实验结果表明,与其他无人机检测算法相比,该算法达到了较好的检测性能,在保证检测速度的前提下,显著提高了检测精度。但是该算法在遮挡过多的情况下,存在一定的漏检现象,下一步将继续优化网络,进一步提升检测的实时性和准确性。