王 港,陈金勇,高 峰,吴金亮
(1.中国电子科技集团公司航天信息应用技术重点实验室,河北 石家庄 050081;2.中国电子科技集团公司第五十四研究所,河北 石家庄 050081)
遥感是人类在模拟人的视觉系统基础上发展起来的一种高科技观测技术,通过检测和度量地物目标电磁辖射量所得到的客观记录,把人眼看得到的和看不到的景物都转化为人眼所能看到的图像,重现地物目标电磁辖射特性的空间分布状况。遥感图像已被广泛应用于环境检测、资源探测、生态研究、测绘制图和军事指挥等众多领域[1]。遥感图像目标检测作为遥感图像处理的一个重要部分,具有覆盖范围广、作用距离远、执行效率高等优点,在军事和民用领域都有重要的意义和价值。
高分系列卫星是我国自行研制并发射的系列卫星。其中,“高分一号”卫星于2013年4月发射成功,其主要参数为2 m全色/8 m多光谱分辨率相机和16 m多光谱分辨率宽覆盖相机,幅宽分别为60 km和800 km。“高分一号”卫星拥有8 m分辨率多光谱相机,一般的基础设施大小在100 m以上,故“高分一号”遥感影像适合作为基础设施目标检测的影响材料[2]。
深度学习是近年来在大数据环境下兴起的一门机器学习技术,其实质是通过构建具有多层结构的机器学习模型和海量的训练数据来学习数据中的复杂特征,用于之后的分析、预测等应用[3]。由于其具备海量数据的学习能力和高度的特征抽象能力,在诸多图像应用领域都取得了革命性的成功。
自2014年开始,基于深度学习(主要是卷积神经网络(CNN)[4])的目标识别在自然图像应用中也取得了巨大突破。例如,以R-CNN(Region with CNN features)方法为代表的结合通用候选区域算法和CNN分类的目标识别框架(R-CNN[5]、SPP-NET(Spatial Pyramid Pooling Net)[6]、Fast R-CNN(Fast Region with CNN features)方法[7]、Faster R-CNN(Faster Region with CNN features)方法[8])。其候选区域采用Selective Search[9]、EdgeBox[10]或BING特征[11]等通用目标候选方法,而这些通用区域候选算法本质上还是遍历滑窗的方法。后期的算法包括Fast R-CNN和Faster R-CNN等都采用回归学习方法对目标的准确位置进行了修正,甚至有YOLO(You Only Look Once)方法[12]、SSD(Single Shot Multibox Detector)方法对于“大范围、小目标”的遥感识别效果并不理想。2015年,微软研究院何凯明提出了深度卷积网络的改进——深度残差网络,在图像分类和检测方面取得了进一步的提高。此后,残差网络结构慢慢成为各种卷积网络模型的参照结构,为各类图像处理任务提供了优化。
上述深度学习算法模型,都是在ImageNet挑战赛[13]上获得过最高名次的算法。ImageNet挑战赛极大地促进了计算机视觉领域目标检测识别领域的发展。但是ImageNet所包含的自然图像和卫星遥感影像,存在着一些关键性区别:① 遥感影像中目标相对影像较小,而且其存在很多的旋转、仿射等现象[14];② 输入图像巨大,往往有数百万像素甚至数亿像素[15];③ 十分缺乏相关的训练学习数据,尤其在深度学习的算法中,高质量、高数量的训练样本对算法效果起到至关重要的作用;④ 欺骗性,遥感影像由于其拍摄高度原因,获得的信息可能是不真实的。故将深度学习的算法模型借鉴到遥感影像处理领域,还需要做更多的工作。
针对遥感影像目标检测的具体情况,本文设计了基于残差神经网络模型的“高分一号”遥感影像基础设施目标检测算法[16]。为解决训练样本少、目标小、图像大的问题,通过“高分一号”遥感影像和谷歌地图建立了图像目标样本库;为解决输入图像巨大难以处理的问题,对检测输入的遥感影像进行分块处理,使得每一块都可以直接进行基于残差神经网络模型的高分辨率遥感影像目标检测,同时针对重复区域建议的问题,进行了RPN优化,方便了并行化处理。实验结果表明,本文算法很好地解决了深度学习模型应用于遥感影像的诸多问题,其检测的准确率、效率、实用性和鲁棒性都有提高。
总体算法流程如图1所示。设计思路主要为目标定位和目标识别协同工作,从而达到目标检测的目的。在对宽幅遥感影像进行切分后,运用深度卷积神经网络进行特征提取,提取的通用特征既可以用于目标定位,也可以用于目标识别。在目标定位给出目标具体位置后进行识别,既保证了识别的准确性,也提高了识别的针对性和鲁棒性。
图1 算法流程
深度卷积神经网络在图像目标检测中表现出了较为良好的性能,但是在现有基础下,想要进一步训练更深层次的神经网络是非常困难的,而检测复杂结构目标又迫切需要深层次的网络结构来抽象特征。故提出了一种减轻网络训练负担的残差学习框架,这种网络比以前使用过的网络本质上层次更深。明确地将这层作为输入层相关的学习残差函数,而不是学习未知的函数。同时,全面实验数据证明残差网络更容易优化,并且可以从深度增加中大大提高精度。在一般图像的处理上,在ImageNet数据集用152层比VGG网络深8倍的深度来评估残差网络,但它仍具有较低的复杂度。在ImageNet测试集中,这些残差网络整体达到了3.57%的误差。该结果在2015年大规模视觉识别挑战赛分类任务中赢得了第一。从而证明,深度残差网络对于图像目标检测识别方面是具有优势的,达到了现阶段的最好效果。故将其引入到遥感影像目标检测中来,以期达到更加出色的目标检测效果。
将H(x)假设为由几个堆叠层匹配的(不一定是整个网)基础映射,用x表示这些第一层的输入。假设多元非线性层能逼近复杂的函数,也就相当于假设它们可以逼近残差函数,例如H(x)(假设输入和输出在同一规模)。因此可以非常明确地让这些层近似于残差函数,而并非期待堆叠层近似于H(x)。所以原函数变成了:F(x)+x。尽管2种形式都能逼近期望函数,但F(x)更容易逼近[17]。
本文对每一个堆叠层都采用残差学习,构建模块定义为:
H(x)=F(x,{Wi})+x,
(1)
式中,x和H(x)是考虑到的层的输入和输出向量;函数F(x,{Wi})代表学习的残差函数;F+x的操作是由快捷连接和增加的元素智能进行的。
式(1)中介绍的快捷连接,没有额外的参数和复杂的计算。这在实践中缺乏鲁棒性,它在对比平原和残差网络方面也同样重要。有着相同数量的参数、深度、宽度和计算成本时,可以对平原和残差网络进行简单的对比。
在式(1)中,x和F的大小必须相同。如果不同(例如改变输入和输出渠道)可以通过快捷连接线性投影Ws来匹配维度,
H(x)=F(x,{Wi})+Wsx,
(2)
也可以在式(1)中使用一个正方形矩阵Ws。只有在匹配维度时,才使用Ws。
在设计应用于遥感影像目标检测的残差网络时,借鉴于VGG网理论[18]。卷积层主要有3×3的过滤器并遵循2个简单的设计规则:① 对于相同的输出特征映射大小,图层有相同数量的滤波器;② 如果特征映射的大小被减半,过滤器的数量增加一倍,以保持每层的时间复杂度。通过有一个跨度为2的卷积层,直接进行下采样[18]。网络以一个全局平均池层和全连接层结尾,其中加权层的总数是34。模型比VGG网有着更少的过滤器和更低的复杂度。34层基线有3.6亿个触发器(乘加),这只有VGG19的18%(19.6亿触发器)。网络结构示意图如图2所示。
图2 深度残差网络结构示意
基于以前的平原网络(无残差),设计出这样一个结构。让一个更深度模型的训练误差,不大于与其相应的更浅的模型训练误差,从而精准度下降问题得到解决。求解器在通过多个非线性层近似于身份映射方面有困难。随着残差学习重构,如果身份映射是最佳的方法,那么求解器可以简单地驱动多个非线性层的权重趋向于零,以便逼近身份映射。这样,函数逼近的模型也就是学习的模型就建立起来了[19]。
在建立的初始深度残差网络中,各个参数是初始参数,没有准确地模拟相应的复杂函数,故需要通过采集到的有标签的遥感影像目标样本来训练,使网络学习得到特征抽象描述的能力。首先将采集到的样本数据进行归一化和标准化处理,得到可以直接输入的标准样本集;其次将样本输入到网络中,经过层层计算,正向传播到最后,得到分类结果;最后结果与标签进行比照,得到误差,进行反向传播,利用随机梯度下降法(SGD)调整网络各层的参数。针对每一个样本进行训练,多次迭代,当损失函数或者样本准确率变化不大时,停止迭代。此时的网络作为接下来遥感影像目标检测的网络模型。深度残差网络的训练流程图如图3所示。
图3 深度残差网络的训练流程
在获得训练好的深度残差网络上,进行目标未知的遥感影像的目标检测。首先将采集到的样本数据进行归一化和标准化处理,得到可以直接输入的标准样本集;其次将样本输入到训练好的网络中,通过残差卷积计算和全连接分类计算,得到分类结果。基于深度残差网络的目标检测流程图如图4所示。
图4 基于深度残差网络的目标检测流程
深度学习的所有算法都建立在大量数据的基础上,算法都是在大量有效数据上进行特征和规律学习。遥感影像数量很多,但是包含有特定类别、且分辨率一致的影像数据并不够多。本文建立了高分辨率遥感影像的基础设施典型目标样本库,通过这个样本库进行典型目标的学习和检测。
搜集的典型目标包括:机场、操场。搜集包含目标的样本,主要按照由大到小的范围进行搜集,比如机场样本,即按照“国家—基地—机场”的思路进行搜集。
搜集的高分辨率遥感影像数据主要来自于“高分一号”遥感卫星和Google Earth,其中采用“高分一号”遥感卫星中全色2 m和多光谱8 m作为样本库选取素材,采用Google Earth中L15层作为样本库选取素材。Google Earth图像的引入,目的在于提高网络模型的鲁棒性,以及一定程度缓解过拟合问题。
搜集到的粗样本数据再进行细加工。残差网络训练的样本数据一般要求在1 000×1 000像素左右,故制作细样本时,也将样本大小选定在1 000×1 000左右。每一幅细样本中包含1~3个目标。典型样本实例如图5所示。
图5 样本示例
图5(a)为“高分一号”多光谱机场样本示例,图5(b)为“高分一号”全色机场样本示例,图5(c)为Google Earth机场样本示例,图5(d)左边为Google Earth操场样本示例,右边为“高分一号”全色操场样本示例。
利用从“高分一号”和Google Earth上获取的光学遥感图像进行实验,包括机场、操场。其中机场样本500幅,操场样本300幅。随机从带有标签的数据集中选出机场样本300幅,操场样本200幅,作为训练样本;其余作为测试样本,训练样本与测试样本不重复。
本算法在Matlab 2014b上进行编写,采用Caffe深度学习开源库作为模型构建基础[20]。计算机为联想Think Station P100,至强E2630 v3(双路),显卡为英伟达Quadro M6000 24G。本算法训练和测试均是在GPU加速下完成。
由于输入的检测影像大小不一,本文在输入的第一步对其进行了尺度归一化,以1 000×1 000作为标准输入大小;对卷积特征图进行滑窗处理时,以10像素作为滑窗步幅;训练时学习率为0.001,学习动量为0.9,权重衰退率为0.000 5,迭代次数为3 000。
本文采用了机场和操场这2种典型目标作为测试对象,其中重点分析机场的检测情况,并对分块后的遥感影像进行了准确率测试。分块后平均检测时间为0.2 s。具体如表1所示。
表1 分块遥感影像目标检测统计数据
样本名称测试样本数准确样本数准确率/%机场20019296操场1009090
传统算法遥感影像目标检测的准确率一般在80%左右。由表1可知,本文方法对于高分辨率遥感影像目标检测准确率更高。
机场检测的结果示例如图6所示,操场检测的结果示例如图7所示。可以看出,本文方法对典型目标的检测效果十分良好,其复杂的环境背景并没有对结果造成影响。
图6 机场检测结果示例
图7 操场检测结果示例
一般情况下,算法在无干扰或者去除干扰的情况下,表现良好,但是实际应用中,会出现很多由于天气、相机载荷和拍摄角度等原因造成的影像成像模糊、有遮挡和光照异常等情况[21]。本文将这些情况考虑进去,从而验证所设计算法的鲁棒性和稳定性。
“高分一号”卫星拍摄的影像如图8所示,分别出现了光照异常、云层遮挡和模糊情况。
图8 有干扰遥感影像示例
应用本文算法对其进行目标检测测试,得到结果如图9所示。从检测结果可以看出,本文算法在有干扰情况下的表现良好,具有很好的鲁棒性。
图9 有干扰影像检测结果示例
本文提出了一种基于深度学习模型(深度残差模型ResNet34)的高分辨率遥感影像基础设施目标检测方法。针对高分辨率遥感影像内容丰富、尺度大等问题,将计算机视觉领域目标检测效果最好的模型通过宽幅遥感影像分块、RPN优化等多处改进应用于遥感影像处理领域,并在单幅高分辨率遥感影像目标检测方面取得了很好的效果。
在整个实验中,介绍了从样本制作、模型结构、环境配置以及训练参数等多方面的“高分一号”遥感图像处理的工程化应用实施细节,同时验证了本文算法对存在有云、模糊等干扰的遥感影像具有鲁棒性,为接下来继续开展国产高分遥感影像处理打下了良好基础。实验表明,在“高分一号”遥感影像典型基础设施目标检测中,本文方法具有很好的效果,克服了目标复杂的环境背景。
[1] 王鑫.基于选择性视觉注意机制的遥感图像机场检测[D].上海:复旦大学,2012.
[2] 陈金凤,程乾.高分1号融合光谱特征提取杭州湾河口沿岸湿地典型植被信息方法研究[J].杭州师范大学学报(自然科学版),2015,14(1):39-43.
[3] 牛新,窦勇,张鹏,等.基于深度学习的光学遥感机场与飞行器目标识别技术[J].大数据,2016,5(1):54-67.
[4] LECUN Y,BOSER B,DENKER J S,et al.Backpropagation Applied to Handwritten Zip Code Recognition[J].Neural Computation,2008,1(4):541-551.
[5] GIRSHICK R,DONAHUE J,DARRELL T,et al.Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2014:580-587.
[6] HE K,ZHANG X,REN S,et al.Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2015,37(9):1904-1916.
[7] GIRSHICK R.Fast R-CNN[C]∥IEEE International Conference on Computer Vision,IEEE,2015:1440-1448.
[8] REN S,HE K,GIRSHICK R,et al.Faster R-CNN:Towards Real-time Object Detection with Region Proposal Networks[C]∥Neural Information Processing Systems,2015:1-3.
[9] UIJLINGS J R R,SANDE K E A V D,GEVERS T,et al.Selective Search for Object Recognition[J].International Journal of Computer Vision,2013,104(2):154-171.
[10] ZITNICK C L,DOLLR P.Edge Boxes:Locating Object Proposals from Edges[M].Proceedings of the European Conference on Computer Vision,2014:391-405.
[11] CHENG M M,ZHANG Z,LIN W Y,et al.BING:Binarized Normed Gradients for Objectness Estimation at 300 fps[C]∥IEEE International Conference on Computer Vision.IEEE,2014:3286-3293.
[12] REDMON J,DIVVALA S,GIRSHICK R,et al.You Only Look Once:Unified,Real-Time Object Detection[C]∥IEEE International Conference on Computer Vision,IEEE,2016:779-788.
[13] DENG J,DONG W,SOCHER R,et al.ImageNet:A Large-scale Hierarchical Image Database[C]∥IEEE International Conference on Computer Vision and Pattern Recognition,IEEE,2009:248-255.
[14] 田子恒.基于遥感图像的桥梁目标检测方法研究[D].长春:东北大学,2012.
[15] 王岳环,宋云峰,陈君灵.高分辨率遥感图像中油库的检测识别[J].华中科技大学学报(自然科学版),2011,39(2):110-112.
[16] 帅通,师本慧,张霞,等.高分遥感舰船目标SIFT特征的提取与匹配[J].无线电工程,2015,45(11):48-51.
[17] HE K,ZHANG X,REN S,et al.Identity Mappings in Deep Residual Networks[C]∥Proceedings of the European Conference on Computer Vision,2016:630-645.
[18] DUMOULIN V,VISIN F.AGuide to Convolution Arithmetic for Deep Learning[J].arXiv:1603.07285[cs.CV],2016.
[19] SPRINGENBERG J T,DOSOVITSKIY A,BROX T,et al.Striving for Simplicity:The All Convolutional Net[C]∥International Conference on Learning Representations,2015.
[20] JIA Y,SHELHAMER E,DONAHUE J,et al.Caffe:Convolutional Architecturefor Fast Feature Embedding[J].arXiv:1408.5093[cs.CV],2014.
[21] 季艳,鲁克文,张英慧.海量遥感数据分布式集群化存储技术研究[J].计算机科学与探索,2017(9):1398-1404.