Pointersect:Apple最新点云神经渲染!48个Mesh上训练即可泛化

论文题目:Pointersect: Neural Rendering with Cloud-Ray Intersection

作者机构:Apple、CMU、UBC

论文链接:https://arxiv.org/abs/2304.12390

项目主页:https://machinelearning.apple.com/research/pointersect

投稿作者:Rye | 来源:微信公众号「3D视觉工坊」

Apple本周提出了一种新方法Pointersect,使得像渲染Mesh一样渲染点云成为了现实。Pointersect是可微的,并且不需要重新训练即可泛化到新场景。这种独特的能力可以非常方便地支持表面法向估计、渲染室内点云、逆渲染、带全局光照的光线追踪等应用。

1 前言

众所周知,点云是一种易于获得的反映场景中3D结构信息的数据,可通过LiDar、结构光、双目相机、单目深度估计等方式获得。点云本身直接隐含着和场景中表面的联系,然而,想要对点云进行渲染是非常困难的,现有工作都专注于将点云转为其他表示形式。例如,将点云转为稠密体素表征,但这类方法往往需要测试阶段根据渲染图像进行逐场景优化;将点云转为Mesh或SDF似乎更为自然,但是这类方法往往不可微,阻碍了其和以神经网络为代表的数据驱动方法的结合。近期涌现出了如Point-NeRF这样的新工作,致力于直接对点云进行体渲染,但是该方法也未能很好地泛化到新场景。

与专注于将点云转换为其他表示形式的现有工作不同,本文的核心思想是直接预测光线与点云表示的潜在表面之间的交点。具体而言,作者团队训练了一个set transformer,输入光线和光线邻域内的少量点云,网络预测出光线和点云表示的潜在表面之间的交点、表面法向、材质权重,这些信息可以用于得到该条光线的颜色。

将光线与点云求交问题局部化,即只输入光线邻域内的点云子集来预测交点,使得Pointersect仅仅在48个Mesh上进行训练即可泛化到从未见过的新场景且不需要测试阶段优化。该模型在ShapeNet、sketchfab、Stanford Bunny等三个测试集上达到了新视角渲染的SOTA。此外,该方法还可直接泛化到Hypersim室内场景和LiDar扫描的真实场景ARKitScenes上。

2 方法

2.1 问题陈述

作者试图训练一个神经网络,来将输入{点云,光线}映射到输出{相交概率,交点,表面法向,混合权重},从而解决光线-点云求交问题。其中,混合权重用于对邻域点材质进行加权得到交点材质:

显然,这是一个欠定问题,可以通过增加手工设计的表面约束来解决该问题,例如假设表面光滑性。而本文抛弃手工设计先验的方式,采用数据驱动的方式在一个通用物体数据集上训练,从而让神经网络来表示表面先验。

2.2 Pointersect

Pointersect是一个神经网络,用于估计光线和点云表示的表面之间的交点、法向:

训练方式

作者团队通过将其定义为一个回归问题,构造强监督数据集来进行训练。对于每个Mesh,作者随机采样光线和点云作为输入,在Open3D中运行mesh-ray求交算法来获得输出真值。

网络设计

这是本文的核心,在设计网络时需要引入一些几何知识先验实现一些归一化,来加速训练、实现泛化:

1)让神经网络来估计交点到光源点的距离;

2)利用SE(3)等变性,即同时对光线和点云做相同刚体变换,光线和潜在表面的交点也会做同样的刚体变换。因此,同时对光线场景进行刚体变换,使得光线方向沿z轴正方向,且最近点的r为0;

3)利用局部性进行求交,到光线距离较远的点基本不会对交点产生影响,因此仅取光线周围半径为δ的圆柱内最近邻的K个点输入网络

4)输入点云是一个集合,点云中点的顺序对最终结果无关,需要利用这种排列不变性,本文采用了set transformer,和常用的transformer结构相比缺少位置编码。

优化目标函数

对交点到光源距离、表面法向、颜色、光线是否有交点进行强监督:

2.3 点云渲染

基于图像的渲染

已知点云,根据相机内外参求出相机每个像素的光线方向,通过Pointersect预测点云中每个点的混合权重,加权得到最终像素颜色值。

基于光线追踪的渲染

光线追踪可以渲染出遮挡和全局光照效果。假设我们已知环境光Environment Map,则可以将Pointersect整合进标准的光线追踪流程中来进行渲染。具体而言,我们追踪一条光线,通过Pointersect计算光线和点云的交点、法向来获得继续追踪的方向。在每个交点处,根据混合权重对邻域点材质进行插值来进行着色。

3 实验

3.1 模型训练

作者从shetchfab数据集中选取了48个Mesh来构造训练数据集。该模型迭代了350,000次,在8张A100上运行了10天。可以看到,虽然训练数据集不大,但是训练开销并不小。

3.2 评估

合成数据集

测试集为ShapeNet、sketchfab、Stanford Bunny,表现出新视角渲染的SOTA效果:

室内场景

作者从Hypersim中挑了一个场景,证明Pointersect可实现室内场景级的泛化:

渲染速度

Pointersect的计算代价主要来自每条采样光线都需要过set transformer来计算交点及表面属性,对比之下,基于NeRF和SDF的方法通常需要逐场景优化,并且其采样光线上所有采样点都需要过MLP来进行体渲染。在700,000个点规模的点云条件下,当前python代码实现渲染分辨率512 384的图像速度可达到1fps。

4 总结

以往的神经渲染解决方案通常都采用表面或者隐函数作为场景表示,然而点云是可以从真实场景中直接获得的观测数据,现有方法通常将点云转换为表面或隐函数等表示形式,但这些方法存在缺陷,因而本文提出了Pointersect方法来直接推断光线与点云表面的交点。

当前Pointersect方法展现出了较强的泛化性和较高的新视角渲染质量,在推理速度方面依然存在瓶颈。点云只是一种观测数据,或是可以直接作为场景表示,仍是一个存在争议的开放问题,让我们一起期待并跟进领域内的后续发展。

本文仅做学术分享,如有侵权,请联系删文。


点击进入—>3D视觉工坊学习交流群


展开阅读全文

页面更新:2024-02-23

标签:邻域   神经网络   交点   权重   光线   场景   表面   神经   方法   作者   数据   最新

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top