(CVPR2019)NOCS
在阅读关节体位姿估计以及关节种类估计、screw parameter的估计中,很多论文都引用了这篇CVPR2019的论文。
这篇论文的全名叫做 Normalized Object Coordinate Space for Category-Level 6D Object Pose and Size Estimation,也就是网络希望泛化到同一类的不同实例中,这就要求提一个类全局的特征。包括说6D Object Pose and Size Estimation其实就是在VoteNet的3D Bounding Box的基础上,解锁了全部旋转自由度(VoteNet用heading bin简化到了只对z轴的转角做分类估计)。
为了提取类全局特征,这篇工作提出了NOCS(Normalized Object Coordinate Space),它是一个类中所有实例的共享的表征。所以,网络希望从观测到的RGBD中提取出NOCS表征、instance mask等。
NOCS
NOCS是一个3D的单位立方体空间,也就是$\{x,y,z\}\in[0,1]$。我们把训练集中已有的同一类的CAD模型归一化其方向、尺寸,放进这个立方体空间中。
我们使用RGB值把上图可视化出来了。在训练过程中,我们尝试训练出输入的RGB图到这个NOCS Map的投影。在训练过程中,网络会尝试回归出NOCS Map并且和深度图一起来估计6D Pose和Size。
网络
Pose Fitting
当我们有了instance mask、depth和NOCS Map之后,我们可以通过深度图+ Mask得到对应点云$P_m$,并且由于我们的NOCS Map是有RGB颜色的,我们可以根据RGB的值映射回点云$P_n$。接下来就是使用点云配准算法来得到旋转矩阵、平移和缩放系数。
Umeyama Algorithm(点云配准)
主要可以参考这个博客。
使用条件要求点云$P_n$和$P_m$的点的数量是相同的,并且对应关系是一致的,其中的点不能共线。
该算法的目标是计算一组$R,t$使得目标函数最优:
$$
\frac{1}{n}\sum_{i=1}^n||q_i-(cR)||
$$
(CVPR2019)NOCS