李绩鹏,陈 颖,王东振
(上海应用技术大学计算机科学与信息工程学院,上海 201418)
遥感图像是指由高空成像系统获得的具有地面目标特征的图像。多视角遥感图像配准是实现图像辅助导航,导弹图像制导等重要应用的关键技术[1]。本文关注多视角遥感图像的配准技术研究,即两幅图像(分别称作参考图像和待配准图像)由同一传感器采集,但采集视角有水平或(和)垂直方向上的改变[2]。
基于点特征的配准是目前遥感图像配准中的主要技术。Lowe于04年完善了尺度不变特征变换(Scale Invariant Feature Transform,SIFT)算法,具有较高的精度[3]。Morel等在09年提出以图像变换集为基础的ASIFT(Affine Scale Invariant Feature Transform)算法,可以很好的解决因视角变化产生的变形问题[4]。然而基于点特征的自动检测算法的健壮性不如人工标注高,因此有很多研究使用线特征或更高级的特征进行检测,但提升有限[2]。
近年,遥感图像配准领域开始使用深度学习改进特征提取的性能。Wang等通过有监督学习预测两幅图像是否来自同一区域,有效提升了配准性能[5]。Yang等使用VGG-16网络的多层特征图融合结果生成特征点,在多时相遥感图像上达到了比传统方法更好的鲁棒性[6]。
通过在特征提取阶段引入深度学习,遥感图像配准任务得到了较好反馈,但只将深度神经网络当作特征提取器并不能充分利用深度学习的能力。最近有研究使用深度神经网络代替特征提取及特征匹配两步,即使用端到端的方式对图像进行配准。
Detone等使用深度学习对两幅图像的单应性变换进行估计,其使用人工合成的数据集进行训练,达到了比传统算法更高的精确度[7]。Rocco等更进一步设计了一种端到端的框架,进行实例级、类级的图像配准[8],测试表明该模型的泛化性较好,在真实场景中也能得到较好的表现。Kim等提出一种两阶段配准模型,第一阶段预测旋转变换,第二阶段预测仿射变换,在多时相遥感图像中取得了更好的表现[9]。Park等对待配准图像进行预处理,使网络接受参考、待配准和增强三幅图像,并利用图像全局变换的同构性对模型进行训练,实验表明该方法在地表变化较大的遥感配准中有更高的准确度[10]。该类方法对特征提取和特征匹配两个任务同时训练,在复杂的图像配准场景中能得到更好的结果。
上述方法在多视角遥感图像配准中仍然存在配准精度低等问题,因此本文提出使用融合双注意力机制的网络中网络改进特征提取器的性能,在特征匹配层使用了双向相关运算以提升特征匹配精度,同时,针对如文献[6]等方法实时性不高的短板[2],本文对网络结构进行优化以提高算法的速度。实验表明,在多视角遥感配准中,本文算法的配准精度和速度提升明显,
配准系统分为三部分:①特征提取网络;②特征匹配层;③参数回归网络。首先,融合双注意力机制与网络中网络的特征提取器分别提取两个输入图像的特征,生成一对特征图输入到特征匹配层中对特征进行匹配,最后,匹配层得到的匹配图输入到参数回归网络预测图像变换。系统总体设计如图1所示,输入为参考图像和待配准图像,输出为8个参数,将这些参数应用于待配准图像上得到配准后图像。下文将对各模块进行详细介绍。
图1 网络总体结构
2.2.1 网络中网络
普通的卷积层对非线形特征抽象能力不足[11]。因此,在卷积层内引入微神经网络(Multilayer Perceptron,MLP)来抽象感受野中的数据,增加了网络对复杂多视角遥感图像特征的处理能力。
图2 网络中网络结构
图2为网络中网络结构图,即在每组卷积层和池化层后面接一个MLP层。为了加快网络的收敛速度和增强网络的泛化能力,在每个卷积层后添加批归一化层(Batch Normalization,BN)[12]和线形整流激活函数(Rectified Linear Unit,ReLU)。各层通道数分别增加至64、128、192。网络中网络的计算方式如下式(1)所示。其中M为每层网络中网络的输出,u、v为输入特征图中的像素坐标索引,Xu,v代表中心在(u,v)点的特征图取值,k代表输入特征图的通道数索引,n为网络索引,w为神经网络的权重,b为神经网络的偏置。
(1)
2.2.2 双注意力机制
使用注意力机制的目标在于使网络关注重要特征并加以利用[13],达到以重要特征为基准进行配准的目的。而双注意力机制是指网络上层生成的特征图,将会先后通过通道注意力模块和空间注意力模块的处理,即沿着两个独立的维度依次推断注意力图。这不仅考虑到了不同通道的特征的重要性,还考虑到了同一个特征通道的不同位置的特征的重要程度。下图3为双注意力机制的总体结构。
图3 双注意力机制总体结构
在训练阶段,每层网络生成的每个特征图(通道)可以看作是针对某一种特征的检测器,通道注意力机制可以在训练中分辨出对配准任务贡献最大的通道,以此作为主要依据进行特征提取[14]。通道注意力图的计算过程如下式(2)所示
MC(F)=σ(MLP(Avg(F)),MLP(Max(F)))
(2)
普通卷积神经网络通过池化对空间信息进行压缩时可能会导致某些关键信息的丢失,而空间注意力可以在保持关键信息的基础上更有效的找出图像中需要被关注的区域特征[15]。空间注意力图的计算过程如下式(3)所示:
MS(FC)=σ(Cov7×7([Avg(FC);Max(FC)]))
(3)
双注意力模块[16]使用上层网络输出的特征图F作为输入,首先产生一维通道注意力图Mc∈RC×1×1,然后产生二维空间注意力图Ms∈R1×H×W。总体过程如下式(4)所述
F′=MC(F)⊗F
F″=MS(F′)⊗F′
(4)
符号⊗代表逐元素乘法,F′代表注意力模块的中间结果,F″为注意力模块的最终结果。
本文将注意力模块加在每个基本网络中网络模块之后,第一个注意力模块通道数为128维,第二个注意力模块通道数为160维,第三个注意力模块的通道数为192维。
综合考虑运行速度与配准质量,在图像输入阶段,使用双三次插值算法(Bicubic Interpolation)将输入图像的大小调整为256*256。图4为特征提取网络的详细结构及流程图,其中CBAM_x为双注意力机制模块,Conv_x为卷积层,Max_pool_x为最大池化层。
图4 特征提取网络的详细结构及流程
图5 特征匹配层的计算流程
由相互最近邻(Mutual Nearest Neighbors)算法启发,本文使用双向的相关运算计算特征图A与特征图B的相似性,可以更好的避免误匹配。以CorrAB为例,对CorrBA同理,相关运算如式(5)所示
CorrAB(i,j,K)=fB(i,j)TfA(iK,jK)
(5)
其中,fA,fB∈h×w×d为参考图像和待配准图像的特征图,h和w为特征图的大小,d为特征图的通道数。i和j分别为两个特征图在通道切面上的索引,辅助索引K=h(jK-1)+iK。该层网络输入为2个192*16*16大小的特征图,输出CorrAB为256*16*16的匹配图。为进一步剔除误匹配特征,对匹配图进行ReLU激活函数处理及归一化。归一化操作如下式(6)所示,其中Corr为相关运算输出的匹配图,n为匹配图的第一维大小,ξ取0.000001,Fn为归一化后匹配图。
(6)
最后将归一化的两个匹配图做逐元素减法,去除不满足相互匹配的特征,得到本层最终输出。
参数回归网络使用上层输出的匹配图估计两幅图像间的单应性变换。该模块预测的变换参数可以应用于多视角遥感图像配准的前提是:①航空和航天遥感成像的距离非常远,成像目标区域相对于成像元件近似为一个平面;②在不同视角对成像目标进行观察的运动可以近似为成像元件绕成像目标的单纯旋转运动[7]。满足上述假设的问题为透视变换,可由单应性矩阵解决,其广泛的应用于传统图像配准任务中[17-19]。单应性矩阵如下式(7)所示,通过其参数hij将待配准图像中坐标(x,y)的像素映射至配准后图像中的(x′,y′)处。
(7)
(8)
该模块由一个网络中网络基本块和3层全连接层组成,除最后一层全连接层以外,每一层网络后都连接一个批归一化层和ReLU激活函数。
参数预测网络的输入为256维大小16*16的特征图,第一层卷积核大小为5,输入通道256维,输出通道128维,后两层卷积核大小为1,通道数分别减少至64和32。全连接层输入大小为1152,经过一个隐含层后减少至8个,输出最终的单应性变换参数。
本文所提到的配准方法具体实现步骤如下:
步骤1:图像预处理。主要包含对输入图像数据的重采样和增强处理。
步骤2:特征提取。利用训练后的融合注意力机制的网络中网络模型分别对两幅图像进行特征提取。
步骤3:特征匹配。使用双向相关层处理特征提取网络提取的两幅特征图,输出关于两幅特征图所有特征点的匹配信息。
步骤4:参数预测。根据特征匹配层输出的匹配图,预测从待配准图像到参考图像的单应性变换参数。
步骤5:求解变换模型。计算图像变换矩阵,完成多视角遥感图像的配准。配准流程如图6所示。
图6 基于网络中网络与注意力机制的配准流程
本文训练所使用的数据取自谷歌地球(Google Erath Pro,开启3D地形模式)、UCMerced_LandUse和NWPU VHR-10。原始图片总计727张,使用文献[7]中的方法生成模拟多视角遥感配准数据集,训练集共9000组,单组数据包含参考图像、待配准图像及二者间的真实变换参数(label)。
训练软件环境为Ubuntu 16.04,Pytorch版本1.0.1,CUDA版本9,Python版本3.6;硬件环境为8GB显存的GTX 1070显卡,Ryzen 5 2600处理器。
网络使用Pytorch的随机梯度下降(SGD)优化器,学习率为0.0001,使用输出参数的均方误差(MSE)作为损失函数。Batch Size设置为16。
图7为本文方法在真实数据上的配准结果。三幅图均为从不同视角对同一地面物体进行拍摄得到,参考与待配准图像差别较大,存在明显高度起伏,河道弯曲等非刚性变化,比起普通的平面旋转、平移和缩放更加复杂,从3组配准结果看,配准后图像在空间特征和几何相似性上与参考图像非常接近,在细节处理上,主要特征没有出现明显的错位,颜色过渡自然,整体上,各个特征都较精确配准,几乎没有出现未对齐区域。
图7 本文方法在真实多视角遥感图像上的配准结果(图像中的小黑块为棋盘格融合产生的效果)
为进一步验证本文方法对于多视角遥感图像配准的性能提升,图8为本文算法与SIFT、文献[6]、文献[8]、文献[10]、文献[20]的配准结果对比,使用11*11的棋盘格进行参考图像与配准后图像的交替融合。棋盘格融合图可以方便地对配准性能定性对比,本实验中,出现棋盘格的为未配准区域(指示此区域配准性能较差)或因视角变化产生的非重叠区域(与配准性能无关)。红色方框标出的区域可以展示各试验结果中衡量配准精度的细节。
在对比实验中,文献[6]方法只使用深度学习做特征提取,文献[20]对特征提取算法进行了增强,文献[10]使用端到端的深度学习方式对图像进行配准。文献[8]是文献[10]和文献[9]等端到端方法常用的测试基准(baseline),因此也作为本文对比实验的基准。
综合图8的4幅图像配准结果分析,以特征点为基础的方法由于不可靠的底层重复特征导致在某些局部配准效果较差。本文方法使用网络中网络做特征提取,有效提升了多视角遥感图像中提取的特征点质量。对于复杂的多视角遥感图像,传统方法在对图像中每一个主要特征进行精确配准时有一定困难,本文方法采用通道和空间注意力机制对整个图像的特征进行筛选,找出对配准影响大的关键特征,以关键特征为基准对图像进行配准,对大部分图像主要的特征均做出了较为恰当的处理。
图8 对比实验在真实多视角遥感图像上的配准结果(图像中的小黑块为棋盘格融合产生的效果)
从定性对比看,本文方法有效提升了多视角遥感图像的配准精度,且对各种遥感图像有较高的鲁棒性。
a、b、c、d图像配准的定量分析如下表1所示。本文在所有测试数据上(真实遥感图像)均匀、随机的选择15组采样点用作配准误差测试,使用均方根误差(RMSD)、平均绝对误差(MAD)、误差标准差(STD)和误差中值(MD)作为定量分析标准,所有数值结果均是越小越好,单位为像素。本文方法在大部分情况下都可以取得最好精度,RMSD分别至少提升19.6%、20.3%及22.9%。
表1 对比实验在真实多视角遥感图像上的定量分析结果
各算法在a、b、c、d图像上的时间性能如图9所示,由于各方法速度差距较大,图表纵轴非等间距增加。在多视角遥感图像配准中,基于迭代优化匹配参数的方法不能很好的平衡配准质量与速度。网络中网络的时间成本相比其它网络要低,同时能保持相对于其它网络几乎相近的性能,在测试图像运行速度上分别提升42.7%、44.9%、44.3%及24.7%,大部分测试都可以在一秒内得到结果,在配准的质量与速度上取得了较好的平衡。
图9 各算法在测试数据上的时间性能
本文关注于多视角遥感图像配准,在一定前提下,设计了一种端到端的深度学习算法预测不同视角下拍摄的遥感图像间的单应性变换。利用网络中网络与注意力机制对图像进行特征提取,使用双向的相关运算对特征进行匹配。实验表明,本文方法在多视角遥感图像的配准质量与效率间取得了不错的平衡。但由于缺乏人工标注的数据集,因此无监督学习是今后的主要方向之一。