点击上方“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
在实践中,稀疏和无方向点云可能有噪音和缺失区域 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 基于八叉树的脚手架应输出生成的网络 O;(2)每一个最细的非空八分圆 ok的MLS点偏移量、MLS点法线和控制半径,分别用tk,l,nk,l和rk,l表示。
这里我们注意到,由输入噪声和稀疏点云创建的八叉树不能用作脚手架,因为它可能不完整和不准确,不同于目标形状的八叉树。
A、:基于八叉树的卷积神经网络(O-CNN)生成脚手架的自动编码器。其编码器由输入点云构建 din-depth 八叉树作为输入,只在八叉树中执行 CNN 计算。它的解码器从 4 × 4 × 4 在单元开始时,预测每个单元是否空,如果单元不空,则细分为八个八分圆。这一过程在每个非空八分圆上递归,直到八叉树深度最大输出dout为止
B、:与之前的工作不同,解码器将定向点或平面补丁返回每个最细的非空八分圆,以实现亚体素精度,并根据八分圆的特点进行预测 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 根据其范围比例实现激活和缩放值。
类似的论文使用 U-Net 的 O-CNN 自动编码器,其中包含 O-CNN ResNet 跳过连接块和输出导向。对于给定的无方向点云,论文提出为其建造深八叉树。在每个最细的八分圆中,八分圆内输入点的平均位置的偏移和二进制标量的八分圆中心的偏移=连接设置输入 4 维信号,二进制标量指示八分圆是否为空。
网络结构如上图所示。Resblock(n, c)表示一个 n 层基于 O-CNN 通道编号的残余块 c。Downsample(c)和 Upsample(c)基于八叉树的卷积和反卷积算子[49] ReLU。对于第一个 Resblock,c 设置为 而且在每一个 Downsample 之后增加算子 2 而且在每一个 Upsample 算子后除以 2。在论文实验中,论文设置 n = 3。隐藏层 MLP 预测八分圆是否为空。
损失函数由以下项目组成:
确定八分圆状态是一个二元分类问题:0代表空,1 代表非空。论文使用 O 每个八分圆处 sigmoid 加权要求和定义交叉熵损失的八叉树结构损失。
预测的IMLS表面和地面实际情况SDF由于场间的差异SDF损失Lsdf定义。
这里 F 梯度可近似:
用于改进生成 MLS 点的局部规律性。
其中 || pi ? pj||proj = || (I?ninTi )(pi ?pj) || 是pi ? pj在pi切平面上的投影长度,wij是关于两个MLS点差和法向差的双边权重定义如下
上述设计将pj推离pi,特别是当他们的法线与他们的位置相似时。
鼓励论文实现局部表面平滑度 MLS 靠近相邻点 MLS 点的切平面。
同样,相邻的为了提高表面平滑度MLS通过加权拉普拉斯的平滑度来惩罚点的半径变化
:在损失函数中添加一个小的权重衰减项,系数为λw
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.
本文仅做学术分享,如有侵权,请联系删文。
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.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
扫码添加小助手微信,可
也可申请加入我们的细分方向交流群,目前主要有、、、、、等微信群。
一定要备注:
▲长按加微信群或投稿
▲长按关注公众号
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题