PoseCNN阅读笔记

这几天在开题,索性把以前看过的,没看过的或者看了之后忘记的论文再看一遍,记录一下。
PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes

1. 摘要

  • 通过确定物体在图片中的中心,并且预测距离相机的距离来估计T,通过回归一个四元数来得到R。
  • 提出YCB-Video数据集,21个物体,92段视频,133827帧。
  • 新颖的损失函数,处理对称物体的
  • 网络是输入rgb图的,如果输入depth图优化pose,可以达到SOTA
  • 开源地址

2. 简介

PoseCNN干三个工作:

  • 预测每个像素的label
  • 预测每个物体的在图片中的中心(所有像素投票)
  • 预测中心距离相机的距离,在已知相机内参的情况下,可以计算出T
    R的预测是一个四元数。

3. PoseCNN

PoseCNN阅读笔记_第1张图片
大前提,3Dmodel可获得,物体坐标系是定义在3d model坐标系下的。
网络结构分为两阶段:

  • 提取特征
  • 估计
    语义分割的输出是n channels,n代表类别。

估计T的时候,不使用直接回归,直接回归不好得出结果,且无法处理多物体。所以估计中心,也就是物体中心的2d投影,然后估计深度,这样就可以通过计算得出T。
PoseCNN阅读笔记_第2张图片
f和p都是相机内参。
估计中心的时候使用的是多像素投票,输出的是3xn维度的,xy以及距离。
然后使用上面两支一起输入Hough voting layer计算中心。如果同一张图中有多个同类物体,那么就NMS,然后用阈值选取合适的。

对于R,这个首先从霍夫变换后的结果得到一个bbox,提取bbox中的特征RoI pooling,然后直接回归出一个四元数(可以百度如何表达旋转,不常见。

语义分割对比bbox

更好的处理遮挡,提供更丰富的信息。

4. 损失函数

一个是普通的,另一个就是对称损失函数,先看第一个,比较简单
在这里插入图片描述
两个R分别代表GT和由四元数计算出来的R,就是对3d模型的每个点,求L2损失。(这里需要使用3维模型)
对称损失函数
在这里插入图片描述
选取的是不同的点,也就是最近的点,感觉会有问题?比如哪些点选过,哪些没有选过。需要说明一点,这个是在对应的类别上才采用,具体还要看代码。

5. 数据集的制作

没什么意思就不说了,用就好了

6. 实验

这里记录下ADD这个指标是怎么评定的。
PoseCNN阅读笔记_第3张图片
这个一般和一个阈值一起使用,阈值是物体3D模型的直径乘一个百分数,比如百分之十。
在这里插入图片描述
对称物体的评定指标
还有一个指标是reprojection error,是投影之后计算。

你可能感兴趣的:(论文阅读)