转载请注明作者和出处: http://blog.csdn.net/john_bh/
WACV 地址:A Pose Proposal and Refinement Network for Better 6D Object Pose Estimation
作者及团队:Department of Computer Science Colorado State University
会议及时间:WACV 2021
code:
文章目录
1. 主要贡献
作者提出了一种对RGB图像的end-to-end 的6DoF pose 估计方法。主要有两个部分组成:
- 第一部分:基于YOLO 实现 对输入RGB图像中的 object 检测并分类,然后估计每个object 6DoF pose;
- 第二部分:refinement module,包含一个render 和 multi-attentional pose refinement network,通过appearence features 和 flow voctors 进行 迭代优化估计的姿态。对突出重要特征部分的空间多注意块的整合,使 refinement 过程对噪声和遮挡更加鲁棒。
该方法的refiner预测估计是初始化姿态和目标姿态的相对误差。相比基于RGB输入图像的方法,达到了sota。
个人认为:作者提出的方法其实是一个6DoF pose 估计 + pose refimer;另外作者所说的 end-to-end,并没有表现出来,可以是单个的 6DoF pose 估计 或者 6DoF pose refinment 是 end-to-end的吧。
2. Methods
作者提出的方法主要分为两步:
首先使用PPN 从RGB图像中对象的不同区域回归 6DoF pose;
第二步时refinement module,包括 differentiable renderer,使用初始化的 pose和已知的物体的CAD 模型,渲染物体;使用多注意细化网络(MARN)进一步细化初始化的 pose。
In the following, the 6D pose is represented as a homogeneous transformation matrix, p = [ R ∣ t ] ∈ S E ( 3 ) p = [R|t] ∈ SE(3) p=[R∣t]∈SE(3), composed of a rotation matrix R ∈ S O ( 3 ) R ∈ SO(3) R∈SO(3) and a translation t ∈ R 3 t ∈ R^3 t∈R3. R R R can also be represented by a quaternion q ∈ R 4 q ∈ R^4 q∈R4.
2.1 Pose Proposal Network (PPN)
作者将 object pose estimation 问题重新定义 object classification 和 pose estimation 的问题,从图像像素中回归到 object center 和 pose 的region proposal。
- Block A
一个回归图像中物体的 4-dimensional quaternion vector Q i , j O k Q^{Ok}_{i,j} Qi,jOk的 rotation proposal network, - Block B
一个回归图像中物体的 3-dimensional translation vector T i , j O k T^{Ok}_{i,j} Ti,jOk 的translation proposal network。 不像 PoseCNN 中 预测整个 translation vecotor T = [ t x , t y , t z ] T T=[t_x,t_y,t_z]^T T=[tx,ty,tz]T,那样训练起来 cumbersome,作者回归物体的中心坐标 c = ( c x , c y ) T c=(c_x,c_y)^T c=(cx,cy)T 和depth t z t_z tz ,通过camera intrinsics 和预测信息,可以很容易地计算出平移向量的其余两个分量:
其中 f x , f y f_x, f_y fx,fy 表示相机焦距(focal lengths), c x , c y c_x,c_y cx,cy 表示中心点偏移量 (offset),为了回归中心点的坐标,通过预测二维坐标的偏移量 ( g x , g y ) ∈ G 2 (g_x,g_y)\in G^2 (gx,gy)∈G2,对应网格单元格的左上角。把偏移量限制在中间0和1。 c x , c y c_x,c_y cx,cy 可以表示:
c x = f ( x ) + g ( x ) , c y = f ( y ) + g ( y ) c_x=f(x)+g(x), c_y=f(y)+g(y) cx=f(x)+g(x),cy=f(y)+g(y)
其中 f ( . ) f(.) f(.) 表示激活函数 sigmoid。 - Block C
该块是一个bject center proposal network,在目标存在的区域返回高类置信度,在目标不存在的区域返回低类置信度。具体来说,对于每个图像区域,Block C 预测每个object class 的置信度值,该置信度值对应于该对象的中心在输入图像中相应区域的存在或不存在。
2.2 MARN
-
Input Crops
inpput crops 从一个给定的预测6D位姿 p p p中取样,作物克服了从小目标中提取视觉特征的困难。两个crops,渲染的rgb和 crop RGB。图像crop时 再 refinement 中使用。这两种 crops 都将作为 refinement 网络的输入, render crops是通过使用提供的可微分渲染器 Pytorch3D library 根据预测的姿态 p p p 和 3D物体模型生成的。RGB crops是由原始输入图像生成的。 -
Feature Extraction Block
MARN通过预测相对变换来改进估计的位姿,使物体的render 视图与原始图像中的观测视图相匹配。为此,MARN的特征提取块由两种不同的网络组成:a visual feature embedding network 计算 物体的可见特征;flow estimation network 估计render image 和 可见图像物体之间的 “motion”。
(1 ) 输入 I r ∈ R H × W × 3 , I i m ∈ R H × W × 3 I_r \in R^{H\times W\times 3}, I_im \in R^{H\times W\times 3} Ir∈RH×W×3,Iim∈RH×W×3。两个 crops 通过 shared CNN 提取特征: F r ∈ R H × W × d e m , F i m ∈ R H × W × d e m F_r \in R^{H\times W\times d_{em}}, F_im \in R^{H\times W\times d_{em}} Fr∈RH×W×dem,Fim∈RH×W×dem, d e m d_{em} dem-dimensional vector表示输入图像在相应位置的外观信息。
(2)基于FlowNetSimple架构的flow估计网络产生 render 图像与 observed图像之间的光流。随后,render feature map F r F_r Fr 在flow 信息的引导下,向 F i m F_{im} Fim的视觉特征图偏移。warping 函数 W W W,flow 估计网络,从输入 F r F_r Fr根据 flow 向量计算一个新的warped 特征图 F w F_w Fw:
其中一个通道l的 warp 过程如下:
-
Spatial Multi-Attention Block
MARN在空间多注意块中处理这一问题,方法是利用空间多注意映射对目标物体的判别部分进行定位,从而实现目标物体判别部分的鲁棒定位。因此,当目标被部分遮挡时,多注意模块可以自适应地检测到可见部分而忽略遮挡部分。Attention map A = { a 1 , a 2 , a 3 . . . , a N } , a i ∈ R H × W A=\{a_1,a_2,a_3...,a_N \},a_i \in R^{H\times W} A={a1,a2,a3...,aN},ai∈RH×W, N N N是 attention map 个数, a i a_i ai 是再render的特征图来提取 s i ∈ R H × W s_i\in R^{H\times W} si∈RH×W, 将两个 1 × 1 1×1 1×1卷积操作应用到feature map F w F_w Fw上,由feature extraction block提取。
最后,将注意力 maps a i a_i ai 和特征map F i m + F^+_{im} Fim+相乘,提取注意力特征map F ‾ \overline{F} F:
-
Residual Pose Estimation Block
该块处理pose估计。首先,通过3×3卷积运算,将提取的特征图 F ‾ \overline{F} F的嵌入空间从(dem+2)N缩减到8;然后将得到的特征图输入到一个完全连通的层中,该层的输出再输入到两个独立的完全连通的最终输出层中,一个对应于回归旋转 △ q ∈ R 4 \triangle q \in R^{4} △q∈R4,另一个对应于平移 [ △ c x , △ c y , △ t z ] T [\triangle c_x,\triangle c_y,\triangle t_z]^T [△cx,△cy,△tz]T。refined 后的 pose:
p ^ = [ R ^ , t ^ ] \hat{p}=[\hat{R},\hat{t}] p^=[R^,t^]
其中 c x , n e w = c x + △ c x , c y = c y + △ c y , t ^ z , n e w = t ^ z + △ t z , R ^ n e w = △ R ∗ R ^ c_{x,new}=c_x+\triangle c_x,c_y=c_y+\triangle c_y,\hat{t}_{z,new}=\hat{t}_z+\triangle t_z,\hat{R}_{new}=\triangle R *\hat{R} cx,new=cx+△cx,cy=cy+△cy,t^z,new=t^z+△tz,R^new=△R∗R^
3.3 Losses
为了实现准确的位姿估计,必须提供一个量化预测位姿质量的标准。多任务学习目标:
α
,
β
,
γ
,
κ
0
\alpha,\beta,\gamma,\kappa0
α,β,γ,κ0 是权重参数。
多任务学习目标由四个损失函数组成。首先,采用
L
2
L_2
L2复合损耗函数优化PPN位姿和中心检测参数:
L
c
o
n
f
L_{conf}
Lconf是用来训练置信块的损失项,
L
p
o
s
e
L_{pose}
Lpose是用来训练姿态回归的损失项。
L
p
o
s
e
L_{pose}
Lpose仅用于非对称对象。要处理对称对象,可以使用:
MARN的损失函数定义为:
L
r
e
f
L_{ref}
Lref 是PPN中使用的相同损失术。对称对象的处理类似于PPN。
R
^
n
e
w
\hat{R}_{new}
R^new和
t
^
n
e
w
\hat{t}_{new}
t^new是refinerd的旋转和平移估计。
L
o
r
t
h
L_{orth}
Lorth是一个正则化,用于阻止多个注意力地图定位相同的区分对象部分。正则化强调注意图之间的正交性:
2.4. Architectural and Training Details
- PPN
- MARN
3. Experiments
当输入 480 ∗ 640 480*640 480∗640的图像时,PPN 运行速度时 50fps,full model ran at 10 fps,with two refinement iterations。
3.1 Evaluation Metrics
- Proj.2D
P r o j . 2 D = 1 m ∑ x ∈ M ∣ ∣ K ( R x + t ) − K ( R ^ + t ^ ) ∣ ∣ Proj.2D = \frac{1}{m}\sum_{x\in M}||K(Rx+t)-K(\hat R+\hat t)|| Proj.2D=m1x∈M∑∣∣K(Rx+t)−K(R^+t^)∣∣ - ADD
A D D = 1 m ∑ x ∈ M ∣ ∣ ( R x + t ) − ( R ^ x + t ^ ) ∣ ∣ ADD = \frac{1}{m}\sum_{x\in M}||(Rx+t)-(\hat Rx+\hat t)|| ADD=m1x∈M∑∣∣(Rx+t)−(R^x+t^)∣∣ - ADD-S
A D D = 1 m ∑ x 1 ∈ M min x 2 ∈ M ∣ ∣ ( R x 1 + t ) − ( R ^ x 2 + t ^ ) ∣ ∣ ADD = \frac{1}{m}\sum_{x_1\in M}\min \limits_{x_2\in M}||(Rx_1+t)-(\hat Rx_2+\hat t)|| ADD=m1x1∈M∑x2∈Mmin∣∣(Rx1+t)−(R^x2+t^)∣∣
3.2 Result
表 1 中的结果表明,作者的方法明显优于最先进的基于 RGB 的方法,平均 2D-Proj 精度为 55.6%。 与 DeepIM [15] 相比,在 ADD AUC 和 ADD(-S) 方面分别以 1.2% 和 2.1% 的幅度实现了更好的性能。
如表 3 所示,该方法在 ADD(-S) 方面取得了比其他基于 RGB 的方法更好的结果,平均准确度为 93.87%,而 DeepIM 的平均准确度为 88.6%,性能第二好 . 在 LINEMOD 数据集上使用所提出方法的一些姿势估计结果示例如图 4 所示。
表 4 中的结果表明,该方法比所有最先进的基于 RGB 的方法取得了显着的改进。 具体来说,该方法以 2.87% 的 ADD(-S) margin 和 17.6% 的margin 超过了 DeepIM和PVNet 。 此外,该方法明显优于 HMap,HMap 明确设计用于处理遮挡,ADD(-S) margin 为 27.97%。 遮挡数据集性能的显着提高表明了 MARN 的不同组件(主要是空间多注意块)在严重遮挡下稳健恢复对象姿势的重要性。 在图 4 中,展示了在遮挡数据集上使用所提出的方法的姿态估计结果示例。 即使大多数物体被严重遮挡,也能稳健地恢复它们的姿势。
3.3 Ablation Study on The Refinement
测试了四个variants:
- 在variant1中,MARN只使用从两个输入作物中提取的visual features;
- 在variant2中,MARN使用流量估计特征而不是注意分量,而是将提取的feature map F i m + F^+_{im} Fim+和warped feature map F w F_w Fw简单拼接
- 在variant3中,添加了spatial attention,但只使用一个attention map;
- variant4是MARN的生产variant。
每一种variant refined了姿势4次。
4. Conclusion
作者提出了一种新颖的端到端方法,用于仅 RGB 6D 姿态估计。 具体来说,该方法主要由两个模块组成。 首先,PPN 是一种完全基于 CNN 的架构,可产生 one-pass 姿态估计。 其次,MARN 是一种 pose refinement 网络,它结合了visual 和 flow features来估计预测和实际对象姿态之间的准确变换。 此外,MARN 利用 spatial multi-attentional 块来强调重要的特征部分,使该方法更加稳健。