结合多通道注意力的遥感图像飞机目标检测
2022-01-22朱鑫潮王恩果
李 婕,周 顺,朱鑫潮,李 毅,王恩果
湖北工业大学电气与电子工程学院,武汉 430068
遥感图像是由卫星拍摄,包含空间分辨率、时间分辨率、光谱分辨率等。遥感图像中的目标检测在民用和军事上有着重要的意义和应用价值,尤其是遥感图像中的飞机目标检测,可以为民航更高效的管理以及军事作战提供更多有价值的信息。不同于传统飞机图像,遥感图像飞机目标检测面临着多尺度、背景复杂以及图像占用内存大等难点。
对遥感飞机目标的检测最早采用基于模板匹配的方法,Liu等人[1]构建了一种结合图像外观和目标形状先验信息的全局最小化活动轮廓模型,用来提取遥感图像中形状规则的空间对象,相对于其他无形状约束的方法具有更好的鲁棒性,但基于模板匹配的方法对于复杂背景下的目标检测效果不佳。传统的机器学习方法需要人工设定目标特征,Wang 等人[2]提出一种改进的主成分分析特征提取方法,并基于有向无环图支持向量机(directed acyclic graph support vector machine,DAGSVM)识别遥感图像飞机目标,该方法有效地去除了噪声等干扰因素,取得了较高的准确率,且鲁棒性较模板匹配的方法更优,但支持向量机的核函数、带宽等参数很难人为确定。
随着深度学习的快速发展,基于卷积神经网络(convolutional neural network,CNN)的目标检测方法已成为处理和识别遥感图像的趋势。当前,主流的深度学习目标检测算法主要分为两类:基于锚的方法和不基于锚的方法。Alganci等人[3]对基于锚的3种目标检测算法在遥感图像中飞机目标的检测性能进行了评估,其中Faster R-CNN[4]取得了最高的检测精度,但检测速度太慢,无法满足实时性。SSD[5]的检测性能最差,但在目标定位方面效果较好。YOLOv3[6]实现了检测精度和速度上的平衡,且检测精度略低于Faster R-CNN。但由于基于锚的方法在检测性能上很大程度取决于正负样本数以及锚点的超参数,且检测过程中引入非极大抑制算法(non-maximum suppression,NMS)[7]来消除重复目标框,使得算法复杂度和计算量相应增加,限制了其普及和检测速度上的提升。
为了提高检测器灵活性,CornerNet[8]、ExtremeNet[9]、CenterNet[10]等无锚的方法应运而生,并受到广泛关注。目前,无锚的方法在遥感图像检测方面已经做过一部分研究,Liu等人[11]首次尝试将CenterNet运用到遥感图像目标的检测任务上,并在NWPU VHR-10遥感数据集上评估CenterNet 的各主干网络性能,证明了CenterNet 算法较基于锚的YOLOv3 算法在检测精度和速度上优越的性能,但同时也存在部分小目标和密集目标的漏检情况。Zhang 等人[12]提出一种特征增强的中心点网络,在不同层之间引入水平连接,通过结合深层特征和浅层特征来提高遥感图像小目标检测精度,但检测速度有待提高。巍玮等人[13]提出一种改进的CenterNet遥感图像检测模型,该模型将Hourglass-104[14]特征提取网络残差块中的标准卷积替换为可变卷积,且引入注意力机制进行优化,一定程度上降低了误检率和漏检率,但对密集目标的检测精度有待提高。姚群力等人[15]基于SSD 多尺度检测框架,采用反卷积设计了一种轻量级多尺度特征融合模块,实现了高层语义和低层细节的特征融合,在UCAS-AOD遥感图像飞机目标检测上取得较高的检测精度,尤其是密集目标的检测效果提升显著,但检测速度仍有待提高。郑哲等人[16]提出了一种多尺度特征金字塔和滑动顶点回归的遥感图像目标检测,通过引入通道注意力和空间注意力模块抑制噪声,检测精度显著提高。Lim等人[17]对传统的SSD模型进行改进,提出一种结合上下文特征和注意力机制的检测方法,较原SSD提高了小目标的检测能力。
受以上研究方法的启发,本文将高层语义和低层细节特征融合以及添加注意力机制抑制噪声干扰的思想运用到CenterNet 算法,提出了一种AFF-CenterNet(attention feature fusion-CenterNet)网络,在“编码-解码”结构引入平行层特征共享模块来提高小目标和密集目标的检测精度,在特征融合模块前引入SE-Net[18]通道注意力模块来降低误检率,优化检测器的性能,以解决原网络在遥感图像飞机目标检测上存在的小目标和密集目标检测精度低以及误检率高的问题。
1 CenterNet网络
CenterNet算法无需进行人为设定前景和背景分类的阈值以及不需要计算量大且耗时的非极大值抑制(NMS),减少了对数据集正负样本的要求,提高了检测速度。但是,实际遥感图像由于拍摄高度、角度等问题,图片中存在很多像素为个位数的小目标对象和密集目标,这给CenterNet算法带来了很大挑战,直接将其应用于遥感图像检测很难有所突破,因此必须对CenterNet网络结构进行改进,使其更好地适应遥感图像目标的检测,提高检测精度。
2 AFF-CenterNet网络模型设计
传统的CenterNet网络采用“编码-解码”结构,通过网络的连续卷积操作学习高级语义信息。然而,遥感图像中的目标具有小而密的特点,经过一系列卷积将会使小目标特征聚集,造成漏检和误检等问题。因此,本文基于CenterNet算法提出了一种结合注意力机制和平行层特征共享结构的检测模型AFF-CenterNet。其网络结构如图1 所示,较原CenterNet 网络结构,引入了图中橙色虚线矩形框处扩展结构,主要在以下两个方面改进:
图1 AFF-CenterNet网络结构Fig.1 AFF-CenterNet network structure
(1)引入一种平行层特征共享模块将不同层之间的特征进行关联,以提高小目标的特征表征能力。该方法融合了深层特征和浅层特征,有效地结合了深层特征语义信息强和浅层特征位置和纹理信息强的优点,对改善小目标检测有一定效果。
(2)在平行层模块前加入通道注意力模块,以减少背景干扰。该方法对不同通道间的特征响应进行自适应校准,有效地改善了网络的特征提取能力。
2.1 平行层结构
在CenterNet 算法的网络结构中,本文将Conv1 层和Conv7层、Conv2层和Conv6层、Conv3层和Conv5层分别进行融合,如图1 所示。由于这些特征层具有不同的空间大小,在进行融合之前,先经过一个“Feature Fusion”模块处理。针对该模块,设计了如图2 所示两种拓扑结构进行实验,分别命名为CenterNet-C 和CenterNet-T。其中CenterNet-C 经过一个标准1×1 卷积使融合前后的特征层具有相同的空间大小,CenterNet-T将CenterNet-C 中的标准卷积换成空洞卷积进行测试。由于不同图层中的每个特征值具有不同的比例,在卷积之后需经过批量归一化和Relu激活处理。
图2 平行融合模块结构图Fig.2 Parallel fusion module structure diagram
2.2 引入通道注意力模块
注意力机制能够聚焦图像的局部信息,定位感兴趣信息,抑制无用信息。为了使模型更关注具有有效信息的通道,本文在平行特征共享模块前引入挤压-激励注意力模块(squeeze-and-excitation network,SE-Net)[18]。如图3 所示,该模块首先对输入通道数为C的H×W特征图进行挤压(squeeze)操作,得到通道数为C的1×1特征图,对应图3中的全局池化(global pooling)。然后将得到的特征图进行激励(excitation)操作得到各通道之间的权重值,对应图3 中的两次全连接层和Sigmoid层。最后通过Scale缩放将原特征图乘以对应通道的权重得到新的特征图,以达到有效信息通道的更新和无用信息通道的抑制。
图3 初始SE模块结构图Fig.3 SE-inception module structure diagram
引入通道注意力机制后的平行层结构如图4 所示。可视化对比如图5所示,从图5(a)中箭头标记处可以看出,无注意力机制时,由于飞机停靠停机坪距离较近,且停机坪的固定结构与飞机形状相似,造成了网络对停机坪的固定结构存在一些误检情况。图5(b)为添加注意力机制后的结果图,可以看出该模块有效地滤除了背景干扰,降低了误检率,提高了检测精度。
图4 引入注意力机制后的平行层模块图Fig.4 Parallel layer module diagram after introducing attention mechanism
图5 引入注意力模块前后对比图Fig.5 Comparison chart with or without attention module
2.3 损失函数
AFF-CenterNet 依然采用CenterNet 损失函数的构建方法,由中心点预测损失Lk、偏置损失Loff、宽高损失Lsize三部分组成。
CenterNet采用像素级逻辑回归focal-loss损失函数来解决正负样本分布不均的问题。公式如式(1)所示:
总的损失Ldet由上述各分支损失加权求和得到,如式(4)所示:
其中,权重λoff、λsize分别取1、0.1。
3 实验结果及分析
3.1 实验准备
3.1.1 数据集与实验环境
为验证AFF-CenterNet 算法的可行性,选取UCASAOD 遥感影像数据集[21]和RSOD 遥感数据集[22]中的飞机类别图片分别进行网络的训练和测试。其中,UCASAOD 数据集由中科院大学制作,包含飞机遥感图片1 000张,飞机样本7 482架,数据较为集中,且目标方向分布较为均匀。RSOD数据集由武汉大学制作,包含飞机遥感图片446张,飞机样本4 993架,图像中亮度和对比度多样,且存在遮挡、阴影、畸变等干扰。实验过程中,对两数据集分别随机抽取10%的图片作为测试样本,剩余90%的图片中抽取10%作为验证集,其余作为训练集,实验环境配置如表1所示。
表1 实验环境配置Table 1 Experimental environment configuration
3.1.2 评价指标
实验采用准确率(Accuacy)、精确度(Precision)、召回率(Recall),以及模型每秒处理的图片数(frame per second,FPS)和平均精度(mean average precision,mAP)作为模型的综合评价指标。其中FPS 反应了模型的处理速度指标,mAP 可以更好地衡量多召回率下的模型检测精度,相关计算公式如式(5)~(7):
其中,TP代表正样本中被当做正样本的数量,FN代表正样本中被当成负样本的数量,FP代表负样本中被当成正样本的数量,TP+FP为全部分为正样本的数量,TP+FN为全部分为正样本的数量。
预测结果TP和FP由交并比IoU(intersection over union)决定,当IoU 大于设定阈值,则记为TP,反之记为FP。设定不同置信度的阈值,将得到不同数量的检测框,阈值高,则得到的检测框数量少;反之,阈值低得到的检测框数量多。IoU的值由式(8)求得:
FPS为模型每秒能检测的图片数量,代表了检测速度的快慢,可以由式(9)求得:
其中,N为被测样本数,T为测试全部样本所需的时间。
3.1.3 训练细节
实验中,下采样率R为4,并使用Adam优化器进行迭代训练,将输入图像统一缩放到分辨率为512×512。初始学习率设置为1E-3,batch_size 为4,在训练50 个epoch 后,将学习率降为1E-4,再训练50 个epoch。此外,为了加快收敛速度,训练时ResNet-50的backbone使用ImageNet分类任务中得到的预训练权重。
3.2 实验结果分析
3.2.1 UCAS-AOD遥感影像数据集实验结果
在UCAS-AOD 遥感影像数据集上经过100 轮训练,损失值基本达到稳定状态。训练过程中,模型损失和迭代次数之间的趋势变化对比如图6所示,该Loss值为中心点预测损失、偏置损失和宽高损失三部分加权求和得到。
图6 UCAS-AOD数据集上训练的总Loss变化曲线图Fig.6 Total Loss of training on UCAS-AOD dataset
其中CenterNet-C、CenterNet-T、CenterNet-SC、CenterNet-ST 为基于AFF-CenterNet 框架设计的4 种拓扑结构,CenterNet-C、CenterNet-T代表仅在原CenterNet基础上引入平行层结构,CenterNet-SC、CenterNet-ST为上述两种结构添加SE-Net通道注意力后的模型。从图6 中可以看出,改进后的4 种模型收敛速度较改进前都有所提高,且最终收敛值比改进前更低。此外,加入注意力机制后的CenterNet-SC 和CenterNet-ST 较CenterNet-C 和CenterNet-T 在收敛速度和收敛值都有所优化,其中CenterNet-ST收敛速度最快,收敛值最优。
改进前后的几种网络结构在UCAS-AOD测试集上的对比结果如表2 所示,在保持一定计算效率的情况下,改进后的网络检测精度大幅提升。其中,采用空洞卷积的CenterNet-T比采用标准1×1卷积的CenterNet-C在检测精度上提高了0.59 个百分点。CenterNet-SC 和CenterNet-ST 比CenterNet-C 和CenterNet-T 在检测精度上分别提高了1.34 个百分点、1.46 个百分点。整体效果最优的CenterNet-ST 较CenterNet 和CenterNet-SC 在检测精度上分别提高了16 个百分点、0.71 个百分点,因此,后续以CenterNet-ST 拓扑结构作为AFFCenterNet算法模型。
表2 不同改进结构对比Table 2 Comparison of different improved structures
从数据集中选取3组具有代表性的图片进行测试,得到图7 所示改进前后对比图。从图7 的第一行可看出,改进前后的算法对小目标检测具有一定的效果,但原CenterNet 漏检4 架,改进后的AFF-CenterNet 无漏检。由于原网络的特征提取层经过“编码-解码”结构后,小目标语义信息丢失严重,使得与背景颜色相似的小目标难以检测,而AFF-CenterNet 的平行层特征共享网络,有效地融合了深层和浅层特征,减少了语义丢失,对目标与背景对比度低的小目标仍能有效识别。图7第二行为背景与目标对比度较高,但飞机与建筑物停靠紧密条件下的小目标检测,改进前后均能有效检测到所有目标,但CenterNet存在5个误检,而AFF-CenterNet无误检情况。这是由于AFF-CenterNet在平行层特征共享层前引入了SE-Net 通道注意力模块,对不同特征层通道间的权重进行自适应校准,有效地抑制了干扰目标。图7第三行为停靠较为密集情况下的小目标检测,CenterNet 对重叠目标检测存在丢失,漏检5 架飞机,而AFF-CenterNet 能有效区分重叠目标,进一步显示了改进后的网络对小目标检测性能的改善。
图7 改进前后对比图Fig.7 Image comparison before and after improvement
为进一步评估AFF-CenterNet 算法的性能,基于UCAS-AOD 数据集,在相同训练、测试样本的条件下,本文对比了两阶段检测算法Faster RCNN、单阶段检测算法SSD、YOLOv3 以及YOLOv5,得到对比结果如表3所示。
表3 不同算法检测结果对比Table 3 Comparison of detection results of different algorithms
从实验结果可以看出,AFF-CenterNet 算法在遥感图像飞机目标检测中,检测性能最好,检测精度达到了96.78%,虽然检测速度相对于未改进前降低了7 frame/s,但都达到了实时检测的效果。此外,AFF-CenterNet算法相对于Faster R-CNN、SSD、YOLOv3、YOLOv5s在平均精度mAP上分别提高了6.22、7.23、3.98、1.48个百分点,检测速度分别提高了73 frame/s、36 frame/s、20 frame/s、5 frame/s。且YOLOv5s 使用了Mosaic、自适应锚框计算、自适应图片缩放等数据增强,而本文算法未进行数据增强,因此,实际输入训练的样本数和计算量比YOLOv5s低。
如图8 为不同算法在UCAS-AOD 数据集上的可视化结果对比。其中,图8第一行为过渡曝光情况下的小目标检测,该情况下Faster R-CNN检测效果最好,只存在一个漏检。SSD算法仅能检测到两个有效目标,漏检严重。YOLOv5s与YOLOv3相比,漏检率大幅降低,但存在两个误检,而AFF-CenterNet无误检情况,且有效识别目标数仅比YOLOv5s 少一个。图8 第二行为复杂背景下的分散小目标检测,图8第三行为停靠密集的小目标检测,可以看出,SSD 算法检测小目标的能力严重不足,Faster RCNN 能有效检测分散小目标,但对密集小目标的检测性能需改善,YOLOv3 存在一定的漏检情况。而YOLOv5s 和AFF-CenterNet 都能有效地识别各种复杂条件下的小目标,但是YOLOv5s 存在大量误检情况,AFF-CenterNet 相比误检率更低,这得益于AFFCenterNet算法中引入的平行层特征共享结构和注意力机制对检测器的优化效果。
图8 UCAS-AOD数据集上可视化结果Fig.8 Visualization results on UCAS-AOD dataset
3.2.2 RSOD数据集实验结果
为验证AFF-CenterNet 算法的鲁棒性,另外选取含有大量遮挡、阴影、畸变等干扰因素的RSOD 遥感数据集进行训练和测试。经过100 个epoch 后,改进前后的总损失都能达到稳定状态,改进前后总loss 变化如图9所示。
图9 RSOD数据集上训练的总Loss变化曲线图Fig.9 Total Loss of training on RSOD dataset
与UCAS-AOD 数据集Loss 曲线结果类似,收敛速度和收敛值最优的为CenterNet-ST,且改进后的4 种网络结构收敛速度都优于未改进前。此外,引入注意机制后的CenterNet-SC 和CenterNet-ST 收敛速度和收敛值同样优于未加入注意力机制前。
如表4 为基于RSOD 遥感数据集下的不同算法检测性能对比。从实验结果可以看出,改进后的Center-Net-ST 在保持一定计算效率的情况下检测精度达到93.69%,优于其余几种结构。与Faster RCNN、SSD、YOLOv3、YOLOv5s 以及原算法相比检测,精度分别提高了11.99、18.49、4.09、2.89、18.25 个百分点。其中,YOLOv5s 的检测速度比YOLOv3、SSD、Faster RCNN分别高13 frame/s、31 frame/s、61 frame/s,而CenterNet-ST的检测速度比YOLOv5s提高了9 frame/s。这与UCASAOD 数据集上得到的结论基本相似,证明了改进后的网络结构具有良好的鲁棒性和抗干扰能力。
表4 RSOD数据集下的检测结果对比Table 4 Comparison of test results under RSOD dataset
如图10 为RSOD 数据集上不同算法可视化对比图。其中,图10 第一行为飞机目标尺度较大且接近有干扰建筑物情况下的检测结果,此时Faster RCNN、SSD、YOLOv3和YOLOv5s检测效果较好,而CenterNet存在大量误检,AFF-CenterNet 改善了这一问题,误检率大幅降低,这与AFF-CenterNet 引入了注意力机制相关。图10 第二行和图10 第三行分别为分散小目标和密集小目标检测,其中SSD 算法检测效果最差,仅能检测到两架尺度中等大小飞机。Faster RCNN 在检测分散小目标和密集小目标都存在大量漏检,尤其是进行密集小目标检测时,漏检率过高。CenterNet 检测背景较复杂的分散小目标时存在误检情况,检测密集小目标时存在大量漏检情况。而YOLOv5s 和改进后的AFF-CenterNet 都能有效检测到分散小目标,但AFFCenterNet 比YOLOv5s 在密集目标检测情况下漏检率更低。此外,对比改进前后,AFF-CenterNet在存在背景干扰和密集小目标检测时的检测效果显著提高,漏检率和误检率得到改善,证明了本文算法的可行性和良好的鲁棒性。
图10 RSOD数据集上可视化结果Fig.10 Visualization results on RSOD dataset
3.2.3 消融实验
为进一步验证AFF-CenterNet 算法中每个改进模块的有效性,在RSOD 遥感影像飞机数据集上对AFFCenterNet进行消融实验。实验结果如表5所示。
表5 RSOD数据集下的消融实验Table 5 Ablation experiment under RSOD dataset
从实验结果可以看出,单独加入平行特征共享模块,准确率和召回率较原算法分别提高了10、10.53个百分点,精度提高了16.63 个百分点。在平行特征共享模块中引入注意力机制优化各通道权重后,准确率进一步提升,平均精度较未加入注意力机制前以及原Center-Net 网络结构分别提高了1.62 个百分点和18.25 个百分点,证明了本文算法各模块的有效性。
4 结束语
本文尝试将CenterNet算法应用到遥感图像飞机目标检测上,为了解决原CenterNet 算法检测遥感图像时的误检率高和小目标检测困难等问题,提出了结合平行层特征共享结构和注意力机制的遥感飞机目标自动检测模型AFF-CenterNet。首先,采用“编码-解码”的主干网络结构,以ResNet50 为基础特征提取;然后,引入空洞残差与注意力约束的平行层特征共享结构进行特征融合,构建的特征提取网络,提高了算法的特征提取能力和抗干扰能力;最后在UCAS-AOD 和RSOD 公共遥感数据集上与其他主流算法进行对比实验,在RSOD数据集上AP达到93.69%,检测精度较原CenterNet、Faster R-CNN、SSD300、YOLOv3 以及YOLOv5s 分别提高了18.25、11.99、18.49、4.09、2.89 个百分点,且保持了一定的检测速度。实验结果表明,该方法在遥感图像飞机目标检测中不仅有较高的检测精度,同时保持了单阶段检测模型的速度优势,具有一定的实用价值。但本文提出的方法仍存在一些误检和漏检情况,且研究类别单一,未考虑不同类别重叠后的热图变化,后续研究将进一步优化模型的特征表征,考虑引入多类别遥感图像进一步研究该算法在遥感图像上的应用。