基于Transformer的航空目标检测算法
2023-12-15季长清高志勇汪祖民
季长清,高志勇,秦 静,汪祖民
(1.大连大学 物理科学与技术学院,辽宁 大连 116622;2.大连大学 信息工程学院,辽宁 大连 116622;3.大连大学 软件工程学院,辽宁 大连 116622)
0 引言
随着近些年航空技术和无人机巡航技术的快速发展[1],航空图像中的目标检测任务作为航空领域中最具挑战的任务之一,吸引了诸多目标检测领域研究者的关注,随着航空影像数据质量的提升,图像数据的检测面临着以下2个问题:① 图像的空间分辨率不断提高,图像中的目标数据也越来越多,图像场景结构越来越复杂,密集检测较为困难;② 图像中不同比例尺度的目标样本具有不同的纹理特征,且待检测目标通常以任意方向显示[2]。本文的研究内容将沿着上述2个问题展开。
伴随着深度学习技术的不断发展,可以将基于卷积神经网络(Convolutional Neural Network,CNN)的目标检测算法大致分为2类[3]:端到端的一阶段检测方法和二阶段检测方法。二阶段检测方法需要预先生成区域建议框,然后再对区域建议框进行后处理,最后进行回归和分类,该类方法得到的目标准确度较高,但识别速度相对较低,比如Faster R-CNN[4]、Mask RCNN[5]等。不同于二阶段检测方法,一阶段检测方法无需生成区域建议框,而是直接使用CNN对图像数据进行处理,在提取的特征图上回归检测结果。比如YOLO系列算法[6-9]等,但该类算法对小目标检测并不友好,在处理密集的目标时,产生的最后结果通常会覆盖过多的图像背景或相邻的目标区域。以上目标检测算法模型在训练过程中均使用水平框标注的形式,如分别标注目标左上角、右下角的坐标或者标注水平目标框的中心点坐标并同时记录水平目标框的宽度和高度,因此在实现模型推理时无法有效地解决航空旋转目标角度偏移的问题。
受益于自然语言处理[10]的发展,该领域中的Transformer结构被用于解决计算机视觉任务。2020年谷歌提出了Vision Transformer模型,它在ImageNet-1K[11]的测试集上取得了88.55%的准确率,刷新了该榜单上的纪录,该模型避免了深度卷积神经网络带来的网络退化等问题[12]。由于现有的航空图像分辨率较高、像素点多,因此Vision Transformer模型基于全局自注意力的特征提取方式带来了大量的计算,非常耗费计算资源。随后出现的Swin Transformer[13]模型很好地缓解了以上问题,该模型的主要思想是将具有很强建模能力的Transformer结构和重要的视觉信号先验知识结合起来,构筑了具有层级结构的主干网络,这使得Swin Transformer在特征提取的任务中达到了较好的效果,表明了Transformer结构在计算机视觉领域中具有独特的优势。DETR[14]模型首先把Transformer方法应用到目标检测领域,但没能解决航空图像中旋转目标检测的问题。DN-DETR[15]模型在DETR的基础上改良了DETR收敛缓慢以及二分图分配不稳定的问题,但仍不能实现旋转目标的检测。
结合以上问题及Transformer结构的启发[16-18],本文从端到端检测的思路出发并结合Box Boundary-Aware Vectors的检测方式[19-20]设计了一个基于Transformer的一阶段旋转目标检测器,主要工作是:使用了全局注意力机制的Transformer结构搭建特征提取网络,避免了过深卷积层带来的网络退化问题;使用了多层特征融合的思路去获得最终的特征图,充分利用了浅层与深层的特征;使用回归的方式直接得出了目标的旋转角度。
1 TF-BBAVectors模型
1.1 模型的整体结构
由CNN构建的目标检测模型存在着一些问题,比如随着卷积层数量的增加,特征图上单个位置对应的局部感受野会随之扩大,过大的局部感受野不利于小尺寸目标的检测;堆叠过多的卷积层无法更好地提取特征,网络模型存在退化问题等。所以本文提出了基于Transformer结构的旋转目标检测网络,称为TF-BBAVectors,模型如图1所示,主要包括由Transformer结构组成的主干特征提取网络和BBAVectors预测模块2个部分。对于主干特征网络,本文使用层级式的设计方式,结合Swin Transformer模块并采用2∶2∶18∶2的比例构建主干特征提取网络。在预测模块中,分别预测目标的热力图(Heatmap)、中心点偏移量(Offset)、边界框类型(Orientation)和边界框参数(Box Parameters)。
为了更好地使用到浅层特征的位置细节信息,在模型构建时使用了多特征层融合的策略[21],分别使用了Swin Transformer模块的输出特征,与通过双线性插值实现上采样的特征图进行融合,用以实现更精确的目标检测。
图1 TF-BBAVectors模型Fig.1 TF-BBAVectors model
1.2 主干特征提取网络
使用改进后的Swin Transformer模型充当特征提取的主干网络。最重要的改进表现在Patch Merging层,改进后的模型获取了每一次下采样产生的一维特征向量,并且新的Patch Merging层根据实验设置的批量大小将一维特征向量重新分解成二维平面图像,这样做可以达到类似CNN逐层扩大感受野的效果[22],便于在此基础上更好地把握图像的多尺度特征生成新的特征图。
由于航空图像的分辨率非常高,所以在设计模型时使用了窗口多头自注意力机制(Windows Multi-Head Self-Attention,W-MSA)的方式将图像划分成多个不相交的区域,使得全局性的多头自注意力机制只在每个独立的区域内进行[13]。这样的计算方式利用了CNN局部性的先验知识,即同一个物体的不同部位或是语义相近的不同物体在图像上大概率会出现在相连的地方。所以即使是在独立的小区域内做自注意力计算,也足以满足视觉任务的需要。
相对于Transformer中直接对整个特征图进行多头自注意力机制的方式,使用W-MSA的方式在提取特征时能够大大减少计算量,尤其是在浅层存在较大特征图的时候。但由于隔绝了不同区域之间的信息传递,使得Transformer失去了全局建模的能力,所以模型构建时也使用了窗口转移多头自注意力机制(Shifted Windows Multi-Head Self-Attention,SW-MSA)的方式,这种特征提取的方式能够让信息在相邻的区域中进行传递[13]。使用这2种模块组合构建的Swin Transformer单元可以让模型在进行特征的提取时不仅能关注到图像中的每一个像素点,还能降低计算的复杂程度。这种全局性的注意力机制让模型能够很好地处理密集、小目标的问题,可以较好地提取图像中的目标信息。
1.3 特征融合策略
由于高分辨率航空图像中的目标尺度变化范围较大,比如较大尺度的飞机和较小尺度的船舶。如果直接使用主干网络提取的特征图,并在同一特征图下对不同尺度的目标进行兴趣区域的目标特征提取时会造成较大的目标损失。融合不同尺度的特征是提高检测性能的一个重要手段,本文模型也像ResNet[23]、FPN[24]和YOLO[6-9]系列算法一样使用了特征融合的方式去构建。
如图1所示,通过残差连接的方式,将双线性插值上采样得到的深层特征和浅层特征结合起来。这样做既保留了图像的浅层位置细节信息又使用了高层特征图的语义特征,避免了仅使用最后低分辨率特征图带来的几何信息表征能力弱、缺乏空间几何特征细节的缺点。
此时模型可以进一步处理通过该策略得到的特征图来解决倾斜目标的问题。在实验部分,本文对此特征融合策略做出了相应的论证。特征融合的方式如图2所示。
图2 特征融合的方式Fig.2 Feature fusion method
1.4 预测模块
模型的预测模块用来处理目标的倾斜问题。热力图用来检测航空图像中倾斜目标的中心点,特征图的通道数对应类别数,每个通道的映射通过一个Sigmoid函数传递。特定中心点的预测热力图值被视为物体检测的置信度。训练热力图时,为了减少高斯凸起内部点的损失和避免该项损失函数带来的梯度爆炸问题,此次实验使用了新的损失函数来训练这个热力图:
(1)
由于在热力图中选取的中心点坐标都为整数,从输入图像到输出热力图按比例缩小一个像素点坐标时会生成一个浮点数,将特征图上的点映射回原输入图像时会造成较大的精度误差,所以通过预测偏移图补偿量化浮动中心点和整数中心点之间的差异。需要预测的偏移量o表示为:
(2)
式中:cx、cy分别为下采样s倍后的坐标值。
为了得到带方向的包围框用以标记任意方向的目标,使用边界框边缘感知向量的方法[20]预测了6个边界框边缘感知向量t、r、b、l、w、h。其中前4个向量分别分布在笛卡尔坐标系的4个象限中,所有的旋转物体共用一个坐标系,这样的方式可以高效地利用特征图中共同的信息,有利于提升模型的泛化能力。带方向的包围框的表示方式如图3所示,图3中包围框的参数定义为:Box=[t,r,b,l,w,h],其中w、h是外接水平包围框的宽和高。获得的边界框边缘感知向量可以很好地表示出目标的倾斜方向。
图3 带方向的包围框的表示方式Fig.3 Representation of an oriented bounding box
2 实验与结果分析
2.1 实验数据与实验环境
为了评估旋转目标检测模型TF-BBAVectors对密集小目标的检测效果,在DOTA1.0多目标数据集[25]上展开研究,DOTA1.0数据集包含多种实例密度不同的图像,特别是小目标高度聚集的图像,该数据集中大小为1~50 pixel的小目标占比约为57%,这为验证本模型对密集小目标的检测效果提供了帮助。DOTA1.0数据集由2 806 张航空图像组成,总共包含188 282个用水平包围框及旋转包围框标注的实例目标。本文采用该数据集旋转包围框的标注形式,选取了飞机(Plane,PL)、船(Ship,SH)、小型车辆(Small-Vehicle,SV)和大型车辆(Large-Vehicle,LV)4类数据,共计训练图像 944张,测试图像291张。具体的数据分布信息如表1所示。
表1 部分DOTA1.0数据集各类别分布Tab.1 Distribution of partial DOTA1.0 dataset by class
该4类数据基本涵盖了人们日常生活中使用的交通工具,将模型应用于交通领域,对处理交通问题具有深刻的意义。此次实验在Windows 10操作系统下,采用NVIDIA RTX 3080Ti显卡在PyTorch1.6.0深度学习框架下展开。
2.2 评价指标
TF-BBAVectors模型选用的性能评价指标主要是均值平均精度(mean Average Precision,mAP),实验使用该评价指标来反映检测精度。AP(Average Precision,AP)值为准确率(Precision,P)以及召回率(Recall,R)构成的P-R曲线的面积。具体的计算公式为:
(3)
(4)
(5)
(6)
式中:TP(True Positive)为模型正确检测到的正样本数量,FP(False Positive)为模型错误检测到的正样本数量,FN(False Negative)为模型错误检测到的负样本数量,c为所有目标类别的数量。
2.3 实验结果
2.3.1 对比实验分析
TF-BBAVectors模型在DOTA1.0航空影像数据集上的实验结果分析如下。
表2为不同模型对DOTA1.0数据集中4个类别的检测结果,本文选取了6种较为典型的航空旋转目标检测器与本模型进行对比。其中,二阶段旋转目标检测方法R-DFPN[26]与R2CNN[27]为了降低旋转包围框的回归难度,均设置了较多的锚框规格,在航空旋转目标检测任务上取得了一定的效果。R-DFPN模型为了保持图像语义和空间信息的完整性,提出了多尺度感兴趣区域对齐的概念。通过密集连接FPN[24]为所有尺度构建了高级语义特征图,增强了特征传播,强调了特征重用[28]。同时设计了旋转锚框的策略来预测物体的最小外接矩形,减少了冗余检测区域,提高了召回率。R2CNN模型是基于Faster R-CNN架构搭建的。首先,使用区域建议网络生成围绕不同方向目标的水平框。其次,对于区域建议网络选出的每个水平框提取不同集合大小的特征,利用级联特征,采用多尺度池化来提取长宽比信息,同时预测目标的置信度、水平框和倾斜最小区域框。最后,采用倾斜的非极大值抑制(Non-Maximum Suppression,NMS)算法来得到检测结果[29]。IENet[30]是基于FCOS模型[31]搭建的一种无锚框的算法模型,将自注意力机制引入视觉任务中,利用基于自注意机制的IE模块作为特征交互模块,并在几何变换的基础上根据水平检测框实现了倾斜目标的检测,达到了较为先进的分类精度。但是仍存在像素点目标重叠的问题,极有可能会造成目标的漏检。通过与表2中6种算法模型的对比可以发现,提出的TF-BBAVectors模型在mAP值上均存在不同程度的提高,与二阶段检测算法R-DFPN和R2CNN相比分别提升了12.69%以及 11.41%。与一阶段检测算法IENet相比,本模型在SH的检测上提升了12.97%的检测精度,在LV的检测上提高了8.65%的检测精度,总体上本文模型的mAP值提升了1%。本文方法在DOTA1.0数据集的4类数据上取得了不错的检测效果,有效地证实了TF-BBAVectors模型在航空目标检测任务上的可靠性与实用性。
表2 DOTA1.0数据集上不同检测算法的结果Tab.2 Results of different detection algorithms on DOTA1.0 dataset
图4展示了TF-BBAVectors模型在DOTA1.0数据集中不同场景下的部分检测结果,通过观察可以发现,针对目标较小、密集性强、背景复杂的问题,如图4(a)和图4(b)部分所示的船、车辆检测,本文检测算法能很好地处理图像中的密集小目标,在能够很好地适应不同的检测背景的同时,也能显示出船、车辆的停靠方向。针对水平检测算法忽略目标角度信息,不利于目标精确定位的问题,如图4(c)中部分所示的飞机检测,本文算法可以很好地应对不同的目标倾斜角度,能够精准地标记出目标位置。综上所述,本文方法在DOTA1.0数据集的多类别目标检测上达到了较好的检测效果,可以较为准确地标记出目标的位置和倾斜方向。
2.3.2 消融实验分析
为了验证TF-BBAVectors模型使用特征融合策略的有效性,在DOTA1.0数据集的4类数据上做了一个消融实验,“√”表示使用了特征融合策略,“×”表示未使用特征融合策略,结果如表3所示。
通过表3中每一列目标的检测精度对比可以发现,与以直接上采样得到较大特征图的方式构建模型相比,在使用特征融合策略利用浅层特征图构建模型时,该目标检测模型可以取得较好的检测效果。表明仅在最后特征图下对不同尺度的目标进行提取兴趣区域时造成的损失较大,进一步说明了本文方法的有效性。2种构建方式搭建的模型在PL、SH、SV、LV的检测上分别相差13.33%、72.3%、42.25%、63.55%,mAP相差47.86%。
2种策略的对比如图5所示。从图5的对比中可以明显地看出本文实验所采用策略的有效性,图5(a)中的检测效果相对较好,图5(b)中存在较多漏检目标,这进一步证明了使用特征融合策略搭建的模型更能适应航空图像中目标的形态特征,性能更优异,具有一定的优势。
(a)使用特征融合策略的检测结果
2.3.3 SSDD+数据集上的实验分析
由于使用的部分DOTA1.0数据集的类别分布不均衡,造成本文模型在部分类别的检测上未能达到理想的结果,本文在拥有单一、小目标类别的SSDD+数据集上验证了TF-BBAVectors的有效性。
在2017年发布的SSDD+数据集[34]是用于合成孔径雷达(Synthetic Aperture Radar,SAR)图像检测任务的数据集,包含有不同分辨率、比例、海况的 1 160张SAR图像,总计船舶目标2 456个。该数据集采用旋转框的标注形式,并在实验中将数据的标注形式统一为DOTA1.0格式,使该数据集可以适用于倾斜目标的检测。
实验按照8∶2的比例将数据集划分为训练集和测试集。除了比较二阶段检测算法R-DFPN以外,本文模型还比较了另一些改进的一阶段目标检测算法,结果如表4所示。
通过表4可以发现,TF-BBAVectors模型的检测效果超过了部分二阶段检测算法,比一阶段检测算法BBAVector更为优秀,与之相比,mAP值高出了0.7%。通过以上几组实验充分验证了TF-BBAVectors模型在不同场景下的鲁棒性和有效性。
表4 SSDD+数据集上不同检测算法的结果Tab.4 Results of different detection algorithms on SSDD+ dataset
3 结束语
本文设计了一种基于层级式Transformer网络的一阶段航空图像旋转目标检测模型TF-BBAVectors。模型使用了端到端构造目标检测器的思路,在Transformer网络基础上,针对航空图像的特性,利用BBAVectors模型的检测方式对提取的图像特征进行处理,即采用边界框边缘感知向量描述目标位置,实现了对任意方向目标的准确定位。模型巧妙地使用了特征融合网络的思想,并改进了损失函数的设计,进一步提升了网络的检测性能。在DOTA1.0数据集和SSDD+数据集上的实验结果已经初步表明,该模型在密集检测、小尺度目标检测方面具有一定的优势,能够很好地完成航空图像中的旋转目标检测任务,具有一定的应用价值。在下一步的工作中,将继续对网络进行优化,进一步提升模型的检测性能,设计出基于Transformer的具有高效率、高性能、高实时性的遥感目标探测器。