基于改进旋转区域生成网络的遥感图像目标检测 下载: 2151次
1 引言
随着航天遥感技术的飞速发展,遥感图像的分辨率不断提高,基于遥感图像的目标检测在多个领域发挥着越来越重要的作用。目标检测[1-2]主要包括预处理、特征提取、分类识别等阶段。根据提取图像特征方法的不同,目标检测算法分为基于传统图像处理与机器学习算法相结合的算法和基于深度卷积神经网络的算法。前者主要通过对方向梯度直方图等特征进行提取,然后将提取的特征输入到支持向量机等分类器中学习分类规则,最后利用训练完成的分类器实现目标的检测。然而,这些特征都是人工设计的,提取过程繁琐,且属于浅层特征,特征表达能力弱,对于背景复杂多变的遥感图像目标的检测效果欠佳。
近年来,深度学习[3]有了新的进展,卷积神经网络[4]被应用于目标检测。自从基于大型图像数据库ImageNet[5]的图像分类竞赛出现以来,各种深度学习检测算法[6-8]相继被提出,这些算法主要分为One-stage和Two-stage两类。其中,2018年提出的YOLO v3[7]是One-stage中的一种代表性算法,而Two-stage方法中的代表算法为Faster R-CNN(Region-Convolutional Neural Network)[8]等算法。R-CNN系列算法已从Faster R-CNN发展到了Mask R-CNN[9],通过采用RoIAlign,添加一个掩模分支,达到实例级别的检测分割。One-stage算法在检测速度上优于Two-stage算法,但是在精度上则逊于后者。然而,这些主流的目标检测算法针对的是自然场景的图像,并未考虑目标的方向性等特征。
得益于深度学习在自然场景下对目标检测的巨大成功,大量基于深度学习的遥感图像目标检测[10-12]研究不断涌现出来。遥感图像中待检测目标的一种重要特点是其方向及形状的不确定性,采用传统的水平框框选目标的方式无法准确地定位目标。而且,遥感图像中的目标大都密集分布,采用水平框的方式还可能会对检测后的非极大抑制(NMS)结果产生影响,导致检测效果变差。对于检测目标方向性多样的问题,已经有人提出了一些解决方法,但其中有很多是用于文本检测的,如:文献[ 13]中提出了一种基于旋转区域的文本检测算法,该算法首先使用区域候选网络生成水平的候选框,再用多尺度池化后的特征来预测倾斜的文本框;文献[ 14]中对Faster R-CNN网络中的区域生成网络(Region Proposal Network,RPN)进行了改进,加入了旋转信息,使得RPN网络能够直接生成有角度的预测框来进行多方向性的文本检测。
综上考虑,本文通过互联网收集了国内外公开的遥感图像数据集,对它们的特点进行对比分析后,从Google Earth、资源卫星中心网站[15]等数据源下载了遥感图像数据,然后采用人工标注建立了小型遥感图像的典型目标数据集。在卷积神经网络理论的基础上,本文提出了一个基于Faster R-CNN改进的遥感图像目标检测方法。针对遥感图像目标方向不定且分布聚集的特点,利用旋转区域生成网络取代区域生成网络,使网络能够生成任意角度的候选区域框,更加贴合目标的边界框,增大检测的准确率;同时,采用RoIAlign替代RoIPooling,以减小池化过程中的误差;针对遥感图像尺度大的特点,修改了Faster R-CNN的分类网络,在全连接层之前添加一个卷积层,以减小生成特征图的维度,避免出现过拟合现象,增强分类器的性能。将本文算法与YOLO v2[7]、YOLO v3[7]等深度学习算法在DOTA[16]数据集上进行对比实验,实验结果表明本文设计的改进算法对遥感影像中目标的检测效果更好,可以实现多场景下多类遥感图像目标识别的检测任务。
2 Faster R-CNN原理
考虑到遥感卫星图像检测的应用需求,本文采用检测精度较高的Faster R-CNN[8]深度检测框架作为算法原型。Faster R-CNN算法的网络框架如
Faster R-CNN使用基础网络进行特征提取,利用在图片分类任务上预训练好的基础网络来输出中间层的特征图。其优势在于使用RPN产生候选区域框,RPN使用卷积神经网络直接产生建议区域,可以与分类网络共享特征提取网络,有效地减少了计算量,从而提高了整个目标检测过程的效率。
Faster R-CNN网络包括基于区域的卷积神经网络R-CNN。R-CNN用全连接层为每个可能的目标类输出一个概率分数,R-CNN将RPN输出的建议分为目标类和背景类,并对每个预测的目标类别的建议边框坐标进行调整,使输出的边框坐标更加准确。采用特征图对每个RPN生成的建议框的特征进行压缩,然后连接两个全连接层进行分类回归。
原始Faster R-CNN算法将VGG16[17]网络的部分层作为浅层特征提取器,主要提取目标的点、边缘等基础特征,而且感兴趣区域作用在最后一层,从而影响了小目标的检测效果。遥感图像中的目标(比如船只、车辆等),具有方向性和密集分布的特点,此时,这类目标的检测与识别会受到方向的影响,因此采用普通的矩形框检测会导致检测框难以精准地包围目标。
为解决以上问题,本文针对现有Faster R-CNN算法进行改进,主要包括三方面:1)重新设计特征提取网络;2)设计能产生旋转候选区域框的区域生成网络,使候选框更加贴合目标的边界框;3)对分类网络进行改进,以减小误差并减少网络的参数量。
3 基于改进旋转区域生成网络的目标检测方法
本文主要在以下三方面对现有Faster R-CNN算法进行改进:1)在基础网络阶段构建特征金子塔,并进行多尺度目标检测;2)将旋转区域生成网络(Rotation RPN, RRPN)取代RPN,重新设计Faster R-CNN算法中的区域建议网络;3)用RoIAlign取代RoIPooling,且在分类网络中添加一个卷积层。算法的整体框架如
3.1 多尺度特征
遥感图像的分辨率过大,导致小目标很多,而Faster R-CNN算法使用VGG Net部分网络层作为浅层特征提取器,主要提取目标的点、边缘等基础特征,因此小目标的检测效果表现不佳。本文选择特征提取基础网络为ResNet-101,同时加入了多尺度特征,以增强对小目标的检测能力。ResNet[18]的提出解决了传统网络加深时出现的退化问题,网络最深可达152层。与传统的网络相比,深度残差网络具有更好的泛化能力,同时还具有更低的复杂性。ResNet相对于VGG网络更深,因此能够更好地学习到图像中的细节特征。ResNet在卷积和池化层之间加入了批量归一层来加速训练,同时采用残差连接使得深度模型的训练比较容易。残差网络引入了基于残差块的学习框架,输入可以通过跨层连接更快地向前传播。
图 3. 多尺度特征提取示意图。(a) Faster R-CNN特征提取方法; (b)特征金字塔
Fig. 3. Diagram of multi-scale feature extraction. (a) Faster R-CNN feature extraction method; (b) feature pyramid
Faster R-CNN[8]只根据基础网络最后一层的输出特征进行分类,计算量小,需要的内存少。然而,最后一层的特征属于高层特征,因此网络对于小尺度目标的特征表现力不足。一般说来,卷积神经网络的高层特征具有低分辨率、高层语义信息的特点;相反,低层特征具有高分辨率、低层语义信息的特点。把高层特征和低层特征结合起来,就能同时利用多尺度下的语义信息。根据文献[
19]的思想,本文在特征提取部分加入了特征金字塔,以提升最终的检测效果,如
卷积神经网络的前馈计算是一条自下而上的路径,本文的基本网络使用每个残差块的特征激活输出,分别对应不同的卷积层输出,并具有不同的步长,这样能够很好地处理小目标。相比于只利用最后一层卷积层提取的特征,这种结构可以利用更多的高层语义信息;对于小目标而言,在更大的特征图上面进行操作,增大了特征映射的分辨率,从而可以获得关于小目标的更有用的信息。
本文将VGG16网络和ResNet101+FPN网络作为基础网络,在DOTA数据集上进行实验,并通过验证集测试得到训练模型对典型目标的AP(Average Precision)值,
表 1. 不同基础网络对典型目标的提取结果
Table 1. Extraction results of different basic networks for typical object
|
由
3.2 旋转区域生成网络
原始Faster R-CNN[8]中使用9个anchor,目的是尽量生成大小及形状不同的包围框。对于自然场景下的目标,一般来说其形状及大小的变化不是很大,这些anchor足以包含大部分待检测目标。但是对于遥感图像,待检测目标的大小和形状变化很大,继续使用原始参数,不足以对不同形状的目标进行检测。因此,本文重新设计了旋转的anchor,如
由于算法在RRPN阶段可以生成旋转建议框,因此,轴对齐的交并比(IoU)计算可能会导致偏差交互的IoU不准确,并使RPN的学习不准确,从而导致最后的检测结果不好。在常规的两个水平矩形框中,通过矩形框顶点的坐标能直接计算出相交矩形的顶点坐标。但如
图 4. 本文使用的anchor策略。(a)重新设计的尺度; (b)特殊比例; (c)角度参数
Fig. 4. Anchor strategy in our method. (a) Redesigned scale; (b) special ratio; (c) angular parameters
图 5. 倾斜IoU的计算过程示意图。(a) 相交部分规则; (b) 相交部分不规则
Fig. 5. Calculation process of tilted IoU. (a) Regular intersection; (b) irregular intersection
NMS被广泛用于目标检测,传统的NMS仅考虑IoU(例如IoU阈值为0.7),然而对带有角度的候选框直接进行NMS会影响检测。本文使用的NMS同时考虑了IoU和角度,由两个阶段组成:1)保持IoU大于0.7的框的最大IoU;2)如果所有框的IoU均在[0.3, 0.7]区间内,保持建议框与ground truth的最小角度差(角度差应小于π/12)。对比轴对齐的边界框和倾斜的边界框时,可以在轴对齐的边界框上进行传统的NMS,或者在倾斜的边界框上进行倾斜的NMS。
图 6. 不同NMS检测结果的对比。(a)传统的NMS与普通框; (b)传统的NMS与旋转框; (c)倾斜的NMS与旋转框
Fig. 6. Comparison of results of different NMS detections. (a) Traditional NMS with common box; (b) traditional NMS with rotated box; (c) tilted NMS with rotated box
3.3 池化层及分类网络的改进
Fast R-CNN[8]中提出的RoIPooling层能实现训练和测试的显著加速,并提高检测准确率。如
Mask R-CNN算法中提出RoIAlign池化方法,能有效减小RoIPooling量化操作中产生的误差。如
式中:f(·)为表示特征图上的特征值;N表示特征点的个数。
卷积神经网络全连接层的连接方式与卷积层、池化层不同,包含了大量的参数,而由Lin等[21]的研究可知,全连接层容易导致过拟合,进而使网络的泛化能力降低。对分类网络进行改进的主要思想是降低全连接层的参数量,以减小计算量,同时防止过拟合。因此,本文对分类网络进行的修改如
图 7. RoIPooling和RoIAlign。(a) RoIPooling; (b) RoIAlign
Fig. 7. RoIPooling and RoIAlign. (a) RoIPooling; (b) RoIAlign
图 8. 原始RRPN与改进方法的测试结果对比。(a)(c)原始RRPN; (b)(d) 改进方法
Fig. 8. Comparison of testing results between original RRPN and our method. (a)(c) Original RRPN; (b)(d) improved method
表 2. 不同RoI池化方法的检测效果对比
Table 2. Comparison of detection effects of different RoI pooling methods
|
使用原始分类网络和增加一个卷积层的分类网络在DOTA数据集上进行测试。本文在DOTA的训练集上进行实验,并通过验证集测试得到了AP值,如
表 3. 不同分类网络对15种目标的检测效果
Table 3. Detection results of different classification networks for 15 types of targets%
|
从
本文针对现有Faster R-CNN算法作出如下改进:采用ResNet网络设计特征提取网络,引入FPN特征提取方法进行多尺度特征融合,替换原有的多尺度预测方法,用RRPN网络取代RPN,用RoIAlign策略取代RoIPooling方法,并在分类网络中添加一个卷积层。
4 实验结果与分析
4.1 实验数据与平台
不同于自然图像,遥感图像中的目标大小不一,方向各异,背景环境复杂。本文收集、比较了网络上公开的多种遥感数据集,并分析了它们的优缺点。考虑到DOTA[16]数据集的数据质量较高,分辨率最高为4000 pixel×4000 pixel,包含的类别多达15类,且样本较其他数据集更为均衡,尺度变化较大,因此将其作为实验的数据集。同时,从Google Earth和资源卫星中心网站上收集了部分数据,利用roLabelImg工具对这些数据进行了标注,为实验测试提供数据。样本集中的图片共计2806张,其中训练集中有1411张,验证集中有458张,测试集中有937张。本文选择的深度学习实验平台是TensorFlow,利用NVIDIA TITAN XP进行训练测试。
本文采用Faster R-CNN的方式进行端到端的联合训练,为减少训练量,使用ResNet模型在ImageNet数据集中学习到的预训练参数。训练及测试过程中相关的网络参数设置如下:输入图像大小为800 pixel×800 pixel,网络学习率为0.0003。区域生成网络阶段的相关参数设置如下:IoU正样本阈值设为0.7,负样本阈值设为0.3,以保持一定的正负样本比例。当anchor与GT(ground truth)间的IoU大于0.7时,认为该anchor是正样本;当IoU小于0.3时,认为该anchor是负样本;对于IoU位于2个阈值之间的anchor,即IoU在区间(0.3,0.7)内,认为背景和物体掺杂,对训练目标没有贡献,不参与训练;NMS的IoU阈值设为0.7;anchor的设置参考3.2节。Fast R-CNN检测分类的相关参数设置如下:Fast R-CNN中NMS的IoU阈值设为0.3,IoU正样本阈值设为0.5。
4.2 实验测试效果及不同算法的对比
本文利用改进算法的训练模型在DOTA数据集的测试集上进行相关测试,主要测试了桥梁、小型车辆、棒球场、篮球场、海港、田径场、足球场、储存罐、大型车辆、飞机、圆环、网球场、直升飞机、船只、游泳池等15类目标。
为了说明本文改进算法的有效性,利用训练集训练了几种经典的深度学习目标检测算法,并对检测结果进行了对比。使用的模型分别为YOLO v2[7]、YOLO v3[7]、Faster R-CNN[7]及原始的RRPN算法,结果对比如
表 4. 本文方法对15类目标的实验结果
Table 4. Experimental results of proposed method for 15 types of targets%
|
表 5. 不同算法对15类目标的实验结果
Table 5. Experimental results of different methods for 15 types of targets%
|
YOLO算法在目标检测上的AP分布极为不平衡,比如桥梁和小型车辆等目标,检测效果显著低于其他类别。同时,Faster R-CNN在对较小且分布密集的目标进行检测时,比如小型车辆、储存罐和船只等,检测效果远低于其他尺寸的中等目标,改进的算法则极大地优化了对这些类别目标的检测。
图 9. 不同算法对大型车辆的检测结果。(a) YOLO v2; (b) YOLO v3; (c) Faster R-CNN; (d) RRPN; (e)所提算法
Fig. 9. Detection results of different algorithms for large vehicle. (a) YOLO v2; (b) YOLO v3; (c) Faster R-CNN; (d) RRPN; (e) proposed algorithm
图 10. 不同算法对飞机的检测结果。(a) YOLO v2; (b) YOLO v3; (c) Faster R-CNN; (d) RRPN; (e)所提算法
Fig. 10. Detection results of different algorithms for airplane. (a) YOLO v2; (b) YOLO v3; (c) Faster R-CNN; (d) RRPN; (e) proposed algorithm
图 11. 不同算法对网球场的检测结果。(a) YOLO v2; (b) YOLO v3; (c) Faster R-CNN; (d) RRPN; (e)所提算法
Fig. 11. Detection results of different algorithms for tennis court. (a) YOLO v2; (b) YOLO v3; (c) Faster R-CNN; (d) RRPN; (e) proposed algorithm
图 12. 不同算法对船只的检测结果。(a) YOLO v2; (b) YOLO v3; (c) Faster R-CNN; (d) RRPN; (e)所提算法
Fig. 12. Detection results of different algorithms for ship. (a) YOLO v2; (b) YOLO v3; (c) Faster R-CNN; (d) RRPN; (e) proposed algorithm
5 结论
随着遥感影像空间分辨率的不断提高,以及计算机软硬件技术的快速发展,卷积神经网络在遥感影像场景分类、目标识别、图像分割等领域得到了更加广泛的应用。针对遥感图像中的典型海洋目标,着重研究了卷积神经网络用于目标检测的方法,并针对遥感图像的特点,改进了Faster R-CNN的网络结构,实现了对遥感图像典型目标检测精度的提升。针对遥感图像中大多数目标都是具有方向性不定且相互聚集的特点,在区域候选网络中加入了旋转因子,以生成任意方向的候选区域。在分类网络的全连接层前增加一个卷积层,以减少其特征参数,避免了过拟合现象的出现。实验对比结果表明,本文改进的算法能得到更好的检测结果。
[1] Zou ZX, Shi ZW, Guo YH, et al. ( 2019-05-16)[2019-07-28]. https:∥arxiv.org/abs/1905. 05055.
[2] Zhao Z Q, Zheng P, Xu S T, et al. Object detection with deep learning: a review[J]. IEEE Transactions on Neural Networks and Learning Systems, 2019, 30(11): 3212-3232.
[3] LeCun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[4] 肖进胜, 田红, 邹文涛, 等. 基于深度卷积神经网络的双目立体视觉匹配算法[J]. 光学学报, 2018, 38(8): 0815017.
[5] Russakovsky O, Deng J, Su H, et al. ImageNet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252.
[6] RedmonJ, FarhadiA. YOLO9000: better, faster, stronger[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 6517- 6525.
[7] RedmonJ, Farhadi A. Yolov3: an incremental improvement[J/OL]. ( 2018-04-08)[2019-07-28]. https:∥arxiv.org/abs/1804. 02767.
[8] Ren S Q, He K M, Girshick R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[9] He KM, GkioxariG, DollarP, et al. Mask R-CNN[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 2980- 2988.
[10] 冯小雨, 梅卫, 胡大帅. 基于改进Faster R-CNN的空中目标检测[J]. 光学学报, 2018, 38(6): 0615004.
[11] 邓志鹏, 孙浩, 雷琳, 等. 基于多尺度形变特征卷积网络的高分辨率遥感影像目标检测[J]. 测绘学报, 2018, 47(9): 1216-1227.
Deng Z P, Sun H, Lei L, et al. Object detection in remote sensing imagery with multi-scale deformable convolutional networks[J]. Acta Geodaetica et Cartographica Sinica, 2018, 47(9): 1216-1227.
[12] 裴伟, 许晏铭, 朱永英, 等. 改进的SSD航拍目标检测方法[J]. 软件学报, 2019, 30(3): 738-758.
Pei W, Xu Y M, Zhu Y Y, et al. The target detection method of aerial photography images with improved SSD[J]. Journal of Software, 2019, 30(3): 738-758.
[13] Jiang YY, Zhu XY, Wang XB, et al. ( 2017-06-30)[2019-07-28]. https:∥arxiv.org/abs/1706. 09579.
[14] Ma J Q, Shao W Y, Ye H, et al. Arbitrary-oriented scene text detection via rotation proposals[J]. IEEE Transactions on Multimedia, 2018, 20(11): 3111-3122.
[15] China national administration of GNSS and applications. China centre for resources satellite data and application provide services for monitoring earthquakes in Nyingchi prefecture in Tibet[EB/OL]. ( 2018-01-19)[2019-07-28]. http:∥en.chinabeidou.gov.cn/c/785.html.
[16] Xia GS, BaiX, DingJ, et al. DOTA: a large-scale dataset for object detection in aerial images[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 3974- 3983.
[17] SimonyanK, Zisserman A. Very deep convolutional networks for large-scale image recognition[J/OL]. ( 2015-04-10)[2019-07-28]. https:∥arxiv.org/abs/1409. 1556.
[18] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
[19] Lin TY, DollarP, GirshickR, et al. Feature pyramid networks for object detection[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 936- 944.
[20] Jiang BR, Luo RX, Mao JY, et al. Acquisition of localization confidence for accurate object detection[C]∥Proceedings of the European Conference on Computer Vision (ECCV), September 8-14, 2018, Munich, Germany. New York: IEEE, 2018: 784- 799.
[21] LinM, ChenQ, Yan S C. Network in network[J/OL]. ( 2014-03-04)[2019-07-28]. https:∥arxiv.org/abs/1312. 4400.
Article Outline
戴媛, 易本顺, 肖进胜, 雷俊锋, 童乐, 程志钦. 基于改进旋转区域生成网络的遥感图像目标检测[J]. 光学学报, 2020, 40(1): 0111020. Yuan Dai, Benshun Yi, Jinsheng Xiao, Junfeng Lei, Le Tong, Zhiqin Cheng. Object Detection of Remote Sensing Image Based on Improved Rotation Region Proposal Network[J]. Acta Optica Sinica, 2020, 40(1): 0111020.