1.NOCS
过去的6D姿态估计方法主要有两个缺陷;首先需要有该对象的CAD模型并且已知对象的尺寸,这对于大部分未见过的对象无法使用。另外一种虽然可以不需要已有的CAD模型,但是依赖于视点,不会对目标对象的精确方向进行编码。所以这两类方法都无法对新环境中的对象进行精确的姿态估计。
论文中定义了一种共享空间(归一化对象坐标空间):NOCS(一个包含在单位立方体中的三维空间,将对角线设置为1,保证对象收缩在单位立方体中)如图,所有对象都包含在一个公共的规范化空间中,一个类别中的所有实例享有一个共同的参考框架。
类级别的目标6D姿态与尺寸估计:首先6D姿态是指对物体3D位置与3D方向的估计。(3个*度定位置,三个*度定旋转方向),其中方向的表示方法主要有三种,欧拉角,旋转矩阵,四元数。类级别的6D姿态估计是指对一个未见过的目标对象进行估计,但是这个对象属于某一类别(如相机),而在之前的训练中训练样本含有相机,那么便可以对该目标对象进行估计。
NOCS map:通过训练一个CNN预测一个彩色编码的NOCS目标的的二维透视投影(上图左下角),NOCS map能提供在规范空间的物体的外形和尺寸。
网络结构如下:网络以单张包含多个对象的RGB图像和对应的depth图作为输入,使用CNN来预测对象的类标签、掩码和NOCS map。然后利用NOCS map和深度图利用位姿拟合的方法来估计物体的完整6D姿态和尺寸。
根据NOCS map可以得到一个缩放的目标三维点云,通过instance Mask和输入的深度图也可以得到三维点云表示,对比两个三维点云结果可以估计两个变换之间的缩放,平移与旋转关系。
论文在Mask R-CNN的基础上加入三个NOCS map head结构用于预测NOCS map的x,y,z坐标。该结构如图:
2.Learning Canonical Shape Space for Category-Level 6D Object Pose and Size Estimation
该网络结构如下:
主要由四个部分组成,分别是(1)目标检测与裁剪,(2)CASS学习和视图分解的RGBD嵌入,(3)姿态相关特征提取,(4)姿态与尺寸估计。接下来具体解释各部分作用:
(1)预处理阶段(左)用于生成对感兴趣对象的图像裁剪和 point patch,并将此作为输入传到主网络(右边三部分)进行处理。
(2)CASS(Canonical Shape Space规范形空间),首先学习CASS,将shapeNet中的3D模型缩放到单元盒中,采样生成点云,记为X,利用X来训练以FoldingNet为骨干的VAE。FoldingNet是一个基于点的自动编码器,能够学习强大的3D形状表示。它由一个基于图形的编码器和一个基于折叠的解码器组成。编码器对输入点云的k-NN图进行特征学习,基于学习到的特征,解码器扭曲一个固定的2D网格以匹配输入点云的形状。通过在编码器和解码器之间增加采样层,将FoldingNet变成了VAE。习得的后验分布z~ p(z|X)模拟了典型形状的空间。在学习了CASS之后,下一个任务是将任意视图下的RGBD图像投影到空间中,文中提出了一种联合嵌入的方法,文中学习了VAE,它有两个编码器将RGBD图像和3D点云映射到共享的潜在空间。3D编码器采用FoldingNet编码器,RGBD编码器采用密集融合架构。关键设计是,尽管有不同的网络架构,但这两个编码器使用混合训练批和共享训练梯度进行训练。后者意味着为任一模态计算的梯度被反向传播以调优两个编码器。RGBD编码器分解图像视图,得到姿态无关的RGBD特征(CASS代码)。然而,3D编码器并不分解物体的姿态或大小。这是因为3D编码器的输入和输出都是位姿和尺寸标准化的。它只是将标准化形状映射到标准形状空间,而不处理其姿态或大小。
(3)文中设计了两种分别基于RGB和深度图像的光度和几何特征提取网络。在网络中,这些特征通过与姿态相关的特征进行比较来估计姿态和尺寸。首先是光度特征提取:输入图像包含感兴趣对象时,通过训练一个全卷积网络,将颜色信息处理成颜色特征F。图像嵌入网络是一个自动编码器体系结构,它将大小为H×W×3的图像映射到像素特征映射H×W×N。每个像素都有一个a维向量。然后对所有像素特征进行平均池化,获得完整图像的N维特征。几何特征提取:给定相应的point patch,利用基于点的cnn来提取N个模糊的几何特征。
(4)姿态与尺寸估计部分包含loss函数的设计。将CASS学习与RGBD嵌入得到的特征F1,颜色(光度)特征F2,以及几何特征F3拼接为一个向量(长度3N),然后将其输入到具有1D卷积的CNN中。输出包含一个四元数表示的旋转(q),一个3D平移矢量(t)和一个1D缩放因子(s)。
最后loss函数定义为:
其中带星号的为真值。
3.Category Level Object Pose Estimation via Neural Analysis-by-Synthesis
文中将基于梯度的拟合过程与参数化神经图像合成模块相结合,该模块能够隐式地表示整个对象类别的外观、形状和姿态,该方法能够从单个RGB或RGB- D图像恢复对象的3D姿态,从而无需为每个对象实例建立显式CAD模型。
网络结构:
网络分为训练与推理两个部分:训练:使用来自ShapeNet数据集的合成目标的多视图图像,在VAE框架中对生成器进行训练。我们将已知方向的生成图像与真值图像之间的重构损失与KL散度一起最小化。经过训练,发生器可以产生真实地反映(潜在的)外观和期望的姿态的图像。推断:为了从分割后的真实图像中估计目标的姿态作为输入,我们的方法迭代优化目标的姿态和形状,在保持训练网络的权重不变的情况下,最小化输入和生成图像之间的感知损失。
pose_aware图像生成器的设计:文中提出一个很好的想法:3D空间的平移操作和平面内旋转操作可以使用在2D平面内进行操作,因此不需要学习过多的参数。因此,文中限制网络G3D中只生成具有平面外旋转的图像为:
其余的转换都是用2D图像扭曲操作来实现。
为了生成所需姿态(R, T)的图像,首先将平面外旋转Rx,Ry(图中yz好像标反了)应用于3D特征体,然后将特征体的2D投影解码为图像。随后,这幅图像经过由平移和平面旋转得来的2D相似变换,形成最终输出。最后通过将潜在码元注入到三维特征体积生成器dec3d和二维解码器dec2d中,以控制形状和外观的变化。
外观和3D旋转:为了生成不同外形、形状和姿态的物体图像,文中采用了基于3D风格的图像生成网络,如上图。该网络结合了一个3D特征体,通过基于风格的生成器捕捉3D旋转。这使得模型能够从诸如姿势和形状等几何因素中分离出整体外观变化。基于风格的三维图像生成网络主要包括四个步骤:1)生成三维特征体;2)基于姿态的特征体转换;3)将三维特征体投影为二维特征图;4)将特征图解码为预测图像。三维生成和二维生成分别以自适应实例归一化的潜在编码为条件,对形状和外观的方差进行建模。对象的方向控制应用于3D特征体的转换。
平移和2D旋转:2D平面的扭曲操作表达式记为:
则完整的操作过程得到最终的图像: