转载请注明作者和出处: http://blog.csdn.net/john_bh/
Arxiv 地址:se(3)-TrackNet: Data-driven 6D Pose Tracking by Calibrating Image Residuals in Synthetic Domains
作者及团队:
会议及时间:IROS 2020
code: https://github.com/wenbowen123/iros20-6d-pose-tracking
文章目录
1. 主要贡献
跟踪视频序列中对象的6D姿势对于机器人操纵的多个挑战:
- 机器人操纵涉及大量的遮挡;
- 6D姿势的数据和注释很麻烦且难以收集,这使机器学习解决方案变得复杂;
- 长期跟踪中经常会累积增量误差漂移,从而需要重新初始化对象的姿势。
作者为长期的6D姿态跟踪提出了一种数据驱动的优化方法。它旨在根据当前的RGB-D观测值和由先前的最佳估算值与物体模型来为条件合成的图像,确定最佳相对姿势
。作者关键的贡献提出一种新颖的神经网络架构,该架构适当地解开了特征编码,以帮助减少域偏移,并通过 Lie Algebra 实现了有效的3D方向表示
。
从零开始一起学习SLAM | 为啥需要李群与李代数? 简单易懂,不错的教程。
主要贡献:
- 提出一种新型的深度神经网络,在先前的预测中学习预测当前观测和合成模型渲染之间的相对位姿。一个智能的特性编码解纠缠技术,使更有效的简单到真实的传输;
- 3D方向的李代数表示,可以在适当损失函数的情况下有效学习残差姿势变换;
- 合成数据的训练 pipeline 在姿势跟踪的背景下采用域随机化。自动训练数据生成显着减少了为跟踪6D姿势而收集和标记视频的人工工作;
- 在多个不同机器人操作任务的背景下,为6D姿势跟踪提供了一个新颖的基准数据集。它收集了各种机器人末端执行器和YCB对象,在视频的每一帧中都提供了6D对象姿势注释。
即使仅使用合成数据训练网络也可以在真实图像上有效地工作。实验表明:在 benchmarks 上进行的全面实验 包括现有基准以及具有与对象操作相关的显着遮挡的新数据集,该方法表现非常鲁棒,即使其他方法使用真实图像进行了训练;另外该方法计算效率很高,并实现了90.9Hz的跟踪频率
,远远超过其他方法。
2. 相关工作
2.1 Data-driven 6D Pose Estimation:
数据驱动估计 6D pose,往往需要大量的标注数据,成本很高,标注准确也很困难;一些使用深度模型与传统方法相结合,例如PnP,数据效率更高,但这在严重遮挡下可能会有问题,而且经常需要为PnP步长精确校准摄像机参数。
考虑到姿势在每一帧中都会被重新估计,估计技术通常会在速度和精度之间进行权衡。这对于操作来说可能并不可取。
2.2 6D Pose Tracking:
对于可以使用CAD对象模型的设置,通常可以将这些方法分类为基于概率和基于优化的方法。
-
概率跟踪:
一个有效的粒子过滤框架[19]利用了GPU的计算能力,其中GPU的可能性是根据颜色,距离和法线来计算的。然而,手工设计的似然函数很难将其推广到具有挑战性杂波的不同照明条件或场景。备选方案[14]明确建模遮挡并在鲁棒性方面显示出成功,但姿势精度对于某些操纵任务而言不够精确。为了改善这个问题,后续工作[5]应用了高斯滤波并获得了有希望的姿态精度,但引入了更频繁的跟踪损耗。最近的工作[2]提出了Rao-Blackwellized粒子滤波器,它消除了平移和旋转不确定性的耦合,在YCB Video基准测试中实现了最先进的6D姿态跟踪性能。但是,在严重遮挡的情况下,需要重新初始化姿势估计
。 -
基于优化的跟踪:
许多方法提出了目标函数,这些函数捕获了当前观测值和先前状态之间的差异。他们根据残差函数的最小值计算相对转换[15],[20] – [23]。特别是,方法结合了光学/ AR流和点到平面的距离,以解决最小二乘方向的跟踪问题[15],[20]。但是,SIFT功能和光流噪声会限制性能,并且通常需要进行大量的超参数调整才能适应新的情况。与当前论文最相关的工作是利用FlowNetSimple网络[24 FlowNet]改进任何6D对象姿态检测方法的姿态输出,也可以扩展到跟踪[DeepIM 16]。但是,它需要偶尔重新初始化,并且必须至少部分接受了真实数据的训练。
2.3 Simulation to Reality
对合成生成的数据集进行训练可以更快,更可扩展且成本更低的数据收集[18]。但是,合成数据与真实数据之间的差异通常会导致性能显着下降
。诸如Gradient-reversal [25]之类的领域自适应技术以及利用生成对抗网络(GAN)进行输入空间域对齐[26]有助于弥合这一差距。然而,这些方法通常假设源域在某种程度上已经与目标域相似,在实践中不能轻易满足。
计算机图形学的进步[27],[28]显示了对任务执行逼真的渲染的好处。然而,实现这样的逼真度照片常常引入了人类参与和专家领域知识的另一个来源。领域随机化的工作使得模拟器的渲染设置是随机的,并且已经证明了对现实世界的某些可移植性[18]。这项工作既继承了域随机化的思想,又追求物理上的合理性。结合特征编码解缠,可以仅对合成数据进行训练,并可以推广到现实世界。
3. APPROACH
作者的目的是计算一个物体 T t ∈ S E ( 3 ) T_t \in SE(3) Tt∈SE(3) 在任何时间 t > 0 t>0 t>0 时的6D姿态,给定输入:
- 对象3D CAD 模型;
- 初始化的pose, T 0 ∈ S E ( 3 ) T_0 \in SE(3) T0∈SE(3) ,计算基于单个图像的6D pose;
- 之前时间戳的RGB-D 图像序列 O τ , τ ∈ { 0 , 1 , . . . , t − 1 } O_{\tau},\tau \in\{0,1,...,t-1\} Oτ,τ∈{0,1,...,t−1} 和当前的观测值 O t O_t Ot。
作者提出了一种数据驱动的优化技术,以跟踪RGB-D图像序列上的物体姿态
。优化的损失函数是由一个新颖的神经网络架构编码和学习的,只用合成生成的数据进行训练。在每一个时间步骤中,所提出的方法,计算出前一帧中物体模型与当前观测物体的姿势残差,然后使用前一帧渲染的物体模型和姿势残差估计当前观测帧物体的姿势,如图2所示。
在任何给定的时间 t t t,当前的观测值 O t O_t Ot 和基于之前计算的姿势 ξ t − 1 ξ_{t-1} ξt−1 的物体模型渲染 R t − 1 R_{t-1} Rt−1 被传递给se(3)-TrackNet。该网络计算出相对姿态 ∆ ξ t ∆ξ_t ∆ξt,然后向前传播计算 ξ t ξ_t ξt。
3.1 Tracking on SE(3) Manifolds with Residuals
在这个领域中,优化操作在为对象姿势
ξ
ˉ
\bar\xi
ξˉ,
ξ
\xi
ξ定义的成本函数上进行,这些函数可以衡量从图像中提取的特征之间的差异
ϵ
\epsilon
ϵ:
ϵ
=
ρ
(
ϕ
I
1
(
ξ
ˉ
)
−
ϕ
I
2
(
ξ
)
)
\epsilon = \rho(\phi_{I_1}(\bar\xi)-\phi_{I_2}(\xi))
ϵ=ρ(ϕI1(ξˉ)−ϕI2(ξ))
其中 ρ \rho ρ 是一个预定义的鲁棒损失函数, ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅) 可以是直接的像素强度值、点对点差异或其变化、预先设计的特征或上述任何一种组合。
给定当前的观测值
O
t
O_t
Ot ,以及在之前的时间戳
ξ
t
−
1
\xi_{t-1}
ξt−1 中计算出的姿势,目的是找到相对变换
∆
ξ
∆ξ
∆ξ 将对象从
ξ
t
−
1
ξ_{t-1}
ξt−1 带到当前观测值捕获的姿势。这可以是一个优化问题,让
R
R
R 表示对象模型在给定姿势下的渲染所对应的图像。 那么,最优的相对变换是:
∆
ξ
∗
=
a
r
g
m
i
n
{
ρ
(
ϕ
O
t
(
ξ
t
)
−
ϕ
R
(
ξ
t
−
1
⊞
∆
ξ
)
)
}
∆\xi^*=argmin\{\rho(\phi_{O_t}(\xi_t)-\phi_R(\xi_{t-1}⊞∆\xi))\}
∆ξ∗=argmin{ρ(ϕOt(ξt)−ϕR(ξt−1⊞∆ξ))}
解决这个问题的一般方法是围绕
ξ
\xi
ξ 进行泰勒展开,将方程改写为
ϕ
R
(
ξ
t
−
1
⊞
∆
ξ
)
=
ϕ
R
(
ξ
t
−
1
)
+
J
(
ξ
t
−
1
)
∆
ξ
\phi_R(\xi_{t-1}⊞ ∆\xi)=\phi_R(\xi_{t-1})+J(\xi_{t-1})∆\xi
ϕR(ξt−1⊞∆ξ)=ϕR(ξt−1)+J(ξt−1)∆ξ
,其中 J J J是 ϕ R \phi_R ϕR 相对于 ξ \xi ξ 的雅各布矩阵。
现在 ξ \xi ξ 在其切线空间中被局部参数化,尤其是 ξ = ( t , w ) T ∈ s e ( 3 ) \xi = (t,w)^T∈se(3) ξ=(t,w)T∈se(3), 使其指数映射位于李群 ∆ T = e x p ( ∆ ξ ) = [ R t 0 1 ] ∈ S E ( 3 ) ∆T = exp(∆ξ) = \begin{bmatrix} R &t \\ 0 &1 \end{bmatrix} ∈SE(3) ∆T=exp(∆ξ)=[R0t1]∈SE(3),其中 R = I 3 ∗ 3 + [ w ] X [ w ] s i n ( ∣ w ∣ ) + [ w ] X 2 [ w ] 2 ( 1 − c o s ( ∣ w ∣ ) ) R = I_{3*3} + \frac{[w]_X}{[w]}sin(|w|) + \frac{[w]_X^2}{[w]^2}(1-cos(|w|)) R=I3∗3+[w][w]Xsin(∣w∣)+[w]2[w]X2(1−cos(∣w∣)), [ w ] X [w]_X [w]X 为斜对称矩阵。
(斜对称矩阵:设 A = ( a i j ∈ F n ∗ n A = (a_{ij}∈F^{n*n} A=(aij∈Fn∗n,如果 A = − A T A A = - A^TA A=−ATA,即 a i j = − a i j , i , j = 1 , 2 , . . . , n a_{ij} = -a_{ij},i,j = 1,2,...,n aij=−aij,i,j=1,2,...,n,则称A AA为斜对称矩阵(也称为反对称矩阵)。斜对称矩阵的主对角线所有元素为零,因为 a i j = − a j i a_{ij} = -a_{ji} aij=−aji ,所以 a i i = 0 a_{ii} = 0 aii=0。例如 A = [ 0 − 3 7 3 0 9 − 7 − 9 0 ] A=\begin{bmatrix} 0 & -3 & 7 \\ 3 & 0 & 9 \\ -7 & -9 &0 \end{bmatrix} A=⎣⎡03−7−30−9790⎦⎤
L2损失函数:
∆
ξ
=
(
J
T
J
)
−
1
J
T
∣
∣
(
ϕ
I
1
(
ξ
t
)
−
ϕ
R
(
ξ
t
−
1
⊞
∆
ξ
)
)
∣
∣
∆\xi =(J^{T} J)^{-1}J^T||(\phi_{I_1}(\xi_t) - \phi_R(\xi_{t-1}\boxplus∆\xi))||
∆ξ=(JTJ)−1JT∣∣(ϕI1(ξt)−ϕR(ξt−1⊞∆ξ))∣∣
通过显式推导 J a c o b i a Jacobia Jacobia 矩阵并迭代更新来解决表达式,往往需要一个形式化的成本函数,或者从观测值中提取的特征是可以对 ξ \xi ξ 进行微分的,并适当选择一个稳健的成本函数和手工制作的特征。
另一个问题出现在涉及不同模态时。在这种情况下,必须引入另一个超参数来控制每种模态的重要性(例如,RGB-D),并且可能会对所有不同的情况进行非平凡的调整。
相反,这项工作提出了一种新的神经网络架构,它隐式地学习校准从当前观察中提取的特征和渲染图像之间的残差,条件是之前的姿势估计,以解决切线空间中的相对变换
∆
ξ
∈
s
e
(
3
)
∆\xi∈se(3)
∆ξ∈se(3)。
3.2 Neural Network Design
作者提出的神经网络如图3所示。该网络以一对图像作为输入,
I
t
−
1
I^{t-1}
It−1 : 从之前的姿势估计中呈现,
I
t
I^t
It: 当前的观察结果。图像为4通道RGB-D数据。深度在机器人技术中经常可用。然而,由于合成和真实深度图像之间的额外领域差距,它使学习变得复杂。此外,并不是所有的神经网络架构都非常适合编码RGBD特征,例如FlowNetSimple架构。
图3 提出的se(3)-TrackNet架构:se(3)-TrackNet架构:它将当前观测值对应的RGB-D图像和上一个时间戳的对象模型渲染作为输入,分别输入两个独立的特征编码器 ϕ B \phi_B ϕB 和 ϕ A \phi_A ϕA 。在训练时,两个输入都是合成的,而在测试时, p h i B phi_B phiB 的输入是真实的图像。编码器的输出被连接起来,用于预测两幅图像之间的相对姿势,并进行解耦的平移和旋转。
在训练过程中,两个输入都是合成生成的图像
ϕ
(
I
s
y
n
,
t
r
a
i
n
t
−
1
;
I
s
y
n
,
t
r
a
i
n
t
)
\phi(I_{syn,train}^{t-1}; I_{syn,train}^t)
ϕ(Isyn,traint−1;Isyn,traint),而对于测试来说,当前的时间戳输入来自真实的传感器,
ϕ
(
I
s
y
n
,
t
e
s
t
t
−
1
;
I
r
e
a
l
,
t
e
s
t
t
)
\phi(I_{syn,test}^{t-1};I_{real,test}^t)
ϕ(Isyn,testt−1;Ireal,testt)。se(3)-TrackNet对
I
t
−
1
I^{t-1}
It−1 和
I
t
I^t
It 使用两个独立的输入分支。特征编码器的权重并不共享,以便将特征编码分离出来
。当在真实世界的测试场景
ϕ
(
I
s
y
n
,
t
e
s
t
t
−
1
;
I
r
e
a
l
,
t
e
s
t
t
)
\phi(I_{syn,test}^{t-1};I_{real,test}^t)
ϕ(Isyn,testt−1;Ireal,testt)上进行测试时,隐空间
ϕ
(
I
s
y
n
,
t
r
a
i
n
t
−
1
;
I
r
e
a
l
,
t
r
a
i
n
t
)
\phi(I_{syn,train}^{t-1};I_{real,train}^t)
ϕ(Isyn,traint−1;Ireal,traint) 的属性仍然可以得到部分保留。但是,这种表示方式并不能泛化到完全在合成数据上进行训练。
(隐空间:这个概念很好理解,举个例子,在线性可分问题中有两组数据,这些数据“充分混合”在二维空间中,这看起来不可能用一条直线在二维空间中把数据分出两类。这时候的方法就是将这些数据放到三维空间中去分类,这时候的数据就可以被一条直线分成两类,这时候的三维空间就是隐空间。由于三维空间在这个分类问题中是不存在的,所以又被叫做隐空间)
纯合成数据上训练的隐空间特征表示为 ϕ A ( I s y n , t r a i n t − 1 ) \phi_A(I_{syn,train}^{t-1}) ϕA(Isyn,traint−1) 和 ϕ B ( I s y n , t r a i n t ) \phi_B(I_{syn,train}^{t}) ϕB(Isyn,traint)。当在真实世界数据上测试时,隐空间特征为 ϕ A ( I s y n , t e s t t − 1 ) \phi_A(I_{syn,test}^{t-1}) ϕA(Isyn,testt−1) 和 ϕ B ( I r e a l , t e s t t ) \phi_B(I_{real,test}^{t}) ϕB(Ireal,testt) 。通过这种特征编码的解构,域隙减少到 ϕ B ( I s y n , t r a i n t ) \phi_B(I_{syn,train}^{t}) ϕB(Isyn,traint) 和 ϕ B ( I r e a l , t e s t t ) \phi_B(I_{real,test}^{t}) ϕB(Ireal,testt)之间,而 ϕ A ( I s y n , t r a i n t − 1 ) \phi_A(I_{syn,train}^{t-1}) ϕA(Isyn,traint−1) 和 ϕ A ( I s y n , t e s t t − 1 ) \phi_A(I_{syn,test}^{t-1}) ϕA(Isyn,testt−1) 可以在训练和测试阶段毫不费力地对齐,而不需要解决域隙问题。
通过端到端训练,网络可以预测一个相对的变换。该变换用李代数表示为
∆
ξ
=
(
t
,
w
)
T
∈
s
e
(
3
)
∆ \xi =(t,w)T∈se(3)
∆ξ=(t,w)T∈se(3),其中
w
w
w 和
t
t
t 的预测被分解成不同的分支,并通过
L
2
L2
L2 损失进行训练:
L
=
λ
1
∣
∣
w
−
w
ˉ
∣
∣
2
+
λ
2
∣
∣
t
−
t
ˉ
∣
∣
2
L=\lambda_1||w-\bar w||_2+\lambda_2||t-\bar t||_2
L=λ1∣∣w−wˉ∣∣2+λ2∣∣t−tˉ∣∣2
其中
λ
1
\lambda_1
λ1 和
λ
2
\lambda_2
λ2 在实验中被简单地设置为1。给定
Δ
ξ
Δ\xi
Δξ,当前姿势估计计算为
T
t
=
e
x
p
(
Δ
ξ
)
∗
T
t
−
1
T^t = exp(Δ\xi )*T^{t-1}
Tt=exp(Δξ)∗Tt−1。
3.3 Synthetic Data Generation via PPDR
域随机化的目的是在训练时提供足够的模拟可变性,以便在测试时,该模型能够推广到实际数据[18]。先前的工作通过随机改变对象,姿势,纹理,照明等的数量来实现域随机化的思想,其中对象姿势通常是从某些预定分布[1],[12],[18]中直接采样的。
虽然在模拟器和现实世界之间对齐一些复杂的物理属性(例如照明和相机属性)并非易事,但可以轻松保留某些物理属性,例如重力和碰撞[32],[33]。这使得领域不变特征更容易被神经网络捕获。在当前框架中,当另外采用深度模态并且在现实世界中从未发生过的不切实际的对象渗透会给学习期间的深度数据分布带来不希望的偏差时,这尤其重要。
因此,这项工作将域随机化和物理一致的仿真的互补属性用于合成数据生成过程
。目标是将这两种思想结合起来,以便综合训练数据可以使网络具有多样化的分布,从而可以将网络推广到具有不同环境的目标域,同时提高数据效率
。将此想法称为PPDR(Physically Plausible Domain Randomization)。更具体地,随机地初始化物体姿势,在该位置处物体或干扰物之间可能发生碰撞,然后进行许多物理模拟步骤,以使物体分离或掉落在桌子上而不会碰撞。其他复杂或难以处理的物理属性(例如光照,物体数量,干扰项纹理)是随机的
。图4显示了针对PPDR的域随机化之间的比较。
一旦整个场景的合成图像生成,配对数据
I
s
y
n
,
t
r
a
i
n
t
−
1
I^{t-1}_{syn,train}
Isyn,traint−1 和
I
s
y
n
,
t
r
a
i
n
t
I_{syn,train}^{t}
Isyn,traint 被提取出来并作为网络的输入。
I
s
y
n
,
t
r
a
i
n
t
I_{syn,train}^t
Isyn,traint 是通过裁剪给定目标物体维度的图像,并在输入网络之前放大到
176
×
176
176×176
176×176 的固定分辨率来获得的。
I
s
y
n
,
t
r
a
i
n
t
−
1
I_{syn,train}^{t-1}
Isyn,traint−1 是通过随机采样一个扰动姿势
T
t
−
1
t
T_{t-1}^t
Tt−1t 来获得的,其中它的 translation’s direction 是均匀采样的,它的法线遵循高斯分布
∣
t
∣
∼
∣
N
(
0
,
σ
t
)
∣
|t| ∼ |N(0, σ_t)|
∣t∣∼∣N(0,σt)∣ 。如上所述,rotation 在切线空间
w
∈
s
o
(
3
)
w ∈so(3)
w∈so(3) 中进行局部参数化,
w
w
w 的方向也是均匀采样的,而它的法线是从高斯分布
∣
w
∣
∼
∣
N
(
0
,
σ
w
)
∣
,
w
∈
R
3
|w| ∼ |N(0,σ_w)|,w∈R^3
∣w∣∼∣N(0,σw)∣,w∈R3 中采样的,类似于
t
t
t。
在这种情况下,下一步就是通过双向配准来弥补深度数据的领域差距
。与RGB的情况类似,在深度数据方面也会出现模拟到真实的差距,特别是对于那些由商业级深度传感器捕获的数据。然而,关于如何以一般的方式解决深度域差距的证据较少,特别是它可能部分依赖于特定的深度传感器。在这项工作中,在训练时间的合成深度数据和测试时间的真实深度数据之间进行双向对齐
。
具体来说,在训练时,在分支B处对合成深度数据 D s y n , t r a i n t D^t_ {syn,train} Dsyn,traint 进行两个额外的数据增强步骤,首先,对具有有效深度值的像素添加随机高斯噪声,然后进行深度缺失处理,将部分具有有效深度的像素随机变为无效,以类似于商业级深度传感器采集的真实破坏深度图像。而在测试时,对真实的深度图像进行双边滤波,以平滑传感器噪声,填补漏洞,使之与合成域一致。
4. EXPERIMENTS
作者评估了所提出的方法,并与最新的6D姿态跟踪方法以及公共benchmark上的单图像姿态估计方法进行了比较。 它还介绍了作为这项工作的一部分而开发的新benchmark ,它对应于机器人操纵场景。 针对各种对象类别和各种机器人操作场景(移动摄像机或移动对象)进行了广泛的实验。 quantitative 和qualitative 结果都证明了该方法在准确性和速度方面的优势,同时仅使用了synthetic 训练数据。
除训练外,所有实验均在装有Intel Xeon(R)E5-1660 v3@3.00GHz处理器的标准台式机上进行。 Neural network 训练和推理分别在NVIDIA RTX 2080 Ti GPU和NVIDIA Tesla K40c GPU上执行。
合成数据: 合成数据生成管道在 Blender中实现。
- 渲染图像时,从半径为0.6到1.3 m的球体中随机采样相机的姿势,然后沿相机 Z Z Z 轴在 0 0 0 到 360 360 360 度之间采样一个额外的旋转;
- 外部照明光源的数量(灯具)在0到2的不同姿态采样;
- 环境和灯光的强度和颜色是随机的;
- 随机初始化对象的姿态,然后进行物理模拟,该模拟将在50个步骤后终止,以确保将对象分离而不会发生碰撞或掉落到桌子上。对于YCB视频,桌子纹理是从[34]中随机选择的。对于YCBInEOAT,桌子被删除,背景被在收集数据的同一位置捕获的图像所取代;
- 对于每对 I s y n , t r a i n t − 1 I^{t-1}_{syn,train} Isyn,traint−1 和 I s y n , t r a i n t I^{t}_{syn,train} Isyn,traint,它们的相对转换 T t − 1 t T^t_{t-1} Tt−1t遵循高斯分布进行采样,其中 σ t \sigma_t σt 和 σ w \sigma_w σw 分别根据经验设置为 2 cm和 0.262
rad(= 15度)。
训练设置:
- 200k数据点(图像对)用于训练训练集;
- 该网络使用Adam优化器训练了300个 epoch,batch size为200,learning rate从0.001开始,并在第100和200 epochs 按 0.1 缩放;
- 输入RGB-D图像的大小调整为 176 × 176 176\times176 176×176,然后再送到网络;
- 数据增强包括随机HSV shift,,高斯噪声,高斯模糊,仅添加到 I s y n , t r a i n t I^{t}_{syn,train} Isyn,traint;将附加的深度缺失破坏增强应用于 D s y n , t r a i n t D^t_{syn,train} Dsyn,traint,缺失百分比介于0到0.4之间;
- 训练和推理,使用C ++ OpenGL实现 I t − 1 I^{t-1} It−1 的渲染。
4.1 Data
-
YCB-Video Dataset
该数据集捕获了21个YCB物体的92个RGB-D视频序列,这些物体排列在桌面上。在每一帧中都标注了物体的地面真实6D姿态。不同物体的各种属性表现出对RGB和深度形式的挑战。评估严格遵循比较方法中采用的协议,并报告了12个视频测试序列中关键帧的AUC(曲线下面积)结果,评估的指标为执行精确模型匹配的 A D D = 1 m ∑ x ∈ M ∣ ∣ R x + T − ( R ^ x + T ^ ) ∣ ∣ ADD = \frac{1}{m} ∑_{x∈M} ||Rx+T -( \hat{R}x+ \hat{T})|| ADD=m1∑x∈M∣∣Rx+T−(R^x+T^)∣∣,以及为评估对称对象而设计的 A D D − S = 1 m ∑ x 1 ∈ M min x 2 ∈ M ∣ ∣ R x 1 + T − ( R ^ x 2 + T ^ ) ∣ ∣ ADD- S = \frac{1}{m} ∑_{x_1∈M}\min_{x_2∈M} ||R_{x_1}+T -( \hat{R}x_2+ \hat{T})|| ADD−S=m1∑x1∈Mminx2∈M∣∣Rx1+T−(R^x2+T^)∣∣ ,其中点与点之间的匹配对于某些视图来说可能是模糊的。
虽然这个数据集包含了在现实世界中收集的姿势标注的训练和验证数据,但所提出的方法并没有使用任何这些数据,而只是在上述流水线生成的合成数据上进行训练。
-
YCBInEOAT Dataset
已有一些公开的基准,其中收集视频的方法是将物体静态地放在桌面上,同时移动摄像机,以模仿6D物体姿势跟踪场景。这对于评估6D姿势跟踪可能是有限制的,因为在静态环境中,整个图像可以被利用来解决摄像机的轨迹,从中可以推断出物体的姿势。此外,在这样的场景中,极端的物体旋转,如像外平面翻转,比摄像机前自由移动的物体更不可能发生。因此,在这类数据集上进行排他性的评估不能完全反映6D物体姿态跟踪方法的属性。其他数据集收集了由人的手操纵物体的视频序列。然而,人类的手臂和手的动作可能与机器人的动作有很大的不同。
因此,在这项工作中,在机器人操纵的背景下,开发了一个新的数据集,称为 “YCBInEOAT Dataset”,其中包括各种机器人终端执行器:真空抓取器、Robotiq 2F-85抓取器和Yale T42 Hand。考虑到YCB对象的广泛使用性,操纵序列考虑了5个YCB对象。数据收集设置和对象如图5所示。每个视频序列都是从一个真实的操纵中收集的,用双臂Yaskawa Motoman SDA10f执行。
一般来说,有3种类型的操纵任务执行。(1)单臂取放,(2)手内操纵,(3)双臂之间取放交接。RGB-D图像由静态安装在therobot上的Azure Kinect传感器采集,频率为20~30Hz。与YCBVideo类似,采用ADD和ADD-S指标进行评估
。地面真实的6D物体姿态在摄像机的帧中已经被准确地手动注释为每一帧视频。摄像机在机器人帧中的外在参数已通过校准程序获得。该数据集可用于未来的基准测试。
4.2 Results
-
YCB-Video
表I和图1介绍了在YCBVideo数据集上的评价。所提出的方法与其他最新的6D物体姿态检测方法和6D姿态跟踪方法进行了比较,其中公开的源代码https://github.com/bayesian-object-tracking/dbot被用来评估,而其他结果则从各自的出版物中采用。除了PoseRBPF之外,所有被比较的跟踪方法都是使用地面真实姿势进行初始化。PoseRBPF是唯一一个使用PoseCNN的预测姿势进行初始化的方法。为了公平起见,另外进行了两次使用与PoseRBPF相同的初始姿势的实验,并在表一最右边的两列中列出,一次是没有任何重新初始化,另一次是允许在重度遮挡后由PoseCNN进行两次重新初始化(与PoseRBPF相同)。
-
YCBInEOAT
表二显示了在开发的YCBInEOAT数据集上通过ADD和ADD-S的曲线下面积评估的定量结果。
在这个基准上,可以直接评估使用公开的源代码的跟踪方法 姿势在第一帧中用地面真实值初始化,不允许重新初始化。前向运动学不被利用,以便仅仅评估跟踪质量。图6展示了定性结果的例子,其中一个真空抓取器正在执行取放操作任务。
4.3 Ablation Study
消融研究调查所提出的方法的不同模块的重要性。它是针对YCB-Video数据集中的大钳子对象进行的,并在附表中列出。
初始姿势由groud-truth给出,不允许重新初始化。在合成数据生成过程中,没有物理学含义,采用域随机化,没有任何物理学模拟。对于No depth,在训练和推理阶段都去掉深度形式,以研究其重要性。
共享编码器是指 I t I^t It 和 I t − 1 I^{t-1} It−1 的两个特征编码器共享相同的架构和权重。这与原始设置中用于 I t − 1 I^{t-1} It−1 的编码器相对应。四元组通过一个四元组表示法 q = ( x , y , z , w ) q=(x,y,z,w) q=(x,y,z,w) 来实现旋转,其中 w = 1 − x 2 − y 2 − z 2 w=\sqrt{1-x^2-y^2-z^2} w=1−x2−y2−z2 被强制为非负值,以避免 q q q 和 − q -q −q 的模糊性。网络是通过对表示的 L 2 L2 L2损失来训练的。 S h a p e − M a t c h L o s s Shape-Match Loss Shape−MatchLoss 是6D姿态估计任务中流行的损失函数,它不需要指定对称性。然而,在当前的环境中,它很早就失去了对象的踪迹。
5. CONCLUSION
这项工作提出了一个高效和稳健的长期6D物体姿态跟踪框架。提出了一种新型的神经网络架构se(3)-TrackNet,允许在合成数据集上进行训练,并可稳健地转移到现实世界的数据中。在姿态跟踪过程中,网络的设计选择和学习残余姿态的李代数表示法相结合,通过大量的实验验证,获得了非常理想的性能。姿势跟踪过程的运行速度约为90.90帧/秒,明显高于替代品。为了解决机器人操纵背景下缺乏对象跟踪基准的问题,提出了一个额外的数据集。se(3)-TrackNet被证明在数据集中引入的大遮挡和突然的重新定向下是稳健的,这对竞争方法提出了挑战。尽管所提出的网络具有这些理想的特性,但一个限制是需要一个对象CAD模型。未来的目标是在类别级6D姿势跟踪方面实现类似的性能。
参考文章: