2023- 关于3D AIGC 的务实探讨
NeRF 基础概念
NeRF(Neural Radiance Field,即神经辐射场)就是将它们付诸现实的关键技术。它可以通过多角度拍摄的场景图像,重构出场景的

近两年,
和之前的研究相比,上面提到的
NeRF 可以获得场景的高精度表示,从新角度渲染的图片十分逼真;- 在
NeRF 工作的基础上,Instant NGP 大大缩短了训练和渲染时间,训练时间被缩短到一分钟以内,并且很容易做到实时渲染。
简单地说,神经辐射场就是把整个
于是神经辐射场的输入是五维向量

假设我们拥有了这样一个神经辐射场,将空间中每个点对应的
体渲染

然而在渲染大气、烟雾等类似介质时,光线会穿过介质而不是仅仅在介质表面处停止。而且在光线前进的过程中,会有一定比例的光线被介质吸收掉(不考虑散射和自发光

在实际计算时我们需要用离散和来逼近积分值。也就是在光线上采集一些离散点,将它们的颜色加权求和。这个离散化的具体过程我们就不介绍了,大家可以去看比如上面图片链接中的讲解。
NeRF 的训练
有了神经场和体渲染的预备知识,我们来介绍

Instant NGP 的改进
原始版本的
选择一个好问题

从
AI 建模:给定文字输入,产出3D 白模(即无贴图的模型) ;AI 画贴图:给定文字和白模,画上diffuse 贴图或者PBR 贴图组合(base color, metallic, roughness 等) 。
从工业生产可控性的角度来说,用户会希望两步能够分离。而在学术界,大家更喜欢一步到位,对于可控性和
学术研究
学术界通常不太考虑
“原生3D 派”
这一流派的特点是直接在

GET3D:通过

这一类基于
“2D 升维派”
既然
OpenAI Point·E: 只需要1-2 分钟就可以在单块GPU 上生成点云。第一步是以文字为输入,用2D diffusion 模型(选择了GLIDE )生成一张图片,然后用3D 点云的diffusion 模型基于输入图片生成点云。

- DreamFusion:很有意思的工作,大体思路是通过
2D 生成模型(如Imagen )生成多个视角的3D 视图,然后用NeRF 重建。这里面有个“鸡生蛋蛋生鸡”的问题:如果没有一个训练得比较好的NeRF ,Imagen 吐出的图会视角之间没有consistency ;而没有consistent 的多视角图,又得不到一个好的NeRF 。于是作者想了个类似GAN 的方法,NeRF 和Imagen 来回迭代。好处是多样性比较强,问题也比较明显,因为需要两边来回迭代15,000 次,生成一个模型就需要在4 块TPUv4 上训练1.5 小时。

Magic3D: DreamFields 的升级版本,巧妙之处在于将重建过程分为了两步。第一步仅采用NeRF (具体来说,是上一篇提到的InstantNGP )进行比较粗糙的模型重建,第二步则采用一个可微的光栅化渲染器。NeRF 比较适合从0 到1 、粗糙重建,更多的表面细节还需要更加特定的算法,比如说differentiable rasterizer 。

目前
-
NeRF 是否是最佳的differentiable renderer? 从直觉上来说,并不是。NN 在NeRF 中一开始只是作为一个universal function approximator ,如Plenoxel 等工作其实说明了NN 在NeRF 中甚至不是必要的。还有个思路是直接不用NeRF ,直接用differentiable rasterizer ,比如说nvdiffrast ,一方面能够提速,另一方面由于直接在三角网格上优化,能够避免NeRF 的结果转化到生产过程中需要用的三角网格的损失。 -
2D 生成式模型,如Stable Diffusion 生成速度如果能够更快,那么对提速会相当有价值。GigaGAN 让我们看到了希望,生成512x512 的图只需要0.13s ,比SD 快了数十倍。
当然,

另外,除了生成通用资产,数字人的生成也是一个独立的有科研、商业价值的方向。影眸科技做的
数据、算法、算力,谁更重要?
在
-
数据:目前
3D AIGC 比较大的一个问题是3D 的数据集(ShapeNet 有51 K 模型、Objaverse 有800+K 、商业模型网站SketchFab 有5M )和2D 的LAION 的5B 数量级的数据差了至少三个数量级,并且这个状况很可能短时间不太容易改变,因为3D 数据天然的稀缺性、收集的难度等客观原因。况且,就算收集到了大量数据,如何无损地把他们喂给深度学习系统,也是一个悬而未决的问题。 -
算法:这里面比较核心的算法是
differentiable renderer ,目前看更像是differentiable rasterizer 。另外,效果比较好的工作基本上都有multiscale 的特性,比如从NeRF 到coarse mesh 再到fine mesh 逐级优化,一方面跳过local minima ,另一方面加快优化速度,具体如何设计这些stages ,为算法研发者留下了空间。换个角度,生成2D 512x512 的图片开销尚能接受,如果不去想好的算法,直接暴力扩展到3D ,变成512x512x512 ,这个计算量是非常可怕的。 -
算力:
3D AIGC 会在训练、推理两部分都需要算力。基于前面的假设,3D AIGC 目前看来还是会基于2D 的基础模型,如Stable Diffusion ,加上并没有真正大规模的3D 数据集,3D AIGC 的训练部分其实并不需要除了fine-tune 2D 模型以外的大量算力。在“推理”部分,目前主流的做法都依赖于differentiable renderer ,如果要提高这部分的性能,常见的写法是手写CUDA ,并且手动写出对应的gradient kernels 。而一个可微分的SIMT 编程系统会显著加速相关的研发、提高正确性。 (打个广告,这一点上看,Taichi 确实有一定的优势:- )
综上,我认为对于
商业落地
学术研究和商业落地中间存在着鸿沟,要跨过这个鸿沟,还有大量要考虑的产品化和商业化问题。其中最关键的问题无非是如下几点,直接决定产品是否能够有
- 到底解决了谁的问题?第一批用户是谁
? (用户是谁? ) - 采购决策者是否有动力采用
? (客户是谁?) - 一个单一产品是否可以解决
3D 内容创作者的一个比较通用的问题? (能否标准化?是否scalable ?开发产品的ROI 如何?是否能够真正成就一家产品公司,而不是项目公司? ) - 是否已有解决方案,如素材库、资产外包公司、程序化生成工具
Houdini ?切换成本多高? (竞品是谁? ) - 商业模式是什么?SaaS?按量计费还是订阅制?
GPU 成本如何?毛利能否做到令人满意的水平? - 渠道是什么?PLG、SLG?
- 先发者的护城河在哪里?是更早转起来的数据飞轮,还是算法、产品力等?
落地场景
从市场角度,
具体比较游戏与影视行业:游戏行业中,不少重资产品类(如
考虑到游戏市场整体比影视等其他市场大,而其中的
- 面向专业的游戏美术。这边的主要挑战是游戏生产对于资产的质量要求是极高的,要做到质量达标,目前看来技术风险很大。
- 直接面向用户(
UGC 场景) 。质量要求会相对低一些。但是这里的问题是,和2D 资产(图片)不一样,大众并不能直接消费3D 资产,必须有一个好的场景。而UGC 游戏是一个比较不错的场景。为玩家提供丰富创造自由度、并且创造巨大商业价值的游戏有很多,比如Minecraft (史上销售份数最多的游戏) 、Roblox(目前市值~$30B ) 、Fortnite(~$6B revenue) 等。
技术风险
i. 质量好10 倍(网格和纹理)
网格方面,在游戏资产需要有比较好的
纹理方面,对于
当然,也可以寄希望于随着半导体技术(缓慢)的发展,游戏能用上的机能更加富余一些,这样对于
ii. 控制能力强10 倍(几何、贴图风格等)
在游戏的工业化生产管线中,建模师的上游是原画。传统生产过程中,建模师的工作是在
如果改变这个流程,不让原画给出输入了,直接生成
iii. 速度快30 倍(小于1 分钟生成时间)
我自己对这一点比较乐观。原因是在过去的
这三点技术风险中,质量是最让人担忧的。如果做不到真正满足生产要求的质量,那么有好的风格控制和速度也是白搭。而突破质量的方式,目前尚不明晰。
实际上,
市场风险
如果上面提到的技术风险都能解决,依然有不少市场风险是需要考虑的。这里我抛砖引玉列出一些可能会成为市场风险的点:
-
版权问题:这一点不用多说了,一直是
AIGC 生成图片争议比较大的问题,对3D 同样成立。长期来看,在3D 游戏这个主要应用场景,也许玩家并不在乎内容是不是AI 生成的,只要质量达标,AI 带来的高生产力能够帮助工作室做出更好的作品,社会应该还是接纳的。当然,这个过程中一定伴随着大量的争议和讨论。 -
工作流风险:
3D 工作流天然比2D 更加复杂,已经形成的工作流更难改变。因为3D 数据格式无法完全统一的问题,用户会更加倾向于在一个软件中完成所有操作。能否融入工作流,便成为了至关重要的一环。举个例子,不同DCC 软件中的空间坐标系都不一样(Y-up/Z-up) ,更不要说BSDF 模型等高度和软件架构设计耦合的数据表示了。法线贴图的G 通道有DirectX/OpenGL 两种格式,至今都无法统一:3D 资产内生的复杂性会导致软件之间无法统一,而这种不统一天然会导致3D 资产跨软件传输时必然造成损耗,需要小心翼翼地避免、甚至开发专属工具。更进一步地,3D workflow 的可重塑性会因此比2D 差。因此,3D AIGC 产品的工作流整合风险至少是值得花大精力去解决的问题。 -
“注意力退潮”:目前
AIGC 太火热,很多人的注意力都被吸引了,从而会愿意尝鲜一些自己并没有真正需求的产品。这会引出一系列问题,比如:Midjourney 是否真的有长线用户留存?有较长留存的用户到底是谁?到底解决了谁的工作中的刚需?付费率是否能到达到文章中推算的5% ?当AI 热度褪去,是否依然会有目前数量级的活跃用户?我自己的看法是相对乐观的,虽然这些问题目前没法准确回答,我依然认为大众对AIGC 的注意力褪去后,Midjourney 之类的应用会有不错的留存。 -
基础模型(Foundation models)抢饭碗:多模态是否会对
3D AIGC 有冲击?GPT-5/6/7/… 是否能够直接生成3D 模型?有点类似Jasper.ai/Grammarly 受到ChatGPT 冲击一样。一种观点认为,如果底层模型足够强,确实是有可能让上层工具白干(就像搜索引擎大家基本只用Google/ 百度一样,啥都能搜) 。我的个人看法:3D AIGC 需要大量计算机图形学的domain knowledge ,需要同时有图形和AI 的背景团队去做产品。其中,3D 图形人才的供给更加稀缺。有较好AI 经验的图形团队去卷3D AIGC ,比顶尖AI 团队学图形学来卷3D AIGC ,更加容易一些。 (这一点3D 和2D 不一样,因为2D 是可以相对直接地用U-Net + 大数据量+ 通用算法搞出来的。 ) -
“
AGI 干掉一切”:如果几年后真的实现AGI 了,直接让AI 看Maya/Max/Blender 建模教程、学会操作Maya 就行了,而不用去重新定义一套新的生产工具。这是比较激进的看法了。我自己感觉最近5 年这样发生的事儿并且能落地的可能性不太大。 (如果放在1 年前,我可能会认为10 年内也不会发生这样的事儿。但是最近一年AI 的发展改变了我的看法。当然,如果真的发生了,社会、商业都会发生巨大变化,也许人类可以直接迈入共产主义,人人都可以躺平,也不用辛苦地创业了。 ) -
“计算机图形学不存在了”:假如
Midjourney 能够做到60 FPS 、帧间consistenct 、成本完全可控等,那么生成式AI 会直接干掉实时图形的市场, “传统”图形技术(i.e., 基于渲染方程的光栅化、光线追踪技术)某种意义上讲就没有必要在主流市场存在了。我个人感觉10 年内不需要担心这种风险,至少目前看来AI 不是万能的。 -
“到底谁来用
? ”:整个游戏生产环节涉及到的岗位众多,公司老板、制作人、策划、主美、原画、建模师、TA、Level art/design,到底谁是用户?谁是客户(采购决策者) ?推进3D AIGC 在游戏工业化生产流程的切入,可能会成为和3D CG workflow 切入同等重要的问题。 (当然,如果切入前面提到的第二类3D AIGC 需求,也就是面向大众的3D AIGC ,便不会有这个问题。但是,更加直击灵魂的问题就会变成 “为什么大众会有3D 资产生成的需求? ” 除了游戏,还有一点希望:圈子里广泛流传今年WWDC 苹果会发布Apple Glass ,成为XR 的 “iPhone” 时刻,也许会成为一个答案,因为一旦VR/AR 让界面变成了3D ,大众便有了生成3D 内容的需求。 ) -
产品化
/ 标准化:是否真的能够用通用的生成式AI 模型实现比较广泛的品类的游戏的3D 资产?画风上来说,游戏风格有仙侠、三国、赛博朋克、美漫等等,差别很大(好在基础模型如Stable Diffusion 已经可以覆盖各种画风,并且通过LoRA / ControlNet 等技术控制,一定程度上对画风进行了标准化) ;品类上来说,SLG、RPG、FPS 等游戏对3D 资产的需求强度、质量要求、数量要求也许并不一样。有些品类比较重资产,有些则其实对3D 资产没有太高的要求,甚至2D 是更好的表现形式。好在不同品类的3D 资产生产流程相对比较统一,存在标准化的可能性。总之,这一点我相对乐观:大家之所以觉得这一次AI 浪潮机会多,本质上就是 基础模型(GPT、SD 等)足够通用,提供了制造出标准化产品的机会,让产品开发ROI 变高了,以前一些做项目的机会,现在可以做产品了。 -
“Moat(护城河)在哪里
? ”:A16Z 的一篇文章 “Who Owns the Generative AI Platform?” 提到了已有的生成式AI 应用层产品的潜在困局: (特别是图像、文本AIGC 工具)大家都用一样的底层模型、一样的数据集,比较难真正形成差异化和护城河。3D 的AIGC ,尚未是完全解决的问题。产品开发者必须有自己的算法创新,才能形成护城河,保持领先地位。 -
“下游收缩”:
3D 数字资产的生成市场能做多大,主要还是看下游(游戏等行业)有多强烈的需求、多少研发成本。而游戏满足的是人类娱乐的需求,这一点是刻在基因里的,很难改变,因此游戏行业本身并不会在未来缩水。加上全球游戏行业盘子很大,我感觉这一点不用太担心,按目前的情况看反而是非常积极的。
已经有的产品

我们还是聚焦到
-
生成平面贴图(生成平铺材质,本质是
2D 问题。比下面的AI 画贴图简单一些,因为不需要考虑几何) :barium.ai 主打生成PBR 贴图,已经被Unity 买了;spline.design 很早就实现了基于AIGC 的2D 贴图生成功能;Maliang: 很有意思的产品,在生成贴图的基础之上加上了编辑投影功能,更加实用。官网在这里。
-
根据几何(mesh)在
UV 空间生成贴图(“AI 画贴图”) :国际上有几款产品,都比较早期:Meshy.ai 是目前能够公开访问,主要做的是给白模在UV 空间上贴图,使用体验类似Midjourney 。生成一次大概要半分钟。Leonardo.ai 放出了一个很炫酷的demo (可以到他们的twitter 查看) ,不过暂时还没有上线。他们表示会在月底上线Blender 插件,可以期待一下。Polyhive.ai 也实现了这个功能,不过生成一次要5 分多钟。
这类产品和平面贴图工具主要的不同在于对于几何的理解。比如说,能够比较智能地在网格的头部画上眼睛,而不仅仅是生成
- 直接生成
3D 模型(AI 建模+ 贴图)
目前还没有真正公测的产品。
总结
总的来说,我认为
- 要实现能够产品化、 标准化的通用
text to 3D ,数据多样性非常重要。而目前LAION 这样的2D 数据集带来的数据多样性,会比3D 数据集数据量大三个数量级,因此2D 生成基础模型,如Stable Diffusion ,会是3D AIGC 必要的宝贵资源。短时间内,看起来 “2D 升维派” 会比 “原生3D 派” 更像是3D AIGC 的主流方法; - (图形)算法和算力会比数据更加重要,需要图形行业的团队深耕产业需求、甚至做出一些底层基础设施的创新(如带
AutoDiff 的并行编程系统)来满足算法研发、提高计算速度; - 游戏行业,很可能会是
text to 3D mesh 的首选市场; Text to 3D mesh 的技术风险和市场风险共存;- 即使由于上述风险做这事儿很可能失败,由于游戏行业对于
3D 资产的需求足够强、市场够大,且具备有标准化产品的可能性,从ROI 角度来说依然是值得尝试的。
引用一下
We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run.
新技术的短期影响往往被人们高估,而长期影响却会被低估。技术创新是推动人类进步的重要力量,但创新之路充满着不确定性和风险,需要决心与勇气去面对。只有在相互支持和鼓励的氛围下,创新才能更好地发挥其作用,推动社会不断向前发展。
如果创新者畏惧失败,往往不会成功。