廖明哲,吴 谨*,朱 磊
(1.武汉科技大学 信息科学与工程学院,湖北 武汉 430081;2.冶金自动化与检测技术教育部工程中心,湖北 武汉 430000)
遥感影像包含来自卫星、地面和航空等不同来源的图像数据,通过对这些图像进行匹配,可以建立起不同图像间的空间对应关系,为检测地球表面环境变化,应用于地质勘测和军事侦察等领域提供服务。
图像匹配使来自相同或者不同传感器、具有不同视角和不同时相的多幅同一场景图像,在空间上实现几何对齐[1]。图像匹配的常用方法可以分为3类:基于灰度和模板的方法、基于域变换的方法和基于特征的方法。其中,基于特征的匹配方法鲁棒性好,适用于较多的应用场景[2]。典型的基于特征的方法包括两部分:带有属性的关键点检测和特征描述子提取。
基于特征的深度学习图像匹配是目前非常重要的匹配技术,在深度学习图像匹配框架中,有些方法仅用于检测关键点,有些方法仅用于提取特征描述子。关键点检测部分构建响应图,特征信息丰富的响应图有利于检测到更多的关键点;特征描述子提取部分端到端地训练特征描述子[3],特征描述子是用于描述图像中某个关键点的特征向量。关键点检测和特征描述子提取基于不同目标进行优化,两个部分的增益无法直接叠加,在同一个通道中同时训练这两个部分难以取得更好的效果[4]。因此,如何联合训练关键点检测和特征描述子提取,使两个部分彼此更好地协作,是深度学习图像匹配需要解决的问题。
LIFT[5]是最早实现关键点检测和特征描述子提取联合训练的网络之一,该网络以尺度不变特征变换(Scale Invariant Feature Transform,SIFT)[6]中特征点所在的图像块作为输入,其关键点检测的效果与SIFT算法类似,鲁棒性较好,但无法准确提取边缘光滑目标的特征点。与LIFT方法不同,SuperPoint[7]采用了自监督训练的特征点检测和特征描述子提取方式,通过VGG[8]提取特征,关键点检测部分需要在合成图像数据集上进行预训练,且整个网络也需要在合成变换后的图像上进行训练。LF-Net[4]使用Siamense结构[9],无需任何手工方法的帮助,其通过深层特征提取网络产生特征图,可从输入图像中提取出感受野(特征图上像素点在输入图像上映射的区域)较大的深层特征,但损失了浅层特征。RF-Net[10]在LF-Net的基础上提出了一个新的基于感受野的关键点提取方法,保留了浅层特征,得到信息更丰富的尺度空间和响应图,在特征描述子提取模块上采用了与Hard-Net[11]一致的网络结构,并提出了一个通用的损失函数项,用以解决图像的刚性变换后,像素点位置偏移所造成的负面影响。
网络的深度对于学习表征能力更强的特征至关重要,深层特征包含有丰富的语义信息,但随着网络深度的增加,会造成梯度消失或者梯度爆炸,以及网络退化的问题。ResNet[12]为当前应用最为广泛的CNN特征提取网络之一,为了解决网络的退化问题,引入了基本的残差学习;为了克服梯度消失和梯度爆炸的问题,使用了批归一化[13],并将激活函数置换为线性整流函数[14]Rectified Linear Unit(ReLU)。具有强表征能力的深层特征可以更好地定位显著性目标的关键点位置,由ResNet获取的深层特征图有助于关键点的检测。
RF-Net采用公共数据集训练,用于遥感影像匹配时只能检测到较少的关键点,误匹配率高;且关键点检测模块中网络较浅,感受野受限,缺乏高层语义信息。本文基于ResNet和RF-Net提出了一个新的双通道网络,用于检测图像关键点和提取关键点的特征描述子。RF-Net的网络流程如图1(a)所示,基于ResNet和RF-Net的双通道网络流程如图1(b)所示。通过对真实遥感影像进行光照变换、仿射变换,以及计算不同影像间的单应性矩阵,构建遥感影像匹配数据集,并采用该数据集对网络进行训练和测试。
图1 网络流程示意图Fig.1 Diagram of network flow
ResNet提出残差网络结构,采用批归一化,并将激活函数设置为ReLU,在增加网络深度的同时,避免了因梯度消失或爆炸带来的性能下降。本文所提出的改进网络通过ResNet获取带有丰富语义信息的深层特征,能更好地定位图像中显著性目标的关键点位置。
随着网络层数的增加,整体模型的表征能力更强,但训练精度反而下降,出现网络退化问题。残差学习可用于解决深层网络普遍存在的退化问题,残差函数的表达式为:
F(x)=H(x)-x,
(1)
式中,x为网络的输入,H(x)为多个非线性网络层拟合成的基础映射。
基本的残差单元可表示为:
yi=xi+F(xi,wi),
(2)
xi+1=g(yi),
(3)
式中,xi、xi+1和wi分别表示第i个残差块的输入、输出和权重,F表示残差函数,ɡ表示ReLU激活函数。
由上式可得,网络层数加深的过程可以表示为:
(4)
通过损失函数进行反向传播,从而更新参数。如果损失函数用Loss表示,则有:
(5)
综上,当F(x)=0时,叠加的非线性网络层被构造为恒等映射,通过网络学习到的特征与网络输入类似。在实际网络训练环境下,即F(x)≠0时,网络层学习到新的特征,性能更优。
由多个非线性网络层组成的结构,在输入和输出间引入一条直接的关联通道,使得网络参数层集中学习残差,如图2所示。残差块可表示为:
图2 残差结构Fig.2 Structure of ResNet
Y=g[F(x,{wi})+x],
(6)
式中,x为网络输入,Y为网络输出。F(x,{wi})表示所学习的残差映射,ɡ表示ReLU激活函数。
残差块的组成较为灵活。图3(a)为基本残差块结构,由两个网络层组成;图3(b)为瓶颈结构,由3个网络层组成,分别对应1*1、3*3、1*1卷积,其无参数的恒等短接减少了计算参数,可更有效地训练网络。
图3 残差结构Fig.3 Structure of ResNet
以图3(a)为例,该残差块由2个网络层组成,即F=w2σ(w1x),σ表示ReLU激活函数,为了简化结构省略了偏差项。F+x由短接的加法来表示,加法后再进行另一非线性操作。
F与x的维度必须保持一致,可改变x的维度以匹配F。
y=F(x,{wi})+wsx,
(7)
式中,ws表示第s个残差块的权重。
本文采用ResNet-50的网络结构用以提取深层特征,通过图3(b)中的瓶颈结构搭建整个网络,其中输出维度为256,512,1 024,2 048的瓶颈结构的个数分别为3,4,6,5。
图4 基于双通道的网络框架Fig.4 Network structure of dual-channel
本文的关键点检测部分,采用双通道的方式构建网络,两个通道分别为RF-Det感受野递增的浅层特征提取通道和ResNet的深层全局信息特征提取通道。前者提取的浅层特征具有丰富的细节信息,后者提取的深层特征包含更具代表性的全局信息。连接两种不同的特征,提取出最具视觉区分度的特征图,如图5所示。第一个通道由3*3卷积、实例归一化(Instance Normalization)正则函数和ReLU激活函数通过特征金字塔FPN(Feature Pyramid Networks)[16]的卷积方式构成,第二个通道选用ResNet-50。浅层特征和深层特征融合后,对侧边输出使用1*1卷积和实例正则化函数(Instance Normalization)以生成所需的多尺度响应图。本文提出的改进网络得到的响应图所需感受野较小,但包含丰富的深层语义信息和浅层细节信息,有助于检测到更多显著性目标的关键点。
图5 双通道网络结构Fig.5 Structure of dual-channel network
选择高响应像素作为关键点,响应图hn表示多个尺度上的像素响应,本文设计了一个类似于RF-Net和LF-Net的关键点检测结构。
(8)
(9)
式中,⊙为哈达码矩阵,Pn表示像素点为关键点的可能性[10]。
对于方向图{θn},其值分别表示方向的sine和cosine,通过arctan函数计算角度。同样,将θn融合成最后的方向图Θ。
(10)
(11)
本文采用L2-Net用于提取特征描述子。该网络由6个3*3卷积层和1个8*8卷积层组成,在卷积层后都会加上ReLU激活函数,并进行批归一化。描述子提取网络最后一个卷积层的滤波器尺寸过大,对网络会造成负担,但可以获取包含丰富信息的128维张量,并转化为特征向量用以描述关键点。
关键点检测网络对关键点的位置、方向和尺度进行预测,其损失函数由得分图损失(Score Loss)和图像对损失(Patch Loss)组成。
得分图损失是指将图像对Ii和Ij输入网络得到得分图Si和Sj,通过Sj产生参考标准图像(Ground Truth,GT)Gj,计算Si和Gj间的均方误差(Mean Squared Error,MSE)。Gj是指从形变后的Sj中提取K个关键点,并使用高斯卷积(σ=0.5)得到干净的GT。
Gj=g[t{w(Sj)}],
(12)
式中,w、t、g分别表示形变,选取关键点和高斯卷积的过程,如图4所示。得分图损失的计算公式如下:
Lscore-loss(Si,Gj)=|Si-Gj|2
.
(13)
(14)
综上,关键点检测网络损失函数为:
Ldet=Lscore-loss+Lpatch-loss
.
(15)
描述子损失(Description Loss)从Hard-Net[11]中引入特征描述子损失函数Ldes,用于最大化距离最近正例和距离最近反例之间的距离,使特征描述子训练更加稳定。
(16)
(17)
(18)
针对现有匹配网络缺少遥感领域数据进行训练,造成在遥感影像上测试效果较差的问题,本文构建了一个遥感影像数据集(Remote-B),对真实遥感影像进行裁剪、光照变换和仿射变换,生成了包括亮度变化和视点变化的另外9幅图像,并计算原始图像和每幅生成图像之间的单应性(位置关系)矩阵,所有图像和单应性矩阵构成了一个序列。数据集Remote-B由56个不同的序列、560幅影像组成,数据集部分图像如图6所示。此外,同时构建了仅含光照变换的42个序列、294幅影像的数据集(Remote-illu),以及仅含仿射变换的48个序列、336幅影像的数据集(Remote-view)用于测试。
图6 遥感图像数据集部分图像Fig.6 Part of images in remote sensing images datasets
匹配的标准取决于匹配策略,本文分别采用3种匹配策略,计算匹配分数,用以定量评估[17]。
策略一:最近邻NN(Nearest Neighbor)。在该标准下,每个描述子只能有一个匹配。两个区域A和B,当且仅当其描述子DB和DA为最近邻描述子,A与B匹配;
策略二:带阈值的最近邻NNT(Nearest Neighbor with a Threshold)。两个区域A和B,当其描述子DB和DA为最近邻描述子且两者之间的距离小于阈值t时,A与B匹配;
这3种匹配策略用以衡量匹配的精度和关键点数量。在训练过程中,所有学习过的描述子均采用L2正则化,其距离范围是[0,2]。NNT和NNR的阈值t分别设置为1和0.7。
本文在构建的遥感影像数据集Remote-B上进行训练和测试,将数据集按9∶1的比例划分为训练集和测试集,500幅遥感影像用于训练,60幅遥感影像用于测试。
在训练时,将数据集中遥感影像尺度缩放,修改至320×240,并进行灰度变换。对于描述子提取网络部分,围绕关键点裁剪32×32尺寸大小影像输入网络训练。在训练阶段,提取K=512个关键点,但是在测试阶段,可以任选所需的关键点数量,通过描述子网络,得到512个128维特征向量。采用适应性矩估计Adam(Adaptive moment estimation)[18]进行优化,初始学习率设置为0.1,同时训练两次描述子网络和一次关键点检测网络。
分别按照SIFT算法、RF-Net和本文改进网络,对两幅场景相同、仿射变换不同的遥感影像进行匹配,图像间关键点的正确匹配如图7所示。
图7 SIFT、RF-Net及本文改进网络的匹配结果。Fig.7 Matching result of SIFT,RF-Net,and the improved network proposed in this paper.
RF-Net和本文改进网络的匹配效果明显优于传统的SIFT算法。一方面,从图中可以直观看到,RF-Net和本文改进网络的关键点匹配对数明显多于SIFT算法,深度学习卷积神经网络具有强大的特征提取能力,有助于图像中关键点的检测;另一方面,在同一区域内,SIFT算法的关键点更为密集,关键点距离过近会导致产生的图像对太相似而出现错误匹配,该结果可以验证稀疏关键点的匹配效果更好。
将RF-Net和本文提出的改进网络,在数据集Remote-B、Remote-illu和Remote-view上分别采用NN、NNT和NNR策略进行匹配。其匹配得分和平均匹配得分(Mean Score)分别如表1、表2和表3所示。
表3 Remote-view测试结果定量分析Tab.3 Test results on Remote-view
由表1可见,在Remote-B遥感数据集中,本文网络的平均得分比RF-Net高出0.104,匹配精度更高。由表2可见,在Remote-illu数据集中,本文网络的匹配得分高出0.002,在光照变换条件下本文提出的网络和RF-Net都取得了较高的匹配精度,但本文网络的匹配精度略优于RF-Net。由表3可见,在Remote-view数据集中,本文网络的匹配得分比RF-Net高出0.117,在仿射变换条件下匹配性能提升效果更为明显。
综上所述,本文所提出的改进网络比RF-Net具有更好的关键点提取和匹配精度性能,尤其具有更好的抗仿射变换鲁棒性能,可以更好地应用于遥感影像匹配。
遥感影像匹配可以将来自不同设备、不同时间和不同角度的影像数据联系起来,提取更为丰富的信息。基于深度学习的匹配方法,不仅可以提高图像匹配的准确率,也可以适应复杂应用场景的需求,具有非常重要的研究意义。本文提出了一种基于ResNet和RF-Net的双通道检测网络,用以提取表征能力更强的深层特征,并融合感受野递增的浅层特征,提高了检测到的关键点数量和匹配的准确率。在与RF-Net的对比实验中可以看出,本文提出的改进网络在遥感影像数据集Remote-B、Remote-illu和Remote-view上的匹配得分,分别为0.416、0.966和0.647,对仿射变换具有更好的鲁棒性,在关键点检测和匹配精度方面性能更优,可以有效地应用于遥感图像的关键点匹配。