基于深度学习的光学遥感图像目标检测研究进展
2021-11-13刘小波蔡之华乔禹霖
刘小波 刘 鹏 蔡之华 乔禹霖 王 凌 汪 敏
1.中国地质大学(武汉)自动化学院 武汉 430074 2.复杂系统先进控制与智能自动化湖北省重点实验室 武汉 430074 3.地质探测与评估教育部重点实验室 武汉 430074 4.中国地质大学(武汉)计算机学院 武汉 430074 5.北部湾大学北部湾大数据资源利用实验室 钦州 535011 6.清华大学自动化系 北京 100084
光学遥感[1],是指传感器工作波段在可见光波段,也就是0.38~0.76 μm 范围的遥感技术,这个范围的波段是传统航空摄影侦查和航空摄影测绘中最常用的工作波段.随着卫星数量的增多、重访周期的缩短、图像分辨率的提高,遥感图像数据量越来越大,且随着新卫星的升空,数据量将会不断增加.剧增的数据量为科学研究提供了很多可利用的信息,但是要利用好遥感图像还有一定的难度,特别是受天气、光照、海况、传感器参数等多种因素影响,使得光学遥感图像的特征提取较为困难.
光学遥感图像目标检测是确定在给定的航空或卫星图像中是否包含一个或多个感兴趣的地物对象,并对对象进行定位的任务.作为航空和卫星图像分析领域的基本问题,光学遥感图像中的目标检测在环境检测等领域有着广泛的应用,如检测、地质灾害探测、土地利用和土地覆盖(Land-use and land-cover,LULC)制图、地理信息系统(Geographic information system,GIS)更新、精准农业、城市规划等.常见的光学遥感图像的检测目标有人造物体,如船只、车辆、房屋等,以及非人造的自然环境中的物体,如动物、树木、江河等.
传统的光学遥感图像目标检测算法都是以区域选择 - 特征提取 - 分类器为主线的方法[2],通过滑动窗口的方法来遍历整幅图像,滑动窗口设置有不同的长宽比以增强对不同形状的目标的识别能力.接着对每一个滑动窗口进行特征提取,这个阶段常用的特征有Haar 特征、尺度不变特征变换(Scale-invariant feature transform,SIFT)匹配算法、方向梯度直方图(Histogram of oriented gradient,HOG)等,都是基于图像的纹理、色彩、尺度等特征[3-4],特征的可解释性较强.最后通过传统机器学习分类器(如支持向量机(Support vector machine,SVM)、Adaboost 等)对滑动窗口进行分类来达到目标检测的目的.传统的遥感图像目标检测算法有着严重的弊端,由于滑动窗口法使用的是穷举法,导致时间复杂度过高,并且产生了很多冗余的窗口,这也严重影响后续特征提取以及检测的速度和精度[5].并且由于目标的形态多样性、光照变化多样性[6]、背景多样性等因素使得设计一个鲁棒性好的特征存在一定的难度,而且所提取特征的好坏直接影响到分类的准确性[7].基于深度学习的光学遥感图像目标检测在2016年Girshick 等[8]首次将深度神经网络用于目标检测之后开始快速发展起来,深度神经网络由于其强大的自动提取特征的能力,使得其在遥感图像目标检测任务中被广泛运用.相比于传统光学遥感图像目标检测算法,基于深度学习的方法解决了传统检测算法适应性不高、对背景模型的更新要求高、提取特征鲁棒性差和检测的实时性差等缺点[9],使检测模型在精度和速度方面都有了很大的提升.基于深度学习的光学遥感图像目标检测方法,是计算机视觉检测领域的一个重大创新[10].这些算法的创新点都是把传统的计算机视觉和深度学习方法进行结合,并取得了良好的检测效果.准确性和实时性是衡量目标检测系统性能的重要指标[11],也是一对矛盾体,如何更好地平衡它们一直是目标检测算法研究的一个重要方向.随着深度学习的不断发展,检测的精度和实效性也逐渐提升.因此,基于深度学习的光学遥感图像目标检测算法得到了广大研究者的关注,成为机器学习领域的热点话题之一.
光学遥感图像目标识别技术在表征学习以及检测方面取得了稳定进展,特征提取由原来的手动提取特征转变成深度卷积神经网络(Convolutional neural network,CNN)来自动提取特征,就提取效率而言是一种长远的进步.近年来的算法框架大部分都是基于深度学习的通用目标检测算法框架,并试图通过在一个或多个方面进行改进来达到在特定数据集实现目标检测.大致上,这些算法可以分为两大类,第1 类是基于区域的算法(Two-stage),其将检测问题划分为两个阶段,首先产生区域提议(Region proposal),然后对候选区域分类(一般还需要对位置精修),该类算法的特点是精度高但速度相对慢.第2 类是端到端的算法(One-stage),这是一种整体性更高的方法,不需要区域提议阶段,直接产生目标的类别概率和位置坐标值,该类算法的特点是速度快但精度相对低.基于深度学习的光学遥感图像目标检测方法都是基于这两类方法而演变得来的.
本文的其余部分安排如下:第1 节对光学遥感图像目标检测目前存在的难点进行介绍,第2 节对基于深度学习的目标检测方法进行了概括介绍.第3 节以不同难点为驱动,分析比较了基于深度学习的光学遥感图像目标检测不同算法的优缺点.第4节进行总结与展望.
1 光学遥感图像目标检测面临的挑战
光学遥感图像不同于普通光学图像,其差异性主要体现在传感器和拍摄角度上.随着遥感技术的发展,遥感设备所搭载的传感器分辨率以每10年一个数量级的速度提升,高分辨率甚至超高分辨率成为了新一代遥感卫星的发展趋势,同时,高的空间覆盖能力也在同步加强.高分辨率和高覆盖范围在带来了巨大信息量的同时,也给遥感图像目标检测领域带来了全新的挑战.一方面,尽管基于深度学习的方法与传统方法相比有着很强的特征提取能力,但是其良好的表现基于大量被标记样本的重复迭代学习以及较高的计算消耗,面对如今超高分辨率的遥感图像(如GF-2 数据集图像的分辨率为27 620×29 200 像素),基于深度学习的方法难以高效地进行检测.另一方面,相对于巨幅遥感图像,部分目标类别(如车辆、房屋等)在整幅图像所占像素则偏小,仅有十几个像素,即使性能优异的深度学习方法也难以达到理想的检测效果.普通光学图像所拍摄的事物大多分布在垂直方向,并且目标往往会占据整幅图的大面积区域,整幅图像的语义信息较为简单.而光学遥感图像的语义信息较为复杂,地表上空的拍摄角度所带来的问题有:目标方向以及尺寸多变、目标密集排列出现、复杂的背景区域占据整幅图的较大区域等.图1 分别展示了光学遥感图像目标检测所遇到的几个问题的典型案例.
图1 光学遥感图像目标检测所遇到的几个问题的典型案例图Fig.1 A typical case diagram showing several problems encountered in optical remote sensing image target detection
2 基于深度学习的目标检测方法
2.1 基于区域的深度学习目标检测方法
对于传统目标检测算法中滑动窗口造成大量信息冗余的问题,候选区域提供了很好的解决方案[12].区域提议利用了图像中的纹理、边缘、颜色等信息预先找出图中目标可能出现的位置,可以保证在选取较少窗口(几千个甚至几百个)的情况下保持较高的召回率[13].这大大降低了后续操作的时间复杂度,并且获取的候选窗口要比滑动窗口的质量更高.这类算法的典型代表是基于候选区域的R-CNN(Region-based convolutional neural network)[8]系列算法,如R-CNN、Fast R-CNN[14]、Faster R-CNN[15]等,图2为Two-stage 网络的算法流程图.
图2 Two-stage 算法流程图Fig.2 Two-stage algorithm flow chart
目前,Two-stage 通用目标检测算法有如下几种:1)R-CNN,由3 个部分组成,第1 部分使用一种称为“选择性搜索”的算法扫描可能是目标的输入图像,生成约2 000 个区域推荐;第2 部分在这些区域推荐上使用CNN;第3 部分取每个CNN 的输出使用支持向量机进行分类和线性回归来进行目标检测.2)Fast R-CNN,通过两个方面的增强提高了检测速度,第1 个是在推荐区域之前在图像上执行特征提取,因此在整个图像上仅运行一个CNN而不是在超过2 000 个重叠区域运行2 000 个CNN;第2 个是用Softmax 层代替SVM,从而扩展神经网络进行预测,而不是创建一个新的模型.3)Faster R-CNN,使用快速神经网络来代替慢速的选择性搜索算法,提出了区域提议网络(Region proposal network,RPN)来获取候选区域,取得了更快的检测速度和更好的检测精度.4)R-FCN(Region fully convolutional netural network),采用100% 共享计算的全卷积设计,并提出了位置敏感分数图(Position-sensitive score maps),通过将感兴趣的区域(Region of interest,ROI)进行划分,并给每个区域进行类别和位置的评估来最终确定整个目标的类别和位置,最终在速度和精度上具有比Faster-RCNN更好的效果.5)Mask-RCNN[16],在网络的第2 阶段,Mask-RCNN 加入了一个全卷积神经网络的分支,它能对每个感兴趣区域输出一个二进制的掩膜(Mask)从而提取精细的空间布局,实现了像素级别的预测.
2.2 基于端到端的深度学习目标检测方法
自R-CNN 以来,基于区域的两阶段网络在检测问题上一直占有优势.近期,随着研究者的共同努力,R-CNN 系列算法在精度和效率上具有很好的表现,但是检测速度仍有待提高.很多研究学者已经开始从研究两阶段网络效率问题转向了整体性更高的单阶段网络的精度问题.One-stage 网络泛指直接进行分类预测和边界框回归的算法结构,没有像两阶段网络一样的区域提议阶段和分类阶段.One-stage 网络与Two-stage 网络相比结构更简单,它将所有计算封装在一个网络中.整个检测流程是一个单一的网络,可以在检测性能上进行端到端的优化.图3 为One-stage 算法的流程图.
图3 One-stage 算法流程图Fig.3 One-stage algorithm flow chart
目前,One-stage 通用目标检测算法有如下几种:1)YOLOv1(You only look once v1)[17],由于区域提议生成阶段被完全取消,YOLOv1 直接使用一小部分候选区域来预测检测.与Two-stage 的方法不同,例如Faster R-CNN,从局部区域的特征来预测目标,YOLOv1 全局地使用来自整个图像的特征.特别是,YOLOv1 将图像划分为S×S个网格.每个网格预测C类概率、B个边界框位置和这些框的置信度得分.这些预测被编码为S×S×(5B+C)的张量.通过完全放弃区域推荐生成步骤,YOLOv1在设计上是运行效率高的,可以在45 帧/s 上实时运行.2)YOLOv2[18],YOLOv1 的改进版本,将YOLOv1 中的GoogleNet[19]换成了更简单的DarkNet-19,此外,还利用了许多从现有工作中得出的策略,如批归一化、删除全连接层、以及使用从K 均值和多尺度中学到好的锚框.3)YOLOv3,相比V2 版本,主要进行了如下几方面的改进,首先是网络结构的改进,网络的结构由Darknet-19 变为Darknet-53,跳跃连接的现象越来越普遍.接着是末端激活函数的改进:尾部的激活函数(类别预测)由Softmax 改为Sigmoid.最后是锚框数量的改变:Anchor box 的数量由5 个改为3 个.4)SSD(Single shot multiBox detector)[20],其结合了Faster RCNN、YOLO 以及多尺度卷积特征的思想.与YOLO 类似,SSD 对在边界框中的目标实例进行预测时得出可能的目标的边界框以及评价,再通过非最大值抑制算法(Non-maximum suppression,NMS)算法得出最可能的一个目标类.SSD 采用全卷积神经网络,通过在多个卷积特征映射上操作来执行多个尺度上的检测,每个映射都预测适当大小的边界框的类别分数和边界框偏移量.
注 1.YOLOv3 是一个未正式发表的算法,可参见文献:Adam V.You only look twice:Rapid multi-scale object detection in satellite imagery.arXiv:1805.09512v1[cs.CV].2018.
3 基于深度学习的光学遥感图像目标检测方法研究现状
深度学习因其更强大的泛化能力,在光学遥感图像目标检测领域已经得到广泛运用.光学遥感图像由于其传感器以及拍摄角度的特殊性,与普通图像相比有诸多差异.尽管有着强大的分歧特征提取能力,受限于光学遥感图像的超高分辨率和超大覆盖面积所带来的新问题,传统基于深度学习的目标检测算法难以取得理想的效果.
目前已经有许多学者正在尝试使用深度学习的方法来解决光学遥感图像目标检测,这些创新性的算法结构都以传统的深度学习方法为基础.本节将以深度学习方法的光学遥感图像目标检测所面临的问题为导向,进行不同算法的归纳和总结.
3.1 面向光学遥感图像分辨率过高问题的深度学习目标检测方法
深度学习方法的强大性能是以牺牲计算速度为代价的,其训练过程需要反复迭代才能达到较好效果.面对超高分辨所带来的超大数据量,传统深度学习的方法很难在保证检测质量的同时快速的学习其中的重要信息.表1 对当前解决图像分辨率过高问题的部分算法进行了比较.
表1 解决图像分辨率过高问题的不同方法对比Table 1 Comparison of different methods to solve the problem of high image resolution
文献[21-27]将原始尺寸的大图切割为一系列的小图进行处理,不仅使得网络有了处理这些数据的能力,同时也放大了图片,提高了检测效果,但是该方法容易使得位于小图片边缘区域的目标被切割.文献[28]借鉴了卷积神经网路重叠区块的思想,以一定重叠率对原图进行滑动切割,避免了小图边缘区域目标被切割的问题.但是滑动取块使得整幅大图的处理时间变得更加冗余,文献[29]发现滑动取块法会造成信息冗余的原因是大图中部分的滑动窗口区域并没有包含有需要被检测的目标,因此,利用RCNN 网络的两阶段检测特点,在使用20%重叠率的大图取块后,首先使用第一阶段的定位器对不包含有目标的凸显块进行过滤,从而减小第二阶段的分类器的计算负担,该方法在保证检测效果的同时,减少了多余的计算消耗.但是对于重叠部分可能会出现多次检测的问题,因此算法YOLT(You only look twice)在使用15% 重叠率的滑动取块之后,利用非极大值抑制来防止重叠部分的多次检测,进一步减小了计算消耗.但是将大图切割为小图进行计算始终不是一个高效的处理方式.
注 2.YOLT 是一个未正式发表的算法,可参见文献:Adam V.You only look twice:Rapid multi-scale object detection in satellite imagery.arXiv:1805.09512v1[cs.CV].2018.
文献[30]直接对原图进行处理,使用全卷积神经网络进行候选区域映射(每个像素预测是否为飞机,如果是,则以此为中心,取196×196 像素的框作为候选区域,最后使用非最大值抑制来减少重复框),提取可能存在目标的区域,然后训练一个分类器来验证结果,有效减少搜索区域,但是候选框的大小是基于先验信息决定的,面对尺寸多变的检测任务则难以有效处理.
3.2 面向光学遥感图像目标过小问题的深度学习目标检测方法
基于深度学习的目标检测算法大多以卷积神经网络作为主干网络,因为卷积神经网络在图像处理方面有着优异的表现.但是面对仅有几十或者几百个像素的小目标时,卷积神经网络反而成了劣势,这是由其下采样层造成的,小目标往往会在经过多层下采样层的深层网络后消失.表2 对当前解决图像目标过小问题的部分算法进行了比较.
表2 解决目标像素过少问题的不同方法对比Table 2 Comparison of different methods to solve the problem of too few object pixels
最直观的解决办法是重新扩大特征图尺寸,大多数文献通过加入反卷积层来扩大特征图,算法YOLT 使用类似ResNet(Residual neural network)恒等映射的通过层(Passthrough layer)将最后一层网络输出层与中间层拼接,浅层网络的加入提高了小目标的检测能力,同时作者增加了YOLO的网格个数,使得每个网格能预测更小的目标,但是对小目标提取能力的提高有限,考虑到计算消耗,也不能无限增加网格个数.文献[31]以Faster RCNN 为基础网络,在进行区域推荐后加入反卷积层,重新放大小目标的尺寸,改善了小目标的检测效果.但是反卷积的作用体现在当深层网络特征图中依然存在少数小目标的像素点时,对于在深层网络中已经消失的小目标特征无法起到放大作用,并且该网络结构对于不同大小的目标检测鲁棒性差.文献[25]则利用反卷积层进行浅层和深层网络的多尺度的特征融合,不仅为特征提取引入了上下文信息,同时还能兼顾大、小目标的检测.但是浅层网络对于小目标来说会引入过多的背景噪声,因此文献[24]在使用多尺度信息进行特征融合的同时,使用平衡系数来平衡加入的上下文信息所引入的噪声.但是平衡因子的选择没有很好的理论依据,只能凭经验选择,对不同数据集的鲁棒性较差.
反卷积的加入同时也会引入过多的参数,文献[32]在YOLOv2 模型中加入了膨胀卷积,在扩大感受野的同时,相比反卷积减少了参数.但是膨胀卷积会造成局部信息丢失的问题,文献[33]使用像素级注意力机制来融合局部信息和全局信息,弥补了膨胀卷积的不足,同时,全局注意力将浅层和深层特征结合,改善了小目标的检测效果.但是其全局注意机制是通过全局池化结合平均池化,然后再进行下采样获得的,同样面临CNN 网络下采样所面临的问题.
文献[27]提供了不同的思路,采用由粗到精的检测方法,结合两个CNN 网络,第1 阶段使用CNN进行范围较大的粗糙的目标检测(检测结果里只包含一个目标),第2 阶段网络对第1 阶段网络的粗预测结果再进行仔细的检测,缩小范围可以解决直接检测难以检测小目标的问题.但是两步检测都存在检测效率低的问题.
如何在保证大目标检测效果的同时提高小目标的检测效果,并且保证较快的检测速度,还需要更进一步研究.
3.3 面向光学遥感图像目标方向变化问题的深度学习目标检测方法
光学遥感图像由于其特殊的拍照角度,会更加凸显目标的方向性,而CNN 的深度学习模型是不具有旋转不变性的,多变的角度会给检测带来困扰.目前解决目标方向变化的思路主要有两种:数据增强以及改变网络结构.表3 对当前解决图像目标方向变化问题的部分算法进行了比较.
表3 解决目标方向变化问题的不同方法对比Table 3 Comparison of different methods to solve the problem of object direction change
文献[22-26,34] 分别使用几个不同的旋转角度,对训练数据进行翻转扩充增强,扩充不同角度的样本数量,改善目标旋转对检测效果的影响.不同于普通的旋转变换,文献[35] 使用单应性变换(Homography transform)来进行数据增强,其能够准确捕捉平面场景的范围变化,达到更好的增强效果.
数据增强中的旋转增强是一种简单的改善目标方向变化问题的方法,有着一定的效果,但是旋转增强方式的旋转角度是固定的,无法有效地解决网络对于目标方向变化的处理能力.文献[36]在框架的基础网络后加入旋转不变层,通过引入正则化约束项来强制训练样本在旋转前后共享相似的特征,从而达到旋转不变性.文献[37]在Faster R-CNN模型的RPN 网络中加入多角度锚框来解决目标方向变化问题.文献[38]采用多尺度信息融合的全连接层来增强对于旋转和尺度变化的鲁棒性.
目标方向变化不仅给网络特征提取带来障碍,同时给目标检测过程中的定位任务造成了困扰.尤其对于舰船这样细长的目标,水平检测框难以达到精确的定位.为此,文献[25]在网络检测阶段加入了方向预测分支,使得目标检测框能按照目标不同的方向进行精确定位.文献[39]在加入方向边界框的基础上,使用基于旋转的ROI 池化,解决了普通的ROI 池化对于舰船这样细长的目标会引入很多噪声的问题.文献[22]在使用方向边界框的基础上创新性地提出了船头方向预测.
3.4 面向光学遥感图像目标尺寸变化问题的深度学习目标检测方法
如今光学遥感图像目标检测的任务大多为多类别的检测任务,这些类别中有相对小的目标如舰船、飞机、车辆、房屋建筑、储油罐等,也有相对大的目标如篮球场、田径场、飞机场、网球场等.当大目标和小目标同时出现在检测任务当中时,网络对于较大的尺寸变化难以做出很好的处理.表4 对当前解决图像目标尺 寸变化问题的部分算法进行了比较.
表4 解决目标尺寸变化问题的不同方法对比Table 4 Comparison of different methods to solve the problem of object size change
目前的研究主要通过加入多尺度信息来解决不同大小目标的检测问题,文献[30]目标推荐区域调整为3 个不同尺寸图,并将3 个图分别使用3 个网络进行预测,最终通过投票决定最后的目标类别,使得不同尺寸目标在同一标准下分类预测.文献[22]使用稠密特征金字塔网络,对不同层的特征图使用RPN 网络,最后通过卷积层映射到同一维度进行融合,结合了浅层网络的位置信息以及深层网络的语义信息,解决了不同大小的目标检测问题.文献[40]在RCNN 基础网络的两个不同尺度特征图中加入了两个RPN 网络,来应对不同大小的目标提案.文献[28]通过使用跳跃链接的自编码机多尺度结构来适应不同尺度的变化,对不同尺度使用不同锚框进行预测,解决目标尺度变化问题.
3.5 面向光学遥感图像目标密集排列问题的深度学习目标检测方法
部分目标类别如舰船、车辆、飞机等交通工具,因人为因素会出现密集排列的问题,这增加了目标定位和目标分类的难度.表5 对当前解决图像目标密集排列问题的部分算法进行了比较.
表5 解决目标密集排列问题的不同方法对比Table 5 Comparison of different methods to solve the problem that objects are densely arranged
对于密集排列目标的定位问题,文献[22,39]通过带有方向的边界框检测解决了这个问题.对于密集排列目标的区分问题,文献[41]使用了一种局部再识别机制,利用网络中的一个尺度来重新识别每个目标块,然后使用非最大值抑制过滤,达到更精细的目标框定位,从而减小边界框重叠.算法YOLT 对图像进行上采样,以确保感兴趣的目标大且足够分散,在提高小目标检测能力的同时改善了目标的密集排列检测问题.
3.6 面向光学遥感图像复杂背景问题的深度学习目标检测方法
光学遥感图像目标检测除了常见的目标类别(标准数据集NWPU VHR-10 包含有10 类目标)以外,其他没有被检测的地物类别都被划分为背景,而且由于图像覆盖范围广,与普通图像相比背景所占比例较高,这也给检测任务带来了困难.表6 对当前解决图像复杂背景问题的部分算法进行了比较.
表6 解决复杂背景问题的不同方法对比Table 6 Comparison of different methods for solving complex background problems
靠岸舰船检测是受遥感图像复杂背景影响的一个典型问题.靠岸船只的特点是紧靠船坞并且与船坞平行.从上空角度来看,船坞的结构与舰船的结构混淆,这也是造成靠岸舰船难检测的一个重要原因.文献[42]使用全卷积网络来训练提取靠岸舰船、海洋以及陆地三种类别的语义特征,然后作为注意力机制来给各个类别事物加权,提升了网络海陆分离的能力.但是利用先验信息不具有普适性,当船坞的舰船密集停靠的时候,其特征与陆地特征相近,难以进行海陆分割.文献[23]将大量不包含目标的图片用于负样本进行训练,同时训练一种综合性的损失,该损失在当陆地上类似舰船的目标被识别为舰船时最大,从而有效抑制陆地背景中与舰船有相似特征的地物的影响,实现无需海陆分离的靠岸舰船识别.
除靠岸舰船检测之外,还有其他受复杂背景影响的例子.文献[43]使用多尺度特征提取方法,将各层特征图单独使用视觉注意力机制增强并检测,消除了不同大小目标检测过程中的背景噪声影响,但多尺度分别预测造成了网络计算量的增大.文献[44] 结合R-FCN 网络的位置敏感分数图以及Faster R-CNN 网络的RPN,在使用RPN 网络获得区域推荐之后,在目标提案上使用位置敏感分数图,实现目标局部位置的预测,只有达到一定的局部特征相似度才能被判别为某一目标类,消除了背景的影响,但是该方法对于较为相似的背景类,可能会出现误判,对复杂背景的分辨能力不够高.
3.7 面向光学遥感图像样本不足问题的深度学习目标检测方法
样本不足问题是所有目标检测任务都要面临的问题.面对高昂的图片获取的成本以及人工标记成本,光学遥感图像目标检测数据集更加显得珍贵.并且深度学习的方法对数据集的要求较高,现有数据集的样本分布难以有效地训练模型.目前解决训练样本不足的问题主要的思路有:数据增强、弱监督学习以及迁移学习.表7 对当前解决图像样本不足问题的部分算法进行了比较.
表7 解决样本不足问题的不同方法对比Table 7 Comparison of different methods for solving sample insufficient
文献[24-27,36,44-46] 分别使用了包括平移、缩放、旋转、镜像翻转、水平翻转、对比度增强、亮度调节、纺射变换等方法对训练数据进行扩充.这些数据增强方法不仅成倍扩充了样本数量,而且一定程度上解决了部分前面提到的问题(如方向和尺度变化).但是数据增强并没有从本质上解决网络本身性能不足的问题,并且这些变换都是基于原始训练数据,经过变换之后的样本相似度太高,本质上讲仍然是原始样本,因此对检测效果的提升有限.
弱监督学习分为不完全监督(即关注于现有标记数据集不足以训练出好的模型)、不确切监督(即关注于现有标记数据提供的信息不够准确)、不准确监督(即关注于现有标记数据集的信息不总是真值).光学遥感图像目标检测主要的问题是不完全监督.文献[47]使用生成式对抗网络(Generative adversarial network,GAN)通过少量训练样本来进行虚拟样本生成.相比数据增强方法,其生成的样本与原始训练样本并不相同,因此能更好的解决样本不足问题.但是单独使用GAN 进行预处理降低了网络的运行速度.文献[30]在对模型迭代训练过程中通过挖掘难分负样本来迭代扩充包含不同场景类别的负样本,改善由于复杂背景导致的误检问题,但是仅鉴于负样本的扩充,没有解决有标记正样本的不足问题.
深度学习方法因为需要对数据进行反复迭代学习,使得样本数量的问题在深度学习方法上显得格外重要.迁移学习作为解决训练集不足问题广泛运用在多个领域,目前对于光学遥感图像目标检测任务,其主要运用是使用源域数据对模型进行预训练,然后将预训练模型的知识进行迁移,再在目标域数据上进行进一步训练.例如文献[16] 使用ImageNet 数据集对YOLOv3 网络进行预训练,然后再迁移至目标域数据进行微调.文献[41]使用ImageNet 数据集对主干网络进行预训练,然后迁移至目标域数据进行微调.这些方法的理论基础是深度神经网络(Deep neural network,DNN)的浅层是低级语义信息(如边缘信息、颜色信息等),DNN 的深层是高级语义信息(不同目标类别之间的分歧信息).
4 总结与展望
本文简要回顾了光学遥感图像目标检测的研究背景,介绍了传统的检测方法,并概括了基于深度学习的传统目标检测方法,接着对基于深度学习的光学遥感图像目标检测所面临的困难进行了归纳,并以此对目前基于深度学习的光学遥感图像检测方法进行了分类对比,并总结了目前的研究现状.随着遥感技术的发展,光学遥感图像的质量会有进一步提升,因此光学遥感图像的应用前景依然十分广阔,目前基于深度学习的光学遥感图像目标检测发展迅速,潜力巨大.使用基于深度学习的模型可以有效解放人力,将特征工程交于算法完成,极大提高网络对于不同数据的鲁棒性.
目前基于深度学习的光学遥感图像目标检测主要问题在第3 节已经列出.尽管有很多研究致力于解决这些问题,并且取得了一定的效果,但是在寻找更好和更高效的解决办法上仍然留有很大的发挥空间.因此,在后续的研究应该考虑以下几个研究方向.
1)在解决因图像分辨率过高造成网络计算负担增加的问题上,目前较多的方案是将大图切割成小图进行训练.这些方法在提高检测精度的同时引入了过多冗余的计算,因为原始图像中的某些图像块不包含目标或者包含有少量的目标,但是目前的网络会对这些块等同处理.如何选取有效的图像块使得目标尽可能多地落入该区域,如何优化网络使得网络能够将更多的注意力放在包含有目标的图像块,可以作为后续的一个研究方向.
2)在解决因目标方向变化影响检测效果的问题上,数据增强可以作为后续研究的一个优化技巧被嵌入网络中,在算法优化上,考虑使用一种更加有效的旋转不变映射机制,改善基于CNN 的深度学习网络对于旋转的鲁棒性.
3)在目标尺寸变化问题上,网络的浅层对应更小的感受野,适用于提取小目标特征,网络的深层对应更大的感受野,适用于提取大目标特征.目前不同算法在解决目标尺寸变化问题上,都是基于这一理论使用多尺度信息来改善不同尺寸目标的检测效果.但是多尺度的选取仅仅对大和小进行了区分,不能适应不同数据集中的目标尺寸变化问题.后续的研究考虑加入多尺度自适应机制,针对不同数据集中目标大和小的具体尺寸情况来选取适合的多尺度信息.
4)在解决因目标密集排列造成目标难定位问题上,目前的解决方法大多集中在引入方向边界框预测,对密集排列目标的定位问题进行了很好的解决,但是同时目标密集排列还会造成单个目标信息难以提取的问题.考虑在网络中加入更加精准的目标分割技术,首先对密集排列目标进行图像分割,再使用网络对分割的目标进行特征提取.
5)在解决因复杂背景影响检测效果的问题上,大多方法利用分割技术,将背景和目标区分开,从而改善网络对目标特征的提取能力,也有部分方法是通过提高网络对于背景和目标的分歧能力来减小复杂背景的影响.这些解决方法作用在算法的不同阶段,可以考虑使用一种有效的结合方法,共同用来解决复杂背景问题.
6)在解决样本不足的问题上,数据增强作为一种易于实现的小技巧,可以继续用于后续新算法的研究.考虑针对不同类样本的分布情况以及不同的背景情况,使用弱监督学习方法来改善样本不平衡问题.在迁移学习的应用上,目前的研究都是使用通用目标检测数据集进行迁移.目标域与源域的数据有着很大差别,使得只能进行浅层低级语义信息的迁移.光学遥感图像有着其特殊拍摄角度,如果使用同为高空角度拍摄图像(如其他光学传感器拍摄的光学遥感图像、合成孔径雷达影像、高光谱影像等),其与目标域的高层语义特征会更加相似,因此可以考虑使用同为高空拍摄的数据进行更深层的迁移以减少网络对于源域数据的依赖.