基于深度学习的高分辨率星载遥感影像目标检测综述
2022-03-04邵文昭张文新张书强王晓辉
邵文昭 张文新 张书强 王晓辉
(邯郸职业技术学院 软件与大数据系,河北 邯郸 056005)
引言
高分辨率星载遥感成像是当前对地观测的重要手段,并在目标搜索与判别、打击效果评估等军事领域和农作物估产、防灾减灾等民用领域有着广泛应用[1][2][3]。按照成像原理,高分辨率星载遥感大致可分为光学遥感和雷达遥感。其中,学界和业界对光学遥感当中的可见光遥感和雷达遥感当中的SAR 遥感(合成孔径雷达遥感)最为关注。对于遥感影像而言,最主要的分析任务有两个——目标的位置和目标的类别。这两个任务合称目标检测。随着人工智能技术的发展,卷积神经网络等深度学习算法被广泛应用于遥感影像分析。由于卷积神经网络具有参数规模大、特征抽象能力强的特点,其在目标检测任务上具有准确率高的优势,同时有着算法的时间复杂度和空间复杂度高、可解释性差的劣势[4][5]。
1 几种主要的星载遥感影像成像机理
星载遥感影像,指的是通过人造地球卫星上搭载的传感器获取的遥感影像。按照传感器类别和成像机理,高分辨率星载遥感影像可分为可见光遥感影像、热红外遥感影像、SAR(合成孔径雷达)遥感影像等。以上几种遥感成像方式均广泛应用于米级/亚米级星载遥感。表1从抗干扰能力、全天候对地遥感能力和轻量化后的重量这三个维度对这几种遥感成像方式进行了对比。其中,轻量化后的重量采用的是吉林一号高分03星(可见光)和齐鲁一号SAR 卫星这两种典型的轻量化遥感卫星的数据。
表1 具备米级/亚米级成像能力的不同类别遥感影像的性能对比
可以看出,将可见光遥感和SAR 遥感组合使用,可以有效结合两者的优势、规避各自的不足,从而取得更好的应用效果。图1和图2分别是我国高分二号可见光遥感影像和高分三号SAR 遥感影像的示例[6][7]。
图1 高分二号美国西雅图港口遥感影像
图2 高分三号武汉市青山区遥感影像
2 基于深度学习的遥感目标检测方法
遥感影像的目标检测,指的是搜索遥感影像当中的目标,并判定目标的类别。这里面包含着两方面的任务:1.寻找目标,即确定目标的位置;2.判别目标,即确定目标的类型。例如,遥感影像的舰船目标检测,就包含了两个典型的任务:1.确定遥感影像当中所有舰船的坐标;2.确定这些目标分别属于哪类舰船,如航空母舰、驱护舰、油轮等。传统的遥感影像目标检测方法既包括基于灰度信息、基于模板匹配、基于视觉显著性的目标检测方法,又包括基于传统机器学习的目标检测方法。这些目标检测方法的时间复杂度和空间复杂度低,算法可解释性强,但其检测准确度不高。
遥感影像本质上是图像,而对图像的目标检测是计算机视觉领域的重要研究方向。因此,一个自然而然的想法就是,将计算机视觉领域当中的目标检测算法应用于遥感影像的目标检测。事实上,Faster RCNN[8]、SSD[9]、RetinaNet[10]等计算机视觉领域的深度学习目标检测算法已经广泛应用于遥感目标检测领域,并大幅提高了检测准确率。
深度学习,指的是使用深度神经网络进行的机器学习。在遥感目标检测任务当中,我们用到的深度学习方法主要有:
1.以Faster R-CNN 为代表的two-stage 方法[8],需要用到RPN 区域选择器,其优点是检测准确度高,缺点是算法在训练和使用过程中的时间复杂度较高。这种方法对机器的硬件性能要求高,主要部署在地面的工作站上。
2.以SSD 为代表的one-stage 方法[9],不需要用到RPN 区域选择器,其优点是运行速度快,但检测准确度不如以Faster R-CNN 为代表的two-stage 方法。这种方法对硬件性能要求相对较低,更多地被部署在星载系统上(人造卫星上)。
3.使用了Focal Loss 的one-stage 方法,结合了上述两类方法的优势。例如RetinaNet[10]。
4.Transformer,在有标注的数据集的规模足够大、模型训练时间足够长的前提下,其检测准确率可能优于前三者[11]。
以上方法,大致是用监督学习的方法,通过如下步骤构建遥感目标检测工具的:
1).建立一个包含足够多的样本的数据集。这里的样本特指遥感影像。一般来讲,需要标注出每张遥感影像上的所有目标的位置和类型。之后,需要将这个数据集按照一定的比例划分为训练集和测试集。我们使用训练集对深度神经网络进行训练,用测试集测试深度神经网络的性能。由于遥感图像本身的特点,我们常常采用旋转的方法来扩充数据集。
2).选择一个深度神经网络基础分类器(backbone),例如VGG[12]、ResNet[13]等,用于提取遥感影像的特征。这个基础分类器可能是个预训练模型。
图3 VGG-16神经网络结构示意图[13]
3).构建一个用于确定目标位置和判断目标类型的神经网络(detection head),这个神经网络与上面的backbone 相连接,使用神经网络基础分类器提取到的特征进行计算,包含了一个确定目标位置的回归和一个判断目标类别的分类器。Detection head 与backbone 相结合,就构成了一个完整的深度神经网络目标检测算法模型。
4).使用1)当中所建立的数据集对2)和3)当中建立的深度神经网络目标检测算法模型进行训练和测试。我们常使用mAP[8](mean Average Precision)作为衡量目标检测算法性能的指标。从物理含义上讲,mAP 反映的是目标检测算法的检测准确度。这个值越高,算法的检测准确度越高。由于篇幅限制,此处不对mAP的原理进行详细介绍。
3 几种遥感目标检测算法的对比
由于篇幅限制,这里仅展示传统机器学习算法和几种深度目标检测算法在AIR-SARShip-1.0高分辨率舰船检测数据集[4]上的表现。这个数据集包含了31景高分三号SAR 图像。
表2列出了几种常用的遥感目标检测算法在这个数据集上的性能表现。其中,Faster-RCNN 是典型的two-stage 深度学习目标检测算法,而SSD-300是典型的one-stage 深度学习目标检测算法;Faster-RCNNDR 是使用旋转图像的方式进行数据扩充之后训练出的Faster-RCNN 目标检测模型;KSW、CFAR 和基于K 分布的CFAR 是三种典型的传统机器学习遥感目标检测算法。这里使用了mAP(mean Average Precision,可以认为反映了检测准确度)作为衡量算法性能的依据,并且使用了FPS(每秒检测图片数,也就是检测速度)作为衡量算法性能的参考。
表2 几种常用的遥感目标检测算法的性能对比[4]
可以看出,深度学习目标检测算法在检测准确度上远远优于传统的机器学习算法,而在检测速度上不如后者。类似地,two-stage 目标检测算法在检测准确度上优于one-stage 目标检测算法,而在检测速度上也不如后者。这也印证了本文第2部分对不同的遥感目标检测算法的描述。
总结
作为对地观测的重要手段,高分辨率遥感影像分析有着广泛应用。遥感目标检测是遥感影像分析的重要一环。相对于传统的目标检测方法,基于深度学习的目标检测方法在检测准确度上有着明显优势,但在检测速度上不如传统的目标检测算法。由于基于深度学习的目标检测算法在检测准确度上的优势,其在遥感影像解译领域有着广阔的应用前景。