点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者丨paopaoslam
来源丨泡泡机器人SLAM
标题:Deep Implicit Moving Least-Squares Functions for 3D Reconstruction
作者:Shi-Lin Liu, Hao-Xiang Guo, Hao Pan, Peng-Shuai Wang, Xin Tong, Yang Liu
来源:CVPR 2021
翻译:赵贝
审核:王志勇
摘要
点集是一种广泛用于3D 深度学习的灵活且轻量级的表达方法。然而,其离散特性,无法表示连续和精细的几何形状,是基于学习的形状生成方法的一个主要问题。在这项工作中,论文通过引入隐式移动最小二乘 (IMLS) 表面公式将离散点集转换为平滑表面,从本质上定义点集上的局部隐函数。论文将 IMLS 表面生成结合到深度神经网络中,以继承点集的灵活性和隐式表面的高质量。提出的IMLSNet 预测八叉树结构作为在需要的地方生成 MLS 点的脚手架,并用学习到的局部先验来表征形状几何。此外,一旦预测了 MLS 点,我们的隐函数评估就独立于神经网络,从而实现快速运行时评估。我们对 3D 对象重建的实验表明,IMLSNets 在重建质量和计算效率方面优于最先进的基于学习的方法。广泛的消融测试也验证了我们的网络设计和损失函数。代码开源地址是
https://github.com/Andy97/DeepMLS
方法概述
1)深层IMLS表面
可能带有噪声和缺失区域的稀疏和无方向点云是实践中 3D 重建的典型输入,但它们不能被传统的 3D 重建方法(如泊松重建)处理好。为了处理这种不完美的数据,论文是设计一个自动编码的神经网络来生成IMLS 表面。
定义网络输出的一种简单方法是设置固定数量的 IMLS 点元组{pi , ni , ri }Ni=1 。然而,它会限制 IMLS 的表示能力,并且不能从数据中很好地学习局部几何先验。为此,引入了一个中间网络输出——基于八叉树的脚手架,帮助生成 MLS 点。基于八叉树的支架是一个 d 深度的八叉树 O,它在多分辨率下粗略地近似于3D 表面。对于每个最好的非空八分圆 ok ,即八叉树中最小的非空体素,我们关联一小组位置靠近八分圆中心 ck 的 MLS 点。具体来说,与ok 相关的 MLS 点定义为下面公式:
其中 tk,l ∈ R3 是从 pk,l 到 ck 的偏移向量,s 是预定义的点数。 由于基于八叉树的支架的结构取决于目标表面,因此自适应地确定 MLS 点的总数及其位置。
有了上面的设置,一个适合 IMLS 生成的网络应该输出:(1)一个基于八叉树的脚手架 O; (2) 每个最细的非空八分圆 ok 的 MLS 点偏移量、MLS 点法线和控制半径,分别用 tk,l,nk,l 和 rk,l 表示。
在这里我们注意到,从输入噪声和稀疏点云创建的八叉树不能用作脚手架,因为它可能不完整和不准确,并且与目标形状的八叉树不同。
A、脚手架预测:使用基于八叉树的卷积神经网络 (O-CNN) 自动编码器来生成脚手架。 它的编码器以输入点云构建的 din-depth 八叉树作为输入,并仅在八叉树内执行 CNN 计算。 它的解码器从 4 × 4 × 4 单元开始,预测每个单元是否为空,如果单元不为空,则将其细分为八个八分圆。 这个过程在每个非空八分圆上递归执行,直到最大输出八叉树深度dout为止
B、MLS点预测:与之前的工作不同,解码器在每个最细的非空八分圆处回归定向点或平面补丁以实现亚体素精度,并根据八分圆处的特征预测 s 个 MLS 点元组,表示为 f(ok),通过一个带有一个隐藏层的多层感知器 (MLP),如下所示:
MLP 预测 pk,l 的局部坐标,即 tk,l,因此它可以从数据中学习局部先验。 为保证pk,l接近ck,tk,l的各坐标分量取值范围限制在[−βh,βh]内,这里h为最细八分圆的大小,β默认设置为1.5 . 另外将 rk,s 限制在 [lr/2, 2lr] 内,其中 lr = h/√s。 这些约束是通过对网络输出使用 tanh 激活并按其范围比例缩放值来实现的。
2)网络结构
论文使用类似 U-Net 的 O-CNN 自动编码器,其中包含 O-CNN ResNet 块和输出引导的跳过连接。对于给定的无方向点云,论文提出为其构建一个深度八叉树。在每个最细的八分圆中,通过将八分圆内输入点的平均位置的偏移量与带有二进制标量的八分圆中心的偏移量与=连接来设置输入 4 维信号,该二进制标量指示八分圆是否为空。
网络结构如上图所示。Resblock(n, c) 表示一个 n 层基于 O-CNN 的残差块,通道编号为 c。Downsample(c) 和 Upsample(c) 是基于八叉树的卷积和反卷积算子 [49],然后是批量归一化和 ReLU。对于第一个 Resblock,c 设置为 64,并且在每个 Downsample 算子之后增加 2 倍,并且在每个 Upsample 算子之后除以 2。在论文的实验中,论文设置 n = 3。隐藏层 MLP 用于预测八分圆是否为空。
3)损失函数设计
损失函数由以下项相加组成:
A、八叉树结构损失
八分圆状态的确定是一个二元分类问题:0 代表空,1 代表非空。 论文使用 O 的每个八分圆处的 sigmoid 交叉熵损失的加权求和来定义八叉树结构损失。
B、SDF 损失
预测的 IMLS 表面和地面实况 SDF 场之间的差异由 SDF 损失 Lsdf 定义。
这里 F 的梯度可以近似为:
C、MLS 点排斥损失
用于改善生成的 MLS 点的局部规律性。
其中 || pi − pj ||proj = || (I−ninTi )(pi −pj) || 是 pi − pj 在 pi 处的切平面上的投影长度,wij 是关于两个 MLS 点差和法向差的双边权重,定义如下
上述设计将 pj 推离 pi,尤其是当他们的法线和他们的位置是相似的。
D、投影平滑度损失
为了实现局部表面平滑度,论文鼓励 MLS 点靠近其相邻 MLS 点的切平面。
E、半径平滑度损失
同样,为了提高表面平滑度,相邻 MLS 点的半径变化通过对半径进行加权拉普拉斯平滑来惩罚
F、权重衰减:在损失函数中加入一项小的权重衰减项,系数为λw
实验结果展示
1)重建结果展示
2)精度对比
3)消融分析
Abstract
Point set is a flexible and lightweight representation widely used for 3D deep learning. However, their discrete nature prevents them from representing continuous and fine geometry, posing a major issue for learning-based shape generation. In this work, we turn the discrete point sets into smooth surfaces by introducing the well-known implicit moving least-squares (IMLS) surface formulation, which nat- urally defines locally implicit functions on point sets. We incorporate IMLS surface generation into deep neural net- works for inheriting both the flexibility of point sets and the high quality of implicit surfaces. Our IMLSNet pre- dicts an octree structure as a scaffold for generating MLS points where needed and characterizes shape geometry with learned local priors. Furthermore, our implicit function eval- uation is independent of the neural network once the MLS points are predicted, thus enabling fast runtime evaluation. Our experiments on 3D object reconstruction demonstrate that IMLSNets outperform state-of-the-art learning-based methods in terms of reconstruction quality and computa- tional efficiency. Extensive ablation tests also validate our network design and loss functions.
如果你对本文感兴趣,想要下载完整文章进行阅读
本文仅做学术分享,如有侵权,请联系删文。
3D视觉精品课程推荐:
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码) 3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进 4.国内首个面向工业级实战的点云处理课程 5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解 6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦 7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化 8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~