稀疏点云表面重建与 SDF 的神经网络算法

释放双眼,带上耳机,听听看~!
这篇文章介绍了一种利用神经网络算法从稀疏点云中重建表面的方法,通过学习预测 Signed distance functions(SDFs) 的模型,实现了对稀疏点云的表面重建。文章发表在CVPR 2022上,是计算机视觉领域的研究成果。

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

Reconstructing surfaces for sparse point clouds with on-surface priors.

1 概述

这篇文章发表在 CVPR 2022 上,现有的点云重建算法可以实现从原始点到符号距离场的重建,
但需要稠密的点云。不过由于在现实生活中,捕获密集的点云需要较高的成本,所以怎么才能从稀
疏点云中重建表面呢?

点个star:github.com/Bailey-24/O…

1.1 任务描述

算法输入稀疏的点云 G,输出重建的表面,如图 1所示。具体而言,算法从点云 G 中学习预
测 Signed distance functions(SDFs) 的模型 fθ ,而不需要真实点云数据 G 的有符号距离和法线。f θ对从点云 G 中采样的任意查询点预测其有符号距离 s = fθ (q) 。训练好 fθ 后,即能够精确预测
SDFs [3],这时可以使用 marching cubes 算法重建表面了。

稀疏点云表面重建与 SDF 的神经网络算法

1.2 算法介绍

算法主要由两个神经网络模型组成,一个是学习 SDF 的模型 f θ ,另一个是 on-surface decision
function(ODF) f ϕ 。SDF f θ 用 ODF f ϕ 学到的表面先验(on-surface prior)预测点云 G 周围的有符号距离场。也就是说,先用数据驱动策略学到 f ϕ 的参数 ϕ,然后在测试时,f ϕ 的参数是固定的,
f θ 的参数 θ 是从单个稀疏点云中学到的。

具体而言,先在稀疏的点云 G 周围采样一个查询点 q,然后将 q 向 G 投影成点 p,投影的长
度和方向分别由在 q 点的 SDF f θ 的有符号距离和梯度决定的,接着,在 G 上建立一个局部区域
t,它是由投影 p 的 K 个最近邻构成的,最后,ODF f ϕ 判断投影 p 是否在区域 t 上,如图 2所示。
怎样才能学好 f θ 呢?如果 f ϕ 判断投影 p 不在区域 t 上,算法则通过可微函数 f ϕ 反向传播来
惩罚 f θ ,同时鼓励 f θ 产生投影的最短路径。

稀疏点云表面重建与 SDF 的神经网络算法

图 2: 演示本方法在二维上的测试过程。在训练过程中,用数据驱动策略来学习表面决策函数 f ϕ 作
为表面先验。在测试时,从稀疏的点云 G 中学习 SDFs f θ 。(a) 在 G 周围采样查询点 q. (b) 使用
由 SDFs f θ 确定的路径将 q 向 G 投影成点 p。(c) f ϕ 评估 p 是否在由 p 的 K 最近邻 t 表示的曲
面上。最后运行 marching cubes 来重建 f θ 的曲面。

2 实验

点个star:github.com/Bailey-24/O…

2.1 实验步骤

a) 获取表面先验。为了使投影点 p 位于由稀疏的点云 G 表示的曲面上,用数据驱动策略学习
ODF f ϕ (p, t),它决定投影点 p 是否位于 t 的表面上。

具体训练 ODF 过程,先准备训练数据集 T = p i , t i , l i , i ∈ [1, I] ,I 是查询点 p 的总数量,真实标签 l i 代表点 p i 是否在特点的点云区域 t i 上。然后把 f ϕ 作为无符号距离函数来学习,而不是二元分类器来学习,这样学到的表面先验更加鲁棒,式 1是其损失函数。

稀疏点云表面重建与 SDF 的神经网络算法

b) 投影查询点。算法将查询点 q 投影到稀疏点云 G 上作为 f θ 的评估。f θ 的网络目标是学习
测试阶段点云的 SDF 表达,收敛之后会将任意查询点 q 移到到表面上。

在学习测试阶段点云的 SDF 表达的过程中,监督信息来自上一步训练好的 f ϕ 网络,也就是
f ϕ 网络会知道查询点 q 怎么移动,其投影(移动)路径由符号距离 s = f θ (q) 和梯度 d = ∇f θ (q)
构成。具体的投影过程就像 Neural-Pull 中提出的方法 [2],图 5展示的是其方法,它用网络预测的
有符号距离值和查询点的梯度将查询点拉到表面上最近的点,pull 操作可以沿着或逆着 SDF 的梯
度方向以网络预测的 SDF 值移动查询点,如果 SDF 值是正的,就沿着梯度相反的方向移动预测的
SDF 值距离,如图 5中将 q1 移动到 t1 的过程,如果 SDF 值是负的,目标位置就沿着梯度的方向
移动预测的 SDF 距离,如图 5中将 q2 移动 t2 的过程。因此,我们可以利用公式 p = q − sd 将查
询点 q 投影到 f θ 的零集所表示的曲面上。
稀疏点云表面重建与 SDF 的神经网络算法

稀疏点云表面重建与 SDF 的神经网络算法

c) 几何正则化。仅用表面先验约束查询点投影到表面上无法重建出较好的表面,因为表面先验
不关心 f θ 提供的路径应该是什么,所以需要添加几何正则化约束,它使投影路径最短,这也符合
符号距离的定义,如式 2所示。

稀疏点云表面重建与 SDF 的神经网络算法

几何正则化可以预测更精确的符号距离场,从而使曲面重建具有更高的保真度。

d) 损失函数。损失函数将 SDFs f θ 按照最短投影路径将查询点 q 投影到表面上,公式 3就是
结合公式 1和公式 2,λ 是平衡因子。

稀疏点云表面重建与 SDF 的神经网络算法

2.2 结果对比

本实验主要分为两部分,第一部分是本方法与传统方法的泊松重建 [1] 的对比实验,第二部分
是本方法在 shapenet 数据集上的实验。

首先是第一部分,本方法和泊松重建对原始点云进行均匀降采样,兔子降采样到 500 个点,老
鹰是 2500 个点,图 6展示的是本方法与泊松重建的实验结果,从结果看出,泊松重建效果比本方法
好,比如本方法重建的兔子头朝向与原始数据相反,脚部细节缺失,而泊松重建的耳朵有点锯齿的
形状,但本方法只重建出一只耳朵,另一只耳朵只有零散几个面片;泊松重建出的老鹰模型也比本
方法好,最主要是本方法无法重建出完整的底座,翅膀的细节太少。总体上看,泊松重建比本方法
好,不过有一个缺点就是对数据要求很高,如果用 shapenet 数据集里的模型估计出点云法线,再
用来泊松重建,重建的模型中间有一块很大的面,有文章说这是计算 sdf 时应该采用狄利克雷函数
作为边界条件,这样点云区域外的 sdf 取 0,边界会在点云空缺处封闭,否则选择 Neumann 边界
条件就会保持 sdf 梯度,网格会在空缺处延展。但我尝试修改源码和在 meshlab 上运行泊松重建,
也是出现上面的问题,所以泊松重建对数据要求比较高,我只用了作者提供的两个数据。

泊松重建在时间效率上也比本方法要高,泊松重建基本一分钟之内可以完成,而本方法需要半
小时去学习一个三维模型的 sdf,但是本方法的数据处理比泊松重建简单,不用去计算法线信息。
第二部分是本方法在 shapenet 数据集上的重建实验,图 7展示其结果。把本方法的数据都是通
过均匀降采样到 500 个点后进行重建的,算法能够重建出总体形状,但细节处重建的不好,比如桌
子右上角过渡太平滑,没有重建出飞机尾翼的一小部分,第二个显示器的底座形状不对。

对于以上两部分实验,本方法虽然能重建出大体形状,但细节处理不好,我觉得主要有以下两
点原因,第一,算法输入数据问题,如果模型本来某些部位分布的点云很少,经过降采样后,点云
更少了,导致重建的模型有些部分是缺失的,比如老鹰模型。第二,超参数问题,作者在开源代码上也说了有一个超参数对效果影响很大,它控制着查询点与点云之间的距离,但对每一个模型都试
几次找最优的超参数,时间花销太大,所以我使用的是默认的超参数。所以算法能重建比较光滑平
整的模型,而重建不出比较好的细节。

稀疏点云表面重建与 SDF 的神经网络算法

稀疏点云表面重建与 SDF 的神经网络算法

3 总结

本方法解决了从稀疏点云中重建表面的问题,它通过表面先验对稀疏点云来学习 SDFs,其中
用数据驱动学到的表面先验在测试时与类别和物体无关,利用表面先验和几何正则化能对未见过的
稀疏点云学到高精度的 SDFs,而且本方法不需要有符号距离和点的法线,数据要求不高,所以算
法泛化能力比较强。

参考文献

[1] Michael Kazhdan, Matthew Bolitho, and Hugues Hoppe. Poisson surface reconstruction. InProceedings of the fourth Eurographics symposium on Geometry processing, volume 7, page 0,52006.

[2] Baorui Ma, Zhizhong Han, Yu-Shen Liu, and Matthias Zwicker. Neural-pull: Learning signed distance functions from point clouds by learning to pull space onto surfaces. arXiv preprint arXiv:2011.13495, 2020.

[3] Baorui Ma, Yu-Shen Liu, and Zhizhong Han. Reconstructing surfaces for sparse point clouds with on-surface priors. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 6315–6325, 2022.

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

计算机视觉竞赛技巧总结(一):目标检测篇

2023-12-18 18:36:14

AI教程

ChatGPT微调指南:从数据准备到模型训练

2023-12-18 18:50:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索