6D位姿估计

news/2024/11/16 14:50:35/

文章目录

    • 一、6D位姿定义
    • 二、 问题提出
    • 三、6D位姿求解方法分类
        • 根据输入的数据不同,分为三类
    • 四、解决方法
      • (1)基于RGB图片的6D位姿估计
        • 方法理念
      • (2)基于点云信息的6D位姿估计
      • (3)基于RGB-D图片的6D位姿估计
        • 方法:
          • DenseFusion
          • poseCNN
          • MaskedFusion

一、6D位姿定义

给定输入图片,6D位姿估计是估计从物体坐标系O到相机坐标系C的刚性转换,包括3D旋转R(根据物体的表面纹理信息影响物体外观)和3D平移T(T决定物体在图片中的位置和比例)

二、 问题提出

  • 给定单幅RGB图像,估计图像中包含目标物体的6DoF位置姿态
  • 6DoF(degree of freedom,即自由度)即6个方向的自由度,6DoF位姿包括了3维位置和3维空间朝向

三、6D位姿求解方法分类

根据输入的数据不同,分为三类

  • RGB图像输入
  • 点云(point cloud)输入
  • RGB+点云输入

四、解决方法

(1)基于RGB图片的6D位姿估计

方法理念

先从输入的图片中提取特征,再将这些特征与已有的3D模型匹配,最后通过PnP(Perspective-n-Point)算法建立2D-3D坐标的对应关系,从而估计目标物体的6D位姿。
注:
1、 基于特征匹配的位姿估计方法速度快,鲁棒性好,但是对于弱纹理物体或者物体间遮挡严重时,基于特征匹配的方法往往会失败
2、 基于模板匹配的方法常用来处理低纹理的物体,通过不同距离的策略匹配输入图片和3D模型,但是当场景混叠或者物体表面发生形变时,基于模板匹配(不好)
3、基于深度卷积网络(CNN)的6D位姿估计直接从RGB图片中估计物体6D位姿(包括:PoseNet:直接从RGB图回归6D相机位姿;聚类模型的3D特征,估计物体6D位姿;单一视图的几何约束,估计3D物体参数并恢复6D位姿;基于SSD框架提出SSD-6D,通过InceptionV4分支将输入映射为6个不同尺度的特征图,再分别与大小为(4+C+V+R)的卷积核进行卷积,以确定类别、2D边界框、视觉点和平面旋转角度,再通过映射关系获取6D位姿)
4、 基于关键点检测将任务解耦为两个阶段,先检测2D图片中物体的关键点坐标,再通过PnP算法估计6D位姿(利用图像分割算法确定输入RGB图片中包含物体的区域,再从分割区域中检测关键点坐标)(包括:通过输出关键点的像素级热力图,解决物体间的遮挡问题;通过YOLO网络同时检测物体并估计其6D位姿;PVNet(2019CVPR),先检测出物体的可见部分,其上的每个像素预测一个指向物体关键点的方向向量,再用PANSAC对关键点进行投票,最后与物体的3D模型匹配,估计其6D位姿;分割驱动的6D位姿估计算法,物体的每个可见部分都会产生局部预测位姿,利用多个局部预测代替全局预测,算法的鲁棒性好;针对无纹理物体提出Pix2Pose,将物体3D模型坐标点转化为图片坐标中的RGB值,利用生成模型补全物体被遮挡的部分,再通过预测彩色图建立2D-3D对应关系,但当处理低纹理物体或低分辨率图片时,基于关键点的检测的方法性能下降,且不能实现端对端的优化)

(2)基于点云信息的6D位姿估计

1、PointNet直接处理点云数据,耦合分类,部分分割和语义分割,利用最大池化(MaxPool)解决云的无序性,利用T-Net保证旋转不变形,进一步用一组稀疏的关键点代表整个输入框架,对小扰动或者缺省值的鲁棒性较好。
2、PointNet++不同尺度逐层提取局部特征,利用采样层,组合层,特征提取层得到深层特征,利用多尺度多分辨率组合的方式有效解决点云数据不均匀问题
3、Frustum-PointNet结合2D检测算法来定位目标,再用其对应的点云数据视锥,进行边界框回归,实现3D目标检测和位姿估计
4、深度学习网络VoxelNet将三维云划分为一定数量的Voxel,随机采样和归一化后,对每个非空的Voxel进行特征提取,再经过3D卷积层进一步抽象特征,最后使用RPN(Region Proposal Network)网络对物体进行3D检测与位置回归
(缺点:点云数据量大,冗余度高和非结构化性强,存在特征提取难、计算量大,场景遮挡和空间形变敏感等问题)

(3)基于RGB-D图片的6D位姿估计

方法:

1、将深度信息和RGB信息一起输入神经网络来完成预测(如:densefusion)
2、使用深度信息来对RGB网络的输出进行refinement。不断迭代优化结果(如:poseCNN)

DenseFusion

1、网络使用RGB图像求出颜色嵌入图信息
2、使用深度图求出点云信息
3、将color embedding和geometry embedding两种信息融合后,送入神经网络进行位姿预测

poseCNN

分为三项任务语义分割,3D位置,3D旋转。使用VGG16作为骨干网络,引入了用于对称目标姿态估计的训练损失函数ShapeMatch-Loss,通过在图像中定位其中心并预测其与相机的距离来估计对象的3D平移;通过回归到的四元数表示来估计对象的3D旋转。在网络完成预测后,会调用ICP算法使用深度图来精炼网络

MaskedFusion

MaskedFusion在DenseFusion网络基础上进行修改,主要针对数据融合部分进行改进,在改进后MaskedFusion会消耗更多的训练时间,但是准确度更高,且不会消耗更多的预测时间。
该网络会先将RGB-D信息分为Cropped RGB图像、Cropped Depth图像和Cropped Mask图像一起输入网络,相比较DenseFusion网络更多的考虑了Mask语义信息(其包含了物体的形状信息)
整个结构分为三个子任务:
任务一:image segmentation
通过语义分割对场景中每个对象检测和分类->二进制mask
任务二:6D pose estimation
对每个对象从不同类型的数据中提取特征->逐像素融合->6D pose estimator->6D pose
任务三:pose refinement
优化部分完全采用了densefusion给出的优化网络
在这里插入图片描述

All is well !!!


http://www.ppmy.cn/news/240382.html

相关文章

SSD-6D解读

这是阅读的3D类的第一篇文章,因此可能理解的有点浅显,有错误的地方还望路过的各位大佬告知,小弟在这里先行谢过~ 本文是基于2D检测器SSD的3D检测器SSD-6D。 论文链接 测试部分代码 1. 综述 许多3D检测器都是基于视角的(view bas…

c 语言%6d和%-6d,佳能5d和6d的区别 佳能5d和6d哪个新

佳能作为单反界的代表品牌,推出了非常多的优秀产品,5d和6d便是其一,很多新入门的朋友就想知道,5d和6d有什么区别呢?哪个比较新呢?那么下面就一起来看看佳能5d和6d的比对吧。 佳能5d和6d哪个新? …

第05章 数组

一 数组的概述 1.1 为什么需要数组 需求分析1: 需要统计某公司50个员工的工资情况,例如计算平均工资、找到最高工资等。用之前知识,首先需要声明50个变量来分别记录每位员工的工资,这样会很麻烦。因此我们可以将所有的数据全部…

HashMap ConcurrentModificationException

HashMap ConcurrentModificationException 前言 有一个应用场景,需要多线程访问同一HashMap,其中线程一只作遍历查询,线程二进行添加、修改或删除,在实际使用过程中遇到了ConcurrentModificationException的并发修改异常。 分析…

vim常见使用方法记录

一、文件查找 1.从开头处搜索 将vim调整为命令模式 假如查找字符串为“model”,在vim中键入命令:“/model” 按下回车,看到vim从头开始所要查找的字符"model"都被高亮显示 键入小写"n"查看下一个匹配的字符串 键入大写…

数据共享传输:台式机和笔记本同步文件!

为什么要在台式机和笔记本同步文件? “我想在台式机和笔记本同步文件。因为我工作时使用笔记本,在家里使用安装了Windows 10系统的台式机,我想要在笔记本和台式机之间同步应用程序、游戏、文档等。有没有一种可以在台式机和笔记本同步文件的…

ChatGPT中文版提示词学习手册, 学完工作效率提升百倍!

既然你对ChatGPT及其功能有了⼀些了解,让我们更深入地了解⼀下ChatGPT是什么以及它是如何工作的。 那么ChatGPT是如何工作的呢?在高层次上,这个过程可以分解为以下步骤: 1. 用户将文本输入ChatGPT界面。这可能是一个问题&#xf…

分享一款程序员起名神器,让你从此起名不再头秃

大家好,我是大目。最近偶然发现一款程序员起名神器,非常好用,推荐给大家。 素材发到视频号了,新号成立,欢迎点赞、收藏、关注、讨论。