2020.10.03读 Robust 6D Object Pose Estimation by Learning RGB

    科技2022-07-11  93

    Robust 6D Object Pose Estimation by Learning RGB_D Features

    1. 背景信息2.方法2.1旋转2.2平移 3. 实验3.1评估指标3.2 总体损失函数3.3 消融实验3.4 LINEMOD数据集上的效果3.5 YCB数据集上的效果3.6 在对称物体上的效果对比3.7运行速度 4.读后感

    1. 背景信息

    输入RGBD图像作者认为他的方法最大的亮点是:创新性地提出了一个离散连续公式,用来处理对称目标物体的旋转歧义性。最终的实验结果也确实说明了,本文的方法在对称物体上的表现明显优于其他方法。在以前看的morefusion方法中,他们用了一个warm-up的机制来处理对称目标问题的局部最优问题,即:先忽略对称性进行优化,再考虑对称性进行优化,避免落入局部最小。作者认为旋转和平移应该分离处理,反对联合优化它们。作者也做了实验,如果共享处理网络的话,性能确实会下降。why算法鲁棒? 特征提取上:提取RGB特征,在光照变化、物体外观变化方面具有鲁棒性 平移预测:基于RANSAC的投票,在遮挡、混乱方面具有鲁棒性 旋转回归:局部区域分类和约束残差回归,比单纯回归要鲁棒

    2.方法

    大体思路是这样的: 旋转预测 在SO(3)中均匀采样(下面会提到,本文中用了三种采样方法),称为锚点,这些锚点覆盖整个SO(3)空间。 给定groundtruth的rotation,网络会预测各个锚点与之的偏差。 预测各个锚点的不确定性分数,取不确定分数最小的那个锚点和偏差作为最终的输出结果。 平移预测 网络对每个点都回归了一个指向目标中心的单元向量,再用基于RANSAC的投票集成这些向量得到最后的结果。

    2.1旋转

    1. 损失函数与densefusion中相同: 2. 旋转锚点的选取 作者提出了三种在SO(3)上的子组,分别称为四面体组(N=12), 八面体组(N=24), 二十面体组(N=60), 其中N是旋转数量。具体这个子组与N的关系作者也没仔细说明。

    3. 对称物体的局部最优解问题 初始化旋转预测们 with 旋转锚点 R i h a t R_{i}^{hat} Rihat which 覆盖了整个SO(3)空间 其中 R i R_{i} Ri是旋转预测, R i h a t R_{i}^{hat} Rihat是旋转锚点, d e l a t R i delatR_{i} delatRi是旋转偏差。 我理解的是:代替直接预测旋转矩阵,预测旋转矩阵与锚点矩阵之间的旋转偏差,可以约束旋转预测在锚点局部,每个锚点响应一个局部区域。这样的话,可以避免陷入局部最小。

    4. 对每个锚点预测一个不确定性分数 s i g m a i sigma_{i} sigmai与训练收敛之后预测的旋转向量 R i R_{i} Ri与groundtruth旋转矩阵 R b o l a n g R^{bolang} Rbolang之间的距离(作者没有说明整个距离怎么定义的)成正比。 在推理阶段,拥有最小不确定性分数那个锚点的预测结果作为最终输出的结果。

    5. 正则化ShapeMatch-Loss的条件概率: 对于每个预测 R i R_{i} Ri, 定义: 其中,d是目标直径, L i L_{i} Li是ShapeMatch-Loss of R i R_{i} Ri. 最大化这个条件概率,等价于最小化它的负对数: 再加上它的正则项,以限制 d e l t a R i deltaR_{i} deltaRi的范围: 注意:这个正则项中的<>没有搞明白是什么意思,作者在文章中也没有明确说明,所以这里实际上并没有理解。我个人理解,这里的<>可能是表示一种距离。

    6. 作者对于旋转预测的总结 将一个连续回归问题重新表示为一个联合分类和残差回归问题,以便对多个小区域进行分来求解,避免算法陷入局部最优,这是本文的亮点。但是作者对于这方面的解释并不是那么详细,包括条件概率的公式也没有解释到位。

    2.2平移

    假设目标物体的中心: 对于每个点,网络都预测一个指向目标物体中心的向量v: 因为这种预测有误差,随机选择两个点,预测得到的两个向量v所在的两条直线并不一定有交点。 选择这两条线段中较短那一条的中点,记为h: 这样可以使得(h-p)向量和预测的那个向量尽可能同向。这解释不清啊,h和p本来就在向量v所在的直线上。 Final estimate is set to the point closest to all the lines defined by the inliers of the hypothesis with highest voting score. 在训练的时候,损失可以表示为 L t L_{t} Lt

    3. 实验

    3.1评估指标

    ADD:

    ADD-S:

    3.2 总体损失函数

    3.3 消融实验

    可以发现RANSAC投票可以提升3.22%的准确度; local geoemtry应该是指在网络中加入depth信息,提升了4.16%的准确度; 20面体60个锚点,可以达到最高92.77%; 如果预测旋转和平移不分离,会从92.7%下降到91.89%; 如果不用正则项, 网络性能显著下降到84.71%; 锚点数越少,效果越差。

    3.4 LINEMOD数据集上的效果

    发现2D的方法竟然可以做的这么高。

    3.5 YCB数据集上的效果

    只能说勉强效果还可以。

    3.6 在对称物体上的效果对比

    左下角图,简直惊艳。

    3.7运行速度

    速度并不出众。

    4.读后感

    1.这篇文章在网络上并没有过多介绍,所遵循的独立设计网络给R和t也并不是创新之处。反而以往的方法中处理点云都是用PointNet,这篇文章用的EdgeConv以前没有见过,应该关注或者阅读一下相关方法。 2.这篇文章最大的亮点是将SO(3)均匀分成若干个小区域,每个区域都用一个旋转锚点表示,网络预测目标旋转相对于各个锚点的旋转偏差,并且还预测一个不确定分数,取不确定分数最小那个锚点及其预测结果作为最终的输出结果。这种将连续回归问题,重新表达成分类问题和回归问题的结合,以约束旋转预测在锚点局部,每个锚点响应一个局部区域。这样的话,可以避免陷入局部最小。 3. 文章的中的平移预测的正则化公式没有看懂 4. 文章中遵循的大致思路就是预测offset而不是直接预测那个结果,这是算法更容易学的(YOLOff中讲到的) 5. 文章的实验效果在不对称物体上与其他方法相差不显著,在对称物体上明显优于其他方法。但是文章’没有将其与morefusion这样的多视角方法进行比较,有点像有核国家与只有步枪的国家比武的味道,赢得并不那么光荣。

    Processed: 0.022, SQL: 8