Single-Stage 6D Object Pose Estimation——6D姿态估计
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延续之作。
这篇文章主要的创新点是把基于 RANSAC 的 Pnp 算法集成到了网络之中,形成了一个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
这篇文章的主要贡献就是把基于 RANSAC 的 Pnp 算法,设计到了网络中,完成了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姿态估计相关推荐
- 笔记: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: ...
- 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 在杂乱无 ...
- 论文笔记(三):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. ...
- 论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion
论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion 链接 摘要 1,引言 2,模型 2.1 ...
- 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 挖个坑,希望研究 ...
- 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 ...
- CV之PoseEstimation:Pose Estimation人体姿态估计(AI识人,OpenPose+DeepCut+RMPE+Mask RCNN)的简介、案例应用之详细攻略
CV之PoseEstimation:Pose Estimation人体姿态估计(AI识人,OpenPose+DeepCut+RMPE+Mask RCNN)的简介.案例应用之详细攻略 目录 Pose E ...
- 【paper】DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion 6D姿态估计
组会被分到讲这篇论文,从来没接触过姿态估计相关的东西,本来还有点抵触.但注意到是李飞飞团队做的,就还是认真看了一下.看了之后发现还是很有收获的,就在这里记录一下. 一.6D 姿态估计 6D指的是6个自 ...
- Self6D: Self-Supervised Monocular 6D Object Pose Estimation论文翻译
Abstract 6D目标姿态估计是计算机视觉中的一个基本问题.最近卷积神经网络(CNNs)被证明可以估计出可靠的6D姿态,即使输入是单目图像.然而,卷积神经网络是非常数据驱动的,但是获取足够的带标签 ...
最新文章
- python 3d绘图 范围_python – 在3D绘图中绘制所有三个轴上的分布轮廓
- C# Action用法
- HTTP状态码及含义
- STM32网络电路设计
- 荣耀10i高清渲染图曝光:后置三摄+高颜值渐变色机身
- filter vue 循环_详解在Vue.js编写更好的v-for循环的6种技巧
- Ubuntu Linux下使用锐捷认证的方法
- vs2015打开慢的解决方法
- 原来体检报告是这么看的,赶紧收藏!
- Node:中间件——express简单的写日志中间件
- 拓端tecdat|Prophet在R语言中进行时间序列数据预测
- 一个用于分布式DNN训练加速的通用通信调度器
- 关于C#中的get与set函数
- Python配置OpenCV
- html怎么设置区块隐藏,网页区块隐藏/显示的切换技术
- 数据、程序、文件区别
- 【ERROR】Error: Error trying to upgrade business network. Error: No valid responses from any peers.
- return的返回用法
- 链家java开发,杭州链家房产信息分析
- 电商常用功能模块的数据库设计