三维感知/三维生成与重建讲座笔记( GAMES Webinar 246期)

在以三维感知/三维生成与重建为主题的第 246 期GAMES Webinar中,Lingjie Liu老师做了名为 真实感的有三维感知的场景生成(Photo-realistic 3D-aware Scene Generation) 的讲座,Zhiqin Chen老师做了名为 神经网格重建(Neural Mesh Reconstruction) 的讲座。

本文对两位老师的讲座的一部分做记录。

现在我最大的感受就是:三维感知不等于人工智能、深度学习。三维感知可以用深度学习的方法,也可以不用。深度学习只是一种手段。

Lingjie Liu老师讲座是从为什么需要三维感知,三维感知和人工智能的关系,传统的三维感知(三维重建、渲染)的 pipeline 及其存在的问题,如何借鉴人工智能以解决其中的问题,NeRF存在的问题、加速NeRF并提升重建效果的工作,基于NeRF引入物理约束的工作,基于NeRF做人体动画的工作等方面介绍。

Zhiqin Chen老师讲座介绍了 NeRF 无法渲染尖锐的问题及其改进方法。

真实感的有三维感知的场景生成

题目中的关键词是“三维感知”。

为什么需要有三维感知的能力?

首先因为我们人类生活在一个三维的世界。所以在数字化现实世界将其变成虚拟世界的时候,我们希望它是一个三维的表示。这样子很自然地,我可以从不同角度,对物体进行观察。
并且这样一种三维重建和渲染的技术,能够帮助我像医生去做一些诊断和处理。
在这里插入图片描述

同时,在最近非常火的元宇宙中,我们希望给用户提供一种沉浸式、真实感的一种享受。使得真实世界与虚拟世界能进行无缝的交互。
在这里插入图片描述

同时,对于下一代的人工智能,我们希望它有三维感知的能力,使得人工智能能够跟人类进行协作去完成一些任务。

在这里插入图片描述
所以我的一个长期的愿景是人工智能三维感知能进行一个融合。
可以用人工智能的技术去帮助我们解决三维学习,包括三维重建、渲染里面的一些难题。
同时我们也希望赋予人工智能三维感知的能力。
在这里插入图片描述

那么更具体地,如何一步一步实现、接近这样一个目标?

在这里提出一个方案,比如说,对于一个人来说,用眼睛看这个世界是二维感知的能力,因为看到的都是二维图像
我们希望从图像中重建出一个三维的表达,重建完三维的表达也希望它有一个高质量的图像的渲染过程。

在这之上,我希望生成一些新的场景,它们能够帮助我们做一个自学习(self-supervisied)的训练。

在这里插入图片描述

最近几年,见证了二维计算机视觉很大的发展。
其中一个重要的原因是有了 IMAGENET这个百万级的数据集的出现。(下图左侧)

现在对于三维的学习,最主要的一个瓶颈(bottleneck)是它缺少一些非常真实的三维数据。
下图中右侧是我们用的比较多的数据集,可以看到它们的数量级远没有达到IMAGENET百万级的数量级。

在这里插入图片描述

从二维图像里面去生成三维的几何、appearance、光照等 components,这一步叫 Image-based 3D Reconstruction。

然后得到三维的表示之后,我们就可以通过计算机图形学,把图像给渲染出来。

但是问题就在于,这两步之间存在一个 gap。

在这里插入图片描述

就比如说,在第一步中,对一个物体,拍摄了100张图片,用最先进的方法-COLMAP重建出这个三维体。如下图,可以看到重建的效果不太好,有很多噪声和缺失。

在这里插入图片描述

第一步 image-based reconstruction 的输出 和第二步的理想的输入要求相差很多

第二步,想得到真实感的渲染图形(下图右侧),就需要一个非常好的三维的模型,如图左侧。左图还只是几何模型,我们还需要纹理模型。这都需要一个非常高质量的三维模型。

在这里插入图片描述

那么就可以看到两步之间的gap:第一步,image-based reconstruction 的输出,和得到一个真实感渲染图像的输入存在一个巨大的gap。

那么在这之上,我想生成一个新的场景,并且生成的场景是一个高质量的数据的话,这个事情就更加地困难。

在这里插入图片描述

现在很多时候,还是雇佣一些artists帮我们设计一些三维场景。但是,这个过程是非常费时费力的。

在这里插入图片描述

刚刚所说的第一个问题,就是说从image里面得到很好的三维模型,然后把三维模型进行高质量的渲染

现在就从人工智能的领域,吸取了一些灵感,我们把它变成一个self-supervised learning的过程。

具体来说,就是,把images synthesis的过程,变成一个 differentiable rendering的过程。之后,就可以通过比较系统的输出(预测图像)和输入(真实图像)做一个image loss,就可以把gradient 反向传播回去,去更新三维重建的结果。

在这里插入图片描述

在这里插入图片描述

现在的很多表达都是跟 neural network 结合的表达,所以把它们叫做 neural 3d scene 的representations。
这里列举了一些例子,现在常用的 3d neural scene representations,现在 隐式场(implicit field)受到大家很多的青睐,是因为它能够提供一个非常高质量的special resolution,能够得到一个非常高清的结果。

在这里插入图片描述

NeRF这个工作,受到大家很大的关注。

NeRF解决的问题,实际上就是传统的计算机图形学管线所解决的一些问题:我有一个3维物体的多个视角的图像,把它们作为输入,输入之后就可以去 optimize 它们三维的scene representations。之后就可以从任意的视角,对这个学到的scene做一个渲染。

在这里插入图片描述

对于NeRF最大的一个问题,是它的渲染非常慢。

比如对于中间的每一帧图片:2k*1k, NeRF渲染需要100s。

在2020年,我们提出了一个新的表达方式——一个混合的场景表达模型:把implicit filed跟explicit sparse voxel octree进行融合,可以在渲染的时候提速很多。

在这里插入图片描述

NeRF的另外一个问题,在于如果想从 scene representations提取它的几何,提取的几何不是很高精度。这是因为它在几何表达的时候用了 volume density,他没有表面的 constraints。

在这里插入图片描述

在去年的这篇工作,我们提出用surface representations(SDF)表达场景。

用一个改造的volume rendering,去学习最后的场景表达。
可以出非常高精度的几何,相比于传统的三维重建方法,比如 COLMAP,它们很难得到这么高精度的结果。

在这里插入图片描述

那么刚刚说的这些,是从image直接去学习表达,那么image的observation有时可能不全,可能有occlusion,并且可能image的observation不能很好地重建一个scene。

那么就需要对scene加一些constraint,比如一些物理模型。在生成结果的时候,不但符合图像的RGB,还符合物理的模型。

在这里插入图片描述

另外,对动态的场景,也需要有一种场景表达。

我们常用的是 SMPL model,是显式的模型,问题在于resolution不够,表达人身上的很多details,geometry deformation,就很难表达出来。
所以在这篇工作里面,把SMPL model和 neural scene static的 3d representations进行一个结合。
于是,就可以去做一个 animatable 的 human representations。
学完这个model之后,在测试的时候,就可以给他一个任意的驱动的动作序列,来驱动这个人让他运动,然后就可以从不同的视角去观察这个人。

在这里插入图片描述

神经网格重建

神经隐氏场,输出的模型都很光滑,很多原因:

  1. MLP,天生就无法渲染尖锐
  2. 即使没有用 MLP,由于使用 March Cude(出三角mesh)无法重建 尖锐的
    模板设计也天生地不能出尖锐的边缘

在这里插入图片描述

所以想法是重建模板,使能出尖锐

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

培之

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值