遥感图像目标检测调研

一个人想着一个人 提交于 2020-01-12 20:29:43

之前做数字图像处理时的作业,整理上来备份一下。

近年来,目标检测在深度学习这波浪潮下经历了快速迭代和发展,包括两阶段的R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN系列的方法,更加上了FPN,FCN,Focal Loss等多种技巧,由于准确度较好,目前仍然在各种检测任务扮演者重要的角色,包括在遥感图像领域。与此相比,SSD,Yolo系列的一阶段检测方法,由于效率更高,在落地应用中展现出了强大的活力。

上述的R-CNN、YOLO系列几种经典目标检测算法在通用的PASCAL VOC,COCO数据集上都有不错的效果,但是在遥感领域却需要做很多针对性的优化,才能对遥感图像做较好的检测。遥感图像与自然场景下的普通图像相比,有如下特点:

  1. 角度是从空中拍摄,30度-90度
  2. 因图像涵盖范围广,小目标占比很大,分布密集
  3. 旋转不变性(船舶各个方向都有,但ImageNet中大树总是垂直的)
  4. 周围环境信息更重要
  5. 训练数据少,但单张图片像素可能极大(某些数据集不大)
  6. 图片可能包含其他各种信息,如波段,地理坐标

遥感图像的上述特点,使得对其进行精准的目标检测有很大的挑战。接下来本文将重点分析几篇和遥感图像目标检测有关的重要文献,并简单介绍调研到的其他文献。

第一篇是DOTA数据集[1](DOTA2018),我们小组的课题打算在此数据集的更新版本(DOTA2019)上,调研现有的遥感图像目标检测算法,并针对数据集和遥感图像的特点,搭建深度学习框架,希望能以较高的准确度进行遥感图像目标检测。

1.DOTA: A large-scale dataset for object detection in aerial image

1.1 DOTA数据集

这篇文章主要介绍了DOTA数据集,以及在YOLOv2,SSD, Faster RCNN等几个常用的目标检测框架上的baseline。

DOTA数据集是CVPR2018上提出的一个空间图像的目标检测数据集,希望像ImageNET,COCO在图像分类和自然场景目标检测所起的作用,通过高质量的目标检测数据集的发布,推动遥感图像目标检测领域的发展,加速学术界的优质模型和处理思想落地应用。

下图是DOTA数据集的部分标注展示。可以看到许多密集的小目标都被标注了出来,该数据集的标注质量相对比较高。

1.2数据集基本信息

DOTA数据集共有2806张遥感图片,来自多种不同的传感器和平台,保证了数据的多样性。每张图片的大小约为4000*4000像素值,包含目标的不同尺度、朝向和形状。这些DOTA图像包含15种常见的目标类别,分别是plane, ship, storage tank,baseball diamond, tennis court, basketball court, ground track field, harbor, bridge, large vehicle, small vehicle, helicopter, roundabout, soccer ball field, basketball court。数据集包含的实例目标数总共为188,282个,与COCO等自然场景下的数据集不同,为了避免因朝向等问题无法精确地刻画目标的位置,DOTA数据集的标注均采用有角度的坐标框。在发布四点坐标的有角度框的同时,官方也发布了一份矩形的用两点(左上、右下)坐标表示的框。

通过下图可以看到,大多数的instance大小都在500像素值以内,不过也包含了不少500-1000的中等大小目标和1000以上的大型目标,像素大小分布分常合理。另一方面,各目标的角度几乎涵盖了所有角度(-π~π),也体现出了遥感图像和普通图像的不同点。在普通图像中,大树、车辆、人等目标几乎都是垂直于地面的,很少存在不同角度的树、人,而空间遥感图像由于拍摄角度的不同,所有目标都可能出现于各种不同的角度,给检测带来了很大的挑战。

Paper中还比较了DOTA与UCAS-AOD[2]HRSC2016[3]NWPU VHR-10[4]其他空间遥感图像的数据集,总的来看,DOTA所涉及的目标种类多,标注实例庞大,来源广泛,多样性强,是非常具有研究性和挑战性的数据集。

1.3评估方法

Paper中在horizontal bounding boxes (HBB),oriented bounding boxes (OBB)两种检测框中做目标检测,选取目前常用的深度学习检测网络,YOLOv2, R-FCN, Faster RCNN, SSD,分别预测矩形的垂直框和有方向的检测框。衡量网络检测质量的指标采用mAP,计算方法与PASCAL VOC一致。

采用DOTA的HBB数据训练模型,常见的网络训练结果如下图所示。

其中,FR-H表示Faster R-CNN trained on Horizontal bounding boxes。对比可以看出,对于YOLO或SSD这种一阶段检测网络,准确率较低,尤其是SSD对于SV(small vehicle),SP(ship)这些密集的小目标,检测效果非常差。而Faster R-CNN作为检测网络的经典网络,达到了60.46的mAP, 结果已经比较不错。

下图是在HBB上训练,在OBB上做评估的结果(FR-O是在OBB上训练),可以看到,所有的mAP都相比HBB更低,由此可见预测OBB这种更精确地检测框,确实带来了较大的困难。即使是用OBB训练的Faster RCNN,mAP也仅54.13,落后于HBB上的60.46.

由于Faster RCNN是预测矩形框作为输出的,paper中为了做实验,对其进行了简单改造,RPN输出ROI后,扩展为四个点的坐标值(x1 = x4 = xmin; x2 = x3 = xmax; y1 = y2 = ymin; y3 = y4 = ymax),再经过RCNN回归,其中真值为OBB的四个点的坐标值,target即为下图所示的公式,逐步优化使得txi,tyi降低。

 

2.R3Det: Refined Single-Stage Detector with Feature Refinement for Rotating Object[5]

2.1网络介绍    

这篇论文主要是讲的旋转目标的预测方法。常见的自然场景图片很少出现旋转目标的检测任务,而在遥感图像领域,检测旋转目标是一个重要的方向。这篇文章提出了一种端到端的单阶段旋转检测器(end-to-end refined single-stage rotation detector),快速准确地定位目标。

论文中设计了feature refinement module (FRM),使用特征插值获取refined anchor,重新构建特征图来实现特征对齐的目的。论文提出的Refined Rotation Single-Stage Detector(R3Det)结构如下图所示。

R3Det是基于RetinaNet[6]进行的改进。RetinaNet采用FPN[7]作为backbone,后接分类和回归subnet,并提出了focal loss来应对类别不平衡的问题。

为了实现基于RetinaNet的旋转检测,论文用五个参数(x,y,w,h,θ)来代表任意方向的矩形。从下图a,b可以看出,预测框角度的较小变化,就会对IOU造成很大的损失。

因此,如图中(c),作者提出了重新编码预测框位置信息的方法,重新构建整个特征图,实现特征对齐。(对于如何实现具体特征对齐,作者没有给出详细的叙述,我认为是这篇文章的一个问题,这篇文章目前只在arxiv,暂未发表)为了精确计算特征信息的位置,作者采用了双线性特征插值方法。

2.2 实验

   文章做了许多实验,论证了FRM对于提升旋转框目标检测的有效性。FRM在DOTA, HRSC2016, ICDAR2015三个数据集上进行了实验。由于论文重点写了DOTA数据集,且本文比较关注DOTA数据集,因此下文重点介绍FRM在DOTA数据集上的效果。

    作者采用resnet-FPN作为backbone,并将原图切分为600×600的大小,用R3Det来训练,并与RetinaNet做比较。可以看出,R3Det对DOTA数据集的检测效果更好。(需要注意的是,下表的mAP是在DOTA2018数据集的测试结果。我们团队的大作业是在DOTA2019进行测试,因此这里mAP仅起参考作用。)

通过上表也可以看出,R3Det引入FRM后,mAP从63增加到65,并经过数据增广、更换更强大的backbone,将mAP提升到72。

与DOTA2018上的SOTA方法相比,R3Det+ResNet101, ResNet152的检测器已经超过了许多两阶段的方法,如ICN, RoI-Transformer,SCRDet等。

2.3个人点评

在我个人看来,读完这篇论文,最大的收获就是针对DOTA做backbone, data augmentation,以及了解旋转框和矩形框的一些问题,但是对于作者提出的FRM模块,根据原文的描述,这一方案并没有提升太多(63.1%到65.7%),而提升较大的反而是用新的backbone和数据增广。而且原文没有对FRM进行详细地描述,使本论文的表达不太清晰。但是无疑,这篇论文对我们后续研究DOTA数据集,做更精细的目标检测框改进,仍然提供了很大的参考价值。

 

3.Objects as Points[8]

这篇文章是anchor free的目标检测器,2019年刚发表,我们打算以此网络作为baseline,在DOTA数据集上进行验证。因此在此精讲一下这篇paper。

CenterNet这篇文章不仅是用在目标检测上,还可以用在人体姿态识别,3D目标检测等。CenterNet结构简单,正如题目所说,把目标看做点,通过预测中心点的位置来检测目标,再回归目标的宽度和高度值,不借助以往的anchor划定范围。如下图所示,红色点代表物体的中心点,模型把所有的物体都看做点,然后基于中心点回归出宽和高。

3.1 检测方法

假设输入的图像为,最终,我们要通过关键点的热力图(keypoint heatmap)来找目标的位置。为了得到热力图,从backbone网络的后面添加全卷积网络,最终得到C张热力图(C为数据集的类别,如COCO中为80)。

得到这些热力图,怎么用真值来训练呢?首先根据ground truth的坐标计算中心点坐标,,由于网络在计算过程中要进行降采样,所以最终对应的低分辨率的中心点是,其中R为下采样因子(本文为4)。然后在下采样的图像猴子那个,将ground truth中心点以的形式,用高斯核将关键点分布到特征图上。这样,特征图上有目标的位置点像素值较大,无目标的位置点像素值较小,就形成了C张热力图的真值。

3.2损失函数

3.2.1 热力图的损失函数

CenterNet的损失函数是focal loss的变形。对于容易检测出来的中心点,适当减少其训练比重,即减少其loss。不太容易检测到该中心点,就加大其loss。

3.2.2偏置损失

因为在生成热力图的过程中,对图像进行了4倍的下采样,这样特征图在映射回原始图像时会带来精度误差,因此对于每个中心点,论文都给出了一个local offset偏置项来补偿它。通过上面的公式也可以看出,这个offset只有2张feature map,也就是所有的类都共用这一个offset。这个偏置项采用L1 loss来训练。

3.2.3 目标大小的损失

假设为目标k,类别为Ck,那么它的中心点坐标为。网络使用关键点预测来预测所有的中心点。然后对每个目标k的大小进行回归,最终回归到。目标大小的feature map为

整体网络的损失函数为中心点损失、偏置损失和目标大小损失之和。每个损失赋予对应的权重。

每个坐标点都会产生C+2+2个数据,分别为每个类别的概率、长宽、偏置。

3.3 推断

训练完模型,在检测阶段,首先对一张图片下采样。然后预测出每个类在下采样的特征图,然后将图中每个类的热点提取出来。提取的方法就是检测当前点的值是否比周围8个点都大,然后取100个这样的点。

取出这样的点之后,每个热点的位置用整型坐标表示,然后使用表示当前点的confidence。然后添加偏置项和目标的大小。

3.4 总结

    这篇文章介绍的模型结构非常简单,是一种anchor free的方法,核心思想就是把目标看成点,通过检测中心点的位置来检测目标。这种思路不仅可以用于目标检测,如论文中所说,在3D检测和人体姿态识别中效果也是不错的。我认为这篇文章的思想非常值得借鉴,与以往的目标检测方法有很大的不同,非常灵活。

4. Learning RoI Transformer for Detecting Oriented Objects in Aerial Images [17]

4.1模型介绍

    在遥感图像中,有许多的密集小目标,它们朝向各不相同,与自然场景下的目标不同,因此如果用垂直的矩形检测目标,会造成非常严重的不准确。如下面的这个图可以看出,旋转的矩形可以更加精确地检测密集目标。

所以这篇论文提出了一个叫做RoI Transformer模块,致力于实现朝向不同的密集目标。它包含两个部分,第一个部分是RRoI Learner,用来将垂直的RoI(HRoI)转换成有方向的RoI(RRoI)。第二个部分是Rotated Position Sensitive RoI Align,用来从RRoI中抽取方向无关的特征,用来进一步对目标的分类和位置回归。

RoI Transformer的结构如下图所示,对于每个HRoI,它会经过一个RRoI learner。这个RRoI learner是一个全连接网络,用来回归HRoI和RGT的偏置。Box decoder是RRoI learner的末端,将HRoI和偏置作为输入,输出编码的RRoIs。然后特征图和RRoI经过RRoI wraping抽取方向无关的特征。RRoI learner和RRoI warping组成了一个RoI Transformer。

Rotated Position Sensitive RoI Align是接在RoI Transformer的结构,用来在一个网络中抽取旋转无关的特征。RPS RoI pooling将RRoI划分为K*K个块,然后输出一个K*K*C维度的特征图。

    K*K*C维度特征图的计算方式如下面公式所示

其中,Tθ的函数表达式为:

    RRoI Learner, RPS RoI Align组成了本论文的核心模块

4.2实验

在DOTA2018数据集上,论文采用RoI Transformer进行了实验。首先对原始图片切成了1024*1024大小的patch,步长为824。下表给出了不同方法在DOTA2018数据集上,预测旋转框的效果,在使用FPN的情况下,mAP达到了69.56.

检测的效果可视化结果如下。

总结来看,这篇文章提出了一个叫做RoI Transformer的结构,用来提取旋转无关的特征,以更准确地生成旋转框。在DOTA数据集上的实验也证明了这个模块的效果。

 

5.其他论文概述

    Deep Learning in Remote Sensing: A Review[9]是一篇2017年发表的综述文章,叙述了2012年起深度学习的发展及其在遥感影像中的应用。

文章从感知机出发,首先介绍了深度学习的发展历程,到多层感知机,到全连接、CNN。从2012年ImageNet引起的卷积神经网络快速发展,介绍了AlexNet[10], VGGnet[11], ResNet[12], FCN[13],这几个网络结构都代表着CNN在图像处理领域的里程碑事件。

深度学习在遥感图像领域的应用主要体现在高光谱影像分析、SAR图像解译、高分辨率卫星图像解析、3D重构等。深度学习的出现无论从性能,还是准确度,都比以往的传统遥感图像处理方法有更大的优势。因此像高分辨率卫星图像解析领域,包含目标检测、场景分类等,目前的SOTA方法都是基于深度学习的方法,如Resnet, Faster RCNN[15], FPN[16]等。

Faster RCNN(Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks)是目标检测领域的一个经典算法,至今仍在各个场景下发挥着重要的作用。Faster R-CNN是2016年提出的R-CNN系列方法,是一个经典的两阶段目标检测算法。Faster R-CNN把特征抽取、proposal生成、bounding box回归和目标的分类都整合在一个网络中,实现了端到端的训练,综合性能有了比较大的提升,尤其是在推理速度方面提升巨大。如下图的网络结构所示,首先用backbone(如Resnet50)抽取出图像的高层特征。然后送入RPN网络,生成proposal,再将生成的proposal对应到图像高层特征上,送入回归和分类的网络。在这个过程中,RPN网络发挥了重要的作用,使得生成proposal的过程不必像以往那样,采用游离于网络之外的方法,而是融进同一个网络中,实现端到端的训练。

 

 

参考文献

  1. Xia G S, Bai X, Ding J, et al. DOTA: A large-scale dataset for object detection in aerial images[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 3974-3983.
  2. H. Zhu, X. Chen, W. Dai, K. Fu, Q. Ye, and J. Jiao. Orientation robust object detection in aerial images using deep convolutional neural network. In ICIP, pages 3735{3739, 2015.
  3. Z. Liu, H. Wang, L. Weng, and Y. Yang. Ship rotated bounding box space for ship extraction from high-resolution optical satellite images with complex backgrounds. IEEE Geosci. Remote Sensing Lett., 13(8):1074{1078, 2016.
  4. G. Cheng, P. Zhou, and J. Han. Learning rotation-invariant convolutional neural networks for object detection in VHR optical remote sensing images. IEEE Trans. Geosci. Remote Sens., 54(12):7405{7415, 2016.
  5. Yang X, Liu Q, Yan J, et al. R3Det: Refined Single-Stage Detector with Feature Refinement for Rotating Object[J]. arXiv preprint arXiv:1908.05612, 2019.
  6. T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollar. Focal loss for dense object detection. In Proceedings of the IEEE international conference on computer vision, pages 2980–2988, 2017.
  7. T.-Y. Lin, P. Dollar, R. B. Girshick, K. He, B. Hariharan, and S. J. Belongie. Feature pyramid networks for object detection. In CVPR, volume 1, page 4, 201
  8. Zhou X, Wang D, Krähenbühl P. Objects as Points[J]. arXiv preprint arXiv:1904.07850, 2019.
  9. Zhu, Xiao Xiang et al. “Deep Learning in Remote Sensing: A Comprehensive Review and List of Resources.” IEEE Geoscience and Remote Sensing Magazine 5.4 (2017): 8–36. Crossref. Web.
  10. A. Krizhevsky, I. Sutskever, and G. Hinton, “Imagenet classification with deep convolutional neural networks,” in Advances in Neural Information Processing Systems (NIPS),2012.
  11. K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” in IEEE International Conference on Learning Representation (ICLR), 2015
  12. K. He, X. Zhang, S. Ren, and J. Sun, “Deep residual learning for image recognition,”
  13. in IEEE International Conference on Computer Vision and Pattern Recognition (CVPR),2016.
  14. J. Long, E. Shelhamer, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), 2015
  15. Ren, Shaoqing et al. “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks.” IEEE Transactions on Pattern Analysis and Machine Intelligence 39.6 (2017): 1137–1149. Crossref. Web.
  16. Lin, Tsung-Yi et al. “Feature Pyramid Networks for Object Detection.” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017): n. pag. Crossref. Web.
  17. Ding J, Xue N, Long Y, et al. Learning roi transformer for detecting oriented objects in aerial images[J]. arXiv preprint arXiv:1812.00155, 2018.
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!