廖育荣,王海宁,林存宝,李阳,方宇强,倪淑燕
(1.航天工程大学电子与光学工程系,北京 101416;2.航天工程大学研究生院,北京 101416)
光学遥感图像目标检测的主要任务是在光学遥感图像中对感兴趣目标进行定位和分类[1],在情报侦察、目标监视、灾害救援、工业应用及日常生活等领域都发挥着重要作用,同时也是后续目标跟踪、场景分类、图像理解等工作的基础。遥感图像目标检测关注的对象通常包括港口、桥梁、飞机、舰船、车辆等多类型目标,由于遥感目标自身存在任意方向旋转、小目标、多尺度、密集分布等情形,叠加不同成像条件及环境因素等对遥感图像的影响,导致针对多场景遥感图像目标的检测具有很大挑战。
传统的遥感图像目标检测算法一般可以分为基于模板匹配的算法和基于人工特征建模的算法。具体地,基于模板匹配的算法计算输入图像中特定区域的特征向量与模板特征向量的匹配度,如结构相似性测量[2]与Hausdorff 距离匹配[3],根据匹配度大小来检测目标。基于人工特征建模的算法基于专家先验规则以选取候选区域,进而建立目标的特征表示,如视觉显著性检测[4]、尺度不变特征变换[5]、定向梯度直方图[6]和稀疏多模态学习[7]等,再通过分类器实现对目标的检测。传统遥感目标检测算法虽然理论完备,但其难以对多种复杂任务场景及目标进行充分特征表示,且滑动窗口式等操作限制了算法效率,导致其目标检测的精度和速度难以满足实际需求,针对不同类型的检测对象泛化能力仍需提高。
随着人工智能技术的发展以及数据样本不断扩充,研究人员开始致力于使用深度学习技术来解决遥感图像目标检测问题[8-9],目前仍呈增加之势。当前基于深度学习的遥感图像目标检测算法可以分为两大类:基于候选区域[10-12]和基于回归分析[13-14]的算法,二者有时又被称为双阶段与单阶段算法。虽然基于深度学习的目标检测算法可解释性仍需进一步研究,但其在多个公开数据集上的目标检测效果已远超传统算法,特别是经过近10 年的迅速发展已形成一批优秀成果。文献[15-17]针对遥感图像目标检测相关问题进行综述,重点围绕代表性方法、数据集、遥感图像所存在的特殊问题、特定目标类型等进行归纳总结。正是因为遥感图像智能目标检测算法的飞速发展,珍贵的遥感图像数据才得以被充分解译,这也促进了遥感技术服务于当今社会发展的潜力。因此,总结该领域中的深度学习目标检测算法研究进展具有重要的意义。
本文在充分参考相关研究及综述工作的基础上,首先,对遥感图像目标检测领域基于候选区域与回归分析的两大类算法进行了归纳综述;其次,针对最常见的遥感图像目标检测特定任务场景算法改进进行了总结;再次,介绍了遥感图像目标检测常用数据集,并对典型算法的测试结果进行了对比分析;最后,对未来遥感图像目标检测研究值得关注的问题进行了展望。
光学遥感图像在成像视角、空间分辨率、下视背景、目标属性等方面相对常规图像具有明显差异,因此对其目标检测需结合任务特点进行算法设计。基于候选区域的目标检测算法将问题分为2 个阶段:第一阶段用于生成一系列可能包含目标的候选区域;第二阶段则对这些候选区域进行目标或背景分类及边界框回归。基于候选区域的光学遥感目标检测算法流程如图1 所示,其中最具代表性的算法为区域卷积神经网络(R-CNN,region convolutional neural network)及其改进系列算法。
图1 基于候选区域的光学遥感目标检测算法流程
文献[18]于2014 年提出R-CNN 算法,其首先通过选择性搜索算法生成2 000 个候选区域,然后对每个候选区域进行尺度归一化,并送入CNN 进行特征提取,最后基于所提取特征进行支持向量机分类和边界框回归。2015 年,文献[19]提出Fast R-CNN 算法,使用感兴趣区域池化(ROI Pooling,region of interest pooling)层进行区域特征选择。2017 年,Ren 等[20]提出了Faster R-CNN 算法,将候选区域生成融入整体网络中,实现了端到端的深度学习目标检测框架,极大地提高了算法检测速度和精度。基于Faster R-CNN 的优异性能,研究人员将其广泛拓展到遥感图像检测领域,以期实现对遥感目标的有效检测。现有工作主要聚焦于提高目标特征表示的有效性、感兴趣区域定位的准确性,以及预测位置回归的准确性这3 个方面。
1.1.1 增强目标特征表示的改进研究
特征表示是将目标信息映射到特征向量的过程,其直接影响后续分类的精度。Faster R-CNN 算法的浅层网络中虽含有较多目标特征信息,但语义信息不够丰富,容易造成目标定位与分类误差。其深层网络中语义信息相对丰富,但计算量较大,难以满足遥感图像目标检测速度要求。为了提高Faster R-CNN 算法对遥感图像目标的特征表示能力,通常采用特征融合策略进行特征增强[21-25],同时,也可以通过改进卷积层结构或处理策略以增强目标特征表示,如使用层次选择滤波层[26]、非局部特征增强卷积层[27]等。此外,Cheng 等[28]在浅层卷积特征提取时使用旋转不变正则化器和Fisher 判别正则化器,消除了目标特征旋转与类间相似性对目标特征提取的影响。Han 等[29]通过将生成候选区域与检测网络这2 个阶段的特征进行共享集成,增强了检测网络的目标特征表示能力。
1.1.2 优化感兴趣区域生成与处理的改进研究
候选区域生成网络(RPN,region proposal network)与RoI Pooling 层的引入是Faster R-CNN 相比原有R-CNN 系列算法的重大改进,对提高目标检测性能至关重要。针对遥感目标多方向、多尺度、多成像条件等特点,研究人员主要聚焦从候选RPN与ROI Pooling 层2 个方面进行改进,以提高算法对遥感目标的检测效果。一方面,RPN 用于为ROI 提供有效的候选框集合,其准确性将直接影响后续目标定位与分类精度,因此对RPN 的改进是优化ROI 最直接有效的方式[30-33]。另一方面,ROI Pooling 层在RPN 的基础上筛选训练样本,并且由不同大小的候选区域生成相同尺度的特征图,使遥感图像的ROI更好地保留或融合空间位置信息[34-40]。
1.1.3 提高目标定位精度的改进研究
遥感图像中普遍存在目标方向各异、密集排列的情况,导致准确确定目标位置具有较大难度,并且目标与目标之间可能出现区域重叠,干扰预测位置回归的准确性。一方面,交并比(IoU,intersection over union)值作为衡量锚点框定位精度的优化目标,其无法区分2 个重叠对象在不同方向上有相同交叉的情况。因此对IoU 的改进重点在于增强其自适应能力,如文献[38]设计的自适应IoU 计算,文献[41]提出的旋转框IoU 计算,文献[42]提出的联合交集IoU 计算等方法,有效缓解了因阈值设置带来的检测结果敏感性问题。另一方面,由于目标定位精度依赖于非极大值抑制(NMS,non-maximum suppression)算法筛除冗余预选框,因而针对传统NMS 的改进也是提高遥感目标定位精度的一个重要途径[43-44]。基于候选区域的遥感目标检测算法相关信息如表1 所示。
推扫型和凝视型成像遥感卫星生成的可见光遥感图像通常具有较高的像元数量,而对于遥感卫星典型应用,通常具有较高的目标检测时效要求。基于回归分析的目标检测算法不需要单独候选区域生成,而是从输入图像的多个位置直接回归分析出目标的边界框与类别,具有比基于候选区域算法更快的处理速度,因此在遥感图像目标检测领域获得了广泛关注。基于回归分析的光学遥感图像目标检测主要包含基于YOLO(you only look once)[45]和SSD(single shot multibox detector)[46]框架的两类算法,其基本流程如图2 所示。
表1 基于候选区域的遥感目标检测算法相关信息
图2 基于回归分析的光学遥感目标检测基本流程
1.2.1 YOLO 系列遥感目标检测算法
遥感目标检测的实时性是性能评价的关键因素,因此更快速的YOLO 系列目标检测算法得到了广泛关注。Redmon 等[45]提出了YOLOv1 算法,通过端到端的单阶段网络同时实现对目标的分类与定位,在兼顾检测精度的同时大幅提高了检测速度。YOLO 算法在发展过程中不断被改进[47-49],逐步向高效率检测方向发展。Jocher 等[50]针对实时目标检测提出了YOLOv5 算法,通过采用模型剪裁等技术进一步压缩了模型大小,提高了检测速度。Ge等[51]提出了YOLOX 算法,通过数据增强、无锚点检测以及标签分类等巧妙的集成方案,实现了算法精度与速度的进一步提升。
YOLO 系列目标检测算法因其便于轻量化部署的优势,在高像素、高实时,特别是资源受限的在轨处理等遥感领域具有较大潜力。研究人员基于改进的YOLO 系列算法,已成功探索其在地震房屋受损检测[52]、深海石油探测[53]、特殊农作物种植检测[54]等遥感领域应用。当前提升YOLO 算法对遥感目标的检测精度一方面可以从特征提取角度展开,能够更加有效地使网络进行特征迭代[55-58];另一方面,使用注意力机制可以突出遥感目标的资源分配权重[59-60],或采用密集连接网络以增强层级之间的信息传输[61],从而达到基于YOLO 网络进行遥感图像目标检测任务更深入、更准确的训练。此外,由于不同的遥感场景中目标的形态特点各式各样、方向排序千差万别,因此YOLO 检测算法衍生出多种专项组合网络,分别用于小目标[62-63]、多尺度[64-65]、多模态变化[66]等具有挑战性的遥感检测场景,并取得了比原网络更优的检测效果。
1.2.2 SSD 框架在遥感检测中的应用
Faster R-CNN 的锚点框机制和YOLO 算法的回归思想在遥感目标检测中有各自的优势。基于两者的优势,2016 年Liu 等[46]提出了SSD 算法,将Faster R-CNN 中锚点框改为先验框,并且直接使用回归分析过程,有效提升了遥感目标检测的速度。此外,SSD 算法从多尺度特征图中生成预测,克服了光学遥感图像常出现的目标尺寸不同的问题。
基于SSD 算法在目标检测速度和精度上的均衡优势,研究人员分别从网络结构[67-69]、回归策略[70],以及特定场景适应性[71-75]等角度出发,进行算法改进研究,以此抑制光学遥感图像中噪声对目标检测的影响,提高检测精度。表2 总结了基于回归分析的遥感目标检测算法相关信息。尽管当前针对上述问题设计出多种改进方案,但遥感目标检测仍是一项开放的、具有挑战性的创新型工作。
遥感图像中非规则排列的目标因呈现方向多样性特点,被称作旋转目标。常规深度学习目标检测网络由于并未针对旋转目标进行针对性设计,因此通常对该类目标特征提取能力相对较弱,进而影响对该类目标的检测效果。为了解决这一问题,一种解决思路是通过旋转变换来扩充训练样本[27,76],该方法依旧使用水平框标记检测到的目标,虽然能够在一定程度上增强模型对旋转目标的稳健性,但也容易造成水平框与旋转目标实际尺寸不符的结果。另一种解决思路是采用回归旋转目标的角度信息,在目标周围生成合适的倾斜框,从而提高对旋转目标的特征表示能力。目前常用旋转框参数表示方法包括以90°或180°为周期的五参数表示法和有序四边形表示法[77-78],如图3 所示。其中,五参数表示法使用目标中心点坐标、框宽高、x 轴与框边夹角来表示旋转框的位置;有序四边形表示法采用4 个顶点坐标对水平框与衍生旋转框做逆时针排列。
现阶段大多数研究工作使用上述表示法进行旋转角度回归,生成准确的预测边界框。文献[79-80]将旋转锚定采样与多层特征相结合,构造了针对旋转目标的特征提取与融合结构,然而在角度预测过程中会产生较大的损失值,形成难以消除的边界误差。文献[81-83]较好地平衡了旋转角度分类所带来的理论误差问题。除了角度回归方法以外,研究人员还提出了自适应感受野[84]、中线预测[85-86]、掩模分支预测[87]等技术,文献[88]则提出在损失函数中添加正则化项来约束旋转前后的特征映射关系,从而实现对旋转目标的有效检测。
图3 常用旋转框参数表示方法
遥感图像中通常会包含一些仅有几十甚至十几个像素的小目标。小目标给遥感目标检测带来了一定挑战:一方面小目标特征相对较少,传统CNN的降采样处理会减小特征图的尺度,因此小目标容易在降采样的特征图中消失,导致算法难以有效进行特征提取;另一方面当小目标与背景颜色接近时,易出现目标与背景难以区分,导致对小目标定位不准的问题。当前改进算法主要通过增大小目标特征图尺度和设计有效的特征融合提取模块的方式来提高检测能力。
关于增大特征图尺度,常用的方法是增强浅层网络的特征信息,或者在深层特征中进行上采样操作[35,64,75,89-90]。文献[44]提出了一种小目标检测增强架构,通过上采样操作增大深层特征图尺度。值得注意的是,在保证深层特征中始终存在小目标时上采样才有意义,否则需要重新优化浅层网络。关于设计小目标特征融合提取模块,其目的是丰富特征图中的小目标信息,并在后续传递过程中减少信息损失。文献[80]提出了级联特征的融合策略,通过整合浅层位置信息和深层语义信息,达到融合各层特征并增强级联效果的目的。文献[68]利用扩展卷积设计了一种高效特征融合网络,增强了深层特征的有效感受野。由于真实遥感图像中的小目标尺度可能不同,特征融合模块难以在深层特征中拼接,因此仅使用特征融合模块的方式可能会成为检测的瓶颈,而现有工作已验证注意力机制与特征融合模块相结合在小目标检测的有效性[67]。此外,特征嵌入[26]、特征迁移[33]等技术也被应用于遥感小目标检测特征融合方法中。在实际检测中,根据任务需要将特征图尺度调节与特征融合策略相结合,使2 种思路实现优势互补,能够缓解目标尺度过小对检测带来的影响。
表2 基于回归分析的遥感目标检测算法相关信息
在卷积神经网络中,目标的语义结构信息可能出现在任何卷积层,各层特征的分布与目标的尺度大小有关。在遥感场景中,经常会出现不同类别尺度的目标或者同一类别不同大小的目标在同一视野的情况。这些目标的尺度差距较大,使不同目标的特征难以同步传递至深层网络,导致以特征图表征作为预测基础的深度卷积网络不能有效获取多尺度目标的特征,进而影响多尺度目标的检测精度。因此尺度变化范围大的遥感图像目标检测仍是一项具有挑战性的问题。
当前遥感多尺度目标检测主要围绕多尺度信息融合模块进行改进[22,91-93]。一种较具代表性的算法是利用特征金字塔结构来充分获取多尺度目标的特征信息,使不同尺度的特征得以保留[94-96]。多尺度目标中通常同时包含小目标,利用金字塔结构等特征提取融合模块能够有效兼顾浅层与深层特征,在对多尺度目标进行有效检测的同时也兼顾了对小目标的高精度检测[97]。此外,Transformer 模型[98]所引入的注意力机制被证明在多尺度目标检测中具有良好效果,文献[99]利用Transformer 模型改进YOLOv5 的预测网络,结合自注意力机制实现了对多尺度目标的有效检测。
光学遥感图像密集目标检测的难点在于各个目标位置相距较近导致易出现位置预测不准确和边界框重叠的情况。同时,当采用水平边界框进行目标位置预测时,由于水平边界框包围面积一般大于目标实际面积,使在对密集目标检测时会加剧边界框重叠问题,特别是当目标密集斜向排列时。为提高对遥感密集目标检测效果,当前主要从特征增强和精确定位2 个方向对算法进行改进。
在特征增强方面,文献[79]通过采用监督式空间注意力和通道注意力组合机制,在增强密集目标特征的同时削弱了背景特征,使密集目标之间的界限更清晰。文献[56]设计了特征精细化模块来进行特征重建,使特征与目标对齐,同时采用了微调旋转锚点框以适应密集目标检测任务场景。文献[100]通过采用多尺度检测算法来增强对密集目标的特征提取能力,结合圆形平滑标签(CSL,circular smooth label)技术来改进损失函数,以此降低对密集目标重复检测的概率。在精确定位方面,文献[31]提出了基于无监督的边界框回归算法,并利用非极大值抑制方式优化密集目标的边界框,从而实现对密集目标的准确定位。此外,密集标签编码[82]、特征选择与动态优化[84]等方式从特征匹配角度出发,也为密集遥感目标检测提供了新的研究思路。以上算法的相关信息如表3 所示。
综上,遥感图像目标检测中的复杂任务场景激发了多类算法改进。需要注意的是,虽然上述总结分析是对四类特定任务场景进行阐述,但实际中一幅遥感图像可能同时包含其中的多类情形,针对某一任务场景的改进有时也会有利于其他任务场景。因此,在光学遥感图像目标检测领域,面向各类问题的多任务优化目标可以协同解决。
光学遥感图像数据集在遥感目标检测任务中发挥着至关重要的作用,它能够为模型训练提供珍贵标准的遥感数据,同时也为不同网络及算法对比提供客观统一的基准。近年来随着卫星遥感技术的发展,一些高质量的光学遥感图像目标检测数据集流行起来,本文选取具有代表性的15 个数据集进行介绍,各数据集样例的统计信息如表4 所示,包括发布者及内容描述、数据集所含目标类别数与图像数。正是这些公开的光学遥感图像数据集,使基于深度学习的遥感目标检测技术快速发展。
当前评价光学遥感图像目标检测算法常用的性能指标是精确度(Precision)、召回率(Recall)、平均精度均值(mAP,mean average precision)以及帧率(FPS,frame per second)。精确度反映了检测结果中的真实正样本占比。召回率反映了在所有待检测正样本中被正确检测到的正样本占比,精确度和召回率存在权衡组合的关系。其中,将精确度作为纵坐标,召回率作为横坐标作图,可得到精度-召回率曲线(PR,precision-recall curve);曲线下的面积表示某类别目标的平均精确度(AP,average precision);多个类别的AP 均值即平均精度均值mAP,表示算法在数据集上的整体性能。帧率是每秒可以处理的图片数量,用于评估算法的检测速度。
表3 面向特定任务场景的遥感目标检测算法相关信息
表4 常用的光学遥感图像目标检测数据集概述
各算法性能评价大多采用NWPU VHR-10 与DOTA 数据集,典型光学遥感图像目标检测算法性能对比如表5 所示。结合前述对各类型算法原理特点的阐述分析,以及表5 中典型算法在相同数据集上的性能对比,可以得出以下结论。
表5 典型光学遥感图像目标检测算法性能对比
1) 由于不同遥感图像数据集在空间分辨率、背景复杂性、目标多样性、成像质量上存在差异,同一算法在场景复杂与简单的数据集的mAP 值差异明显,如CAD-Net[25]算法。这表明复杂任务场景下的目标检测依然是当前一个具有挑战性的问题。
2) 由于算法结构本身的约束使选取不同的主干网络会得出不同的结果,因此要在实验中匹配合适的主干网络层数,使模型的性能整体上得到提升。从表5 中可以看出,高性能网络模型逐渐成为主干网络的首选。此外,从不同层数ResNet 主干网络对应算法性能来看,主干网络层数也并非越深越好,需要与算法框架进行匹配设计。主干网络层的非线性拟合能力与算法的匹配结合问题,也是当前进行深度学习解释性研究工作的难点。
3) 算法针对确切场景问题从而做出的改进是有效的。例如GWD[83]专门用以解决目标方向旋转的问题,HyNet[97]专门用以解决目标多尺度变化的问题。此外,由FMSSD[75]和HSF-Net[26]等的性能对比可以看到,针对小目标检测所改进的增强网络特征提取能力,在一定程度上也会提升对密集目标的检测效果。因此,针对某一任务场景的改进有时也会有利于其他任务场景,面向各类问题的多任务优化目标可以协同解决。
近年来,基于深度学习的遥感图像目标检测研究迅速发展。从遥感图像目标检测技术未来能够广泛应用于民用领域来看,提高各类复杂任务场景的检测精度和速度,进而提高算法整体性能依然是遥感图像目标检测的主要发展方向。与此同时,伴随着航天、载荷等技术的发展,遥感图像目标检测未来在以下4 个方面值得进一步研究。
1) 遥感小样本无监督学习目标检测。尽管近年来搭载有光学载荷的成像卫星频繁发射,公开遥感图像数据集也接连发布,但受限于卫星总体数量、特定遥感数据的敏感性,以及对目标类别型号检测的更高要求,依然缺乏稀有目标或偶发事件的足够训练数据,通常需要在小样本或仿真数据下进行模型训练和验证,文献[114-115]已开展相关研究。由于部分遥感数据存在无标注或标注不明确情况,因此还需要采用无监督学习来解决问题。
2) 遥感视频影像动态目标检测。高分辨率视频影像在提供更加丰富信息的同时,也对遥感影像目标检测及后续处理提出了新的需求。遥感视频影像具有目标微小、干扰复杂的特点,因此基于深度学习的遥感视频目标检测仍面临巨大的挑战[116]。当前遥感目标检测主要针对单帧影像,探索基于视频影像的高效目标检测策略和算法,包括构建遥感视频影像目标检测数据集及评价准则,将会是未来计算机与遥感通信交叉领域的一项重要研究内容。
3) 多源数据融合目标检测。当前遥感目标检测主要基于可见光图像,限制了其在情报侦察、灾害救援等涉及夜间、微光、云雾、伪装等条件下的应用。伴随着多光谱、红外、合成孔径雷达(SAR,synthetic aperture radar)载荷先后发射升空,未来天基遥感数据将包含多源异构数据。遥感图像目标检测算法也将在主要处理可见光图像的基础上,进一步拓展到对多光谱、红外、SAR 图像的处理,以及对多源异构遥感数据的融合目标检测[117]。
4) 遥感在轨实时处理检测。在航天情报侦察与目标跟踪等应用领域,往往对情报信息的准确性和时效性有着严格要求。当前,一方面受限于算法性能,另一方面受限于卫星硬件算力及资源消耗,遥感目标检测算法主要针对卫星下传数据进行离线处理和人机结合应用。从航天技术未来发展来看,在轨实时目标检测将成为遥感领域的必然发展方向之一,也必将促进适用于卫星在轨处理的目标检测硬件加速技术的发展[118]。
随着卫星技术的迅速发展与遥感数据集规模的日益扩增,基于深度学习的光学遥感图像目标检测技术已经证明其在特征表征、训练表达等方面的优越性。本文首先对当前基于候选区域与回归分析的两大类光学遥感图像目标检测算法进行了归纳,在此基础上针对四类常见特定任务场景目标检测改进算法进行了综述;然后结合常用遥感目标数据集对不同算法的性能进行了对比分析;最后对未来遥感图像目标检测值得关注的问题进行了展望,进一步说明了该领域面临的挑战与巨大应用前景。