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延续之作。
这篇文章主要的创新点是把基于 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上,因此对里面的一些实现细节还不是特别明白,如发现错误疏漏之处,还请指教。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
### 回答1: "Single-Stage 6D Object Pose Estimation"算法是一种用于估计实物物体的三维位置和姿态的机器视觉算法。它可以帮助机器人和自动化系统准确地定位和定位实物物体,从而更好地执行物体抓取和放置任务。它是一种单阶段算法,可以在一次传感器观测中估计出物体的精确三维位置和姿态。 ### 回答2: “Single-Stage 6D Object Pose Estimation”(单阶段6D物体姿态估计)算法是一种用于计算机视觉领域的算法,它旨在准确地估计物体在三维空间中的位置和姿态。 这个算法的关键思想是通过分析和理解物体在图像中的特征和形状信息来推断物体的姿态。相比于传统的多阶段姿态估计算法,这个算法不需要人工设定特征点或者先验知识,而是通过深度学习的方式自动地学习和提取特征。 在实施过程中,首先使用卷积神经网络(Convolutional Neural Network,CNN)对输入的图像进行特征提取。然后利用这些特征,结合传统的计算机视觉方法,推断物体的位置和姿态。具体地说,算法会以端到端的方式学习物体的边界框、姿态和置信度等关键信息。 “Single-Stage 6D Object Pose Estimation”算法的一个重要特点是能够处理多物体姿态估计问题。它可以同时估计多个物体在图像中的位置和姿态,而不会受到物体之间相互干扰的影响。这一特性使得该算法在实际应用中非常有价值,例如在机器人视觉、增强现实和自动驾驶等领域。 总之,“Single-Stage 6D Object Pose Estimation”算法以其准确性和高效性在计算机视觉领域引起了广泛关注,并为物体识别、场景理解和自动导航等任务提供了一种新的解决方案。 ### 回答3: “Single-Stage 6D Object Pose Estimation”算法是一种用于物体姿态估计的单阶段算法。姿态估计计算机视觉领域的一个重要任务,目标是确定物体在三维空间中的位置和方向。 传统的物体姿态估计算法通常需要多个阶段的处理,例如物体检测、关键点提取和姿态回归等。而“Single-Stage 6D Object Pose Estimation”算法通过一阶段的处理直接输出物体在三维空间中的姿态信息,简化了整个过程。 该算法的核心是深度学习模型,通常使用卷积神经网络(CNN)进行物体检测和姿态估计。首先,通过输入图像,使用CNN模型进行物体检测,获取物体的二维边界框和关键点。然后,通过卷积和全连接层,提取特征表示并将其传递给下一个阶段。 接下来,使用姿态回归网络从特征表示中预测物体的三维位姿。这个回归网络通常由多个全连接层组成,将特征表示映射到物体的位置和方向。最后,根据预测得到的姿态信息,可以确定物体在三维空间中的位置和朝向。 相比于传统的多阶段方法,“Single-Stage 6D Object Pose Estimation”算法具有训练和预测速度快的优势,并且能够提供准确的姿态估计结果。这种算法在许多实际应用中具有重要意义,如机器人操作、增强现实和自动驾驶等领域。这种算法的发展为物体姿态估计提供了更高效、更精确的解决方案。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值