从点云中重建三维物体实例RfD-Net

依赖项目:

https://github.com/erikwijmans/Pointnet2_PyTorch

好像没有开源预训练:

基于点云的场景理解是目前特别具有挑战性的任务,本文作者提出了一种从三维场景点云中重建高精度物体网格的学习框架RfD-Net,把重建问题转变为“先检测,再重建”。

论文已被CVPR 2021收录。

图片

论文链接:

https://arxiv.org/abs/2011.14744

代码链接:

https://github.com/yinyunie/RfDNet

项目主页:

https://yinyunie.github.io/RfDNet-Page/

图片

一、引言

基于点云的场景理解是目前特别具有挑战性的任务,先前的工作主要是将点云转化为规则的网格,如体素和鸟瞰图,然后使用基于网格的卷积来进行场景理解。然而,基于网格的三维卷积往往需要消耗巨大的算力,从而以往的方法往往只能在低分辨率的状况下进行,并且,由于点云具有稀疏性和不规则的特点,将其直接转化为网格的卷积来进行场景的重建并不很合适。

二、文章思路

我们对于点云的语义实例重建提出了一种“先检测再重建”(reconstruction-from-detection)的框架,并主要有以下贡献:

1.我们为语义实例重建提供了一种新颖的学习方式,先前的方法严重依赖三维卷积来在体素化场景中进行学习,据我们所知,这是第一个直接从点云通过几何预测实例语义的一种学习方法,并且取得了不错的效果,如图1。

图片图1

2.我们提出了一种新的端到端结构,即RfDNet,用于从稀疏点云中学习对象语义和形状,它将语义实例重构分解为全局目标定位和局部形状预测,并通过跳转传播模块进行桥接,以便于联合学习。通过这种方式,我们的形状生成器支持隐式学习,这直接克服了现有技术中的分辨率瓶颈。

3.联合学习对象的姿势和形状相互促进,该方法在现有的检测主干上同样有效果,达到了了实例检测与补全的最新水平,在目标重建中提高了11个以上的IoU

三、网络框架

图2是网络的整体框架,主要思路是通过目标检测来进行三维重建,该网络由三个模块组成:三维检测器模块(3D detector),空间变换器模块(spatial transformer)和形状生成器模块(shape generator)

我们尽可能通用的设计这些模块来使其与现有的基于点云的三维网络主干兼容。具体来说,先让输入点云通过三维检测器模块在稀疏的三维场景中来产生包围盒的参数,接着我们设计了一个空间转换器模块来过滤冗余包围盒 (负样本) ,并对包围盒内的点进行聚合与对齐。最后,让聚合的物体点云通过形状生成模块将其转换至规范坐标系,再独立的学习一个隐式的空间占用函数来重建形状。

图片图2

1. 三维检测器模块

三维检测器模块可以从点云学习物体候选包围盒 (object proposals) 。首先,对于输入的点云,我们采用VoteNet[1]作为框架来产生候选包围盒,并以此为特征来预测包围盒的参数,包括包围盒中心,尺度,角度,语义标签和空间占有分数 (objectness score) ,当一个候选包围盒的中心与真实值之间的差距小于0.3m时,空间占有分数取正;当与真实值之间的差距大于0.6m时取负。最后我们使用了两层的多层感知机来回归包围盒的参数。

2. 空间变换器模块

该模块分为两部分:目标包围盒选取 (objectness dropout) 和点云聚合与对齐 (group&align) 。在目标选取 (objectness dropout) 部分的输入为“三维检测”部分输出的所有候选包围盒参数。输出为物体空间占有分数较高的物体包围盒。物体点云聚合与对齐 (group&align) 的目的是将原始点云聚类到物体包围盒中,并转换到局部规范坐标系。首先,由于之前提取出的物体包围盒过多,我们采用top-N dropout保留得分较高的物体包围盒;在聚合与对齐 (group&align) 部分,我们对原始点云进行采样,并聚类到以各个包围盒中心为球心的球中,并将这部分点云从世界坐标系转换到各自的局部坐标系中,最后,我们让这些点通过一个规范化系统来消除平移和旋转的误差来对齐坐标系。

3. 形状生成器模块

该模块具体细节如图3所示,分为特征编码 (skip propogation) ,形状解码 (shape decoder) 和网格生成 (marching cubes[2]) 三部分。

图片图3

在“特征编码”部分中,我们使用Pointnet[3],将每个box proposal中的点分为前景和背景,提取前景中的点之后,与之前“三维目标检测”提取出的proposal特征合并,再使用带有残差连接的Pointnet将合并后的特征编码成新的特征,这部分特征可以看作融合了局部信息与全局信息 (如三维形状,语义标签等) 。然后,在“形状解码”部分 (如图4) :

图片图4

我们采用条件Batch Normalization层回归出占用值 (occupancy values),将其与点和proposal特征一起送入隐式编码器中,回归出一个高斯分布的均值与标准差,再从这个分布上采样,得到一个隐式编码。最后,我们将隐式编码与点一起送入条件层块(conditional block),回归出最终的点占有值 (occupancy value) 。得到了最终的占用值后,我们采用marching cubes算法生成最终的网格。

4. 端到端的学习

我们提出的这个端到端的学习的损失函数分两部分,分别为包围盒损失(box loss)和形状损失(shape loss)

包围盒损失:三维检测器是用来预测物体空间占有分数 (objectness score) ,包围盒中心,尺度,角度和语义标签的,对于objectness score,我们设定阈值选取objectness score为正的点;对于包围盒中心,我们选用平滑L1损失函数;我们将尺度与角度的损失函数设为一个分类损失函数 (交叉熵) 与一个回归损失函数(平滑L1损失函数)的混合;对于语义标签,我们使用的是交叉熵损失函数;最后,由于我们使用了VoteNet作为主干,故又引入了一个投票损失函数。总体的包围盒损失函数如下:

图片

形状损失函数:对于每个proposal里的点,我们使用了交叉熵损失函数来监督前景分割,形状生成器从我们采样的潜在编码 (latent code) 来学习均值和方差去近似训练中的标准正态分布,故形状损失函数可以写作:

图片

最终的损失函数为包围盒损失与形状损失函数的线性组合:

图片

四、实验分析

文章跟目前最新方法RevealNet进行了详细定性和定量对比。从定性结果 (图5) 可以看出,我们的方法能够预测更加准确的物体位置以及几何形状。物体几何分辨率也得到了极大地提升。

图片图5

定量分析中,文章主要与现有方法在场景补全 (表1) ,物体检测 (表2) ,物体重建 (表3) 方面进行了详细对比。结果均表示本文方法达到了最高分数。详细分析结果见文章。

图片表1、2、3

除此之外,文章还对不同点云数量输入进行了测试 (图6) 。结果显示,即使输入少量的点云,本文依然可以重建出较为合理的实例网格。

图片图6

五、总结

我们提出了一种全新的学习模型,即RfDNet,用于直接从点云进行语义实例重建。该方法把重建问题转变为“先检测,再重建”。实例的形状由全局的目标位置和局部的形状来预测,这将会使三维检测器模块和形状生成模块相互促进。此外,实验还证实了我们的方法在场景重建中会得到高质量的网格并且在目标重建,三维检测以及语义实例分割的对比中都比已有方法表现更好。

References:

[1]Qi, C. R., Litany, O., He, K., & Guibas, L. J. (2019).Deep hough voting for 3d object detection in point clouds. In Proceedings ofthe IEEE/CVF International Conference on Computer Vision (pp. 9277-9286).

[2]Lorensen, W. E., & Cline, H. E. (1987). Marching cubes: Ahigh resolution 3D surface construction algorithm. ACM siggraph computergraphics, 21(4), 163-169.

[3]Fan,H., Su, H., & Guibas, L. J. (2017). A point set generation network for 3dobject reconstruction from a single image. In Proceedings of the IEEEconference on computer vision and pattern recognition (pp. 605-613).

//

 作者介绍 

项目主要由香港中文大学(深圳)GAP实验室韩晓光博士带领主导完成。

该工作主要完成人聂隐愚,目前为慕尼黑工业大学Visual Computing Group博士后。团队成员还包括慕尼黑工业大学博士生侯骥与Matthias Niessner教授。

GAP实验室:

https://mypage.cuhk.edu.cn/academics/hanxiaoguang/index.html

TUMVisual Computing Group:

https://niessnerlab.org/

个人主页:

http://yinyunie.github.io/

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值