本文经AI新媒体量子比特(公众号ID:QbitAI)授权转载,转载请联系出处。看到这张恐龙化石的动态图,你一定会认为是用视频剪出来的吧?但事实是——完全由静态图像生成!没错,而且还是不用3D建模的那种。这是伯克利大学和谷歌的最新研究:NeRF,只需要输入少量的静态图片,就可以实现多视角逼真的3D效果。还需要说明的是,这项研究的代码和数据也已经开源。有想法就试试吧~静态图片,合成逼真的3D效果先来看看NeRF在合成数据集上的效果。可以看到,这些生成的物体,无论旋转到哪个角度,物体表面的光照、阴影甚至细节都非常逼真。这就像拿一个视频设备并在对象周围录制视频。俗话说,没有比较就没有伤害。下面是NeRF与SRN、LLFF和NeuralVolumes的效果对比。不难看出,三种对比方式在不同角度都或多或少有些模糊。而NeRF可以说做到了360度无死角的高清效果。接下来是NeRF的视点依赖(View-Dependent)结果。通过固定相机的视点,改变查询的观察方向,视点相关的外观被编码在可视化的NeRF表示中。NeRF还能够揭示复杂遮挡下场景中的详细几何形状。还可以在真实场景中插入虚拟物体,无论是“近大远小”还是遮挡效果,都更加逼真。当然,以360度的实景拍摄是不成问题的。神经辐射场方法是如何取得如此显着效果的?首先,场景的体积表示被优化为由包含位置和视图方向的连续5D坐标定义的矢量函数。具体来说,5D坐标沿相机光线进行采样以合成图像。然后,将这样的场景表示参数化为全连接深度网络(MLP),它将通过5D坐标信息输出相应的颜色和体积密度值。这些值通过体绘制技术合成为RGB图像。渲染函数是可微的,因此可以通过最小化合成图像和真实图像之间的残差来优化场景表示。需要进一步说明的是,MLP使用了8个全连接层(ReLU激活,每层256个通道)来处理输入输出σ和一个256维的特征向量。然后,这个特征向量与相机视图连接,传递到4个额外的全连接层(ReLU激活,每层128个通道)以输出与视图相关的RGB颜色。NeRF输出的RGB颜色也是空间位置x和视角方向d的5D函数。这样做的好处可以通过比较体现出来。可以看出,如果去除视点相关性,模型将无法重现镜面反射;如果去掉位置编码,模型对高频几何形状纹理的表达能力会大大降低,导致渲染出来的外观过于平滑。此外,针对高分辨率的复杂场景,研究人员还进行了两项改进。一种是输入坐标的位置编码,可以帮助MLP表示高频函数。二是分层抽样。用于更有效地对高频表示进行采样。GitHub代码开源目前,NeRF项目的代码已经在GitHub上开源。代码主要基于Python3,需要准备的一些库和框架包括:TensorFlow1.15、matplotlib、numpy、imageio、configargparse。优化一个NeRF研究人员表示,优化NeRF只需要一个GPU就可以完成,而且在时间上,需要几小时到一两天(取决于分辨率)。从优化的NeRF渲染图像大约需要1-30秒。运行以下代码获取生成的Lego数据集和LLFFFern数据集:bashdownload_example_data.sh如果你想优化一个低分辨率的FernNeRF:pythonrun_nerf.py--configconfig_fern.txt经过200次迭代,你可以得到如下结果:如果你想优化一个低分辨率的LegoNeRF:pythonrun_nerf.py--configconfig_lego.txt迭代200次后,你可以得到以下效果:开始渲染并运行以下代码以获得Fern数据集的预训练高分辨率神经射频。bashdownload_example_weights.sh渲染代码,在render_demo.ipynb中。或者,您也可以像这样将NeRF转换为网格:具体示例可以在extract_mesh.ipynb中找到。您还需要准备PyMCubes、trimesh和pyrender包。作者简介:本文的三位青年才俊研究团队分别来自加州大学伯克利分校、谷歌研究院和加州大学圣地亚哥分校。其中有三个共同点。BenMildenhall,毕业于斯坦福大学,目前正在攻读博士学位。师从RenNg,伯克利电气工程与计算机科学系(EECS)助理教授。致力于计算机视觉和图形学研究。PratulP.Srinivasan也是伯克利EECS的博士生,师从WuYiren和RaviRamamoorthi。前两位作者的研究员MatthewTancik毕业于麻省理工学院,获得硕士学位。除了专注于计算机成像和计算机视觉研究,他还是一名摄影爱好者。1个GPU即可完成优化,优化后渲染只需1-30秒。如此便捷高效的项目,你还不快来体验一下吗?最后,OneMoreThing想介绍一下这方面的一项有趣的研究。NeRF确实强,但是输入还是需要多张图片……那么有没有办法用一张图片来播放3D效果呢?只是问。之前,Adobe的实习生提出了一种智能景深算法,可以将单张2D图片秒级变成3D。让我们感受一下效果。它也有很好的既视感。最近,同样的单张2D画面被改成了3D。台湾清华大学研究人员对老照片玩出新花样,他们的论文入选CVPR2020。你看看女神奥黛丽赫本,看看毕加索,看看马克吐温:我感觉我会看照片里的改变未来会让我感觉更好。再来看看“登月”和“宇航员与公众握手”照片的裸眼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
