DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion论文理解
本文创新点\贡献
RGB-D对于少纹理和暗光条件不错,使用RGBD生成了点云信息
- 提出了能结合颜色和深度信息的方法
- 不需要ICP的端到端的微调网络
本文IDEA来源
RGB和深度信息各有特点,而想解决一些复杂环境非融合不行,所以就想融合做
- 保持原本数据结构的情况下融合特征
- 通过探索不同数据间的本质映射来稠密的逐像素混合
方法
方法概述
两阶段,第一阶段生成语义分割,然后,对于每个分割的对象,将masked深度像素(转换为3D点云)和一个被mask的边界框裁剪的图像patch提供给第二阶段。
第二阶段包括四个部分:
- 一个全卷积网络,将crop的图像颜色信息映射成颜色特征嵌入
- 用PointNet处理masked3D点云,将每个点加工成一个几何特征嵌入
- 逐像素的融合,合并两个嵌入,输出基于无监督置信度评分的物体6D姿态估计
- 迭代的自微调方法,循环训练网络
特征提取
Semantic Segmentation:
预测 N + 1 N+1 N+1个通道,每个通道都是二值化的Mask,使用的现成的分割框架[ posecnn 2017]
分开提取的原因:
虽然在RGB帧和depth帧的形式相似,但是信息存在的空间不同,所以分开生成嵌入信息,来保证本质信息不变
Dense color image feature embedding
目标:
提取能在3D点特征和图像特征建立稠密对应的每个像素点特征的网络
作用:
这个网络是一个编码-解码结构,将 H × W × 3 H \times W \times 3 H×W×3映射到 H × W × d r g b H \times W \times d_{rgb} H×W×drgb的特征空间,每个位置的特征向量都代表对应位置的输入信息的表面特征
结构:
由Resnet-18和4个上采样层组成,输出通道是128
Dense 3D point cloud feature embedding
输入:
利用相机内参转换成了点云,使用PointNet相似的机构来提取几何特征
改动:
PointNet提出使用对称结构(max-pooling)在处理无序点集时实现排列不变性。原始体系结构将原始点云作为输入,并学习对每个点附近的信息和点云作为一个整体进行编码,作者提出几何嵌入网络,通过映射每个 P P P点到一个 d g e o d_{geo} dgeo 维度的特征空间来生成稠密的每个点特征,但是做了改动,使用average-pooling而不是max-pooling
结构:
MLP + 平均池化reduction函数,输出通道是128
Pixel-wise Dense Fusion
提出动机:
从分割的地方生成稠密的颜色和深度特征,但是遮挡和分割错误会让前面包含一些其他物体的像素特征,还有可能有一些背景的特征,所以这个网络能解决这个问题
操作:
局部全像素融合,而不是全局融合,仔细的选择物体看的见的部分,并且最小化遮挡和分割的噪声
为什么局部融合能有这样的效果,是怎么做的呢?
答:局部应该就是使用crop的意思,每次把crop放入网络的
为什么对之前做的分类的实验没有用呢?
密集融合程序首先将每个点的几何特征与对应的图像特征像素关联起来,这些特征像素是基于已知摄像机固有参数在图像平面上的投影的
就是3D点和对应的外形特征咯,就是上面的两个嵌入向量咯,关联是什么意思?如何关联?
答:关联就是按照3D点和3D点投影的2D点一一对应的关系,feature map连接到一起,特征像素就是图像上的点
前面获得的特征对连起来,送到另一个网络使用对称的减函数来生成固定大小的全局特征向量
对称减函数就是平均池化
然后使用全局稠密融合特征(就是这一步生成的,绿色)来自充实每个稠密像素特征(前面的红色和蓝色),以此来提供全局上下文
就是利用这个信息提取了全局特征后,有把提取的全局特征结合回去了,这样添加了一个全局的上下文信息
然后把最后的全像素的特征送到一个神经网络里,每个生成一个位姿预测,所以就是一系列位姿 P P P,然后用自监督的方法选一个最好的,思想来自[ Pointfusion: Deep sensor fusion for 3d bounding box estimation 2017]
或许跟那个M的生成差不多?比较下二者选择的差异,那个是选中位数
nice兄弟
预测Pose
Per-pixel self-supervised confidence:
使用网络对每个预测输出置信度 c i c_i ci