APP下载

宽幅高分辨率遥感影像快速目标检测

2018-01-12王港吴金亮陈金勇高峰

河北遥感 2017年4期
关键词:分块高分辨率卷积

王港 吴金亮 陈金勇 高峰

一、引言

随着遥感技术的不断进步,遥感图像的空间分辨率也在稳步提高,人们可以获得越来越多的高分辨率遥感图像。因此,在海量数据条件下的高分辨率遥感图像目标识别就显得尤为重要。遥感图像目标识别已被广泛研究,许多研究学者主要使用人工提取图像特征进行目标识别的方法[1][2],比如局部二值模式(LBP)、梯度方向直方图(HOG)[3]、Gabor等特征[4],然后将这些特征以特征向量的形式输入到一个传统的分类器比如SVM、AdaBoost、决策树等进行分类,在目标识别任务中取得了很好的效果,比如飞机识别,舰船识别等[5]。但是这种人工特征提取方法鲁棒性方面、位移、旋转等影响方面往往表现欠佳。

深度学习是近年来在大数据环境下兴起的一门机器学习技术,其实质是通过构建具有多层结构的机器学习模型和海量的训练数据来学习数据中的复杂特征,用于之后的分析、预测等应用。由于其具备海量数据的学习能力和高度的特征抽象能力,在诸多图像应用领域都取得了相比传统方法革命性的成功。

自2014年开始,基于深度学习(主要是卷积神经网络(CNN)[6])的目标识别在自然图像应用中也取得了巨大突破。例如,以R-CNN(region with CNN features)方法为代表的结合通用候选区域算法和CNN分类的目标识别框架(R-CNN[7]、SPPNET(spatial pyramid pooling net)[8]、Fast R-CNN(fast region with CNN features)方法[9]、Faster R-CNN(faster region with CNN features)方法[10])。其候选区域采用Selective Search[11]、EdgeBox[12]或BING特征[13]等通用目标候选方法。而这些通用区域候选算法本质上还是遍历滑窗的方法。这些方法往往产生巨量的候选窗口(如在一幅遥感图像上往往可以产生数百万个候选目标区域),虽然类似SPPNET、Fast R-CNN等方法采用在卷积出的特征图上直接提取特征,避免了对每个候选区域进行大量的重复卷积操作,但由于没有减少非必要的目标搜索,其计算量依然很大。而且为了兼顾通用,目标的定位与框选并不十分准确,进而导致后期的CNN识别错误。后期的算法包括Fast R-CNN和Faster R-CNN等都采用回归学习方法对目标的准确位置进行了修正,甚至有YOLO(you only look once)方法[14]、SSD(single shot multibox detector)方法等算法通过训练直接给出定位与识别结果,但这些算法都需要大量的学习样本用于预测准确的回归位置,且大多设计为针对图像中占比大的目标,对于“大范围、小目标”的遥感识别效果并不理想。

上述深度学习算法模型,都是在ImageNet挑战赛[15]上获得过最高名次的算法。ImageNet挑战赛极大地促进了计算机视觉领域目标检测识别领域的发展。但是ImageNet所包含的自然图像和卫星遥感影像,存在着一些关键性区别:(1)遥感影像中目标相对影像较小,而且其存在很多的旋转、仿射等现象;(2)输入图像巨大,往往有数百万像素甚至数亿像素;(3)十分缺乏相关的训练学习数据,尤其在深度学习的算法中,高质量高数量的训练样本对算法效果起到至关重要的作用;(4)欺骗性,遥感影像由于其拍摄高度原因,获得的信息可能是不真实的。故将深度学习的算法模型借鉴到遥感影像处理领域,还需要做更多的工作。

针对遥感影像的具体情况,本文设计了基于Faster R-CNN模型的高分辨率遥感影像目标检测算法。为解决训练样本少、目标小图像大的问题,本文通过谷歌地图建立了小图像目标样本库;为解决输入图像巨大难以处理的问题,本文对检测输入的遥感影像进行分块处理,使得每一块都可以直接进行基于Faster R-CNN模型的高分辨率遥感影像目标检测,同时针对重复区域建议的问题,进行了RPN优化,方便了并行化处理。实验结果表明,本文算法很好解决了深度学习模型应用于遥感影像的诸多问题,其检测的准确率、效率、实用性都较传统方法有很好提高。

二、算法流程

本文总体算法流程如图1所示,首先对输入的宽幅遥感影像进行分块操作,然后通过公共卷积层(卷积层1)后,分两条路线进行。路线1为Faster R-CNN分类过程,将所选区域进行分类处理,给出类别概率;路线2为区域建议网络(RPN)过程,通过滑窗及后续网络,给出包含目标的准确区域建议。路线1和路线2配合,得到被检测影像包含的目标及其具体位置。

三、宽幅影像切分处理

3.1 切分设计

高分辨率遥感影像目标检测,有两种情况:对小块遥感影像进行检测,小块影像和训练样本大小类似,可直接作为检测网络的输入;宽幅遥感影像检测,考虑到直接输入整幅影像而带来的网络参数增加、计算机内存限制等原因,现有条件无法直接处理,故在输入到检测网络前,需要先对其进行分块,针对每一块进行目标检测,再将检测结果汇总到原图中来。本节针对宽幅遥感影像的切分处理进行详细说明。

具体分块检测方法如下:

1)设宽幅遥感影像长宽为H、W,拟分块大小为M、N,切分重叠长宽均为l,影像左上角为坐标原点;

2)从坐标原点开始对宽幅遥感影像进行分块,分块采取交叠方式进行;

3)分块的对角坐标为:{(0,0),(M,N)},{(M-l,0),(2M-l,N)}……{((i-1)(M-l),(j-1)(N-l)),((iM-(i-1)l),(jN-(j-1)l))}……{(H-l,W-l),(H, W)};

3.2 重叠设计

节提到的重叠区域的长宽均为l,在确定l的大小时,考虑到了检测目标的大小以及算法模型的效率等问题,拟以目标长度的1.1倍作为l的大小。这样选择l的数值,可以使得总有一块分块完全包含目标,且使得重叠不至于太大而过多影响计算效率。因为无法预测目标的姿态,故重叠区的长宽都设置为l。

四、重叠区域RPN优化

4.1 RPN

区域建议网络(Region Proposal Network,RPN)将一幅图输入,得到一组方框目标区域以及对应的目标分数。此模型将以全卷积神经网络(fullyconvolutionalnetwork, FCN)[16]的形式进行设计。设计的最终目标是为RPN与Faster R-CNN部分共享卷积层。本文采用VGG16[17]作为卷积层模型。RPN和Faster R-CNN可以共享13层卷积层。

RPN在13层卷积层后,加入一个滑窗网络,这个滑窗网络是一个 的全连接网络。其后映射到一个512维的低维向量,这个向量分别连接两个独立的全连接层:方框回归器层和框分类层。n的值为3,在每一个滑窗位置,选择k个参考框作为候选对象,选择3个尺度和3个比例作为候选框的参量,也就是选择个参考框。RPN结构示意图如图2所示。

为了训练RPN,给每一个参考框一个二类标签(是目标或不是目标)。两种情况,会设置为正标签:(1)本参考框与真实框拥有最大的IoU(Intersection-over-Union);(2)本参考框与任何一个真实框拥有超过0.7的IoU。而候选框与任何一个真实框都没有高于0.3的IoU,则被标为负标签。两种情况都不是的,则不被选为参考框。

本文定义了一个多任务目标函数,作为训练时优化的对象,如式(1)所示。

4.2 重叠优化

从4.1介绍中可以看出,RPN网络形成的区域建议候选框中有很多重叠部分。同时,在宽幅遥感影像上进行分块处理,也存在一定的重叠,两种重复造成处理的时间开销和资源开销增大,所以针对重叠复选框进行滤除。

针对这两种情况形成的重叠候选框,在候选框汇总合并到原始宽幅影像后,统一进行滤除。方法采用效果良好的非极大值抑制(nonmaximumsuppression,NMS)。以候选框的类别可能性作为对比数值,进行非极大值抑制。具体算法步骤:

(1)在候选框领域中,判断属于同一类的几个候选框是否存在交叠,若存在,置于同一个交叠集中;

(2)在交叠集中,设候选框可能性值为P(i)。对比P(i)和相邻两个P(i-1)、P(i+1)。若P(i)大于P(i-1)和P(i+1),则以P(i+1)为暂时局部极大值,跳到i+2,继续比较;若P(i)大于P(i-1)而小于P(i+1),则加1,继续进行P(i+1)与领域的比较。

(3)依次进行到最后,选择类别可能性最大的候选框为本类在本位置的最终定位结果。

重叠区域优化之后,只针对优化结果进行目标分类,极大地节省了计算资源和时间。

五、分块目标检测

5.1 训练样本库

深度学习的所有算法都建立在大量数据的基础上,算法都是在大量有效数据上进行特征和规律学习。遥感影像数量很多,但是包含有特定类别、且分辨率一致的影像数据并不够多。本文中建立了高分辨率遥感影像的典型目标样本库,通过这个样本库进行典型目标的学习和检测。

本文搜集的典型目标包括:舰船、飞机、机场三种。搜集包含目标的样本,主要按照由大到小的范围进行搜集,比如舰船样本,即按照“国家——港口——舰船”的思路进行搜集。其余两种样本搜集思路与舰船类似。

搜集的高分辨率遥感影像数据分辨率在0.5米左右。搜集到的粗样本数据再进行细加工。Faster R-CNN训练的样本数据一般要求在1000*1000像素左右,故制作细样本时,也将样本大小选定在1000*1000左右。每一幅细样本中包含1到5个目标。典型样本实例如图3所示,(1)(2)(3)为舰船样本示例,(4)(5)(6)为机场样本示例,(7)(8)(9)为飞机样本示例。

5.2 目标快速检测

本文采用的模型为Faster R-CNN,其本质为RPN结合Fast R-CNN,其中RPN作为区域建议的部分而Fast R-CNN作为主体分类结构存在,二者共享VGG16网络模型的卷积结构,从而减少计算。同时,Fast R-CNN检测网络不再采用Selective Search区域建议方法。具体Fast R-CNN结构,参见文献[7]。

基于Faster R-CNN的目标检测主要包括两个步骤,训练和检测。其中训练过程,由于RPN和Fast R-CNN都可以进行端到端训练。在反向传播中,采用随机梯度下降法,结合损失函数进行网络参数调节。同时,随机采样正样本和负样本的比例为1:1。

(1)网络训练

RPN和Fast R-CNN部分都可以独立的进行训练学习,但是这样它们的卷积部分就会不同。本文设计一种训练方法,使得RPN和Fast R-CNN可以共享卷积层,而非独立训练。本文采用四阶段训练算法,通过选择性优化,实现了卷积层的共享。具体步骤总结如下:

1)按照3.1介绍RPN的方法,对RPN进行训练。网络初始化采用ImageNet预训练模型,微调训练采用端到端的训练流程。

2)使用1)训练好的RPN输出区域建议,训练独立的Fast R-CNN目标检测网络。到此时,两个网络还没有共享卷积层。

3)使用2)得到的Fast R-CNN检测网络初始化RPN训练,训练RPN时,保持卷积层不变,调节RPN独有网络部分的参数。

4)保证共享的卷积层不变,训练Fast R-CNN检测网络,只调整Fast R-CNN的全连接层。

这样,既训练了两个网络共享的卷积层,也分别调整了两个网络各自的独立部分。

(2)目标检测

本文中宽幅遥感影像检测,在输入到检测网络前,需要先对其进行分块,针对每一块进行目标检测,再将检测结果汇总到原图中来。

具体分块检测方法如下:

1)从坐标原点开始对宽幅遥感影像进行分块,分块采取交叠方式进行,分块的对角坐标见3.1切分设计;

2)将分块送入RPN网络,得到区域建议,并汇总到原图中,坐标转化公式为:

3)对全图进行非极大值抑制操作,滤除交叠建议区域;

4)将每一个去除交叠的分块I(i,j)输入到检测网络,检测网络给出类别和位置;

其中,n表示本块中检测到的第n个目标。X、Y表示目标的全局坐标,x、y表示目标在分块中的局部坐标。

六、实验

6.1 实验数据集

利用从Google Earth上获取的0.5m分辨率的光学遥感图像进行实验,包括舰船、机场、飞机3种目标。其中舰船样本500幅,飞机样本300幅,机场样本118幅。随机从带有标签的数据集中选出舰船样本300幅,飞机样本200幅,机场样本90幅,作为训练样本;其余作为测试样本,训练样本与测试样本不重复。

6.2 实验环境配置

本算法在Matlab2014b上进行编写,采用Caffe深度学习开源库作为模型构建基础。计算机为联想Think Station P100,至强E2630 v3(双路),显卡为英伟达Quadro M6000 24G。本算法训练和测试均是在GPU加速下完成。

由于输入的检测影像大小不一,本文在输入的第一步对其进行了尺度归一,以600*600作为标准输入大小;对卷积特征图进行滑窗处理时,以10像素作为滑窗步幅;训练时学习率为0.001,学习动量为0.9,权重衰退率为0.0005,迭代次数为3000。

6.3 实验分析

本文采用了三种典型目标作为测试对象,分别是舰船、飞机和机场。并对分块后的遥感影像进行了准确率测试。分块后平均检测时间为0.2s。具体如表1所示。

?

传统算法遥感影像目标检测的准确率一般在80%左右。由表1可知,本文方法对于高分辨率遥感影像目标检测准确率更高。

同时,本文进行了宽幅遥感影像的目标检测测试,同样取得了良好的检测效果。图4为港口内舰船检测的结果示例,图5为机场内飞机检测的结果示例,图6为机场检测的结果示例。由三张图可以看出,本文方法对典型目标的检测效果十分良好,其复杂的环境背景并没有对结果造成影响。

七、结论

本文提出了一种基于深度学习模型(Faster R-CNN)的高分辨率遥感影像目标检测方法。针对高分辨率遥感影像内容丰富、尺度大等问题,将计算机视觉领域目标检测效果最好的模型通过宽幅遥感影像分块、RPN优化等多处改进应用于遥感影像处理领域,并在宽幅高分辨率遥感影像目标检测方面取得了很好的效果。

在整个实验中,本文介绍了从样本制作、模型结构、环境配置以及训练参数等多方面的工程化应用实施细节,为接下来继续开展高分辨率遥感影像处理打下了良好基础。实验表明,在高分辨率遥感影像典型目标检测中,本文方法具有很好的效果,克服了目标复杂的环境背景。

[1]徐希孺,柳钦火,陈家宜.遥感陆面温度[J].北京大学学报(自然科学版),1998,(Z1):116-121.

[2]韩启金,傅俏燕,潘志强,杨磊,王爱春.利用HJ-1B星热红外遥感图像研究城市热岛效应[J].航天返回与遥感,2012,(01):67-74.

[3]覃志豪,Zhang Minghua,ArnonKarnieli,Pedro Berliner.用陆地卫星TM6数据演算地表温度的单窗算法[J].地理学报,2001,(04):456-466.

[4]Jimenez-Munoz J C,Sobrino J A.A Generalized Single-channel Method for Retrieving Land Surface Temperature from Remote Sensing Data[J].Journal of Geophysical Research: Atmospheres(1984-2012),2003,108(D22).

[5]Qin Z,Karnieli A.Progress in the Remote Sensing of Land Surface Temperature and Ground Emissivity Using NOAA-AVHRR Data[J].International Journal of Remote Sensing,1999,20(12):2367-2393.

[6]Wan Z,Li Z L.A Physics-based Algorithm for Retrieving Land-surface Emissity and Temperature from EOS/MODIS Data[J],IEEE Transaction on Geoscience and Remote Sensing,1997,35:980-996

[7]张玉君.Landsat8简介[J].国土资源遥感,2013,(01):176-177.

[8]白洁,刘绍民,扈光.针对TM/ETM +遥感数据的地表温度反演与验证[J].农业工程学报,2008,(09):148-154+2.

[9]杨文.光谱比辐射率对卫星遥感地表温度影响的研究[J].高原气象1997,01.

[10]傅碧宏.Landsat TM热红外遥感数据定量反演地下水富集带的温度信息-以甘肃河西地区石羊河流域为例[J].遥感技术与应用,1999,02:456-460.

[11]江东.地面温度的遥感反演:理论、推导及应用[J].甘肃科学学报,2001,04:146-152.

[12]刘志武.利用ASTER遥感数据反演陆面温度的算法及应用研究[J].地理科学进展,2003,05:507-514.

[13]郭广猛,杨青生.利用MODIS数据反演地表温度的研究[J].遥感技术与应用,2004,19(1):34-36.

猜你喜欢

分块高分辨率卷积
钢结构工程分块滑移安装施工方法探讨
基于3D-Winograd的快速卷积算法设计及FPGA实现
关于4×4分块矩阵的逆矩阵*
高分辨率合成孔径雷达图像解译系统
分块矩阵在线性代数中的应用
卷积神经网络的分析与设计
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
高分辨率对地观测系统
基于Curvelet-Wavelet变换高分辨率遥感图像降噪