Single-Stage 6D Object Pose Estimation

作者:Yinlin Hu,Pascal Fua, Wei Wang, Mathieu Salzmann
实验室:CVLab, EPFL, Switzerland
发表:2019.11.19 arkiv(盲猜2020CVPR)


这篇文章出自EPFL的CVLab实验室,是对浙大发表的PVNet、以及他们自己实验室发表的Segmentation-driven 6D Object Pose Estimation延续之作。
这篇文章主要的创新点是把基于 RANSACPnp 算法集成到了网络之中,形成了一个End-to-end的网络

1、6D姿态近期研究工作

对于6D姿态估计,近期的很多工作,都是先检测出2D图片上的一些关键点,然后建立2D-3D的correspondings,最后通过RANSAC-based Pnp算法,求出最后的6D姿态。但是这种方法,有如下缺陷:

  • 损失函数的设计没有针对到最后的6D姿态,只是建立在中间步骤。例如对2D投影的误差建立损失函数
  • 这些工作都没有考虑一个实际情况:当知道其中一个关键点的投影坐标时,会对其他的关键点的位置造成影响
  • 不能end-to-end的训练,inference的速度也会比较慢

2、Overview

2.1、CNN部分

这里是用的PVNet的网络结构

共有n个keypoints,每个keypoints有m个可能的correspondences。
u 是2D图片中keypoints的可能的correspondences。
pi 指的是 n 个定义好的3D keypoints;I 指的是图片;Φ 代表网络的参数; f 是PVNet的 encoder-decoder 的网络。
步骤:输入一张图片,对每个定义的keypoint,在2D图片中生成m个可能的投影点,作者把m个投影点称之为cluster。

2.2、Local Feature Extraction

在上一步,每一个3D keypoint的correspondendces都生成了vector(详见PVNet),这里使用MLP进行提取他们的局部特征,用 fik 表示提取出的特征。

2.3、Grouped feature aggregation

对于每一个keypoint提取到的特征,接一个max pooling,接着按照固定的顺序把他们连接起来,即下面这个式子:

MAX( )表示Max Pooling, CAT( )表示连接。

2.4、Global inference

最后把生成的最终特征向量,送入MLP,生成位移和表示旋转的四元数。

3、主要创新点

3.1、End-to-end

这篇文章的主要贡献就是把基于 RANSACPnp 算法,设计到了网络中,完成了end-to-end的结构。
作者做出了如下假设:把生成的Correspondences都输入到网络后,网络会自动选择一组最优的对应,生成Pose。即网络选择 代替了RANSAC,MLP部分代替了PnP计算。

3.2、 Ordering

  • 针对每一个cluster内的点,是无序的,作者在这里使用了Max pooling。
  • 对于不同的cluster,作者通过实验证明,如果提供一个不同的产生顺序,会产生不同的结果,因此作者在这里固定了他们的提供次序。

3.3、生成关键点

作者通过实验发现,对每种物体生成相同的关键点集合,或者根据各个物体的Bouding box生成关键点,准确度上并没明显差别,因此使用了通用的关键点生成方法。这里并没有太复杂的设计,就不赘述了。


这篇文章的代码还没有开源到github上,因此对里面的一些实现细节还不是特别明白,如发现错误疏漏之处,还请指教。

Single-Stage 6D Object Pose Estimation——6D姿态估计相关推荐

  1. 笔记:PoseCNN:A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes

    PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes (Robotics: ...

  2. Learning latent geometric consistency for 6D object pose estimation in heavily cluttered scenes

    Learning latent geometric consistency for 6D object pose estimation in heavily cluttered scenes 在杂乱无 ...

  3. 论文笔记(三):PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes

    PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes 文章概括 摘要 1. ...

  4. 论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion

    论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion 链接 摘要 1,引言 2,模型 2.1 ...

  5. PoseCNN(A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes)复现记录

    PoseCNN: A Cbjonvolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes 挖个坑,希望研究 ...

  6. 2020.10.03读 Robust 6D Object Pose Estimation by Learning RGB_D Features

    Robust 6D Object Pose Estimation by Learning RGB_D Features 1. 背景信息 2.方法 2.1旋转 2.2平移 3. 实验 3.1评估指标 3 ...

  7. CV之PoseEstimation:Pose Estimation人体姿态估计(AI识人,OpenPose+DeepCut+RMPE+Mask RCNN)的简介、案例应用之详细攻略

    CV之PoseEstimation:Pose Estimation人体姿态估计(AI识人,OpenPose+DeepCut+RMPE+Mask RCNN)的简介.案例应用之详细攻略 目录 Pose E ...

  8. 【paper】DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion 6D姿态估计

    组会被分到讲这篇论文,从来没接触过姿态估计相关的东西,本来还有点抵触.但注意到是李飞飞团队做的,就还是认真看了一下.看了之后发现还是很有收获的,就在这里记录一下. 一.6D 姿态估计 6D指的是6个自 ...

  9. Self6D: Self-Supervised Monocular 6D Object Pose Estimation论文翻译

    Abstract 6D目标姿态估计是计算机视觉中的一个基本问题.最近卷积神经网络(CNNs)被证明可以估计出可靠的6D姿态,即使输入是单目图像.然而,卷积神经网络是非常数据驱动的,但是获取足够的带标签 ...

最新文章

  1. python 3d绘图 范围_python – 在3D绘图中绘制所有三个轴上的分布轮廓
  2. C# Action用法
  3. HTTP状态码及含义
  4. STM32网络电路设计
  5. 荣耀10i高清渲染图曝光:后置三摄+高颜值渐变色机身
  6. filter vue 循环_详解在Vue.js编写更好的v-for循环的6种技巧
  7. Ubuntu Linux下使用锐捷认证的方法
  8. vs2015打开慢的解决方法
  9. 原来体检报告是这么看的,赶紧收藏!
  10. Node:中间件——express简单的写日志中间件
  11. 拓端tecdat|Prophet在R语言中进行时间序列数据预测
  12. 一个用于分布式DNN训练加速的通用通信调度器
  13. 关于C#中的get与set函数
  14. Python配置OpenCV
  15. html怎么设置区块隐藏,网页区块隐藏/显示的切换技术
  16. 数据、程序、文件区别
  17. 【ERROR】Error: Error trying to upgrade business network. Error: No valid responses from any peers.
  18. return的返回用法
  19. 链家java开发,杭州链家房产信息分析
  20. 电商常用功能模块的数据库设计

热门文章

  1. 更新数据update
  2. Linux文件类型和根目录结构
  3. 推荐系统研究常用数据库
  4. 美国大学的交流访问学者怎样申请?
  5. Android手电筒开发
  6. @Transactional使用
  7. Web前端开发技术:Web前端开发技术
  8. 云图说丨数字资产链:您的数字资产产权保护神
  9. 小波分解的系数个数如何计算
  10. Android Gradle Composing builds 管理三方依赖