【论文阅读】ES6D: A Computation Efficient and Symmetry-Aware 6D Pose Regression Framework

随缘更新

一篇被CVPR 2022接收的6D位姿估计方向的论文,个人觉得这篇文章很有价值,但是源码暂时没有放出。

论文链接 ES6D: A Computation Efficient and Symmetry-Aware 6D Pose Regression Framework


文章目录

    • 主要内容和贡献
    • 相关工作
      • Pose estimation from RGB-D data
      • Handling symmetries in pose estimation
    • 模型架构
      • ==Point-wise feature extraction==
      • 6D pose regression
    • Symmetry-aware loss ==A(M)GPD==
      • Grouped primitives
      • Pose distance metric
    • 实验部分

主要内容和贡献

本文主要提出了一个regression framework,用来从单张RGB-D图像中预测物体的6DoF姿态,具体来说主要有以下几点:

  1. 本文所提出的 XYZNet 同时兼具efficient和simple两大优点
    • efficient,指用fully convolutional network高效的从RGB-D数据中提取point-wise features,且可以很好的处理对称物体
    • simple,指可以直接回归出物体的6D位姿而不需要后处理进行二次提炼(directly regresses the 6D pose without any post refinement)
  2. 本文提出一种新的symmetry-invariant pose distance metric,称为average (maximum) grouped primitives distance,即A(M)GPD,可以用于当作loss也可以用于结果的evaluate。A(M)GPD拥有以下性质:
    • all minima in the loss surface are mapped to the correct poses,即:能使loss达到最小值所对应的位姿一定是正确位姿(这个在相关工作第二点处提到,可以往下看)。
    • the loss function is continuous,神经网络想要正常梯度下降,loss函数必须连续。
  3. 在YCB-V和T-LESS两大数据集上的结果证实了本文所提出的framework能保证高accuracy的基础上拥有low computational cost这一优势。

相关工作

Pose estimation from RGB-D data

  • 为了利用RGB-D数据的纹理信息和几何信息,dense fusion network常利用indexing operation(这个我也不清楚是什么)融合RGB特征和点云特征,但是indexing operation需要随机存取内存,是非常低效的。
  • 为了弥补上面这种方法的短板,2D convolutional kernels被用来同时提取RGB特征和点云特征,然而点云的几何信息会在卷积操作过程中被抛弃,导致预测的低精确度。
  • 现有方法都无法很好的处理对称性。

Handling symmetries in pose estimation

对称物体在不同位姿下观测结果都一样(姿势不一样但是拍出来的照片长的一样,因为它对称),为了解决这个模棱两可的问题,现有的方法主要有以下几种:

  • 在training phase限制旋转范围;在testing phase用一个额外的分类器来判断一个旋转属于哪个范围之内,然后在这个范围内预测旋转量。

  • 这句太绕了,原文是

    calculate the average distance of the corresponding pixels of all the proper symmetries S ( O ) S(O) S(O), and choose the minimum as the final loss.

    我理解的是:

    对于物体 O O O,其所有的对称姿态的集合为 S ( O ) S(O) S(O),对于 S ( O ) S(O) S(O) 中的每个姿态对应的groundtruth图片和预测结果图片长的都一样,但是像素所代表的点不一样,计算出预测图片和* S ( O ) S(O) S(O)内每个姿态对应的groundtruth图片*二者对应像素所对应的三维点之间距离,然后求平均作为预测图片对应于 S ( O ) S(O) S(O)内某一姿态的loss,最后从 ∣ ∣ S ( O ) ∣ ∣ ||S(O)|| S(O) 个loss中选一个最小的作为预测图片最终的loss。

  • regression methods在训练时把把ADD-S作为对称物体的loss

    ADD-S的计算公式是 1 m ∑ x 1 ∈ M min ⁡ x 2 ∈ M ∥ ( R x 1 + T ) − ( R ~ x 2 + T ~ ) ∥ \frac{1}{m} \sum_{\mathbf{x}_{1} \in \mathcal{M}} \min _{\mathbf{x}_{2} \in \mathcal{M}}\left\|\left(\mathbf{R} \mathbf{x}_{1}+\mathbf{T}\right)-\left(\tilde{\mathbf{R}} \mathbf{x}_{2}+\tilde{\mathbf{T}}\right)\right\| m1x1Mminx2M(Rx1+T)(R~x2+T~)

  • 把物体分成紧凑的表面碎片,系统的处理对称性而不是一个点一个点去处理。

  • 使用其他的ambiguity-invariant pose distance metrics来衡量预测位姿和真实位姿之间的误差,如ACPD, MCPD, and VSD

但是,ADD-S并不适用于每个对称物体,究其原因,是因为ADD-S和ACPD, MCPD, and VSD等metric在收敛到最小值时并不会映射到正确的位姿(也就是说即便位姿预测错误了,也可能使这些metric达到最小值,造成误判)。因此本文提出了A(M)GPD来解决这个问题。

模型架构

【论文阅读】ES6D: A Computation Efficient and Symmetry-Aware 6D Pose Regression Framework_第1张图片

主要分为两个阶段:

  1. 得到目标物体的mask和bounding box

    本文中第一阶段由PoseCNN的segmentation network完成,核心在第二阶段。

  2. 将masked depth pixels标准化后转换为 XYZ map,然后将其于RGB patch结合起来通过本文提出的ES6D提取point-wise features

    将point-wise features通过multi-task convolution heads得到pointwise translation offsets ( Δ t i \Delta t_i Δti), quaternions ( q i q_i qi), and confidences ( c i c_i ci,即置信度),最后拥有最大confidence的位姿作为预测位姿。

Point-wise feature extraction

(写不动了,休息一下,有时间再更新详细内容)

主要分为三部分:

  1. Local feature extraction module
  2. Spatial information encoding module
  3. Feature aggregation

6D pose regression

将point-wise features作为multi-task convolution heads的输入,得到三个输出(分别对应三个任务):

  1. 3D translation regression
  2. 3D rotation regression
  3. Confidence regression

可以看出上述过程都是回归任务,且纯靠卷积完成

Symmetry-aware loss A(M)GPD

Grouped primitives

Pose distance metric

实验部分

你可能感兴趣的:(6D位姿估计/追踪,计算机视觉,人工智能,cnn,vr,ar)