看到这张恐龙化石的动态图片,你肯定会认为是用视频截出来的吧?来自伯克利大学和谷歌的最新研究:NeRF,只需要输入少量静态图片,就能做到多视角的逼真3D效果。
本文经AI新媒体量子位(大众号ID:QbitAI)授权转载,转载请联络出处。
看到这张恐龙化石的动态图片,你肯定会认为是用视频截出来的吧?
但是本相却是——彻底由静态图片生成!
没错,而且仍是不必3D建模的那种。
这就是来自伯克利大学和谷歌的最新研讨:NeRF,只需求输入少数静态图片,就能做到多视角的传神3D作用。
还需求专门阐明的是,这项研讨的代码和数据,也都现已开源。
你有主意,纵情一试~
静态图片,组成传神3D作用
咱们先来看下NeRF,在组成数据集(synthetic dataset)上的作用。
能够看到,这些生成的目标,不管旋转到哪个角度,光照、暗影乃至物体表面上的细节,都非常传神。
就似乎是拿了一台录影设备,绕着物体一周录了视频相同。
正所谓没有比照就没有损伤,下面就是NeRF别离与SRN、LLFF和Neural Volumes三个办法的作用比较。
不难看出,作为比照的三种办法,或多或少的在不同角度呈现了含糊的状况。
而NeRF可谓是做到了360度无死角高清作用。
接下来是NeRF的角度相关(View-Dependent)成果。
经过固定摄像机的角度,改动被查询的观看方向,将角度相关的外观编码在NeRF表明中可视化。
NeRF还能够在杂乱的遮挡下,展示场景中详细的几许体。
还能够在实际场景中,刺进虚拟目标,而且不管是“近大远小”,仍是遮挡作用,都比较传神。
当然,360度捕捉实在场景也不在话下。
神经辐射场(neural radiance field)办法
这样超卓的作用,是怎么完结的呢?
首要,是将场景的体积表明优化为向量函数,该函数由方位和视图方向组成的接连5D坐标界说。详细而言,是沿相机射线采样5D坐标,来组成图画。
然后,将这样的场景表明参数化为一个彻底衔接深度网络(MLP),该网络将经过5D坐标信息,输出对应的色彩和体积密度值。
经过体积烘托技能将这些值组成为RGB图画。
烘托函数是可微分的,所以能够经过最小化组成图画和实在图画之间的残差,优化场景表明。
需求进一步阐明的是,MLP运用8个彻底衔接层(ReLU激活,每层256个通道)处理输入,输出σ和256维特征向量。然后,将此特征向量与摄像机视角衔接起来,传递到4个附加的全衔接层(ReLU激活,每层128个通道),以输出角度相关的RGB色彩。
NeRF输出的RGB色彩也是空间方位x和视图方向d的5D函数。
这样做的优点能够经过比照来体现。能够看到,假如去掉角度相关,模型将无法重现镜面反射;假如去掉方位编码,就会极大下降模型对高频几许形状纹路的体现才能,导致烘托出的外观过于滑润。
别的,针对高分辨率的杂乱场景,研讨人员还进行了两方面的改善。
其一,是输入坐标的方位编码,能够协助MLP表明高频函数。
其二,是分层采样。用以更高效地采样高频表明。
GitHub代码开源
现在,NeRF项目的代码现已在GitHub上开源。
代码首要根据Python 3,还需求预备的一些库和结构包含:TensorFlow 1.15、matplotlib、numpy、imageio、configargparse。
优化一个NeRF
研讨人员表明,优化NeRF只需求一个GPU就能够完结,时刻方面,需求花费几个小时到一两天(取决于分辨率)。
而从优化的NeRF烘托图画,大约只需求1~30秒时刻。
运转如下代码能够获取生成Lego数据集和LLFF Fern数据集:
- bashdownload_example_data.sh
若想优化一个低解析度的Fern NeRF:
- pythonrun_nerf.py--configconfig_fern.txt
在经过200次迭代之后,就能够得到如下作用:
若想优化一个低解析度的Lego NeRF:
- pythonrun_nerf.py--configconfig_lego.txt
在经过200次迭代之后,就能够得到如下作用:
开端烘托
运转如下代码,为Fern数据集获取经过预练习的高分辨率NeRF。
- bashdownload_example_weights.sh
烘托代码,在 render_demo.ipynb 中。
别的,你还能够将NeRF转换为网格,像这样:
详细示例,能够在 extract_mesh.ipynb 中找到。还需求预备PyMCubes、trimesh和pyrender包。
关于作者:三位青年才俊
这篇论文的研讨团队,来自加州大学伯克利分校、谷歌研讨院和加州大学圣地亚哥分校。
一起一作有三位。
Ben Mildenhall,本科结业于斯坦福大学,现在在伯克利电气工程与计算机科学系(EECS)助理教授吴义仁(Ren Ng)门下读博。致力于计算机视觉和图形学研讨。
Pratul P. Srinivasan,相同为伯克利EECS在读博士,师从吴义仁和Ravi Ramamoorthi。
Matthew Tancik,前面两位作者的同门,本硕结业于MIT。除了专心于计算机成像和计算机视觉研讨外,他仍是一位拍摄爱好者。
1个GPU就能完结优化,优化后烘托又只需求1-30秒,如此便利又功率的项目,还不快来试试?
One More Thing
最终,还想介绍个这方面有意思的研讨。
NeRF的确强,但在输入上还需求多张相片……
那么有没有办法,一张图片就能玩3D作用呢?
问就有。
之前,Adobe的实习生就提出了一个智能景深算法,单张2D图片秒变3D。
让咱们感触下作用。
也是很有大片既视感了。
而最近,相同是单张2D图片变3D,台湾清华大学的研讨人员,在老相片上玩出了新花样,论文当选CVPR 2020。
你看看女神奥黛丽·赫本,看看毕加索,看看马克吐温:
感觉今后看相片——摇一摇更有感觉啊。
再来看看“登月”、“宇航员和民众握手”相片裸眼3D作用:
颇有点感同身受之感。
与此前介绍过的Adobe的算法(后台加链接)相似,这一3D图画分层深度修正技能的中心算法,相同有关上下文感知修正:
初始化并切开分层深度图画(LDI),使其构成远景概括和布景概括,然后,仅针对边际的布景像素进行修补。从边际“已知”侧提取部分上下文区域,并在“不知道”侧生成组成区域(如下图c所示)。
说起来,关于个人视频制作者、游戏开发人员,以及缺少3D建模经历的动画公司来说,这类技能的老练,可谓“福音”。
经过AI技能,让3D作用的完结进一步简化,这也是Facebook、Adobe及微软等公司纷繁投入这方面研讨的原因地点。
最终,这个项目的代码也开源了……
稿子还没写完,我就预备好一系列“雪藏”已久的相片要试试了。
这也是最近看到最酷的3D图片方面的突破了。
假如有更酷的,也欢迎留言共享~~
传送门
项目主页:http://www.matthewtancik.com/nerfhttps://shihmengli.github.io/3D-Photo-Inpainting/
GitHub地址:https://github.com/bmild/nerfhttps://github.com/vt-vl-lab/3D-photo-inpainting
知优网 » 2D变3D,视角随意换,神复原高清立体感(2d电影转换3d效果)