基于视觉的非合作空间目标三维姿态估计方法

2022-01-04 09:35任笑圆蒋李兵钟卫军
电子与信息学报 2021年12期
关键词:姿态关联直线

任笑圆 蒋李兵 钟卫军 王 壮*

①(国防科技大学ATR重点实验室 长沙 410073)

②(宇航动力学国家重点实验室 西安 724403)

1 引言

非合作空间目标的3维姿态估计是航天器在轨维护、太空碎片清除、目标跟踪监测等诸多航天应用的关键技术。与合作空间目标不同,非合作空间目标无法直接提供姿态信息,需要通过外部观测解算姿态。光学图像是空间目标监测的重要数据[1],本文研究基于单幅光学图像估计结构已知空间目标的3维姿态。

当前,基于单幅图像的空间目标姿态估计可大致分为基于模板和基于模型两种思路。基于模板的方法需要预先构建反映目标在不同姿态下表征的模板库,通过输入图像与模板库的特征匹配确定目标姿态[2]。这类方法的精度受限于模板库中的模板数量,而模板数量的增加会显著提高模板库构建成本、降低算法速度。基于模型的方法需要已知目标的3维模型,通过目标3维模型和输入图像之间的特征关联计算目标的3维姿态[3-6]。相比于前一类方法,此类方法不依赖大量的目标模板,而是通过严格的特征关联方程求解得到目标准确的姿态值,可取得较高的估计精度。此类方法的关键在于准确建立输入图像和目标3维模型的特征关联。由于图像是3维空间的降维表达,因此在建立特征关联的过程中往往会产生较大的候选空间,当前方法通常需要筛选候选结果或者进行模型参数迭代来建立特征关联。Sharma等人[3]采用边缘特征和直线特征的组合得到3维模型和图像特征关联的候选结果,再从候选结果中筛选得到特征关联结果;Zhang等人[4]首先通过Hu矩特征匹配得到候选模型投影图像,然后通过观测图像与候选模型投影图像的轮廓特征匹配得到最终的特征关联。上述方法在特征关联过程中存在较大的候选空间,易造成特征的误匹配,降低算法效率和准确率。另外,为了保证特征关联的准确性,当前方法往往采取设计较为复杂的特征。例如,Zhang等人[4]采用ORB[7]算子进行轮廓上的点匹配,Rubio等人[5]所用到的SIFT[8]算子则需要计算复杂的128维特征,这些复杂的高维特征难以很好地兼顾算法效率。

随着深度学习技术的发展,Sharma等人[9]和李想[10]将卷积神经网络(Convolutional Neural Network, CNN)应用于空间目标的姿态估计,把姿态空间划分为不同的子空间,由此将姿态估计问题转换为基于深度神经网络的分类问题;也有学者基于深度神经网络直接建立2D-3D关联,进而求解姿态[11,12]。相比于基于传统人工特征的方法,深度神经网络可以从大量训练的数据中挖掘隐含特征,同时其样本数量会随着方法精度要求的提高而大幅增加。然而,对于空间目标来说,具有3维姿态标注的公开数据集十分有限,数据的缺乏限制了网络精度的提升。虽然提升CNN估计精度的训练成本较高,但基于CNN估计姿态的鲁棒性强,结果较为稳定,与上文提到的基于模型与图像的特征关联的姿态估计方法具有很好的互补性,结合以上两种方法的优势具有提升姿态估计准确率和效率的潜力。

针对现有方法在特征关联中存在的候选空间大、特征设计复杂的问题,本文提出一种结合深度学习和特征关联的姿态估计方法,首先基于CNN估计目标3维姿态,然后将其结果作为姿态初值建立图像与目标3维模型的特征关联,进而求解目标姿态的准确值。本文方法中CNN为后续的特征关联过程提供了稳定的初始值,相比于现有方法极大缩小了候选空间,降低了误匹配的可能性;在特征关联阶段,本文提出一种基于直线匹配的特征关联方法,相比于当前方法采用的复杂的高维特征拥有更高效的算法效率。

2 姿态估计方法

本文采用的参考坐标系定义与常用的光学摄像机成像模型一致,如图1(a)所示。目标3维姿态即为目标坐标系相对于相机坐标系的旋转角,具体为俯仰角φ、翻滚角γ和偏航角θ,定义如图1(b)所示。其中俯仰角φ为XT轴与平面XCOCYC的夹角,翻滚角γ为通过XT轴的平面XCOCYC的铅垂面与ZT轴的夹角,偏航角θ为XT轴在平面XCOCYC上的投影和XC轴的夹角。

图1 坐标系及姿态角定义

本文在已知目标模型的前提下根据单幅光学图像估计目标姿态,方法流程见图2,主要包括3个步骤:(1)采用CNN估计目标姿态,结果作为姿态初值;(2)将目标模型在姿态初值下的投影与输入图像进行特征匹配,建立目标模型与输入图像的特征关联,将目标姿态估计转换为PnP(Perspective-n-Point)问题,即给定3D空间和2D图像的对应点对求解位姿;(3)根据特征关联结果采取EPnP算法[13]求解目标姿态。考虑到太空特殊观测环境给特征提取与关联带来的干扰,在此步骤中评估姿态求解的偏差,若偏差过大则舍弃估计结果,采用基于CNN得到的姿态初值作为最终结果。下面详细介绍以上3个步骤。

图2 方法流程图

2.1 基于CNN的姿态初值确定

本文通过CNN从图像中估计目标姿态,作为后续过程的姿态初值。目前PASCAL3D+[14]等公开3维数据集仅可提供常见地物目标的图像样本,而具有3维信息标注的空间目标数据集十分缺乏。针对样本缺乏的问题,本文采用渲染目标CAD模型的方式生成训练数据,具体来说,使用Blender开源软件[15]得到不同姿态下的空间目标仿真图像作为网络的训练样本。为确保姿态空间划分的均匀性,本文采用球面等积网格[16]对姿态空间进行划分,在俯仰、翻滚和偏航3个维度上共划分4800个子空间。

本文在VGG[17]网络的基础上构建网络结构,如图3所示。其中卷积层与VGG网络的卷积层结构相同,在卷积层之后设置了3个全连接层。网络输入是224×224×3像素的RGB图像数据,输出是1×1×X的向量,代表姿态角的标签,对应于姿态空间的特定子空间,X为子空间的数量。在网络中,所有卷积层的卷积核尺寸均为1×1,步长均为1;所有池化层的池化窗口尺寸均为2×2,步长均为2。

图3 姿态估计深度神经网络结构

设Yi代表姿态的真实标签,yi为对应的预测值,网络的损失函数定义为

根据参数调优的结果,训练过程中的Batch Size设置为8,学习率设置为0.0001。

2.2 目标模型与输入图像的特征关联

空间目标往往由具有典型几何形状的部件组成,比如长方形太阳能帆板、立方体主体等,因此在观测图像中蕴含大量的直线特征。在CNN提供的初始姿态下,本文提取图像中的直线与目标模型投影进行匹配,进而根据直线端点得到匹配点对,完成目标模型和图像的特征关联。其中,目标模型为线框模型,其端点为典型几何形状的顶点,由目标CAD模型得到。特征匹配关联的具体流程如图4所示。

图4 特征提取与匹配关联示意图

接下来介绍直线提取、直线匹配和关联点对获取方法。尽管空间目标图像中存在大量直线特征,然而图像中的明暗变换和目标零散部件给直线提取的完整性和准确性带来挑战。本文采用Cho等人[18]提出的直线提取方法,首先生成目标图像的梯度图,然后基于梯度图提取候选线段,进而将候选线段依据距离、斜率一致性、梯度变化程度等规则进行聚合,可有效连接由于零散部件和明暗变化导致断裂的直线。

2.3 基于EPnP算法的姿态估计

空间目标图像易产生高度降质,可能对直线提取以及关联点对的提取造成较大影响。为避免论文所提方法的特征关联阶段给方法准确性带来负面效果,在此对偏差E做评估,若E大于一定阈值,则舍弃基于特征关联得到的姿态估计结果,采用深度学习得到的整体姿态作为最终姿态结果。

3 仿真实验及分析

由于非合作空间目标的真实姿态无法获知,且实测数据的获取较为困难,因此本文采取仿真图像验证方法的有效性。在实验验证中,本文选取了3个具有代表性结构的空间目标,分别为嫦娥一号卫星、天链一号卫星和风云三号卫星,如图5所示。

图5 实验验证目标示意

在本文方法的网络训练阶段,训练样本为目标CAD模型通过Blender开源软件渲染得到的图像。具体来说,对每个目标在姿态区间内对各个角度每隔9°进行采样,产生8.4×104幅图像。

在特征关联阶段,需要已知目标的3维线框模型。3维线框模型由目标CAD模型标注得到,本文实验中的3个目标的线框模型如图6所示。

图6 实验目标线框模型

实验验证分为3个部分。3.1节给出所提方法进行空间目标姿态估计的定性和定量结果,并分析所提方法中深度学习提供的初值对结果的影响;3.2节将本文所提方法与基于传统特征建立2D-3D关联的方法进行比较;3.3节将本文所提方法与通过深度神经网络直接建立2D-3D关联的方法进行比较。

{φ ∈(−180°,180°],γ ∈(−180°,180°],θ ∈(−180°,180°]}

3.1 姿态估计结果及分析

首先给出本文方法的定性结果。以嫦娥一号为例,本文方法的中间过程和定性结果如图7所示。

在图7中,输入图像首先通过CNN得到姿态初始化结果,表示为图中方框的朝向;然后在输入图像中提取直线特征,并与目标线框模型在初始姿态下的投影进行直线匹配,得到特征关联结果;接着,在特征关联结果中提取直线的端点与模型投影中相应的点作为匹配点对,并基于EPnP算法求解目标姿态,得到姿态估计准确值。在图中,姿态估计准确值对应的目标模型投影叠加在图像中。

图7 本文方法中间过程和定性结果

其他两类目标的实验定性结果如图8和图9所示。第1列为基于CNN的姿态初值估计结果,方框的方向标示出估计得到的姿态;第2列为特征提取关联结果,图中标示出了与目标模型匹配的直线,其端点即为匹配点;第3列为采用EPnP算法得到的姿态估计准确值,图中标示出了在估计姿态下的目标模型投影。

图8 “天链一号”姿态估计定性结果

图9 “风云三号”姿态估计定性结果

下面给出定量结果。令姿态真值和估计值对应的旋转矩阵分别为Rtrue和R,则姿态估计误差表示为

令Re对应的姿态误差角为{φe,γe,θe},用以描述姿态估计的准确性。令ttrue为平移量真值,方法估计值为t,则平移量估计值的误差te为

在本文方法中,CNN的姿态子空间数量会对估计精度和所需训练样本的数量产生影响,以嫦娥一号目标为例,图10给出不同姿态子空间下的估计精度和所需样本数量对比。

图10(a)是不同数量的姿态子空间下的网络所需的训练样本数,图10(b)是CNN姿态估计结果与在其基础上进行特征关联估计姿态的对比。从图10(a)可以看出,随着姿态子空间增多,所需样本数大幅增加;从图10(b)可以看出,CNN估计精度随姿态子空间增多而变高,但精度增幅相应地减小。由此可以看出对于基于CNN的姿态估计,随着精度需求提升,训练成本将大幅提高。同时实验结果表明了在CNN基础上进行特征关联进而估计姿态的思路可显著提升估计精度。

图10 不同姿态子空间下的估计精度和所需样本数量对比

表1 本文方法姿态估计结果

3.2 与基于传统特征方法的对比

下面将本文方法与当前两种典型的基于传统特征实现2D-3D关联的方法进行对比。文献[6]在观测图像中提取空间目标的直线特征与太阳能帆板结构进行关联,从而求解姿态;文献[4]首先采用Hu特征矩生成候选空间,然后通过基于ORB算子的轮廓点匹配实现目标模型和图像的关联,进而求解目标姿态。将上述两种方法以及本文方法对3.1节的3个目标进行姿态估计,其算法精度和速率比较如图11所示。

图11 本文方法与基于传统特征方法的性能对比

可以看出文献[6]的方法有较高的算法效率,但其准确率较低;原因在于其所提方法仅通过帆板的直线特征建立特征关联,所提特征描述目标整体结构的能力有限。文献[4]使用了较为复杂的特征描述子进行特征关联,并构建候选空间以提供姿态初值,虽然方法准确率较高,但效率较低。本文方法在CNN提供初值的基础上通过特征关联求解姿态,相比于文献[6],本文所提特征可较好地描述目标整体结构,在姿态估计准确率上有明显的优势;相比于文献[4],本文方法通过CNN提供了稳定的姿态初值,有效缩小了特征提取的候选空间,并且本文提取特征相比于文献[4]采用的特征描述子复杂度低,从结果上看本文方法取得了与文献[4]相当的准确率,并在算法效率上有较大优势。综合来看,本文方法较好地兼顾了准确率和算法效率。

由于太空环境的特殊性,观测图像往往存在降质。在空间观测环境中,噪声、低分辨、光照变化是导致图像降质的3种主要因素,下面分别测试本文方法在这3种典型的降质环境下的性能。将嫦娥一号作为测试对象,测试结果如图12所示。

图12 本文方法与基于传统特征方法在图像退化条件下的性能对比

在图像加噪测试中,高斯白噪声方差大于0.005后3种方法的误差显著增大。在图像低分辨测试中,目标在图像中所占像素数在10000以上时,所提方法可以较好地估计姿态,目标所占像素数为2000时,3种方法的误差显著增大。在光照变化测试中,光照相位角大于45°时对3种方法造成较大影响。从结果可以看出,图像退化对所有方法均产生了明显影响。本文方法和文献[4]都提取了目标整体特征进行姿态估计,文献[7]仅依赖目标局部特征,因此本文方法和文献[4]在图像退化的情况下取得了明显好于文献[7]的精度。

3.3 与基于深度神经网络直接建立2D-3D关联方法的对比

随着深度学习技术的发展,在学界有一部分方法通过网络直接获取目标的2D-3D匹配,进而解算目标姿态。这类方法依托公开的Pascal3D+[14]等3维数据集在常见地物目标(汽车、行人、家具等)的姿态估计中得到广泛应用。下面将本文方法与一种基于深度神经网络直接建立2D-3D关联的方法进行对比[11]。文献[11]是通过网络直接建立2D-3D关联的具有代表性的方法,首先通过网络直接提取图像中目标的关键点建立2D-3D关联,然后根据关联结果求解得到姿态。这里通过渲染嫦娥一号的3Dmax模型得到数据集。本文方法和文献[11]方法对比如图13所示。

图13 本文方法与基于深度神经网络方法在图像退化条件下的性能对比

从结果可以看出,本文方法取得比文献[11]更高的姿态估计精度,特别是在图像退化的情况下。直接建立2D-3D特征关联的网络是从图像直接映射到目标的局部区域,然后通过数个局部区域的位置解算整体姿态。对于大部分的纹理丰富、成像清晰的目标,局部的关键点可以被准确提取。然而,空间目标多采用了弱纹理材质和重复纹理材质,加之空间目标图像可能存在高度降质,因此直接提取局部区域特征容易导致关键点提取的数量不足或提取错误,进而在整体姿态求解阶段陷入局部极小值或产生较大误差。本文采用一种“全局+局部”的思路,即首先通过深度神经网络整体估计目标的姿态,然后在整体姿态的基础上建立2D-3D关联。建立2D-3D关联后的姿态求解优化了整体姿态估计的结果,整体姿态估计结果又为建立2D-3D关联提供了稳定的初值,提高了关联的准确性。相比于直接映射到局部、建立2D-3D特征关联的方法,本文所提方法对于空间目标数据更加适用。

4 结束语

本文提出一种基于视觉的非合作空间目标3维姿态估计方法,在已知目标3维模型的前提下估计单幅图像中空间目标的3维姿态。本文方法旨在解决现有方法在观测图像与目标3维模型特征关联中普遍存在的候选空间大、特征设计复杂的问题。首先基于CNN得到姿态初值,然后在姿态初值下建立观测图像与目标模型之间的特征关联,进而求解目标姿态的准确值。深度神经网络为特征关联过程提供了稳定的姿态初始值,有效缩小了候选空间。在特征关联阶段,本文提出了一种基于直线匹配的特征关联方法,相比于设计较为复杂的特征更为高效。相比于现有方法,实验证明所提方法相比于传统方法兼顾了准确率和效率,提升了非合作目标姿态估计的算法性能。

猜你喜欢
姿态关联直线
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
攀爬的姿态
“一带一路”递进,关联民生更紧
画直线
全新一代宋的新姿态
跑与走的姿态
奇趣搭配
两条直线 变变变
画直线
智趣