6D位姿估计
2021-11-07 19:18:03 4 举报
AI智能生成
6D位姿估计是一种用于确定物体在三维空间中位置和姿态的技术。它通过测量物体在不同视角下的图像,利用计算机视觉算法计算出物体的六个自由度(即三个平移轴和三个旋转轴)的参数值。这些参数值可以用于描述物体的位置、方向和姿态,从而实现对物体的精确控制和定位。6D位姿估计在机器人导航、无人驾驶、增强现实等领域具有广泛的应用前景。
作者其他创作
大纲/内容
基于对应点的方法(correspondence-based)
2D图像输入
传统方法
SIFT
FAST
SURF
ORB
深度学习方法
Lift
2017-BB8
2018-Yolo-6D
2018-Rubust-3D
2018-Segmentation-driven
2019-DPOD
2019-Single-stage-6D
3D点云输入
传统方法
Spin Images
3D shape context
FPFH
CVFH
2013-SHOT
深度学习方法
2017-3DMatch
2018-3DFeat-net
2020-StickyPillars
基于模板的方法(template-based)
2D图像输入
传统方法
2012-LineMod
2015-Detection and fine
2018-AAE
深度学习方法
2017-PoseCNN
2017-SSD6D
2018-Deep-6DPose
2019-Recovering 6D
2019-CDPN
2020-Robust 6D
2019-NOCS
2020-Latentfusion
2020-Learning canonical
3D点云输入
传统方法
2014-Super 4PCS
2015-GO-ICP
深度学习方法
2019-PCRNet
2019-DCP
2019-PointnetLK
2019-One framework
2020-TEASER
2020-6d object pose
基于投票的方法(voting-based)
2D图像输入
间接方法
2018-PVNet
直接方法
2014-learning 6d object pose
2014-Latent-class
3D点云输入
间接方法
2019-PVN3D
2019-6-PACK
2020-YOLOff
直接方法
2012-PPF
2018-6d pose estimation
2019-DenseFusion
2020-Lrfnet
2020-6dof object pose
基于RGB图片的6D位姿估计
传统方法
首先从输入图片中提取特征,再将这些特征与已有的3D模型匹配,最后通过
Perspective-n-Point(PnP)算法建立2D-3D坐标的对应关系,从而估计目标物体的6D位姿。
基于特征匹配的位姿估计方法速度快、鲁棒性好,然而,对于弱纹理物体或者物体间遮挡严重时,
基于特征匹配的方法往往会失败
Perspective-n-Point(PnP)算法建立2D-3D坐标的对应关系,从而估计目标物体的6D位姿。
基于特征匹配的位姿估计方法速度快、鲁棒性好,然而,对于弱纹理物体或者物体间遮挡严重时,
基于特征匹配的方法往往会失败
基于模板匹配的方法常用来处理低纹理的物体,Hausdorf和Hsiao等提出通过不同距离的策略
匹配输入图片和3D模型,但是当场景混叠或者物体表面发生形变时,基于模板匹配的方法会失败
匹配输入图片和3D模型,但是当场景混叠或者物体表面发生形变时,基于模板匹配的方法会失败
基于深度卷积网络(CNN)的
6D位姿估计算法
6D位姿估计算法
基于CNN直接从RGB图片中估计物体6D位姿。Kendall等基于CNN结构提出PoseNet(2015),直接从RGB图回归6D相机位姿;Xiang等人通过聚类模型的3D特征,估计物体6D位姿;Mousavian等人通过单一视图的几何约束,估计3D物体参数并恢复6D位姿;
Wadim等人基于SSD框架提出SSD-6D(2017),通过InceptionV4分支将输入映射为6个不同尺度的特征图,再分别与大小为(4+C+V+R)的卷积核进行卷积,以确定类别、2D边界框、视觉点和平面旋转角度,再通过映射关系获取6D位姿;
商汤科技针对背景简单、无遮挡的情况,利用二维图片合成的方法扩充训练集,再基于弱监督算法估计物体6D位姿(2018),IoU值为0.67,效果不好。然而,由于搜索空间大,直接定位物体比较困难,且实时性差。
Wadim等人基于SSD框架提出SSD-6D(2017),通过InceptionV4分支将输入映射为6个不同尺度的特征图,再分别与大小为(4+C+V+R)的卷积核进行卷积,以确定类别、2D边界框、视觉点和平面旋转角度,再通过映射关系获取6D位姿;
商汤科技针对背景简单、无遮挡的情况,利用二维图片合成的方法扩充训练集,再基于弱监督算法估计物体6D位姿(2018),IoU值为0.67,效果不好。然而,由于搜索空间大,直接定位物体比较困难,且实时性差。
基于关键点检测将任务解耦为两个阶段:先检测2D图片中物体的关键点坐标,再通过PnP算法估计6D位姿。M.Rad等人先利用分割算法确定输入RGB图片中包含物体的区域,再从分割区域中检测关键点坐标;受2D人体姿态估计的驱动,Pavlakos等提出通过输出关键点的像素级热力图,解决物体间遮挡问题;Tekin等人通过YOLO网络同时检测物体并估计其6D位姿;浙江大学的彭思达等人提出了PVNet(2019CVPR),先检测出物体的可见部分,其上的每个像素预测一个指向物体关键点的方向向量,再利用RANSAC对关键点投票,最后与物体的3D模型匹配,估计其6D位姿;Yinlin Hu等提出(Segmentation-driven 6D Object Pose Estimation:2019CVPR)分割驱动的6D位姿估计算法,物体每个可见部分都会产生局部预测位姿,利用多个局部预测代替全局预测,算法的鲁棒性较好;Kiru Park等人针对无纹理物体提出Pix2Pose(2019ICCV oral),将物体3D模型坐标点转化为图片坐标中的R、G、B值,利用生成模型补全物体被遮挡部分,再通过预测彩色图建立2D-3D对应关系。然而,当处理低纹理物体或低分辨率图片时,基于关键点检测的方法性能下降较大,且不能实现端对端的优化。
基于点云信息的6D位姿估计
基于3D深度学习框架的兴起
单独的点云信息没有表面纹理信息
Qi等人提出PointNet(2016),直接处理点云数据,耦合分类、部分分割和语义分割,利用最大池化(MaxPool)解决点云的无序性,利用T-Net保证旋转不变形,进一步用一组稀疏的关键点代表整个输入的框架,对小扰动或者缺省值的鲁棒性较好;
2017年,受CNN结构的启发,他们进一步提出了PointNet++,在不同尺度逐层提取局部特征,利用采用层、组合层和特征提取层得到深层特征,利用多尺度和多分辨率组合的方式有效解决点云数据不均匀的问题;
2018年,他们改进PointNet++,提出Frustum-PointNet,结合2D检测算法来定位目标,再用其对应的点云数据视锥,进行边界框回归,实现3D目标检测和位姿估计。然而,Frustum-PointNet由2D目标检测、3D分割和回归网络构成,不是端到端的模型,且在做3D分割和边界框回归时,只使用了点云特征,没有融合2D检测的图片特征。
2017年,Yin Zhou提出端到端的深度学习网络VoxelNet,将三维点云划分为一定数量的Voxel,随机采样和归一化后,对每一个非空Voxel进行特征提取,再经过3D卷积层进一步抽象特征,最后使用RPN网络对物体进行3D检测与位置回归,在KITTI基准达到了领先的效果。但是,点云数据量大,冗余度高和非结构化性强,存在特征提取难、计算量大、场景遮挡和空间形变敏感等问题;另一方面,一般的位姿估计(如:YCB-Video数据集)还要求对物体的几何信息和表面信息进行估计,仅使用点云信息难以解决该问题。
2017年,受CNN结构的启发,他们进一步提出了PointNet++,在不同尺度逐层提取局部特征,利用采用层、组合层和特征提取层得到深层特征,利用多尺度和多分辨率组合的方式有效解决点云数据不均匀的问题;
2018年,他们改进PointNet++,提出Frustum-PointNet,结合2D检测算法来定位目标,再用其对应的点云数据视锥,进行边界框回归,实现3D目标检测和位姿估计。然而,Frustum-PointNet由2D目标检测、3D分割和回归网络构成,不是端到端的模型,且在做3D分割和边界框回归时,只使用了点云特征,没有融合2D检测的图片特征。
2017年,Yin Zhou提出端到端的深度学习网络VoxelNet,将三维点云划分为一定数量的Voxel,随机采样和归一化后,对每一个非空Voxel进行特征提取,再经过3D卷积层进一步抽象特征,最后使用RPN网络对物体进行3D检测与位置回归,在KITTI基准达到了领先的效果。但是,点云数据量大,冗余度高和非结构化性强,存在特征提取难、计算量大、场景遮挡和空间形变敏感等问题;另一方面,一般的位姿估计(如:YCB-Video数据集)还要求对物体的几何信息和表面信息进行估计,仅使用点云信息难以解决该问题。
基于RGB-D图片的6D位姿估计
将深度信息和RGB信息一起输入神经网络来完成预测
DenseFusion
李飞飞团队研发的DenseFusion网络也在RGB-D数据上达到了很好的效果,该网络同时使用RGB图像和深度图像,将两者的高阶语意信息融合之后,再送入神经网络进行6D位姿与置信度的预测。下图为DenseFusion的主要架构:网络使用RGB图像求出颜色嵌入图信息;使用深度图求出点云信息,随后再将color embeddings和geometry embeddings两种信息融合后,送入神经网络进行位姿预测。
DenseFusion网络中refinement模块的结构图,这是一个迭代过程,利用了上一帧计算出来的位姿,对当前帧输入的点云进行位移和旋转变换,并输入到下一帧去,进入PointNet提取embeddings。在实践中,这部分需要在主网络收敛之后再对位姿残差估计器进行学习。
MaskedFusion
MaskedFusion在DenseFusion网络基础上进行修改,主要针对数据融合部分进行改进,在改进后,MaskedFusion会消耗更多的训练时间,但是准确度更高,且不会消耗更多的预测时间。相比于上述的DenseFusion,该网络会先将RGB-D信息分为Cropped RGB图像、Cropped Depth图像和Cropped Mask图像一起输入网络,相比较DenseFusion网络更多地考虑了Mask语意信息(其包含了物体的形状信息)。
使用深度信息来对RGB网络的输出进行refinement,不断迭代优化结果
poseCNN
该算法先使用RGB图像预测mask、rotation与translation三组数值确定待预测物体的6D位姿,再通过ICP算法,利用深度信息进行refinement,提高预测的效果。
PoseCNN网络架构图如上,分为三项任务:语义分割,3D位置,3D旋转。PoseCNN使用VGG16作为骨干网络,引入了一种新的用于对称目标姿态估计的训练损失函数ShapeMatch-Loss,通过在图像中定位其中心并预测其与相机的距离来估计对象的3D平移;通过回归到的四元数表示来估计对象的3D旋转。在网络完成预测后,会调用ICP算法使用深度图来精炼网络,提高网络对于遮挡物体识别的鲁棒性。
为了不受纹理影响,也可以只在3D空间操作,此时问题变成获取的单视角点云到已有完整物体点云的part-to-whole配准问题。
如果物体几何细节丰富,可以提取显著性3D特征点,构建表征性强的描述符获得3D匹配点,使用最小二乘获得初始位姿;
也可以使用随机采样点一致算法(Ransac)获得大量候选6D位姿,选择误差最小的位姿
如果物体几何细节丰富,可以提取显著性3D特征点,构建表征性强的描述符获得3D匹配点,使用最小二乘获得初始位姿;
也可以使用随机采样点一致算法(Ransac)获得大量候选6D位姿,选择误差最小的位姿
实例级
类别级
寻找输入数据和已有物体的完整3D点云之间的对应,如果输入的是2D RGB图像,
可找到2D像素点和3D物体点之间的对应,进而使用PnP算法计算;如果输入的是
3D点云,则可以使用3D特征描述符寻找输入点云中3D点和已有完整物体3D点之
间的对应,使用最小二乘法获得6D位姿;两类输入都可以使用局部配准方法如ICP
进行优化。
可找到2D像素点和3D物体点之间的对应,进而使用PnP算法计算;如果输入的是
3D点云,则可以使用3D特征描述符寻找输入点云中3D点和已有完整物体3D点之
间的对应,使用最小二乘法获得6D位姿;两类输入都可以使用局部配准方法如ICP
进行优化。
指每个像素或3D点直接投票得到大量位姿预测,再进行选择和优化,
可以得到最终的一个确定的6D物体坐标系或者6D位姿
可以得到最终的一个确定的6D物体坐标系或者6D位姿
每个像素或者3D点投票得到预定义的特征点,
能够得到2D-3D或者3D-3D的对应
能够得到2D-3D或者3D-3D的对应
基于对应的方法主要使用特征点,基于模板的方法主要使用整体,基于投票的方法每个基元都进行贡献
0 条评论
下一页