论文笔记:6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints

1.总体

1.1 做了什么

这篇文章做了 6D-Pose Tracker。具体说是 a vision-based 6DPose Anchor-based Category-level Keypoint tracker。

作者提出了一种基于RGB-D的深度学习方法,能够实时的跟踪已知类别物体(已知类别,可以使没见过的物体)。通过学习用少量的三维关键点来简洁地表示一个物体,基于这些关键点,通过关键点匹配来估计物体在帧与帧之间的运动。这些关键点使用无监督端到端学习来实现有效的跟踪。

1.2 怎么做

6-PACK的输入是RGB-D信息,在原先估计的pose周围,采样anchor,基于这些anchor检测和跟踪3D category-based keypoints.然后利用两帧之间的关键点,通过最小二乘优化求解点集对齐的问题,计算出6D物体的位姿变化。

1.3 创新点

  • 利用一种新的anchor机制产生keypoint,可以作用于同一类别的不同实例上
  • 使用无监督方式去选择最有利于track的关键点
  • 利用帧间关键点去估计姿态的inter-frame change

2 思路

2.1 问题的定义

定义类别级6D位姿跟踪定义为连续时间步间目标姿态变化的连续估计问题 。姿态变化 Δ p t ∈ S E ( 3 ) \Delta p_t \in SE(3) ΔptSE(3),可以分解为 Δ R t ∈ S O ( 3 ) \Delta R_t \in SO(3) ΔRtSO(3) Δ t t ∈ R 3 \Delta t_t \in R^3 ΔttR3 Δ p t = [ Δ R t ∣ Δ t t ] \Delta p_t = [\Delta R_t | \Delta t_t] Δpt=[ΔRtΔtt]。然后,通过递归地应用最后估计的姿势变化来检索绝对姿势 : p t = Δ p t ⋅ p t − 1 = Δ p t ⋅ Δ p t − 1 ⋅ ⋅ ⋅ p 0 p_t = \Delta p_t \cdot p_{t-1} = \Delta p_t \cdot \Delta p_{t-1} \cdot \cdot \cdot p_0 pt=Δptpt1=ΔptΔpt1p0.
初始姿势是相对于标准帧的摄影机帧的平移和旋转,对于同一类别的所有实例定义类似 。

2.2 模型

首先在预测物体实例的周围剪裁一个放大的体积,将其归一化为一个单元;在体积块上生成anchor网格;之后使用DenseFusion计算M个点的几何与颜色融合特征;根据距离将它们平均池化成N个anchor特征;注意力机制网络使用anchor特征来选择最接近质心的点;用质心生成一组有序的关键点。将这种关键点生成方法应用在前一帧和当前帧,得到两组有序的关键点来计算帧间的位姿变化。
(这里使用无监督方式来训练得到最接近质心的点,这点具体怎么弄不太理解)
(keypoint的表示形式是 offset points from the selected anchor)
(初始 p 0 p_0 p0怎么refine的,怎么得到一个较为准确的 p 0 p_0 p0

6-PACK算法在预测位姿周围生成anchor网格的过程中使用了注意力机制。每个点用RGB-D点单独特征的距离加权和来表示体积。使用anchor信息在新的RGB-D框架中找到物体的粗略质心,并指导对其周围关键点的后续搜索,这比在无约束的三维空间中搜索关键点效率更高。

网络框架图

2.3 Loss设计

1. L a n c = 1 N ∑ i c i ( ∣ ∣ a i − o g t ∣ ∣ 2 − β ) L_{anc} = \frac {1}{N} \sum_i c_i(||a_i - o_{gt}||_2 - \beta) Lanc=N1ici(aiogt2β)

β = m i n ( ∣ ∣ a i − o g t ∣ ∣ 2 ) , i = 1... N \beta = min (||a_i - o_{gt}||_2),i=1 ... N β=min(aiogt2),i=1...N
a i a_i ai anchor, g t gt gt ground-truth position

2. multi-view consistency loss L m v c = 1 K ∣ ∣ k i t − [ Δ R t g t ∣ Δ t t g t ] ⋅ k i t − 1 ∣ ∣ L_{mvc} = \frac{1}{K}||k_i^t - [\Delta R_t^{gt}|\Delta t_t^{gt}]\cdot k_i^{t-1}|| Lmvc=K1kit[ΔRtgtΔttgt]kit1

[ Δ R t g t ∣ Δ t t g t ] = Δ t g t [\Delta R_t^{gt}|\Delta t_t^{gt}] = \Delta_t^{gt} [ΔRtgtΔttgt]=Δtgt
多视图一致性损失只保证特征位置之间的帧间一致性,而不依赖于透视图或对象的可见部分。然而,这并不能保证这些位置对于我们的最终目标是最佳的,即估计姿势的变化.

3. a differentiable pose estimation loss L t r a = ∣ ∣ ( k ^ t − k ^ t − 1 − Δ t t g t ) L_{tra} = ||(\hat k^t - \hat k^{t-1} - \Delta t_t^{gt}) Ltra=(k^tk^t1Δttgt)
4. a differentiable pose estimation loss L r o t = 2 a r c s i n ( 1 2 2 ∣ ∣ Δ R ^ t − Δ R t g t ) L_{rot} = 2arcsin(\frac {1}{2\sqrt 2}||\Delta \hat R^t - \Delta R_t^{gt}) Lrot=2arcsin(22 1ΔR^tΔRtgt)

k ^ t \hat k^t k^t k ^ t − 1 \hat k^{t-1} k^t1前一帧和当前帧中关键点的质心
Δ R ^ t \Delta \hat R_t ΔR^t是用最小二乘优化。

5 separation loss L s e p L_{sep} Lsep
6.silhouette consistency loss L s i l L_{sil} Lsil
7. centroid loss L c e n L_{cen} Lcen

3D Keypoint Generation for Classes with Symmetry Axes

a coordinate system transformation ρ() that transforms the coordinates of points into a space that is rotation-invariant around the axis of symmetry
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值