基于异源影像匹配的无人机在线快速定位方法

2023-10-11 12:59眭海刚李嘉杰苟国华
系统工程与电子技术 2023年10期
关键词:异源卷积像素

眭海刚, 李嘉杰, 苟国华

(武汉大学测绘遥感信息工程国家重点实验室, 湖北 武汉 430072)

0 引 言

卫星定位技术为无人机提供了空间位置信息,使无人机能够完成定点飞行、航线规划、自动返航等飞行任务,保障了飞行安全。但卫星定位技术常用的导航卫星定位手段极易受干扰,无人机视觉定位方法正逐步受到重视[1-3],以即时定位与地图构建(simultaneous localization and mapping, SLAM)[4-5]为代表的室内视觉定位技术取得很大进展,但难以适用于室外低空大范围飞行场景。也有研究者基于改进SLAM前端设计了定位系统, Shan等[6]通过光流跟踪建立状态估计,并使用方向梯度直方图(histogram of oriented gradient, HOG)特征在卫星影像上实现配准,利用粒子滤波实现从粗到精的无人机定位,但由于没有回环检测,系统存在误差累积的问题。

近年来,随着无人机应用范围的扩展,结合卫星影像的无人机定位方法越来越受到重视[7-8]。Mughal等[9]提出利用深度学习提取影像特征,引入半局部约束在已建立的密集匹配中寻找最佳定位,以实现端到端匹配定位。虽然该方法实现了定位流程并考虑了机载限制,但其在NVIDIA TX2上实现一次定位需要3.7 s,离实时性要求还有一定距离,异源影像的鲁棒快速匹配仍是瓶颈。在计算机视觉领域,寻求泛化能力更强的特征匹配方法持续受到关注[10-12],Yang等[13]研究了异源影像匹配,针对异源影像之间的灰度差异和非线性辐射畸变,提出了一种考虑相位锐度方向的异源图像匹配方法。相比传统匹配方案,异源图像匹配方法具有更高的准确性和鲁棒性,但人工设计特征的鲁棒性始终有限,无法稳定匹配更多类型场景的异源影像。深度学习等大计算量方法能够实现更稳健的特征匹配,Sarlin等[14]尝试用深度学习建立特征点的匹配关系,结合图神经网络和求解最优运输问题,取得了相当好的匹配效果。然而,基于特征点的匹配方法无法适应纹理稀疏场景,无特征点检测的匹配方法逐渐兴起。Rocco等[15]设计了领域一致网络(neighbourhood consensus network,NCNet),模型通过分析局部邻域关系,在影像的四维特征空间实现了密集的特征匹配。Efe等[16]使用预训练视觉几何组(visual geometry group,VGG)提取影像特征,通过最近邻算法估计高层特征关系以输出密集特征匹配。无特征点检测进一步提升了匹配方法的鲁棒性,深度学习也成为图像匹配的主流方法[17-20]。但机载计算资源有限,限制了这些方法在无人机在线定位上的应用。

本文针对定位鲁棒性和实时性的瓶颈问题,提出一种新的异源影像快速匹配定位算法。利用残差网络提取鲁棒特征,结合小型Transformer[21]获取高精度定位;其次,通过迁移学习以最小欧氏距离替代Transformer来加速模型推理。

1 基于影像匹配的视觉定位

基于异源匹配定位的方法通过建立异源图像间的仿射变化关系,确定无人机在卫星底图上的坐标,最后利用卫星影像预存的地理信息实现经纬度转换。

整个定位系统可划分为3个模块,如图1所示。首先利用无人机上的惯导等传感器确定无人机影像在卫星地图上的大致区域;其次,设计了端到端的匹配模型,利用残差网络[22]结合特征金字塔(feature pyramid network,FPN)[23]提取图像多尺度特征,结合最小欧式距离和轻量Transformer模块,实现特征从粗到精的匹配,构造高精度异源影像映射关系;最后,利用匹配点对来估计单应矩阵,实现坐标转换。因此,图像匹配算法是定位系统的核心,其鲁棒性和实时性是影响定位效果的关键。

图1 影像匹配定位方法的流程Fig.1 Procedure of image matching localization method

2 异源影像匹配网络设计

2.1 特征提取网络设计

特征提取模块的整体框架如图2所示,模块结合了残差网络(residual network,ResNet)和特征金字塔。ResNet利用了残差连接和恒等映射,残差连接通过学习残差特征,缓解了由网络层次加深带来的特征变化较小的问题,使得残差特征表征能力更强。恒等映射解决了网络层次数量影响特征表征效果的问题,使得模型提取特征的能力不受网络层次数量的影响。特征金字塔通过融合不同层次的特征图,使得特征具有一定的尺度不变性。因此,结合ResNet和FPN输出鲁棒性较强的特征。

图2 特征提取网络框架Fig.2 Framework of feature extraction network

基于实时性考虑,本文采用了规模最小的ResNet18作为骨干网络。首先,将输入的异源影像预处理为640×480的单通道图,进行灰度归一化后放入同一批次,同时提取异源图像的特征;然后,通过卷积核大小为7×7和步长为2的初始卷积层,分别生成128张尺寸为320×240的特征图;该组特征图连续通过6个结构一致的残差卷积块,结构如图3(a)所示。其中,x表示输入特征图,F(x)表示对x进行两层卷积得到的特征图。每两个残差卷积块构成一个残差卷积组,每个残差卷积组具有相同的卷积核数量,卷积核大小均为3×3。通过改变卷积步长得到不同分辨率和通道数的特征图。特征图通过3个残差模块组后,利用1×1卷积统一所有特征图的通道数并进行融合。融合模块结构如图3(b)所示。其中,x和y表示通过不同残差卷积组得到的不同分辨率的特征图。

图3 残差块和特征融合模块的逻辑构成Fig.3 Logical composition of residual block and feature fusion module

首先采用双线性插值方法上采样低分辨率特征图,将其与高分辨特征图相加,然后通过两个卷积核大小为3×3且步长为1的卷积层实现特征高维融合,并统一通道数。其中,卷积层间通过批标准化(batch normalization,BN)将输入分布归置到均值为0、方差为1的标准正态分布,使输出落在激活函数的敏感区域。同时,用LeakyReLU函数对卷积输出进行非线性激活,激活函数如下:

LeakyReLU=max(ax,x)

(1)

式中:a表示一个较小的斜率。

特征金字塔执行两次融合,网络最后输出低分辨率特征图和融合了多尺度信息的高分辨率特征图。

2.2 特征匹配方法设计

2.2.1 基于Transformer的匹配模型

将残差金字塔网络提取的特征由粗到精构筑密集匹配。在进行匹配之前,还需要利用Transformer模块对特征进行编码,目的是为了融合注意力,通过结合局部和全局信息来增强特征,提升特征区分度,便于度量特征的相似性,并由此建立精细的匹配概率分布,使匹配关系更加鲁棒。Transformer模块由顺序连接的编码器层组成。图4(a)显示了编码器的结构,编码器的输入是由ResNet提取的特征图。编码器层的关键模块是注意力层。根据输入的特征一致性,可以实现自注意力和交叉注意力机制。本文在粗匹配阶段之前设计了8层Transformer编码器,通道数与ResNet输出的特征通道数一致,并采用自注意力和交叉注意力交替编码,在精细匹配之前则进行单次自注意力和交叉注意力编码,即包含两层Transformer编码器。

图4 编码器和注意力层的逻辑构成Fig.4 Logic composition of encoder and attention layer

由于传统Transformer的注意力层计算复杂度太高,本文采用了线性注意力[24],计算方式如图4(b)所示。基于矩阵乘法结合律,通过ELU(·)激活函数替换原计算核,使计算复杂度从O(N2)降低到O(N),提升了算法效率。

基于编码后的特征实现粗匹配。粗匹配阶段首先通过关联Transformer编码特征构造代价矩阵;然后,使用softmax函数将代价矩阵转换为匹配的概率分布矩阵,输出不同像素间的匹配概率;最后,根据匹配概率输出置信度高的低分辨率影像上的匹配点坐标。代价矩阵和概率分布矩阵的计算如下:

(2)

P(i,j)=softmax(i,·)j·softmax(·,j)i

(3)

式中:FUAV和FSAT分别表示经过Transformer编码的特征图。代价矩阵即计算特征的点积相似度,然后通过softmax将代价矩阵行列指数归一化,输出概率分布矩阵,概率分布矩阵中的每个元素代表不同局部的匹配概率。

建立粗匹配后,基于粗匹配的匹配点对利用精细匹配模块将匹配细化到原始图像分辨率。首先,在高分辨特征图上定位所有粗匹配点的位置,固定其中一张特征图的匹配点位置,在另一张特征图上以匹配点为中心构造大小为5×5的局部窗口;然后,通过小型Transformer模块在局部实现特征关联,构建代价矩阵;构建代价矩阵后,不同于粗匹配阶段,精细匹配结合了基于卷积神经网络的数值坐标回归[25],将代价矩阵输入可微空间到数值转换层(differentiable spatial to numerical,DSNT)。DSNT层是可微的数值变化层,适应现有卷积神经网络的训练框架,利用DSNT层输出粗匹配点的像素坐标微调量,最终能够实现亚像素的匹配精度。

2.2.2 基于最小欧氏距离的匹配模型

无人机机载计算机算力有限,难以部署粗匹配阶段的大型Transformer。同时,结合了ResNet、特征金字塔以及Transformer的匹配框架过于复杂,对算法效率产生非常大的影响。由于ResNet已经具备强大的特征提取能力,已有学者研究了基于预训练ResNet的特征匹配方法[15],通过卷积神经网络直接构筑密集的特征匹配,证明了利用迁移学习实现特征匹配的可行性。

因此,本文算法基于Transformer匹配算法的预训练模型,首次采用最小欧式距离算法直接实现粗匹配。最小欧式距离的计算复杂度为O(N2d)。而大型Transformer需要先进行特征编码,再建立匹配,编码和匹配计算复杂度分别为O(N2d2)和O(N2d),因此通过去除特征编码能够有效提升匹配效率。在精细匹配阶段,虽然也应用了Transformer模块,但由于局部窗口较小且仅应用了小型Transformer,精细匹配的效率已经相对较高。同时,Transformer模块有助于提升匹配精度。故算法仅对粗匹配阶段进行优化,该匹配方法的结构如图5所示。

图5 最小欧式距离匹配模块结构Fig.5 Structure of minimum Euclidean distance matching module

ResNet提取的低分辨率特征传入特征匹配模块,首先将输入的特征展平并同时做归一化处理,得到长为(1/8)H×(1/8)W、宽为C的二维张量。采用欧氏距离矩阵度量所有特征描述,矩阵元素代表特征间的欧氏距离相似度,距离矩阵的计算如下所示:

(4)

最后输出矩阵中的行列最小值,便得到了一一对应的匹配点对,取代了Transformer模块的编码匹配过程,将粗匹配模块的运行时间由秒级降低到毫秒级。精细匹配模块保持一致,在一定程度上保证了匹配精度。

2.3 匹配模型训练

将特征提取和匹配模块在MegaDepth[26]数据集上进行训练,数据集包含了多视角影像,并包含对应拍摄角度的相机参数和深度信息。但该数据集缺少匹配真值,本文通过如下策略生成了匹配真值。数据在训练前的处理过程分为四个步骤:首先取出同一目标的两幅不同视角的图像,将其中一幅图像的像素坐标利用相机参数和深度值反投影到三维坐标;然后,将另一幅图像的相机参数投影到二维坐标,建立两幅图像的像素对应关系;再次,针对存在遮挡或投影坐标并不匹配的情况,进行投影坐标的深度比对,如果估计深度和真实深度差异在一定范围内,则确定为匹配真值;最后,根据网络输出整理为置信度矩阵。

网络训练采用两种损失函数,在低分辨率匹配阶段,采用focal损失函数[27]。focal损失能够缓解损失震荡的问题,同时可以通过设置使训练过程更关注困难样本的匹配。focal损失表达如下:

(5)

在精细匹配阶段,采用L2范数损失,实现点对的精细匹配。匹配时,其中一张影像的匹配点像素位置保持不变,仅调整其对应匹配点的像素位置,所以损失仅针对其中一张影像的像素位置。损失函数是像素的坐标误差,计算方法如下:

(6)

式中:i表示参照影像的像素位置;j表示坐标微调影像的像素位置;jgt是通过相机参数、深度信息和参比影像的像素位置i计算出的地面真值。

3 定位模块设计

单应矩阵约束了同一三维空间点在两个像素平面的二维齐次坐标。通过单应矩阵估计,能建立异源图像间的仿射变化关系,由此确定无人机影像像素在卫星影像上的像素坐标对应关系。而卫星影像预存对应的地理坐标,通过仿射变化,最终输出无人机位置的经纬度。

单应矩阵通过随机抽样一致(random sample consensus,RANSAC)算法[28]估计,每对匹配产生两个约束方程,如下所示:

(7)

式中:Hxy为单应矩阵的元素,(X,Y)和(x,y)表示对应的匹配点对。故利用四组匹配点就可以估计单应矩阵。RANSAC算法在此基础上,随机选取四对匹配点对,估计单应矩阵并计算其余匹配点对的误差,记录误差小于阈值的匹配点对数量。不断迭代重复上述过程,以正确匹配点对数量最多的估计单应矩阵作为输出结果。

估计单应矩阵后,接着投影无人机影像中心坐标到卫星影像的像素坐标,并根据卫星地图的地理坐标转换得到无人机的经纬度,转换计算如下所示:

(8)

卫星影像存储的地理信息一般表示为6个仿射系数,分别是A和E表示的x和y方向上的像素分辨率,D和B表示的x和y方向上的旋转系数,C和F表示的左上角像素中心的经度和纬度。

4 实验结果与分析

4.1 实验准备

本文在影像匹配数据集HPatches[29]上测试了算法的性能。HPatches数据集包含光照强度变化显著的57个序列,视角变化角度较大的59个序列,图像内容涵盖建筑、物品、生物、风景等多种类型。匹配效果通过单应性分析评估,并与典型匹配算法进行对比。

目前没有针对影像匹配定位性能测试的公开数据集,本文构建了相应的测试数据集。使用大疆精灵4 RTK采集了武汉城郊约6 km2的正射航拍影像。无人机先后飞过城市和丛林区域,飞行高度保持在距离地面300 m,采集的影像分辨率为1 920×1 080,地面分辨率为0.245 m。数据集共采集了910张影像,其中包含461张(50.66%)纹理丰富的城市居民区,120张(13.19%)纹理稀疏的丛林区域和329张(36.15%)对两种区域均有一定程度覆盖的影像。数据集同时记录了无人机拍摄时的卫星导航数据,作为匹配定位精度的评判依据。卫星底图采用在谷歌地图上获取的2018年武汉区域影像,空间分辨率为0.5 m。通过对算法定位和卫星定位差异分析来评估定位性能。

4.2 单应性评估

本文在HPatches数据集上进行匹配性能测试,数据集中的每一个序列包含6张不同光照或者不同视角的图像。对于每一个序列,取一幅图像作为参考图像,与其他5张图像进行匹配,测试前将所有图像重新调整为640×480。评价的客观指标分为两个部分,首先是匹配点的精度,通过数据集提供的单应矩阵真值评估匹配点对的像素误差,计算如下所示:

(9)

(10)

(11)

单应矩阵估计减少了不同算法提取的特征点数量和位置的影响,评估更具公平性,单应矩阵的精度也直接关联定位精度。单应矩阵的精度由影像四个角点仿射变化的精度决定,角点的精度计算方式与式(9)~式(11)相同,单应矩阵的精度是4个角度精度的平均值。验证中的单应矩阵通过RANSAC算法估计出结果,误差阈值设置为10像素。

本文与3种类型的典型特征匹配方法进行了比较,包括传统特征匹配方法,基于深度学习的图像匹配方法,以及无检测器的匹配算法。传统特征匹配方法对比了尺度不变特征变换(scale-invariantfeaturetransform, SIFT)[30],基于深度学习的匹配方法采用SuperPoint[31]提取特征点,并利用SuperGlue[14]进行匹配,最后本文还对比了LoFTR[32]和Patch2Pix[33]两种无检测的匹配方法,以验证算法的准确性和效率。

匹配点对精度结果如图6所示,横轴代表匹配点相对真值的误差,纵轴表示匹配点的精度。实验统计了匹配误差从1到10像素。从图6(a)的曲线结果可知,本文提出算法的匹配点误差在1像素以内占比接近83%,仅次于LoFTR,说明所提算法具有较高精度,多像素精度虽然表现不如对比算法,但也能达到93%以上的较高精度。

图6 匹配点精度测试Fig.6 Matching point accuracy test

这种情况的出现主要有两个原因。首先,如表1所示,本文所提算法提取了最多的匹配点对,比对算法只有LoFTR接近,更多的数量会导致提高精度的难度加大;其次,最小欧氏距离无法对非线性关系进行完美度量,导致算法在视点变化的数据上表现不佳。但在线性关系较好的图像对上,如图6(b)的HPatches光照变化数据集测试结果,本文算法精度始终优于其他算法。

表1 匹配点数量比对Table 1 Number of matching points

对于以上算法单应矩阵估计的角点误差,统计了算法误差小于1个、3个和5个像素的图像数量占比,结果如表2所示。括号外是完整数据集的单应矩阵精度,括号内是光照变化数据集的对应结果。从表2可以发现,LoFTR算法估计的单应矩阵具有较好的整体精度,本文算法在一个像素误差以内有较好的表现,仅次于LoFTR算法,在3个和5个像素误差内精度也较好,同时在光照变化数据集上相比其他算法有非常大的提升。综合考虑无人机和卫星影像的成像特点,欧氏距离的实时性高,在视点变化较小的情况下,采用欧氏距离能够取得更好的定位效果。

表2 单应矩阵精度评估Table 2 Homography matrix precision evaluation

4.3 定位评估

定位评估主要是定位精度评估,在自行构建的数据集上进行。首先,对无人机影像和局部卫星影像提取的匹配点对计算单应矩阵,单应矩阵利用RANSAC算法估计,像素误差阈值设置为1。通过单应矩阵计算无人机影像中心在卫星地图上的投影坐标,然后根据卫星地图的地理坐标转换得到无人机的经纬度坐标。由于SIFT方法匹配效果较差而且较慢,本文对比了性能最好的3个匹配方法。

实验结果如图7所示,图7中的红色直线代表GPS参考轨迹,绿色直线代表匹配定位轨迹。从图7(a)可以发现,SuperGlue虽然在HPatches数据集上取得了较为理想的结果,但在丛林区域丢失了定位,这是由基于特征点匹配方法的固有缺陷导致,该类方法通常在纹理稀疏区域无法获得鲁棒特征点,从而难以建立稳定的匹配。LoFTR匹配结果如图7(b)所示。虽然LoFTR是利用特征建立密集匹配的匹配方法并取得了最佳匹配效果,但也未能处理好稀疏纹理区域。虽然有一定数量的匹配点对,但由于误差较大,估计的单应矩阵产生了错误的定位结果,在丛林区域也丢失了定位,匹配鲁棒性不足。Patch2Pix方法的匹配如图7(c)所示,相比其他算法Patch2Pix方法没有丢失定位,但定位的波动比较大。定位与无人机的飞行稳定性息息相关,不稳定的定位将对无人机飞行控制产生不利影响,算法稳定性有待提升。图7(d)是本文所提出的模型,定位的稳定性和完整性都有较好表现。

图7 定位测试结果Fig.7 Localization test results

利用真实全球定位系统对算法匹配定位成功的所有图像进行评估,统计结果如表3所示。从整体来看,所有算法不论是平均误差或是最大误差,精度都比较接近,基本处于厘米级。其中,LoFTR和SuperGlue的平均误差和最大误差只统计了成功定位的部分,不包括如图7(a)和图7(b)所示的偏离匹配部分,偏离匹配的判断是前后两帧的定位误差差异超过15 m。本文所提算法取得了最好的定位精度,同时完成了整个轨迹的匹配定位,证明了在视角变化较小的情况下本文算法匹配性能的先进性。

表3 定位精度Table 3 Localization accuracy

4.4 算法效率分析

无人机搭载的计算设备算力有限,而算法效率是必须考虑的问题。本文在Jetson Xavier NX上测试了各算法运行效率,结果如表4所示。所提算法在保证了相当精度的前提下,相比其他算法运行效率是最高的,虽然SuperGlue算法取得了和本文接近的效率,但在稀疏纹理场景下易丢失定位。SuperGlue是基于特征点的匹配方法,匹配效果与匹配点的鲁棒性直接相关。在纹理稀疏场景中,局部特征与邻域特征没有区分度,导致提取的特征点不稳定。因此SuperGlue在弱纹理区域匹配鲁棒性不足,无法稳定定位,产生了如图7(a)所示的定位丢失情况。

表4 算法效率Table 4 Algorithm efficiency s

5 结 论

本文针对现有异源图像匹配算法鲁棒性和实时性不足的问题,提出了基于ResNet提取稳定特征、以最小欧式距离结合小型Transformer实现精细匹配以及单应矩阵迭代定位的算法,改善了匹配定位方法的性能。实飞数据集测试证明所提方法在Jetson Xavier NX上实现了高精度、稳健的快速定位。方法定位平均精度达到2.86 m,相比典型算法有2.1%的提升,1 Hz的定位频率也足够满足低速无人机的定位需求。下一步将收集更多匹配定位场景数据和改进算法,在保证稳定性的前提下,提高计算效率。

猜你喜欢
异源卷积像素
近岸水体异源遥感反射率产品的融合方法研究
基于EM-PCNN的果园苹果异源图像配准方法
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
脸谱与假面 异源而殊流
“像素”仙人掌
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
ÉVOLUTIONDIGAE Style de vie tactile
高像素不是全部