萧箫发自凹非寺
量子位公众号 QbitAI
这边 AI 画画的热度还没下去,OpenAI 已经连“3D 版”AI 画画都搞出来了。
没错,用文字生成 3D 点云模型,还是超——快的那种!
只需要一张英伟达显卡,两分钟就能生成一个 3D 小物件,比谷歌的文生 3D 模型 DreamFusion 快了接近 600 倍 (但它们生成的不是同一种 3D 模型)。
项目代码开源后在网上爆火,英伟达 AI 科学家甚至大胆预测:2023 年会是 3D 模型爆发年,可以期待一波 3D 版 Stable Diffusion 和 MidJourney 了。
现在 Point·E模型的 Demo 已经在 Hugging Face 上放出,想要玩的小伙伴们可以上手试试~
如何快速生成 3D 点云模型?
顾名思义,Point·E并非一个直接生成 3D 模型的 AI。
相比谷歌 DreamFusion 直接生成能用于渲染的 3D 网格图,它生成的是一个3D 点云模型(Point Cloud),至于 Point·E的E则是效率(efficiency)的意思。
据作者介绍,之所以选择从 3D 点云模型突破,是因为目前 AI 生成 3D 模型的一大缺陷就是速度慢,用 GPU 渲染需要好几小时才能生成结果。相比之下,2D 图像生成却只需要几秒钟。
因此,加速 3D 模型生成的效率同样非常重要,在此基础上 Point·E应运而生。
在文本生成 3D 点云上,Point·E并非“一步到位”,而是将过程分为了三步。
首先,如红色框展示的,模型会先基于文本生成一个“预览版视图”。
这一步基于 OpenAI 去年发布的 30 亿模型GLIDE微调实现,用它生成的视图还不具备“3D 特性”,相当于只是给了个参考范例。
随后,如黄色框所展示的,Point·E会采用一个扩散模型,根据“预览版视图”生成一个粗糙的 3D 点云模型(这里的粗糙指分辨率较低,只有 1024 个点)。
具体架构如下:
最后,再用一个更小的扩散模型,采用上采样(upsample)将获得的 3D 点云模型进一步细化,得到最终的精细版 3D 点云模型(一共有 4096 个点)。
具体的训练过程,用了一个包含数百万个 3D 模型的数据集,其中每个模型都被处理成渲染视图、文本描述和 3D 点云三部分。
用这种方法生成的 3D 点云模型,在处理速度上确实快了不少。
比 DreamFusion 快数百倍
先从生成时间来看,无论是 DreamFields、还是 DreamFusion,在生成上都需要以小时为单位计数。
其中 DreamFields 是效果比较好的 AI 文本生成 3D 模型,但生成一个模型几乎需要单张显卡运行 200 小时。
DreamFusion 是 DreamFields 的进化版,即便如此它也需要 12 个小时。
相比之下,Point·E的几个不同大小的模型,基本都以分钟为单位,在1 分钟~1.5 分钟内就能完成文本生成 3D 点云模型。
不过,Point·E在生成效果上,还确实不如谷歌的 DreamFusion,后者可以直接渲染生成 3D 模型:
相比之下,作为一个文本生成 3D 点云 AI,Point·E无法像 DreamFusion 那样用网格(mesh)直接生成 3D 模型。
在经过渲染前,这些点云需要先完成预处理,经历一个网格化的过程,往往这个过程还需要耗费额外的时间:
作者也指出了 Point·E存在的一些缺点。
一方面,有时候经过预处理,比较稀疏的点云可能会被忽略(例如下图中花的茎秆等地方):
另一方面,从预览图生成点云的过程,有时候也会出 bug。例如 AI 看着预览图,生成了一个完全不匹配的 3D 点云效果出来:
△超高版柯基和对称雪糕筒
即便如此,不少网友认为 AI 生成 3D 模型的未来值得期待:如果速度再快一点的话,或许就能让 6 岁的小孩在 iPhone 上自己造元宇宙了(手动狗头)
试玩地址:
https://huggingface.co/spaces/openai/point-e
论文地址: