2020.09.29重读 原2020.08.04读 MoreFusion

1.背景信息

1.输入RGBD图像
2.与densefuison做性能比较
3.最大的创新点是维护了一个volumetric map,这样可以利用多视角的信息(增加了场景信息),因此对重度遮挡具有优势。用作者的话说就是“using more structured volumetric representation with the geometry information surrounding the target object.”

2.方法

在这里插入图片描述
系统可以被分为四个关键阶段:
1.object-level volumetric fusion
用目标实例分割的masks去处理RGB+depth, 再结合上相机位姿的tracking(机械臂直接读取或SLAM),创建一个volumetric map(包括已知的目标和未知的目标)
2. volumetric pose prediction
利用volumetric map中目标周围的信息以及RGBD mask,对每一个目标产生一个初始的位姿估计。
3. collision-based pose refinement
使用物体CAD模型和volumatric map上的occupied space进行碰撞检查,通过梯度下降优化多个目标的位姿。
4.CAD alignment
找到一个可信的位姿估计,将CAD model变换到场景中,去替换掉场景中的这个object。

2.1object-level volumetric fusion

  1. RGBD相机tracking
    对于眼在机械臂手上的系统,通过机械臂读取相机位姿;
    对于手持式的相机,通过SLAM来计算相机位姿。
  2. 目标检测
    用Mask-RCNN对2D RGB图像进行实例分割。
  3. Volumetric mapping of detected objects
    使用octree-based occupancy mapping,OctoMap。通过使用八叉图,可以1) 用于更新已经存在的图 2)用于初始化那些新发现的图

2.2Volumetric Pose prediction

2.2.1occupancy grids作为周边信息

在这里插入图片描述

  1. 文章是将场景点云划分成了四部分:目标本身,其他目标,空闲区域,未知区域
  2. 对不同大小的bounding box 使用不同大小的体素,以使得目标具有固定大小的体素维度(比如323232)

2.2.2位姿预测网络的结构

在这里插入图片描述
分成四个核心模块:
1.从RGB图像中进行2D特征提取
2.对RGB特征和点云进行逐点编码
3.体素化和3D CNN处理
4.利用2D-3D特征进行逐点位姿预测

1. 从RGB图像中进行2D特征提取
(1)不同于densefusion,这里RGB输入的是masked RGB,而不是cropped RGB,作者说这里会滤掉更多的噪声信息,我认为是有道理的。
(2)对于masked RGB采用了与densefusion中相同的ResNet18去提取color embedding(本文中叫2D features)
2.对RGB特征和点云进行逐点编码
用的是与densefusion中相似的PointNet结构,由多个全链接层对每个点进行编码。
3.体素化和3D CNN处理
(1)通过体素化,可以将point-wise转换成grid-wise
(2)体素grid通过3D CNN提取层级的3D特征,这减少了体素的维度,增加了通道的维度。
因为原始的体素维度是32,通过3D CNN处理之后,产生的新的层级维度分别为16和8.
(3) 作者说本文中最重要的是体素化之前作用2D特征提取, 如果直接用3D CNN作用在高分辨的目标grid上,将是计算复杂的,并且由于受传感器深度信息采集精度的限制,相比于RGB图像来说3D表示会引入更多缺失的点。
4.利用2D-3D特征进行逐点位姿预测
(1)文章中从3D feature grid中利用三线性插值(有些3D feature grid中可能并没有信息,因此需要插值)提取出与2D features对应位置的特征,串联生成逐点特征向量。
(2)利用跟densefusion中相似的结构预测位姿和置信分数。

2.2.3训练位姿预测网络

1.训练损失函数
与 densefusion保持一致:
ADD:
在这里插入图片描述

ADD-S:
在这里插入图片描述
总的loss:
在这里插入图片描述
2. 对称位姿损失的局部最小问题
作者说ADD-S在非凸形状目标的位姿估计中会卡在局部最小。
提出用warm-up stage来改善这一问题。
warm-up:先忽略对称性进行优化,再考虑对称性优化。我个人理解,先用普通的优化,大致给个合适的初始位姿,这样就可以跳出ADD-S的局部最小,然后再用对称性优化,使损失函数最小。

2.3基于碰撞的位姿优化

1. 可微的occupancy voxelization
在occupancy grid中每个的体素的值必须是点的函数,这些点是由估计的目标位姿转换过来的。
将点云中的点转化在体素坐标系下表示:
在这里插入图片描述
计算点到体素中心的距离:
在这里插入图片描述
计算第k个体素的occupancy value:
在这里插入图片描述

2. Occupancy voxelization for a target object

用第m个object in the scene 预测得到的旋转矩阵和平移向量,将model变换到估计target上, 然后通过"1.occupancy voxelization"将估计target变换成occupancy grid,表示为 g m t a r g e t g_{m}^{target} gmtarget

对于周边的目标,也作用这种体素化。最终生成了 g n n o n t a r g e t g_{n}^{nontarget} gnnontarget

  1. Intersection Loss for Collision Check
    将周边目标的occupancy转换到第m个目标的体素坐标系下:
    在这里插入图片描述
    这里为什么用max,我还没有想清楚。但大致思想应该是将周边非目标的occupancy grid中最靠近目标的那部分取出来保留。

计算target与target之外的交叉部分损失:
additional impenetrable area:
在这里插入图片描述
碰撞惩罚损失:
在这里插入图片描述
是将target与非target的部分进行逐元素乘积:对于那些二者碰撞重合的grid,乘积结果值就大,对于那些二者不碰撞重合的grid,二者乘积为0.

交叉损失:
目标target不仅与周边环境进行碰撞,还与传感器采集到的在scene下的目标自身也存在交叉损失,计算如下:
在这里插入图片描述

总的损失:
在这里插入图片描述

2.4 CAD对齐

对最近N个视角得到的N个位姿估计结果,计算两两成对的loss,共有N(N-1)个loss:
在这里插入图片描述

给定一个阈值 L t L^{t} Lt, 计算:
在这里插入图片描述
When M reaches a threshold, we initialize the object with that agreed pose.

3.实验

3.1实验设置

1.数据集使用的是YCB数据集和作者自己生成的严重遮挡的YCB数据集,因为这篇文章的方法可以很好处理目标遮挡问题,因此作者加大了难度以突出对比优势。
2.使用的度量标准,与densefusion一致,ADD和ADD-S

3.2位姿预测的评估

1.基线模型
将densefusion加入warm-up loss和中心化输入点云,作为基线模型,表示为densefusion*
在这里插入图片描述
2.结果
为了公平比较,大家用的都是单视角数据。
在这里插入图片描述
为了验证不同level的occupancy信息的作用,做了一系列实验:
在这里插入图片描述
discarding the occupancy information from the single-view observation -occ;
full reconstruction of non-target objects +target−;
full reconstruction of background objects +bg.

作者说 M o r e f u s i o n − o c c Morefusion^{-occ} Morefusionocc已经超过densefusion*, 原因是morefusion使用了3D CNN结构。

3.3位姿优化的评估

Iterative Collision Check(ICC)与ICP进行比较:
在这里插入图片描述
在这里插入图片描述
可以发现ICC+ICP效果最好,ICC与ICP单独比较的话也是略逊一筹,这里作者没有指明ICC需要消耗多少时间,而我们已经知道ICP耗时非常长,如果ICC与ICP耗时基本差不多,那么ICC基本就没有显露出任何有意义的优势了。如果ICC耗时比较短,应该将其与densefusion的效果进行比较(包括时间上的和效果提升上的)

读后感

1. morefusion一方面可以具有好的场景重建能力(类似于SLAM中的建图),另一方面,可以进行重度遮挡的位姿估计

2. morefusion维护了一个volumatric map,对于已经感知到内容进行多视角优化,对于第一次感知到的内容进行添加相关信息。从而可以更好描述目标物体的3D外貌,有助于在严重遮挡的情况下进行位姿估计。

3. morefusion引入了ICC,具体原理还没有太搞清楚,可能自己需要更多一些的积累再回来重读会有更好的收获。

4. occupancy map 个人理解应该就是体素地图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值