杨玉春,王腾军,任会涛,杨 耘
(长安大学 地质工程与测绘学院,西安 710054)
遥感技术是20世纪60年代出现的一种空间信息探测技术,能够在距离被探测目标十分遥远的位置,通过影像传感器收集目标辐射和反射的电磁波信息,根据物体的物理光谱特性对收集的电磁波信息进行分析和解译,由此实现对目标地物的远距离探测。随着航空航天技术、图像传感器技术和计算机技术的发展,遥感影像的空间分辨率越来越高,高分辨率遥感影像包含着更为丰富、更为细致的地物信息,推动了遥感影像处理技术的发展和进步。作为遥感影像处理领域的一个基本问题,遥感影像目标检测是识别给定的航空或卫星影像是否包含一个或多个感兴趣类别的目标,并确定目标在影像中的位置的过程,其在环境监测、地理信息系统更新、精准农业和城市规划等应用中发挥着重要作用。近年来,随着遥感技术的迅猛发展,高分专项工程的实施和商业化卫星遥感服务的兴起,影像数量呈现爆炸式的增长趋势,快速增长的影像数量对目标检测方法提出了更高的要求。
传统的遥感影像目标检测多采用特征工程和分类器训练相结合的检测策略。例如姚远等通过提取影像的Haar和HOG特征并结合AdaBoost和SVM进行分类实现了飞机目标的检测。黎经元等将海陆分割与舰船目标检测相结合,通过分析港口中舰船的分布规律和纹理特点,提出了一种结合边缘线梯度定位和聚合通道特征的舰船检测方法。此类方法的检测效果十分依赖先验的特征设计,且设计的特征通常只适用于特定目标,当需要检测多类目标时,效果往往较差。
图1 PARF-FCOS网络结构图
深度学习特别是深度卷积神经网络(DCNN, deep convolutional neural network)凭借其优秀的特征提取能力,目前已被广泛地应用于遥感影像目标检测中。当前基于DCNN的目标检测算法主要被分为两类,以R-CNN为代表的双阶检测算法和以YOLO、SSD为代表的单阶检测算法。文献[9]等通过在Faster R-CNN的基础上引入STN结构,引导网络自主学习旋转不变特征,解决了目标旋转角度过大的问题。文献[10]在Faster-RCNN模型中引入注意力机制,使用SE模块校准特征通道权重,以较低的计算成本获得了显著的性能提升。文献[11]通过在SSD的基础上添加注意力分支,有效的提升了网络获取目标位置信息的能力。文献[12]设计了一种基于Faster R-CNN的Radar目标检测模型,显著的降低了目标的虚警率。以上算法均是基于锚框的检测算法,通过人工预设的锚框来预测目标的位置,依据待检测目标的形状、大小、密集程度等信息在图像上生成大量的锚框,再通过这些锚框来进行目标边界框回归。然而预设的锚框会占用大量的存储和运算资源,导致模型复杂度高,计算量大。此外,锚框引入的额外超参数需要手动设置,大幅降低了网络的训练效率。
针对基于锚框目标检测算法的缺陷,许多无锚框的目标检测方法被提出。文献[13]提出了ConerNet,该方法将目标检测问题转化关键点检测问题,通过预测目标边界的左上角点和右下角点实现目标的检测。文献[14]提出了一种全卷积一阶(FCOS, fully convolutional one-stage)目标检测算法,采用逐像素预测的方法对目标进行分类和回归,并使用中心度预测分支来抑制低质量检测边框,在COCO数据集上取得了不错的检测效果。与自然场景图像相比,遥感影像中目标所处的背景信息复杂多变,且更易受到环境噪声的干扰。此外,遥感影像中小尺度目标居多,更容易导致误检和漏检的发生。针对遥感影像目标检测中存在的难点,本文以无锚框的FCOS检测网络为基础网络,提出了一种结合位置注意力和感受野增强特征的目标检测算法。该算法首先设计了一种注意力模块,并将其插入特征提取网络,提升网络的特征提取能力;其次,使用感受野模块处理浅层特征图以增大感受野,获取目标上下文信息,提升小尺度目标的检测精度;此外,在训练过程中引入DIoU loss,使边框回归过程更加平稳和准确。本文将该算法简称为PARF-FCOS。
PARF-FCOS目标检测算法的网络结构如图1所示,主要包括特征提取模块、特征融合模块和检测模块3个部分。特征提取模块采用融合位置注意力(PA, position attention)的残差网络(ResNet)作为骨架网络,用于提取影像的多尺度特征信息,其中PA模块引导网络关注有用特征,抑制无用特征,从而提升特征图的表达能力。骨架网络生成特征图C1~C5,大小分别为原图的1/2、1/4、1/8、1/16和1/32。特征融合模块仅处理特征图C3、C4和C5,它先采用RFB结构处理浅层特征图C3,用来扩充浅层特征的感受野大小,增强网络获取目标上下文信息的能力。然后进行特征融合,使用1×1卷积对特征图C5进行降维处理得到特征图P5,经过2倍上采样再与特征图C4相加,得到特征图P4,同理特征图P4经过2倍上采样再与特征图C3相加,得到特征图P3。此外,模型还在特征图P5的基础上通过两个步长为2的3×3卷积得到两个深层特征图P6、P7,大小为原图的1/64和1/128。将特征图P3、P4、P5、P6、P7输入检测模块进行预测,预测信息包括目标类别得分、中心度预测值和边框回归参数。最后利用非极大值抑制算法滤除得分较低的预测框,得到最终检测结果。
图2 位置注意力模块结构图
(1)
(2)
S
=σ
(F
(δ
(F
(Z
))))(3)
S
=σ
(F
(δ
(F
(Z
))))(4)
式中,F
、F
表示1×1卷积,δ
为非线性函数,σ
为Sigmoid函数。最后S
和S
之间相互协作,调整特征权重,计算公式为:(5)
FCOS使用ResNet50作为特征提取网络,ResNet50由多个残差结构单元堆叠而成,通过卷积融合局部感受野内的空间和通道信息来提取图像特征,并且默认所有特征的权重相等。然而在特征提取的过程中,网络应当“重视”有用特征,“忽视”无用特征和作用小的特征。因此,本文在残差结构中添加PA模块来重标定特征权重,提升网络的表达能力,使模型判断更加准确。添加PA模块后的残差结构如图3所示,其中前3个卷积层用来提取特征信息,PA模块用来调整特征权重,短路连接用来传递跨层信息。
图3 带有位置注意力的残差结构
基于上述的注意力残差结构,构造了位置注意力网络PA-Net。ResNet50和PA-Net的结构参数如表1所示。
表1 特征提取网络参数
r
=3),连续的1×1、3×3、3×3和3×3(r
=5),对应的感受野大小分别为3×3,9×9,15×15。将各卷积分支的输出特征进行拼接,利用1×1卷积进行特征融合,最后使用残差连接与原始特征进行相加。图4 RFB结构图
为了优化边界框的回归过程,引入距离交并比损失(DIoU loss)作为边界框回归的损失函数,DIoU loss的计算公式为:
(6)
式中,B
为目标真实框,B
为目标预测框,b
为预测框坐标中心点,b
为真实框坐标中心点,ρ
为两框中心点之间的欧式距离。c
为能同时覆盖预测框和真实框的最小外接矩形的对角线长度。与原网络使用的IOU loss相比,DIOU loss额外考虑了真实框与预测框之间的距离,使边框回归更加准确,同时还避免了两框之间距离过远而导致的梯度消失的问题。为了验证PARF-FCOS目标检测算法的性能,本文在大型遥感影像目标检测数据集DIOR上进行了实验。DIOR数据集由西北工业大学于2020年发布,包含来自Google Earth的23 463幅光学遥感影像,影像尺寸大小统一至800像素×800像素,空间分辨率范围从0.5 m到30 m。数据集共包含192 472个实例对象,每个实例对象均采用水平边框进行标注,覆盖飞机、棒球场、汽车、大坝、立交桥、港口等20个目标类别。数据集随机地选取了11 725幅影像作为训练集,11 738幅影像作为测试集,各占数据集总量的50%。
使用平均精确度(AP
)、平均精确度均值(mAP
)和每秒帧率(FPS
)来评估网络的性能。AP
用于评价单类目标的检测精度,由精确率(P
)和召回率(R
)计算得到。P
表示预测正确的正样本数占预测为正样本总数的比率,R
表示预测正确的正样本数正样本总数的比率,是目标检测领域内的重要精度指标,计算公式如下:(7)
(8)
其中:N
表示正样本被正确识别为正样本的数量,N
表示负样本被错误识别为正样本的数量,N
表示正样本被错误识别为负样本的数量。AP
值为P
随R
的变化曲线即P
-R
曲线与坐标轴围成的面积,计算公式为:(9)
mAP
用来评价模型的整体检测精度,由各类目标的AP
值取平均得到:(10)
其中:n
为数据集中目标类别数。本文网络的训练和测试均在深度学习服务器上进行,服务器的处理器(CPU)为Intel(R)Xeon(R)Gold 6248,显卡(GPU)为Tesla V100,操作系统为CentOS7.5,使用Python3.7编程语言和Pytorch1.6深度学习框架搭建网络,并结合CUDA10.0和CUDNN7.6工具包进行加速,具体的配置信息如表2所示。
表2 实验配置
训练PARF-FCOS目标检测算法的损失函数由分类损失函数、边界框回归损失函数和边框中心度损失函数三部分组成,计算公式如下:
(11)
本文在DIOR数据集上对PARF-FCOS进行训练,训练步骤如下:
1)使用Pytorch深度学习框架搭建网络模型;
2)选择随机梯度下降法(SGD, stochastic gradient descent)作为网络的优化器,其中动量和权重衰减系数分别设置为0.9和0.000 5;
3)初始学习率设置为0.005,并且在训练过程中使用余弦学习率策略将学习率降低至原来的1/10,保证网络在训练过程中能够更快地收敛;
4)每批次送入8张影像进行正向传播,计算网络的损失值;
5)依据损失值反向计算参数的梯度,并跟据梯度调整网络参数;
6)重复步骤4)~5)直到网络收敛或者达到最大迭代次数。
在训练了90个epoch,迭代了125 000多次后,模型的损失趋于稳定,总损失大致稳定在0.7左右,损失变化情况如图5所示。
图5 损失变化情况
为了验证本文算法在遥感影像目标检测任务上的有效性与可靠性,将其与当前一些典型检测算法在DIOR数据集上进行精度对比。实验结果如表3所示。可以看出,各网络模型在DIOR数据集上均取得了一定的检测效果。从单类别的AP值来看,PARF-FCOS在篮球场、桥梁、烟囱等8个类别上取得了最高检测精度,与基准网络FCOS相比,PARF-FCOS对火车站、高尔夫球场和机场的提升效果明显,分别提升了9.5%、8.4%和7.1%,同时对于汽车、舰船和飞机这些小尺度目标也有提升,分别提升了6.3%、5.4%和5.3%;从整体检测精度mAP来看,PARF-FCOS领先于其它对比检测模型,其中,与Faster R-CNN相比提升了16.3%,与采用了特征金字塔网络的Faster R-CNN相比提升了7.3%,与YOLOv3相比提升了13.3%,与CornerNet相比提升了5.5%,与FCOS相比提升了4.3%,同时本文网络也超过了高性能的YOLOv5检测模型。充分地证明了PARF-FCOS目标检测模型的有效性和可靠性。
表3 不同算法的检测结果
为了分析PARF-FCOS中各个改进模块对于模型的影响,本文在FCOS模型的基础上依次对PA-Net、RFB和DIoU loss的有效性进行了实验验证。经过实验发现,以上方法均能提升网络性能,实验结果如表4所示。从检测精度上看,原始FCOS算法在DIOR数据集上取得了66.1%的mAP值,而采用PA-Net提取特征后,取得了69.3%的mAP值,提升了3.2%,这说明添加PA模块有效的提升了网络的特征提取能力,这是因为在PA模块的作用下,特征中的背景噪音等无用信息得到抑制,更有利于网络提取目标的有用信息,提高目标信息的利用率。在加入RFB后,网络取得了69.9%的mAP值,提升了0.6%,说明RFB能够增强浅层特征的目标响应,其原因是RFB的多分支结构具有更大的感受野,能够提取更加全面和丰富的上下文信息,弥补了浅层特征在感受野上的不足。在引入DIoU loss训练网络后,mAP值提升0.5%达到了70.4%,验证了DIoU loss能使边界框的回归过程更加准确,有效地提升了边界框坐标的预测精度。从检测速度上看,PA模块和RFB在一定程度上增加了模型的计算量,检测速度分别下降了4.6FPS和0.9FPS,而引入DIoU loss训练并不会影响检测速度,最终网络的检测速度达到23.2FPS,仍然能满足实时检测的要求。
表4 各模块有效性验证结果
为了进一步验证PA-Net的优势,将其与经典注意力网络SE-Net和CBAM-Net进行了对比,其中SE-Net和CBAM-Net表示将PA-Net中的PA模块替换成相应的注意力模块,其余网络参数均保持一致,实验结果如表5所示。原始网络取得了66.1%的mAP值和28.7 FPS,采用SE-Net、CBAM-Net和PA-Net后分别取得了67.9%、68.4%和69.3%的mAP值,分别提升了1.8%、2.3%和3.2%,相应的检测速度分别为27.6 FPS、21.7 FPS和24.1 FPS。与SE-Net相比,采用PA-Net的mAP提高了1.4%,检测速度下降了3.5 FPS,说明空间位置信息有利于目标检测精度的提升,PA模块通过双注意力分支结构有效的利用了空间位置信息,增强了网络的性能,但是PA模块的计算量较SE模块有所增加,导致检测速度有所降低。与CBAM-Net相比,采用PA-Net后的mAP提高了0.9%,检测速度提高了2.4 FPS,可以看出,相较于CBAM使用卷积获得的局部空间位置关系,PA模块通过一维平均池化能够捕获到更具代表性的全局位置信息,更有利于网络性能的提升,并且PA模块的计算量更少,检测速度更快。
表5 注意力网络对比结果
为了直观地展示本文算法的检测效果,本文对多类场景下的多种目标的检测结果进行了可视化,如图6所示,其中6(a)为FCOS的可视化结果,6(b)为改进模型PARF-FCOS的可视化结果。从图中可以看出,PARF-FCOS的检测结果较FCOS的检测结果更为准确,有效地改善了漏检、错检等现象,如第1行对比图所示,FCOS漏检了影像中的小目标“汽车”和“立交桥”等目标(圆圈标出),而PARF-FCOS能有效的检测出来;在第2行对比图中,FCOS产生了低质量的冗余框,而PARF-FCOS的边框更加准确;在第3行结果图中,FCOS将影像中的“立交桥”识别为“桥梁”,将“飞机”识别为“风力机”(圆圈标出),而PARF-FCOS均能正确的识别出这些目标的类别。可以看出,本文方法的通用性更强,对于不同的场景下的多种结构、尺度差异较大的目标依然能取得优秀的检测效果。
图6 检测结果对比图
针对当前遥感影像背景复杂、小目标等情况导致的检测效果不佳的问题,提出了一种基于FCOS改进的目标检测模型PARF-FCOS。通过构造位置注意力模块,差异化的调整特征图各像元的通道权值,突出目标特征,抑制背景特征;使用RFB处理浅层特征图以增大感受野,获取目标上下文信息,提升小尺度目标的检测精度;训练时采用DIoU loss作为边框回归损失函数,使边框回归过程更加平稳和准确。通过DIOR数据集上的实验分析表明,本文算法有效的提高了目标的检测精度,在多类目标上取得了较高的检测精度,算法对于小目标检测精度也有明显的提升,验证了本文算法的有效性和鲁棒性。本文提出的网络模型虽然提高了检测精度,但PA模块和RFB给网络增加了时间代价。今后,将从网络推理速度出发,尝试利用卷积通道裁剪、网络剪枝等轻量化技术进一步优化模型。