论文解读《DenseFusion:6D Object Pose Estimation by Iterative Dense Fusion》

论文:《DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion》
Code:https://github.com/j96w/DenseFusion (977 star)

摘要:

  • 提出了一种从RGB-D图像中估计物体6D位姿的网络。

  • 要解决的问题:

    • 没有充分利用RGB和深度图这两个互补的数据源。 => 提出DenseFusion这个异构架构,分别处理两个数据源,并使用一种新的密集融合网络来提取逐像素的密集特征嵌入,从而估计姿态。
    • 现有的方法很难同时满足严重遮挡下准确的姿态估计和快速的推理要求
      • 当时先进的PoseCNN方法和MCN方法,这些方法需要详细的事后改进步骤来充分利用3D信息,例如前者中的高度定制的迭代最近点(ICP)过程和MCN中的多视图假设验证方案。这些细化步骤不能与最终目标一起优化,不能满足实时性要求;
      • 而可以满足实时性要求的方法如 PointFusion 和 Frustrum PointNet 方法(直接从点云数据中估计6D位姿),这些方法在遮挡环境下性能是不足的;
  • 解决方案:

    • 在每像素级别嵌入和融合RGB值和点云,而不是之前使用图像裁剪来计算全局特征(PointFusion)或2D边界框( Frustrum PointNet)。这种多像素融合方案使该模型能够明确地推断局部外观和几何信息,这对处理严重遮挡问题至关重要。
    • 提出了一种方法,在端到端学习框架内执行迭代姿态细化,避免了ICP后处理,保证了推理速度的实时性

整体架构分为两个阶段,如下:

  • 对RGB图像使用语义分割算法(直接用的PoseCNN中的语义分割算法),分割出我们需要进行姿态估算的目标,然后使用这个mask确定确定其在深度图中的位置(深度图转换为点云),并把这部分裁剪下来。此时获得的image crop和masked point cloud都当做网络第二阶段的输入。

  • 第二阶段就是根据输入的image crop和masked point cloud进行姿态估算,其分为四个部分。

    • 通过一个全卷积网络,把image crop的逐像素信息映射到color embeddings(H * W * d_rgb)。

    • 使用PointNet的变体处理经过mask获得目标点云的数据,映射成一个带有几何信息的geometry embeddings

    • 由于严重的遮挡和分割错误,来自前一步骤的特征集可能包含其他对象或背景部分上的点/像素的特征,所以不能进行简单地堆叠。这里提出了一个逐像素密集融合方法,把color embeddings和geometry embeddings进行像素级别的融合,然后经过基于无监督的置信度评分网络(后续有详细讲解-就是对每个像素进行姿态预测之后,该预测对应一个置信度)进行姿态估算。

      image-20230425214527480

      损失函数见论文3.5节。

    • 对初步估算的姿态结果进行提炼优化。

      参考:https://blog.csdn.net/weixin_43013761/article/details/103108492 3.6节

      image-20230425214535917

该网络的设计初衷是为了利用端到端的学习方式,使图像信息和点云几何信息在深度神经网络的嵌入空间完成最优的组合。而不是简单的将图像特征与点云特征进行堆叠。

另外,目标被遮挡,以及目标表面的点云缺失等问题给 6D 位姿估计算法带来了巨大的挑战。因为以往的特征提取网络,对每个目标只提取一个全局的特征,该特征表述了目标与任务相关的状态。容易理解的是,此类全局特征必然与目标数据的外观所关联。当目标被遮挡或点云残缺时,目标的数据所表现的外观也将根据遮挡和点云残缺程度而变化。遮挡以及点云残缺可以是任意的形式,这就意味着,目标数据的外观也是无穷多样。面对复杂多样的外观,怎么才能让网络去记住这些外观并提取出有用的特征成为了一大难题。我们很容易想到要处理这个问题,可以从三个角度出发。

  • 第一点数据增广,通过算法生成更多的遮挡和点云残缺的数据,至少保证训练数据尽量覆盖各类遮挡情况。
  • 第二点,使用更深更强的深度神经网络作为特征提取网络,但这样做会使得 6D 位姿估计实时性得不到保证。
  • 第三点,通过合理设计特征,使遮挡及点云残缺等情况对我们的特征表征能力的影响尽可能小。

这篇论文正是将第三点的思想引入了特征提取网络中,使得 DenseFusion 该网络对于遮挡等情况比一般网络更强。

DenseFusion 的特征提取网络是一种并行异构的架构,其使用一个 CNN 网络从 RGB 图像中提取颜色相关的特征,使用一个 PointNet 从点云中提取形状几何相关的特征。值得注意的是,这里 CNN 卷积输出的特征图是与原图宽高一致的,PointNet 输出的特征也是逐点特征(point-wise feature),即每个点都有相对应的特征。这样就可以根据每个点的索引,在 CNN 输出的特征图上找到唯一的对应,从而将来自点云的几何特征与来及图像的颜色特征进行串联,获得逐点的多模态特征向量。此时这些逐点的特征向量所包含的只是一些表征局部的信息。为了使特征拥有更大的感受野,作者又使用MLP对逐点多模态特征向量进一步抽象,并通过 average pooling 进行整合获得一个表征目标全局信息的全局特征向量。最后将该全局向量与逐点的多模态特征串联作为最终的密集融合特征。

DenseFusion 的成功,主要得益于两点:

  • 第一点,DenseFusion 融合了多模态数据,使得特征具有更多的冗余信息来面对复杂变化的环境。这是易于解释的,当图像上的目标缺少纹理信息,或者缺少有效的辨别特征时,网络能从点云的几何信息上去进行判别;同理,当点云残缺时,图像能作为冗余提供额外的外观信息。
  • 第二点,DenseFusion 不再像以前的网络对于每个目标只提取一个全局特征, 而是对目标表面的每一个点 (像素) 都提取一个属于该点的局部特征;由于局部特征的感受野比较小,所以不易受遮挡和点云残缺影响,同时只有局部感受野的特征也能给 6D 位姿估计提供有效的线索;就如同我们只需要看到某个物体的局部纹理就能猜出该物体的大致位姿一样,网络也具备“管中窥豹”的能力;但通过局部特征推测整个物体的 6D 位姿终归是存在盲点的,比如一个物体表面存在多个位置的局部特征具有一样的信息,此时便会给造成歧义;因此作者还额外抽取了一个全局特征,并串联至逐点的局部特征上,使最终的逐点多模态特征拥有更大的感受野和上下文环境信息

数据集linemod:https://blog.csdn.net/weixin_43013761/article/details/103097160 (数据集下载地址

源码分析见:https://blog.csdn.net/weixin_44564705/article/details/125149491

可优化的点:

  • 语义分割网络获取目标对象
  • 全卷积网络获取逐像素的颜色特征
  • 点云处理网络获取逐像素的几何特征
  • 逐像素融合方法
  • 位姿估计算法
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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个

红包金额最低5元

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

抵扣说明:

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

余额充值