随缘更新
一篇被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姿态,具体来说主要有以下几点:
- 本文所提出的 XYZNet 同时兼具efficient和simple两大优点
- efficient,指用fully convolutional network高效的从RGB-D数据中提取point-wise features,且可以很好的处理对称物体。
- simple,指可以直接回归出物体的6D位姿而不需要后处理进行二次提炼(directly regresses the 6D pose without any post refinement)
- 本文提出一种新的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函数必须连续。
- 在YCB-V和T-LESS两大数据集上的结果证实了本文所提出的framework能保证高accuracy的基础上拥有low computational cost这一优势。
- 为了利用RGB-D数据的纹理信息和几何信息,dense fusion network常利用indexing operation(这个我也不清楚是什么)融合RGB特征和点云特征,但是indexing operation需要随机存取内存,是非常低效的。
- 为了弥补上面这种方法的短板,2D convolutional kernels被用来同时提取RGB特征和点云特征,然而点云的几何信息会在卷积 *** 作过程中被抛弃,导致预测的低精确度。
- 现有方法都无法很好的处理对称性。
对称物体在不同位姿下观测结果都一样(姿势不一样但是拍出来的照片长的一样,因为它对称),为了解决这个模棱两可的问题,现有的方法主要有以下几种:
-
在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\| m1∑x1∈Mminx2∈M∥∥∥(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来解决这个问题。
模型架构主要分为两个阶段:
-
得到目标物体的mask和bounding box
本文中第一阶段由PoseCNN的segmentation network完成,核心在第二阶段。
-
将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的位姿作为预测位姿。
(写不动了,休息一下,有时间再更新详细内容)
主要分为三部分:
- Local feature extraction module
- Spatial information encoding module
- Feature aggregation
将point-wise features作为multi-task convolution heads的输入,得到三个输出(分别对应三个任务):
- 3D translation regression
- 3D rotation regression
- Confidence regression
可以看出上述过程都是回归任务,且纯靠卷积完成
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)