APP下载

基于改进ORB的月面着陆视觉导航的配准方法

2021-07-18夏永江

上海航天 2021年2期
关键词:着陆器灰度阈值

胡 涛,贺 亮,夏永江

(1.上海航天控制技术研究所,上海 201109;2.上海市空间智能控制技术重点实验室,上海 201109;3.上海航天技术研究院,上海 201109)

0 引言

未来人类需要建设月球基地来实现更大区域的探索,要求无人或有人探测器能够实现点对点的自主月面精确着陆,而在着陆器下降过程中,如果采用视觉导航信息作为多源信息补充,可以修正初始定位误差,大幅提高着陆器的降落精度。首先着陆器在下降过程中提取光学相机拍摄图像中的随机特征点,通过相邻帧序列图像间的特征点进行配准,求出相邻图像间的坐标变换关系,实现着陆点位置间传递,这样就能求解出着陆器在每时刻的位置信息[1]。

在特征提取检测方面目前存在多种方法,HARRIS 等[2]提出了检测图像中每点像素与周围点变化率的平均值的算法,从而检测出角点,但检测范围大、耗时长。FAST 算法在此基础上做了速度上的改进,计算速度快,但不具有尺度不变性,因此导致误匹配率较高[3]。LOWE[4]提出SIFT 算法,通过构建高斯差分表来建立尺度空间,为描述子构建128 维的特征向量,很好地解决了尺度、旋转、光照和噪声等问题,应用广泛但实时性较差。BAY 等[5]对SIFT 进行优化,引入积分图使用在Hessian 矩阵上,虽然减少了运算量,但实时性依然不能满足。这些算法在速度上并不满足着陆器在下降过程中由于速度变化大而产生的时响应度问题。后续在ICVC2011 上,BRADSKI 等[6]提出ORB(Oriented FAST and Rotated BRIEF)算法,结合了FAST 特征和BRIEF 描述子并作出改进和优化,BRIEF 采用二进制串描述子减少了内存,大大提高了运算速度,但不具备尺度不变性,并且存在对灰度变化小的区域检测精度低的问题。

近年来,也出现了很多ORB 改进算法。戴雪梅等[7]融合SURF特征点检测和ORB 描述子对图像进行检测。刘婷婷等[8]在ORB 中加入了K最近邻算法(KNN)进行粗匹配,处理速度较经典的SIFT算法得到提高,但效果并不理想。后续ORB 在不断地被完善,经常与随机抽取一致性算法(RANSAC)进行结合,可以有效剔除误差点,但是RANSAC 算法的计算迭代次数没有上限,且要求设置跟问题相关的阈值。

为此,本文提出了改进的ORB 算法,并进行图像导航的特征匹配。首先对输入图像构建5 层图像金字塔,建立尺度空间,赋予特征点尺度不变性特征;然后在FAST 特征点检测阶段设置自适应阈值,构建掩膜分块逐一检测特征点,采用非极大值抑制使特征点均匀分布,消除月面图像特征点聚集现象后进行特征匹配;最后结合PROSAC 算法计算着陆器下降序列图像的位置信息变换关系。

1 ORB 特征提取算法

1.1 oFAST 关键点检测

ORB 算法的特征点检测是在FAST 角点的基础上进行改进优化的,增加了关键点的方向特征,如图1 所示。oFAST 角点首先在图像中任选一点p,其像素值为Ip,判断该点是否为特征点的条件是:在以该点为圆心,3 个像素点为半径,取出圆形区域,将圆周上连续出现的离散化的n个像素点的像素值与Ip进行比较,设t为阈值,若都比Ip+t大或比Ip−t小,则认为p点为特征点,一般n取12 或9。

图1 FAST 特征检测示意图Fig.1 Schematic diagram of FAST feature detection

FAST 角点检测不能解决图像的尺度变换问题,且角点不具有方向,而ORB 算法在FAST 角点上增加了方向,通过矩来计算特征点以r为半径范围内的质心,特征点坐标到质心形成一个向量作为该特征点的方向,如图2 所示[9]。

图2 灰度质心法示意图Fig.2 Schematic diagram of gray-scale centroid method

具体步骤如下:

对选取的特征点p的邻域S的矩定义为

式中:I(x,y)为图像灰度表达式。

该矩的质心为

则特征点的主方向为该点到质心的矢量方向:

1.2 rBRIEF 特征描述

rBRIEF 特征描述是在BRIEF 特征描述的基础上加入旋转因子进行改进优化的,BRIEF 描述子是由二进制字符串组成,在特征点邻域内选择n个点对,像素点为pi,qi(i=1,2,…,n),然后比较每个点对的灰度值大小,根据准则函数

可以得到长度为n的二进制串特征符

ORB 算法通过在原始的BRIEF 算法的特征点S×S(一般S取31)邻域[10-11]内选取的n对点集矩阵中加入旋转矩阵Rθ=就能得到如下特征点对矩阵:

最终确定的rBRIEF 描述为

ORB 算法为了得到最大方差、最小相关性的特征点对,采用了贪婪算法来提高特征点的判别性和准确性。

首先建立具有大约30 万特征点的数据集,在每个特征点的邻域内取31×31 个像素点,这些像素点之间相互匹配组成N组点对,这样就得到300k×N个元素的矩阵,每列向量为二进制串,按照距离均值0.5 的距离进行升序排序,形成向量T,通过贪婪搜索方法取得256 个点对的步骤如下:

步骤1从T中把排第一的向量放到R中,并从T中删除;

步骤2然后把T中排下一个的点对与R中所有测试求相关,如果相关值超过某一事先设定的阈值则去除,否则就移入R中;

步骤3重复上一步直到R中有256 个测试为止。如果数量不够256,就提高阈值,再重试一遍。

2 基于改进ORB 的图像配准方法

针对月球着陆下降序列图像在传统ORB 算法检测下特征点分布不均匀且数量较少,容易出现团簇现象,提出一种基于改进ORB 结合PROSAC 的帧间图像视觉导航特征匹配方法。该方法首先建立图像金字塔,构建尺度空间,设置自适应阈值构建掩膜分块逐一进行FAST 特征点检测;然后对聚集的特征点采用非极大值抑制的方法,消除团簇现象后再进行特征匹配,结合PROSAC 算法去除掉误匹配点对;最后计算下降序列图像间的位置变换关系。具体流程如图3 所示。

图3 基于改进ORB 月面图像配准流程Fig.3 Lunar surface image registration process based on improved ORB

2.1 改进ORB

2.1.1 特征点检测

传统ORB 算法对月面图像容易造成检测出的特征点数量较少且簇集分布不均匀,为了解决下降图像尺度变化问题,本文构建n层金字塔图像层,n取5,每一层都按从下到上的次序编号,如图4 所示。将原始图像先放大5/3 倍作为第1 层,记为L1;第2 层为第1 层的3/5 的下采样,记作L2;以此类推,第n层为第n−1 层的3/5 下采样,记为Ln。虽然会丢失月面目标的信息,但达到了缩小图像的目的。尺度空间的尺寸关系为

图4 金字塔图像示意图Fig.4 Schematic diagram of pyramid image

式中:lj为尺度层;f为该层的特征尺度。

在得到特征层后,传统的FAST 检测角点通过将待选点像素与周围点的像素进行比较来确定,一般如果连续9 或12 个点都大于或小于阈值t,则将该点判断为特征点,此处的阈值t通过事先人为设定,阈值t设置得越大,则特征点数越少。因此,对于具有不同灰度值对比度的图像,检测出来的特征点数量受影响较大,抗干扰能力较弱。

为了解决上述问题,本文利用对图像整体的灰度值对比度综合分析,设置自适应的阈值替代人为设定的阈值,提出利用图像候选点邻域的灰度均值作为该点阈值t的自适应选取方法,使其能够适用不同对比度特征的图像,即

式中:I(xi)为候选点半径为3 的邻域点像素值。

同时将图像划分为m×n块,本文中m、n均取4,这样就能得到16 个图像块;然后构建掩膜以移动步长为一格对图像块进行上述ORB 算法检测,以确保特征点数量能够更多,分布更加均匀,如图5所示。

图5 特征点检测Fig.5 Feature point detection

2.1.2 非极大值抑制

将图像平均分为16 块,构建1/16 大小的掩膜,通过移动掩膜逐一取出每一图像块,检测各图像块的特征点,在每个图像块内也会产生聚集在陨石坑和岩石等边缘的簇集点。本文采用非极大值抑制剔除过于聚集的特征点。

非极大值抑制方法首先对整个图像三维像素进行遍历,然后对特征点邻域内的候选点进行排序测试。根据ORB 算法在检测特征点时已经计算出的Harris 角点响应值来进行排序,最后只保留邻域内响应值最大的特征点。使用该方法后,图像的聚集点变得更加均匀,且没有显著增加运算时间,仍然保留ORB 计算较快的特性。

在利用非极大值抑制对图像进行处理后得到特征点的位置,对极值点所在层与相邻所在层进行一维一次插值拟合得到特征点的尺度位置,然后在所在尺度层中进行二维二次插值得到特征点的精确坐标位置,如图6 所示。融合图像金字塔分布更加均匀的特征点后,根据第2 章中方法,对足够多的特征点计算其主方向,使用rBRIEF 描述子进行特征描述。

图6 图像特征点定位示意图Fig.6 Schematic diagram of image feature point positioning

2.2 特征匹配

特征匹配是在具有相似事物特征的2 张图片中,通过特征点检测在另一幅图片中寻找相应特征点,将距离最近的点作为匹配点对。本文采用嫦娥四号下降光学相机所拍摄的视频,采样取得序列图像进行特征匹配。rBRIEF 描述子采用二进制串进行描述,通常采用汉明距离表示点对之间的距离,汉明距离越短,表示匹配的点对之间越相似。对于每个特征点,取与其汉明距离最短和次短的特征点进行比较[12],本文认为当最短距离与次短距离的比值低于0.7 时,两个特征点之间符合最佳匹配。

2.3 PROSAC 算法剔除误匹配

RANSAC 算法经常配合特征匹配进行误匹配对的剔除,对匹配点集合进行多次抽取,产生了多组模型参数,在一定评价函数下取得最大值的那组模型参数就是最佳的参数[13]。但是RANSAC 算法是从所有样本中随机抽取特征点,造成效率低,计算复杂度增加。PROSAC 算法在RANSAC 算法的基础上进行了改进优化,是从最佳特征点集合中进行排序采样的。这种方法可以节省计算量,提高运行速度,所以本文采用PROSAC 算法。

首先以汉明距离作为评判标准,汉明距离越短的点对,被认为是质量最高的匹配点对,将所有特征点对的最短与次短距离的比值进行排序,从中选取前m个高质量的匹配对;再从其中随机取4 个点对进行单应性矩阵的计算,假设初始帧中的一点p(x,y)在第2 帧中的位置是p′(x′,y′),则变换可表示为P′=HP,展开为

而H矩阵共有8 个自由度、4 个特征点,则可以建立8个方程,得出具有8个参数的H矩阵后,通过该矩阵确定其余特征点的误差,与设置的误差阈值进行比较判断为是正确匹配点还是错误匹配点。当正确的特征点达到一定数量阈值时,则设为最优矩阵,否则再重复上述步骤。如果达到最大重复次数,则选择数量点最多的那组矩阵,最终得到最优矩阵H。

3 实验分析

为了验证本文改进ORB 算法在下降着陆视觉导航序列图像中的配准效果,采用了Matlab 实现了算法,本实验的配置是:Windows 7 旗舰版,Intel(R)CoreTMi5-4200U CPU,主 频2.3 GHz,内 存4 GB。软 件 版 本 为Matlab2018、Visual Studio 2015 和Open CV3.1.0。

本文实验数据采用嫦娥四号光学相机拍摄的下降着陆图像,每间隔10 帧取一次图片,预处理后进行特征匹配,作为着陆器下降过程中进行的连续导航匹配,存在较大尺度、旋转变换和计算度的要求,因此,特征匹配的质量和实时性非常重要。本文对实验数据进行定量的分析是基于改进ORB 的配准方法的表现,采用特征匹配准确率和匹配时间作为评价配准质量的量化标准,与传统的ORB 算法、ORB+RANSAC 算法进行比较。

3.1 尺度变化对比

由于着陆器在下降过程中存在较大的速度变化,造成光学相机采集到的连续帧月面图片存在大尺度变化,需要进行尺度实验。对于实验图像,分别采用了传统ORB 算法、ORB 结合RANSAC 算法和本文算法进行测试,如图7 所示。

图7 尺度变化对比实验Fig.7 Comparison experiments of scale change

由图7 可见:传统ORB 对于灰度单一的月面图像检测不够准确,效果不理想,容易出现聚集现象;结合RANSAC 算法后虽然能匹配出位置,但匹配对较少;本文算法匹配对较多且出现均匀。尺度变化准确率对比见表1。表中精准地说明了3 种算法的匹配对数量和匹配的准确率,足以说明改进算法的最优性,相比ORB 算法提高了13%的准确度。

表1 尺度变化准确率对比Tab.1 Comparison of scale change accuracy

3.2 旋转尺度变化对比

着陆器在下降过程中,发动机大推力可能造成整个航天器出现抖动、姿态不稳定等情况,使固连相机拍摄的图像连续帧之间出现旋转等现象,因此对实验数据进行人为逆时针旋转45°的处理,并根据真实旋转矩阵和检测单应性矩阵计算出部分匹配点像素坐标,结果见表2。传统的ORB 配准失败,结合RANSAC 算法后匹配成功但数量较少;改进算法匹配对较均匀,准确地匹配出位置,如图8所示。

图8 旋转尺度变化对比实验Fig.8 Comparison experiments of rotation and scale change

表2 实验匹配的结果Tab.2 Results of experiment matching

旋转尺度变化匹配对准确率对比见表3。由表可见,改进算法的准确率提高了10%,依然是3 种算法中最高的。

表3 旋转尺度变化匹配对准确率对比Tab.3 Comparison of matching accuracy of rotation and scale change

3.3 配准时间对比

本文取上述两种情况下3 种算法运算多组数据的时间平均值作为最终比较的标准,这3 种算法在保证匹配点数目和准确度稳定的情况下配准时间,见表4。由表可得,ORB 速度最快,其次是改进ORB 和ORB+RANSAC。虽然改进的算法速度不是最快,但是在实时性得到保证的前提下,准确度得到了提高。

表4 算法配准时间对比Tab.4 Comparison of algorithm registration time

4 结束语

实验结果表明:本文所改进算法在月面着陆下降序列图像发生大尺度、旋转变化等情况下,使用基于构建金字塔尺度空间,设置自适应检测阈值和非极大值抑制进行特征点检测的方法,再结合PROSAC 算法进行匹配计算出准确的单应矩阵,具有较好的效果;算法耗时方面与ORB 算法相差不大,较好地保留了ORB 算法的实时性优点;本文改进算法适合月面着陆飞行器下降过程中图像导航连续位置信息的变化计算,具有较好的适用性,为未来的载人登月或月球探测下降着陆视觉导航提供了思路。

猜你喜欢

着陆器灰度阈值
航空滤光片阵列多光谱图像条带灰度调整算法
非平稳声信号下的小波变换去噪方法研究
土石坝坝体失稳破坏降水阈值的确定方法
一种改进小波阈值去噪法及其仿真
天津港智慧工作平台灰度发布系统和流程设计
一种小波阈值函数构建的图像去噪算法研究
Arduino小车巡线程序的灰度阈值优化方案
中国完成首次火星探测任务着陆器悬停避障试验
嫦娥四号与玉兔互拍
Mining the Moon Becomes a Serious Prospect