苏迪,张成,王柯,孙凯
(北京理工大学 宇航学院,飞行器动力学与控制教育部重点实验室,北京 100081)
近年来人类在发展空间技术的同时,也在外太空滞留了大量的太空垃圾,根据CelesTrak 调查报告,截至2022 年4 月,环绕地球周围的有效载为12 518个,其中5 613 个仍在运行,这意味地球轨道上有大量失效载荷,同时另有39 695 个碎片[1],造成了卫星轨道的拥挤,增加了碰撞的风险,对未来航天器发射和目前在轨航天器正常运行都构成了巨大挑战[2].为了太空环境安全,对在轨服务(on-orbit servicing, OOS)技术支持下的任务需求逐渐凸显,如延长卫星的寿命、捕获空间碎片和失效卫星等.这些任务都要求能准确估计出空间目标的位置和姿态[3].
大多数空间目标处于非合作状态,不同于合作目标具有合作标识或通信线路等辅助装置,非合作目标缺乏航天器间的相互通信,但对于己方发射的失效卫星,通常具有已知的三维模型等先验信息.因此,如何利用空间目标的自然特征和已有的先验信息进行位姿估算是在轨服务中的关键问题.与立体相机、雷达和红外相机相比,单目相机具有质量轻、功率低、硬件简单成熟等特点.然而,单目相机不能直接获取深度信息,这是在算法设计中需要考虑的问题.
传统方法通常利用基于手工设计和先验位姿信息的图像处理方法[4−5].近年随着深度学习技术取得的巨大突破[6],推动了多个领域的发展[7−9].计算机视觉领域对位姿估计产生极大兴趣,特别是在机器人上的应用[10].一些研究试图通过卷积神经网络,以端到端的形式学习到二维图像和位姿之间的非线性映射关系.这给单目视觉结合卷积神经网络在非合作目标的位姿估计研究提供了一种可行思路.
北京控制工程研究所的徐云飞[11]提出一种基于卷积神经网络的视觉测量方法,利用预训练的网络模型,在自身构建的数据集上通过迁移学习直接回归姿态.2019 年由欧洲航天局的先进概念小组(advanced concepts team, ACT)和斯坦福大学的空间交会实验室(space rendezvous laboratory, SLAB)共同举办的开尔文卫星姿态估计挑战赛(the Kelvins satellite pose estimation challenge)极大推动了深度学习在非合作目标位姿估计领域中的进展,并公开了训练数据集(satellite pose estimation dataset, SPEED)[12].来自泰国先皇理工大学的THAWEERATH[13]利用修改的预训练GoogLeNet 模型作为姿态预测网络,利用四元数表示相对姿态,直接回归位姿矢量.斯坦福大学的SUMANT 等[14]提出了spacecraft pose network(SPN),通过3 个神经网络分支结构估计相对位姿,包括准确度由粗到细的回归方法估计相对姿态,利用目标检测框估计相对位置.PROENÇA 等[15]提出了基于深度学习的方向软分类架构,将姿态方向用混合的高斯分布表示.北京航空航天大学的张浩鹏等[16]提出结合核函数学习的方法,提取卫星数据集中图像特征,估计卫星姿态角.哈尔滨工业大学的李想[17]利用深度学习的方法对空间非合作目标进行三轴姿态估计,修改InceptionNetV3 模型扩充了网络深度,建立模型提取特征和姿态角的映射关系,估计相对姿态.以上方法大多是探索深度学习在非合作目标位姿估计中的可行性,并没有考虑到实际在轨任务中绕飞和接近情况下图像姿态特征分布的差异,以及如何针对性应用深度学习相关技术的问题.因此,针对在轨服务不同任务需求,针对性的设计非合作目标位姿估计方法有助于进一步推动深度学习技术在位姿估计领域的发展.
本文提出一种适用于己方失效卫星等几何模型已知的非合作目标位姿估计方法,建立深度学习模型,将位置估计和姿态估计分为两阶段进行,在阶段1 中估计相对位置,阶段2 中针对绕飞和接近情况下图像姿态特征分布的差异,设计对应模型估计相对姿态,实现了对非合作目标在轨服务中靠近任务的位姿估计.构建大规模数据集用于全过程的训练和验证,充足的消融实验验证了各阶段模型的有效性,表明了基于卷积神经网络的单目视觉方法应用于几何模型已知的非合作目标在轨服务中位姿估计的可行性.
图1 为采用单目视觉的非合作目标位姿估计示意图,描述了空间目标本体坐标系S和相机的本体坐标系C,估计每幅图像I中目标相对于相机的相对位姿 ξ=[R|t] ,其中R表示相对姿态,t表示相对位置.
图1 坐标系示意图Fig.1 Schematic diagram for the coordinate systems
对于单幅图像的相对位姿估计,本文基于卷积神经网络设计了两阶段的相对位姿估计模型,分阶段的估计相对位置和相对姿态,模型输入为相机采集的RGB 图像,输出为估计的相对位姿.
同时,本文针对在轨服务中接近非合作目标的任务过程,绕飞和接近情况下采集图像分布差异的问题,分情况设计了绕飞姿态估计模型和接近姿态估计模型,模型具体设计在第2 节中进一步说明.
追踪星(相机)靠近目标星的任务过程可分为远距离绕飞和近距离接近两种情况,对空间非合作目标而言通常是追踪星由远及近的过程.近距离接近情况在远距离绕飞后进行,即远距离绕飞寻找有利接近方向,切换近距离接近.
在远距离绕飞情况下,由于不知道空间目标初始状态,要求估计模型具有对全范围状态的估计能力,对估计模型的泛化性要求更高.
在近距离接近情况下,通常选择相机和目标星惯量主轴平行作为有利方向,空间目标的相对位姿分布比较集中,对估计模型的精度要求更高.
因此,添加相机和目标星惯量主轴是否平行的判断条件,切换不同的估计模型对非合作目标进行位姿估计.估计流程如图2 所示.
图2 位姿估计流程图Fig.2 Flowchart of pose estimation
开始位姿估计后,采集原始非合作目标图像并对图像预处理,预处理包括图像缩放、转化为张量格式、归一化3 个步骤,将处理后的图像输入至两阶段位姿估计模型的阶段1 中进行相对位置估计,输出相对位置和检测框,将检测框内图像输入至阶段2 中进行相对姿态估计,根据指令调用绕飞或接近姿态估计模型,估计的相对位姿用于设置切换模型指令,并判断目标星和追踪星距离是否满足要求,决定位姿估计是否结束.
图3 为两阶段位姿估计模型结构图,本文将6 自由度位姿估计分为2 个阶段: 阶段1 包含目标检测模块和位置参数回归模块,2 个模块共用一个特征提取网络ResNet50[18];阶段2 分为绕飞姿态估计和接近姿态估计两种情况.网络模型输入均为检测后的目标区域图像.绕飞分支包含姿态求解器,求解器通过模型输出的多角度类别权重计算姿态.接近分支包含姿态参数回归模块,回归的姿态经过标准化层输出单位四元数作为姿态.
图3 两阶段位姿估计模型结构图Fig.3 Overview of two stage pose estimation model
总体来看,两阶段位姿估计模型在估计非合作目标位姿过程中经过3 个环节:目标检测、位置估计、绕飞/接近的姿态估计.
如图3 所示,在阶段1 中,将目标检测模块和位置参数回归模块融合在一个模型中,这是由于二者具有强相关性,某种程度上,目标检测框的位置和大小反映了目标的位置信息.目标检测模块部分参考Faster R-CNN[19],采用区域候选网络(RPN)作为检测模块.位置回归模块采用全连接层回归位置参数.骨干网络输出的特征图输入至RPN 生成检测框的同时,另外通过全局平均池化层(GAP)、位置回归模块和Tanh 激活函数输出位置参数.目标检测和位置回归模块二者共用一个骨干网络,逻辑上二者属于并行结构,共同训练.
RPN 将任意尺寸的特征图作为输入,生成一系列矩形候选框,并对每个候选框打分,用来判断框内图像是前景还是背景.在本文应用场景中,只有空间目标一个类别.采用预先设置的锚框和边界框回归损失.由于RPN 是已经提出的技术,并且在本文中可以替换,其细节不过多描述.针对空间目标尺度变化的情况,本文预设anchor 包含3 种面积(32×32,64×64,128×128),每种面积包含3 种长宽比(0.5,1.0,2.0).RPN 的作用为提供一个包含空间目标的检测框.
如图1 所示,相对位置t=[tx ty tz]T是空间目标质心相对于相机坐标系的三维坐标.由于直接从图像特征中回归t的泛化性不好,并且在实际使用中估计精度不高,本文中将位置参数分为目标的三维质心在二维投影的位置和目标与相机的距离tz.
具体来说,可以通过定位目标在像素坐标系下的中心和三维质心的距离来估计相对位置.阶段1回归归一化的位置参数tc=[cx cy cz]T,通过投影方程将t转化为tc:
式 中:θHF和 θVF分别为水平和垂直视场角;Mz为tz的最大值.
除了对位置回归参数的设置外,损失函数的设计对估计模型的优化也十分重要.在阶段1 中,首先使用基于最小化欧氏距离的 ℓ2损失优化回归参数:
式 中 ˆ·和 ¯·分 别 为 预 测 值 和 真 实 值.
绝对误差作为评价指标在近距离和远距离的影响是不平衡的,这导致模型在近距离的位置估计中不够准确.因此还添加了基于 ℓ2损失的相对损失,提升距离的估计精度:
阶段1 训练过程中,采用对各个损失项加权和的方式联合训练目标检测模块和位置回归模块:
式中:Ld为检测损失项;λd、λxy、λa、λr为控制对应损失项的权重.
在阶段1 中,主要对位置回归参数进行设置,利用目标检测模块获取的检测框用于阶段2.阶段1 的设计可以将检测的特征信息和位置回归的特征信息进行融合,这提高了位置估计的精度.
如图3 所示,在阶段2 中实现对绕飞/接近情况下相对姿态的估计.利用阶段1 得到的检测框,裁剪原图像中目标区域,并使用其作为阶段2 的输入.现有的方法大多直接利用 ℓ1或 ℓ2损失来回归姿态,该方案主要的缺点是其不能准确表示任意方向的角差,并且对较大范围姿态情况的泛化性不好,但其优点是在小范围姿态情况下的准确度很高.因此,阶段2根据接近非合作目标的不同情况,针对绕飞和接近分别采用间接和直接的方法估计相对姿态.
其中,绕飞情况对姿态精度要求不高,对模型泛化能力要求较高,采用间接法估计姿态.间接法引入了权重的概念,将单个四元数用多个四元数类别表示,并计算对应类别的权重,把回归的问题转化为分类的问题,可以通过最小化加权最小二乘估计来求解相对姿态.
接近情况对姿态精度要求较高,姿态分布范围较小,采用直接法估计姿态.直接法设置姿态回归参数为单位四元数,模型通过单位化层保证输出为单位四元数,设计对应损失函数,保证模型估计精度.
在阶段2 的输入要求为检测的目标图像,考虑到由于位置和姿态之间的独立性,相同姿态下不同位置的图像具有较大差异.如图4 所示,近距离的图像中空间目标占比较大,而远距离的图像中空间目标占比较小.
图4 相同姿态不同位置图像Fig.4 Different translation in the same rotation
图5 比较了不同位置缩放后的检测图像,二者理论上只有清晰度的差异,实际中二者相似度极高,但由于缩放过程中插值函数补全像素时存在一定误差,使其并不完全符合缩放原理.
图5 放大后的检测图像Fig.5 Detected image after zooming
因此,阶段2 将缩放后的检测图像作为输入,这在一定程度上保证了相同姿态下图像输入的一致性,缓解了由于输入差异导致姿态估计的误差.
此外,与位置参数回归一样,在姿态估计中对回归参数和损失函数的设计也十分重要.通常使用单位四元数作为回归参数.但在直接回归四元数时存在一定问题,当姿态范围过大时,在任意方向的表示精度不高[11],但在小范围情况下精度较高.
2.3.1 绕飞姿态估计模型
在处理绕飞时姿态范围较大的情况,阶段2 通过对多个角度类别分类并赋予权重的方法估计姿态,这把连续的姿态变量转为离散,把回归问题转为分类问题,在牺牲部分精度的情况下,提升了模型估计的泛化能力,更适用于绕飞的情况.
该方法优点在于避免了CNN 训练对多个蒙特卡洛样本的需求,引入了权重,改变了网络的映射关系,将单个角度的映射变为多个角度类别的映射,提升了估计的泛化性和精度.根据模型估计的权重,姿态通过高斯牛顿算法的雅可比矩阵计算.
关键在于四元数姿态标签qgt到权重标签qw的转换,从而让阶段2 的绕飞姿态估计模型学习到输出权重分布P的映射关系.通过将每一维度的姿态角平均分为M个步长,设置四元数姿态类别Q=[q1q2···qH] 对 应于每个步长的姿态角,其中H=M3.采用衡量四元数之间角差的函数,运用归一化方法对每一个类别的权重进行赋值.
训练过程中,需要保证模型输出P和真实值标签qw分布的一致性,考虑到权重分布和概率分布上的相似性,本文采用Kullback-Leibler(KL)散度作为衡量两种分布的不对称度量.设计以下损失函数:
阶段2 绕飞姿态估计模型采用如下损失函数训练:
式中 λf为控制对应损失项的权重.
2.3.2 接近姿态估计模型
在处理接近姿态范围较小的情况,阶段2 通过全连接层直接回归四元数,通过激活函数和单位化层保证回归的结果qpre为单位四元数形式.在小范围姿态情况下精度更准确,更适用于接近的情况.
首先使用 ℓ2损失来优化回归参数:
此外,根据单位四元数的特性添加转置损失:
阶段2 接近姿态估计模型采用如下损失函数训练:
式中 λn1、λn2为控制对应损失项的权重.
在阶段2 中,主要设计绕飞/接近情况的姿态估计模型,使用检测图像作为输入,减少了位置差异给姿态估计带来的干扰,确保了相同姿态下图像输入的一致性.此外,根据绕飞/接近的不同需求,绕飞采用间接姿态估计方法,使用分类代替回归,保证了估计的泛化性;接近采用直接姿态估计方法,直接回归单位四元数,提高估计的准确性.
考虑靠近任务的实际情况,设计2.3 节中绕飞/接近姿态估计模型的判断条件.追踪星(相机)接近目标星的过程可分为远距离绕飞和近距离接近两种情况,对空间非合作目标而言通常是追踪星由远及近的过程.近距离接近情况在远距离绕飞后进行,即远距离绕飞寻找有利接近方向,切换近距离接近.
测试过程中,采集到图像后,通过阶段1 得到相对位置和检测框,将检测框内图像输入至阶段2 绕飞姿态估计模型,得到相对姿态的四元数形式,转为欧拉角后判断是否为切换接近过程的有利方向,如果是,后续图像输入至阶段2 接近姿态估计模型,如果不是,继续使用绕飞姿态估计模型.
本文采用的有利方向为相机和目标星惯量主轴平行,即预测的X轴旋转角在 −90°±∆°且Z轴旋转角在 −90°±∆° 范围内,或X轴旋转角 90°±∆°且Z轴旋转角在 90°±∆° 范围内,其中 ∆为可设置的阈值.
深度学习作为一门数据驱动的学科,模型的训练需要大量已标注的数据.针对非合作目标在轨服务的靠近任务,本文构建一个包含非合作目标的6自由度位姿估计数据集,该数据集包含训练集和测试集,及其对应的相对位姿标注和检测框标注.数据集可用于非合作目标领域相对位姿估计深度学习模型的训练,同时可作为测试相关算法的基准.与SPEED 数据集相比,本文提出的数据集由RGB 图像构成,丰富非合作目标位姿估计数据集的多样性,进一步推动该领域的研究.
构建大规模由真实图像构成的非合作目标相对位姿数据集是十分困难的,因此,本文使用虚拟的物理引擎来收集丰富的位姿图像.物理引擎模拟图像简化了标注环节,并且保证了标注的准确性.通过一个卫星的三维模型,设计对应的数据分布,通过程序生成位姿数据,可直接仿真出对应位姿的图像.
根据本文模型,设计绕飞数据集和接近数据集分别用于训练阶段2 的绕飞/接近姿态估计模型,两部分数据集混合后构成位置数据集用于训练阶段1的位置估计模型.数据集均按照9∶1 的比例随机分为训练集和测试集,像素均为 640×640,描述了一个典型的非合作目标,部分样例如图6 所示.
图6 数据集样例Fig.6 Examples in the dataset
在位姿估计过程中,相机的内参矩阵为已知的先验信息.仿真物理引擎的视场角为 αx,αy,生成图像分辨率为 (W,H),相机的内参矩阵K为
绕飞数据集包含40 000 张生成的图像,为了创建空间目标的不同视角图像,分别设置相对姿态和相对位置,远距离相对姿态按照平均随机分布生成,如图7 所示.Z方向的相对位置服从标准正态分布D1~N(μ=50 m,σ=15 m),只选取[50, 100] m 区间内的数值.X和Y方向的cx和cy服从2 个独立的标准正态分布D2~N(μ=0,σ=0.015),相对位置分布如图8所示.
图7 绕飞数据集相对姿态分布Fig.7 Distribution of the relative rotation in the flight around dataset
图8 绕飞数据集相对位置分布Fig.8 Distribution of the relative translation in the flight around dataset
接近数据集包含20 000 张生成的图像,其中10 000 张图像相对姿态的X轴旋转角和Z轴旋转角分 别服从2 个独立的 标准正态分布D3~N(μ=−90°,σ=1°)和D4~N(μ=90°,σ=1°),另10 000 张 图 像 相 对姿态的X轴旋转角和Z轴旋转角分别服从D4和D3,如图9 所示.Z方向的相对位置服从[6, 50] m 区间的平均随机分布,X和Y方向的cx和cy与3.2 节相同,服从两个独立的标准正态分布D2∼N(µ=0,σ=0.015),相对位置分布如图10 所示.
图9 接近数据集相对姿态分布Fig.9 Distribution of the relative rotation in the approach dataset
图10 接近数据集相对位置分布Fig.10 Distribution of the relative translation in the approach dataset
本文在PyTorch[20]环境下使用第3 节中提出的数据集训练两阶段位姿估计模型,所有实验均在Intel Xeon(R) Gold 5128@2.30 GHz×64 CPU 和3 块NVIDIA RTX 3 090 GPU 条件下进行,下文中采用维度×高度×宽度来表示特征图大小.在阶段1 和阶段2的模型中均使用在ImageNet[21]上预训练的ResNet50作为骨干网络,在两个阶段中输入的原始图像和检测图像都缩放至320×320 像素.两阶段位姿估计模型训练的细节如下所示:
在阶段1 中,移除骨干网络的全局平均池化层(GAP)和全连接层(FC),骨干网络输出2 048×10×10大小的特征图,作为RPN 和位置回归模块的输入.在位置回归模块中,添加一个GAP 层输出2 048×1×1大小的特征图,然后通过FC 层和tanh 激活函数回归tc=[cx cy cz]T.采用Adam 优化器[22]优化整个网络,初始学习率和权重衰减率均设为0.001,学习率策略采用余弦退火[23],周期设为训练轮数的1/5.数据批数(batch size)设为90,训练轮数(epochs)为100.
在阶段2 中,与阶段1 类似,通过骨干网络和GAP 层输出2 048×1×1 大小的特征图,在绕飞姿态估计模型中通过FC 层输出权重分布P,采用SGD 优化器[24],FC 层初始学习率设为0.01,其他网络层的初始学习率设为0.001,动量值设为0.9,权重衰减率设为0.001;在接近姿态估计模型中通过FC 层和tanh 激活函数回归四元数,再通过归一化层输出单位四元数,采用Adam 优化器优化接近姿态估计模型,初始学习率和权重衰减率均设为0.001,学习率每经过1/3 的训练次数后降低至当前学习率的0.1.训练2 种姿态估计模型的Batch size 均为150,epochs 均为100.
为了定量分析模型效果,本节给出3 个参考标准.每个样本的绝对位置误差用2 范数衡量,估计的位 置tˆ 和真实值t¯:
每个样本的姿态误差用角差来衡量估计的姿态qest及 真 实 值qgt:
采用交并比(IoU)衡量目标检测的性能,预测的检测框Best及其真实值Bgt,A表示面积:
阶段1 的消融实验验证了位置估计模型中检测模块和相对误差损失项的作用,结果如表1 所示.基线采用ResNet50 作为骨干网络,式(1)的位置参数化方法和式(2)的绝对损失.从表1 中可以看出,检测模块和相对误差损失项都能提升模型表现,结合两种方法,可以进一步提升模型性能,平均误差超过基线0.436 0 m.
表1 阶段1 消融实验Tab.1 Ablation studies of stage one
同时测量了检测模块的IoU 值,可以看出本文采用的目标检测算法可以很好地检测出目标.
阶段2 绕飞情况的消融实验验证了绕飞姿态估计模型中输入检测图像和分类方法的作用,结果如表2 所示.基线采用ResNet50 作为骨干网络,回归参数设置为四元数,采用式(7)直接回归损失和式(8)转置损失.从表2 中可以看出,基线方法已经能取得相对较高的估计精度,这验证了四元数参数化和转置损失的有效性,进一步消融实验在表3 中给出.此外,输入检测图像和分类方法都能提升模型表现,结合两种方法可以进一步提升模型性能,平均误差超过基线3.379 3°.
表2 阶段2 绕飞情况消融实验Tab.2 Ablation studies of stage two fly-around
表3 阶段2 接近情况消融实验Tab.3 Ablation studies of stage two approach
阶段2 接近情况的消融实验验证了接近姿态估计模型中转置损失的作用,结果如表3 所示.基线采用ResNet50 作为骨干网络,回归参数设置为四元数,采用式(7)直接回归损失.从表3 可以看出,转置损失进一步提升了基线的精度,平均误差超过基线0.255°.
各阶段估计模型的推理时间如表4 所示.各阶段模型的推理速度都很快,其中阶段2 绕飞估计模型由于含有求解特征向量的程序,该部分计算效率较低,运行时间为0.123 s,导致整体运行时间较长,该部分程序可以通过后续优化提升速度.其中阶段2绕飞模型中卷积神经网络的推理时间为0.018 1 s,与其他阶段运行效率一致.
表4 各阶段模型推理时间Tab.4 The inference time of each stage model
本节对两阶段位姿估计模型中的超参数影响进行试验分析,首先是阶段1 中位置估计模型训练中相对误差损失项Lz2及绝对误差损失项Lz1各自权重系数 λr与 λa之间的比值 β,通过在位置数据集中设置不同超参数 β的值进行训练,测试集上估计结果如图11 所示,后续试验中选择 β=0.5.
图11 超参数β 的实验分析Fig.11 Analysis of hyperparameter β
此外,还有阶段2 中接近姿态估计模型训练中转置损失Ln2及回归损失Ln1各自的权重系数 λn2与λn1之间的比值 α,通过在近距离姿态数据集中设置不同超参数 α的值进行训练,测试集上估计结果如图12所示,后续试验中选择 α=0.5.
图12 超参数α 的实验分析Fig.12 Analysis of hyperparameter α
本节在非合作目标仿真样例上进行对比试验,将Thaweerath 方法[13]、SPN[14]、USRO 方法[15]和本文提出的两阶段位姿估计模型进行对比,估计结果如表5 所示.
表5 样例仿真实验Tab.5 Example simulation experiment
可以看出,由于本文的方法将相对位置的预测和目标检测相结合,同时对位置回归参数进行了设置,在相对位置估计上取得了较好的结果.对相对姿态的估计考虑到了绕飞和接近两种情况图像特征分布的差异并分别设置了估计模型,可以更好地应对在轨任务过程中不同阶段的姿态估计,在对比实验中取得了更高的估计精度.
本文对基于单目视觉的卷积神经网络深度学习技术在非合作目标的位姿估计领域进行了研究,主要有以下贡献:
① 本文给出了一种空间非合作目标在轨任务全过程位姿估计的方法.针对单目相机获取的图像,设计两阶段位姿估计神经网络模型分阶段对非合作目标的相对位姿进行估计,并结合实际在轨任务需求,针对性设计了不同阶段姿态估计模型.
② 本文提出了非合作目标相对位姿数据集,丰富了该研究领域内的数据集样式,可用于基于视觉的非合作目标位姿估计研究,进一步推动深度学习技术在非合作目标位姿估计领域的发展.
③ 充足的对比和仿真实验验证了算法有效性和在空间非合作目标在轨服务中,采用基于图像训练的深度学习算法进行位姿估计的可行性.