Segmentation-driven 6D Object Pose Estimation论文理解

文章目录

  • 本文创新点\贡献
  • 方法
    • 方法概述
    • 分割流
    • 回归流
  • 训练
    • 最终loss
    • 推理
  • 实验结果
  • 总结

本文创新点\贡献

分割驱动,让每个可以看到的部分都对关键点位置的预测做出贡献


方法

Segmentation-driven 6D Object Pose Estimation论文理解_第1张图片

方法概述

假设
物体是刚体且CAD模型已知。

对输入的图片做卷积,然后产生分割和预测,将图片分成 S × S S \times S S×S个网格,每个网格都i预测属于的类别并回归关键点的位置,关键点在这里就是交点,然后根据2D-3D对应来做EPnP


分割流

Segmentation-driven 6D Object Pose Estimation论文理解_第2张图片
对每个 S × S S \times S S×S的cell预测label, D s e g = K + 1 D_{seg} = K +1 Dseg=K+1 K K K是类别数,因为前景和背景的不平衡,所以使用的 Focal Loss


回归流

Segmentation-driven 6D Object Pose Estimation论文理解_第3张图片
预测内容
在分割出来的mask中进行的预测,预测提前定义好的3D关键点的2D映射,这里用的是八个角点,所以 N = 8 N=8 N=8 D r e g = 3 N D_{reg} = 3N Dreg=3N

预测方法
没有直接预测位置,预测的是八个角点对于中心位置的偏移,所以设2D形心是 c c c,对于第 i i i个关键点,预测的偏移为 h i ( c ) h_i(c) hi(c),所以绝对位置就是 c + h i ( c ) c+h_i(c) c+hi(c),然后训练的时候残差就是:
Δ i ( c ) = c + h i ( c ) − g i \varDelta_i(c) = c + h_i(c) - g_i Δi(c)=c+hi(c)gi
所以loss就是:
L p o s = ∑ c ∈ M ∑ i = 1 N ∣ ∣ Δ i ( c ) ∣ ∣ 1 L_{pos} = \sum_{c\in M}\sum^N_{i=1}||\varDelta_i(c)||_1 Lpos=cMi=1NΔi(c)1
同时还用sigmoid计算对于每个预测的置信度,来表示和真实值的相似程度:
L c o n f = ∑ c ∈ M ∑ i = 1 N ∣ ∣ s i ( c ) − exp ⁡ ( − τ ∣ ∣ Δ i ( c ) ∣ ∣ 2 ) ∣ ∣ 1 L_{conf} = \sum_{c\in M}\sum^N_{i=1}||s_i(c) - \exp(-\tau||\varDelta_i(c)||_2)||_1 Lconf=cMi=1Nsi(c)exp(τΔi(c)2)1

所以这一块的总loss是:
L r e g = β L p o s + γ L c o n f L_{reg} = \beta L_{pos} + \gamma L_{conf} Lreg=βLpos+γLconf


训练

网络结构是Darknet-53,输出为3Dtensor,空间分辨率是 S × S S\times S S×S,在其中的每个cell上预测两个特征向量 D s e g , D r e g D_{seg},D_{reg} Dseg,Dreg,这个网格能控制投票的数量。
两个流的结构是相同的,不过输出的特征维度不同

最终loss

L = L s e g + L r e g L = L_{seg} + L_{reg} L=Lseg+Lreg

推理

Segmentation-driven 6D Object Pose Estimation论文理解_第4张图片
多同类物体
因为这里的分割是类级别的,而不是实例级别的,所以对多同类物体的情况表现不好,为了解决这个作者使用了聚类方法,使用相似像素距离阈值来做聚类

EPnP:
如果直接使用RANSAC的话速度比较慢,所以作者提取了 n = 10 n=10 n=10个最高置信度的预测来做RANSAC,能减少计算量,之后再用EPnP来求出结果,过程如下图:
Segmentation-driven 6D Object Pose Estimation论文理解_第5张图片
a 是 网 格 上 的 类 别 预 测 , b 是 显 示 出 所 有 预 测 的 关 键 点 , c 是 对 关 键 点 过 滤 , d 是 最 终 P o s e 可 视 化 a是网格上的类别预测,b是显示出所有预测的关键点,c是对关键点过滤,d是最终Pose可视化 abcdPose


实验结果

Segmentation-driven 6D Object Pose Estimation论文理解_第6张图片
消 融 实 验 , N F 不 知 道 是 啥 , H C 是 只 用 置 信 度 最 高 的 一 个 预 测 点 , b − n 是 R A N S A C 取 n 个 最 高 点 的 效 果 消融实验,NF不知道是啥,HC是只用置信度最高的一个预测点,b-n是RANSAC取n个最高点的效果 NFHCbnRANSACn

Segmentation-driven 6D Object Pose Estimation论文理解_第7张图片
和 其 他 的 方 法 的 对 比 和其他的方法的对比

训练和测试的时候把所图片resize到 608 × 608 608 \times 608 608×608,然后将2D映射的位置和置信度都正则化到范围[0,10]

就当是输出的比例,要结果的时候再映射回去


总结

就算是逐像素预测了,2020看这篇文章确实没啥东西,主要后面出来了不少厉害的方法,比起来这个就比较简单基础了

虽然说不是很新,但是这方法跟这之前的yolo-6D有啥区别呢?都是用cell,都是预测的偏移,都是用的PnP,就名字起的好,这个比yolo-6D多了个分割,就是预测的时候只计算分割mask部分,就这个改动,这也能中了?

你可能感兴趣的:(6DEoF)