一种基于卫星图像匹配的无人机自主定位算法

2021-06-13 17:35刘欣吴俊娴张占月
航天返回与遥感 2021年2期
关键词:航拍卷积定位

刘欣 吴俊娴 张占月

(1 航天工程大学,北京 101416)

(2 空装驻北京地区第一军事代表室,北京 100854)

0 引言

无人机在执行任务时首先要解决的问题是确定自身在工作环境中的准确位置。因此,定位是无人机导航技术的基础和关键。传统的卫星定位方式依赖外部卫星信号而易受环境和敌方干扰,尤其是低空无人机,卫星信号易受高层建筑物的遮挡而无法提供准确的定位信息[1]。无人机作为一种重要的航空器,通过搭载光电载荷对地成像是其主要功能之一。与其他平台相比,无人机平台成像具有分辨率高的特点,可以对同一目标场景进行多次观察,形成多视角、多位置的成像,在军事和民用领域发挥着十分重要的作用。

基于图像匹配的定位技术是一种自主性和精度均很高的导航定位技术,是导航定位的一种重要手段,也是视觉领域的前沿方向。本文提出一种基于卫星图像匹配的无人机自主定位的技术方案,该技术通过将两种图像进行配准实现无人机自主定位,要解决的核心问题是稳健的特征匹配。由于在成像机理、光照、视角等诸多方面存在差异,无人机光电载荷和卫星传感器两种来源的图像间具有明显的不一致性。因此,直接采用传统人工设计的基于影像梯度的算子(如SIFT[2]、ASIFT[3]、AKAZE[4]等)很难实现这类异源影像的可靠匹配。近年来,基于深度学习的卷积神经网络(Convolutional Neural Network,CNN)[5-8]在图像特征提取方面取得了显著的进展。相对于人工设计的特征描述子,CNN特征可以通过网络模型进行训练,使深层网络能够自动发现更合适的特征提取和表示方式,使得所提取的图像特征具有更好的鲁棒性,一定程度上克服了由于图像不一致而导致的特征匹配困难。基于CNN善于学习图像特征的特点,本文利用CNN把无人机定位问题转化为一种图像分类问题,将卫星图像作为基准图像,并将基准图像等分为若干网格,每个网格代表一类区域,然后用网格图像制作数据集训练CNN。

本文基于卫星图像辅助,提出了一种由粗到精的无人机自主定位框架。首先设计了一种便于机载的轻量级CNN网络抽取图像特征,结合无人机图像时间维度上的连续性,形成一个卷积神经网络和长短期记忆网络的联合分类器(CNN-LSTM),有效实现无人机图像与卫星基准图像的区域匹配;然后提取同名区域的同名点,结合光学成像的共线约束,实现了一种基于多点加权约束的无人机自主定位算法。

1 无人机自主定位框架

本文提出一种基于卫星图像辅助的无人机自主定位方法,其流程框架如图1所示。无人机自主定位采取由粗到精的思路,将定位流程分为两个步骤:1)基于CNN-LSTM的图像分类算法,实现航拍图像与卫星参考图像在空间位置的对准。将预处理后的图像输入至CNN网络,并根据无人机航拍图像时间连续的特点加入了LSTM网络,形成了CNN-LSTM联合分类网络,同时利用多张图像特征作为判断依据,有效提高图像分类的准确率。2)基于同名特征点的无人机位置解算。经过步骤1)后,所抽取的卫星图像区块所包含的地物信息与航拍图像基本相似,再采用ORB[9-12]特征提取算法与RANSAC[13]匹配方法,实现两幅图像同名特征点的匹配,根据匹配得到的卫星图中特征点所携带的地理信息,结合视轴交会原理,最终实现无人机自主定位。

图1 无人机自主定位框架Fig.1 Framework of UAV autonomous positioning

2 异源图像块匹配算法

2.1 轻量级CNN设计

目前遥感领域并不具备足够的带标签的遥感图像用于训练深度学习中网络模型巨量的结构参数,采用现有遥感数据集训练深度网络模型时会出现严重的过拟合。针对这种情况,本文采用迁移学习的策略,通过ImageNet数据库[14](约120万张训练数据集)来训练预训练网络。预训练网络以最小的代价重新调整网络中的权重参数,可以很容易地适应不同的图像分类任务。考虑到无人机机载计算资源有限,本文选用MobileNet网络[15]作为骨干网络。MobileNet描述了一个高效的网络架构,允许通过两个超参数直接构建非常小、低延迟、易满足嵌入式设备要求的模型。另外,设计了一个只包含2个卷积层和1个全连接层的浅层卷积神经网络(见图2),将MobileNet全连接层输出的特征转换到二维空间作为输入图像,对浅层卷积神经网络进行有监督的训练。通过训练浅层卷积神经网络,能够学习高层抽象特征之间的复杂关系。浅层卷积神经网络的结构与参数如图2所示,第1层和第2层为卷积层,卷积核大小均为5×5,第1层卷积核数量为96个,第2层卷积核数量为72个,然后接1个全连接层,大小为128。

图2 卷积神经网络设计Fig.2 Design of the convolutional neural network

2.2 CNN-LSTM联合分类网络

利用无人机航拍图像时间连续的特点,累积同一分类地区中连续航拍图像的不同特征进行综合判断,能够减少因单张图像无法提供充足信息或特征极其相似的情况下导致的错误分类。考虑到LSTM[16-19]网络的结构能够很好地实现记忆和累积一组特征的功能,本文构建了CNN-LSTM联合分类网络,结构如图3所示。一幅航拍图像输入到CNN网络中提取特征后,将该特征向量输入到LSTM网络中,然后将LSTM网络的输出向量输入到SoftMax层进行图像分类。按照先后顺序将一组时间连续的图像加载到模型中。对于卷积神经网络的部分,使用单张航拍图像分类网络的权重参数。在训练期间,保持预训练网络和浅层卷积神经网络各层参数不变,只训练LSTM网络和SoftMax分类层。

图3 CNN-LSTM联合分类网络Fig.3 The CNN-LSTM joint classification network

3 基于多点加权约束的无人机自主定位算法

无人机航拍图像和卫星图像的块匹配完成后,为了实现高精度无人机自主定位,需要实现图像同名目标点的匹配(如图4所示)。本文采用ORB(Oriented FAST and Rotated BRIEF)法——一种基于FAST特征检测快速提取特征点和BRIEF描述子刻画特征点的算法,该方法的特点是速度快,而且在一定程度上不受噪点和图像变换的影响,例如旋转和缩放变换等。经过ORB提取和描述特征点,并使用最近邻匹配算法进行特征点匹配操作后,可获取无人机航拍图像和卫星图像中同名目标点的匹配点集。根据匹配点集,在卫星图像中查询对应目标点在大地坐标系中的坐标。

根据光学成像原理,地面目标点、像点和摄像机光心三点共线,利用共线几何关系建立无人机自主定位数学模型,考虑到成像系统的物距远大于焦距,成像光线方向的微小偏差都会带来明显放大的空间点定位误差。因此本文通过多点几何关系约束建立超定方程组,再使用加权最小二乘估计求解无人机自身空间位置,提高自主定位算法的精度。

在已知多个目标点坐标(Xi,Yi,Zi)及其所对应像点坐标(xi,yi),无人机搭载的摄像机内方位元素(相机焦距f、像主点在像框标坐标系中的坐标x0、y0)的条件下,根据地面目标点、像点和摄像机光心三点共线的几何关系,利用n(n>3)个地面目标点建立无人机自主定位数学模型,并结合加权最小二乘估计求解无人机自身空间位置点坐标(Xu,Yu,Zu)。其自主定位流程如图5所示。

图4 多点约束的无人机自主定位Fig.4 UAV autonomous positioning with multi-point constraints

图5 无人机自主定位算法流程Fig.5 Process of the UAV autonomous positioning algorithm

光学成像共线条件方程的一般形式为:

式中ω、ξ、κ为无人机航拍图像外参数角度,分别代表X、Y、Z轴自旋转的角度;ai,bi,ci(i=1,2,3)为外参数系数;(X,Y,Z)为目标点坐标。求解无人机的位置坐标(Xu,Yu,Zu)是本文主要目的。

n(n>3)个目标点在无人机图像中对应的像点坐标矩阵Z可表示为

式中Z=H(S0) +B·(S-S0) +Δn,表示像点坐标矩阵;S=[xu,yu,zu,ω,ξ,κ]T,表示无人机未知变量;H(S)为像点到无人机位置向量的变换矩阵。

将式(2)在初值S0处进行一阶泰勒展开,可得:

式中 Δn为高阶残差;B为系数矩阵,

根据最小二乘估计[20-21],可得

由于无人机成像时的观测角度,导致不同目标点对定位误差的影响也不一样。为了提高自主定位精度,引入加权最小二乘估计。

令P-1为加权矩阵,且

式中 矩阵元素pi(i=1, 2, 3, …,n)为各个目标点对定位误差的影响权值。则式(5)可转换为

本文设计了一种选权迭代法来为每个目标点赋权。主要步骤如下:

1)设置初始权值。

利用式(8),得无人机位置坐标的第一次估值。

2)定义加权最小二乘目标函数。令

式中 Δxi,Δyi(i=1,2,…,n)代表目标点重映射后的像点与真实像点之间的坐标误差。则加权最小二乘的目标函数可以写为

式中 Δdi表示目标点重映射后的像点与真实像点之间的距离误差。则样本的标准差为

3)定义权因子wi。表达形式如下

式中ui为分布系数,阈值k0=1.5,k1=2.5。

4)令pi' =piwi代替式(6)中pi,重新计算无人机坐标。

5)重复1)~4)步,进行迭代运算,直至两次估值结果差异小于限差为止。

4 试验与结果分析

4.1 特征点匹配试验

本文通过百度地图获取了南京地区卫星图像作为航拍数据,区域范围如图6所示。将图像划分为40×25(行×列)个大小相同的正方形网格区域,每个区域图片大小为224像素×224像素。为了后续数据增强的需要,去掉最外层网格后共得到38×23=874张图片,作为要分类的874类区域,每一类图片用其所在行列号标记。此外,本文采用了对图像随机旋转、裁剪、变形,并进行颜色抖动、高斯模糊和椒盐噪声用以增强数据。通过以上方法,将每类数据的数量增加到400张,得到共349600张874类区域的图像数据,其中训练集、验证集、测试集比例为8∶1∶1。使用ImageNet数据库对特定网络MobileNet进行预训练,使用随机梯度下降算法作为参数优化器,设置学习率为0.0001,验证频率设为30(每学习30次验证1次),超参数batch_size设为64。训练后的MobileNet输出特征向量为128维,以此特征向量来训练LSTM网络,使用Adam梯度优化算法更新权重,并设置学习率为0.001,batch_size为64。

图6 卫星图像Fig.6 The satellite image

将本文算法分别与SIFT和ASIFT算法进行试验比对,SIFT和ASIFT特征描述算子均采用OpenCV自带函数,并采用kNN(k-NearestNeighbor)最近邻匹配方法,结果如表1所示。可以看出,本文方法定位成功率最高,达到93.8%,远大于传统人工特征点方法。

表1 定位成功率对比Tab.1 Comparison of the positioning success rate

4.2 仿真分析

为了充分的验证自主定位算法性能,进行多点约束的无人机自主定位数值仿真试验。

(1)验证自主定位算法的有效性

选取三组数据进行仿真试验,仿真数据如表2~3所示,其中地面目标点个数为3。摄像机等效焦距为400像素,成像分辨率为1920×1080像素。仿真误差主要体现为由于摄像机畸变而产生的像点误差,设置为0.5像素。三组试验中摄像机的位姿态参数分别为:1组:Xu=2 500m,Yu=2 500m,Zu=2 500m,ω=1°,ξ=2°,κ=1°;2组:Xu=1 350m,Yu=2 250m,Zu=2 000m,ω=–2°,ξ=1°,κ=–1°;3组:Xu=3 000m,Yu=2 500m,Zu=1 500m,ω=2°,ξ=–2°,κ=2°。自主定位结果如表4所示。通过有限次迭代,定位误差收敛到一定区间之内,充分证明了本文定位方法的有效性。

表2 目标点坐标Tab.2 Coordinates of the target单位:m

表3 目标点对应像点坐标Tab.3 Coordinates of the target point corresponding to the image point 单位:像素

表4 无人机自主定位算法定位结果Tab.4 Results of the UAV autonomous positioning algorithm

(2)自主定位算法精度

为了测试无人机自主定位的精度,采用蒙特卡罗方法针对3组数据分别进行108次试验,试验结果如图7所示。求取3组定位数据的均方根误差,分别为3.18、7.38、4.41m。经仿真验证,本文方法具有较高定位精度,能够满足无人机自主定位的要求。

图7 自主定位误差分布Fig.7 Map of autonomous positioning error distribution

5 结束语

针对无人机通过图像进行自主定位的应用需求,本文提出了一种利用CNN-LSTM网络将无人机图像与参考卫星图像进行配准的算法,将无人机自主定位问题转化为一种图像分类问题;并提出了一种基于多点加权约束的无人机自主定位算法,进一步提升了无人机定位精度。试验证明,本文提出的配准算法具有较强的鲁棒性,能较好适应无人机图像和卫星图像匹配,为无人机自主精确定位提供了一种新的思路。

由于条件限制,本文使用卫星影像来模拟航空图像,在下一步工作中,将开展真实航空图像与卫星影像的匹配试验工作,进一步验证算法可行性;另一方面,本文算法依赖卫星影像的提前划分,下一步工作中将研究网格划分的自适应机制,并探讨网格划分对定位精度影响。

猜你喜欢
航拍卷积定位
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
航拍巴彦呼硕
航拍,苍穹下的醉美视角
AirCraft航拍辅助软件
少儿智能定位鞋服成新宠
把握新定位、新要求 推动人大工作创新发展
难与易