从计算的角度来看,点云更容易合成,但它们无法捕获对象的细腻形状或纹理,这是目前Point-E的一个短板。
为解决这个限制,Point-E团队训练了一个额外的人工智能系统来将Point-E 的点云转换为网格。
将Point-E点云转换为网格
在独立的网格生成模型之外,Point-E 由两个模型组成:
一个文本图像转化模型(text-to-image model)和图像转化3D模型(image-to-3D model)。
文本图像转化模型类似于OpenAI的DALL-E 2和Stable Diffusion,在标记图像上进行训练以理解单词和视觉概念间的关联。
然后,将一组与3D对象配对图像输入3D转化模型,以便模型学会在两者之间有效转换。
当输入一个prompt时,文本图像转化模型会生成一个合成渲染对象,该对象被馈送到图像转化3D模型,然后生成点云。
OpenAI研究人员表示,Point-E经历了数百万3D对象和相关元数据的数据集的训练。
但它并不完美,Point-E 的图像到 3D 模型有时无法理解文本到图像模型中的图像,导致形状与文本提示不匹配。尽管如此,它仍然比以前的最先进技术快几个数量级。
他们在论文中写道:
虽然我们的方法在评估中的表现比最先进的技术差,但它只用了一小部分时间就可以生成样本。这可以使它对某些应用程序更实用,并且发现更高质量的3D对象。
Point-E架构与运行机制
Point-E模型首先使用文本到图像的扩散模型生成一个单一的合成视图,然后使用第二个扩散模型生成一个三维点云,该模型以生成的图像为条件。
虽然该方法在采样质量方面仍未达到最先进的水平,但它的采样速度要快一到两个数量级,为一些使用情况提供了实际的权衡。
下图是该模型的一个high-level的pipeline示意图:
我们不是训练单个生成模型,直接生成以文本为条件的点云,而是将生成过程分为三个步骤。
首先,生成一个以文本标题为条件的综合视图。
接下来,生成⼀个基于合成视图的粗略点云(1,024 个点) 。
最后, 生成了⼀个以低分辨率点云和合成视图为条件的精细点云(4,096 个点)。
在数百万个3D模型上训练模型后,我们发现数据集的数据格式和质量差异很大,这促使我们开发各种后处理步骤,以确保更高的数据质量。
为了将所有的数据转换为⼀种通用格式,我们使用Blender从20个随机摄像机角度,将每个3D模型渲染为RGBAD图像(Blender支持多种3D格式,并带有优化的渲染引擎)。
对于每个模型,Blender脚本都将模型标准化为边界立方体,配置标准照明设置,最后使用Blender的内置实时渲染引擎,导出RGBAD图像。
然后,使用渲染将每个对象转换为彩色点云。首先,通过计算每个RGBAD图像中每个像素的点,来为每个对象构建⼀个密集点云。这些点云通常包含数十万个不均匀分布的点,因此我们还使用最远点采样,来创建均匀的4K点云。
通过直接从渲染构建点云,我们能够避免直接从3D网格中采样可能出现的各种问题,对模型中包含的点进行取样,或处理以不寻常的文件格式存储的三维模型。
最后,我们采用各种启发式方法,来减少数据集中低质量模型的频率。
首先,我们通过计算每个点云的SVD来消除平面对象,只保留那些最小奇异值高于某个阈值的对象。
接下来,我们通过CLIP特征对数据集进行聚类(对于每个对象,我们对所有渲染的特征进行平均)。
我们发现,一些集群包含许多低质量的模型类别,而其他集群则显得更加多样化或可解释。
我们将这些集群分到几个不同质量的bucket中,并使用所得bucket的加权混合作为我们的最终数据集。
应用前景
OpenAI 研究人员指出,Point-E的点云还可用于制造真实世界的物体,比如3D打印。
通过额外的网格转换模型,该系统还可以进入游戏和动画开发工作流程。
虽然目前的目光都集中在2D艺术生成器上,但模型合成人工智能可能是下一个重大的行业颠覆者。
3D模型广泛应用于影视、室内设计、建筑和各种科学领域。
当下3D模型的制造耗时通常需要几个小时,而Point-E的出现恰恰弥补了这一缺点。
研究人员表示现阶段Point-E还存在许多缺陷,如从训练数据中继承的偏差以及对于可能用于创建危险物体的模型缺乏保护措施。
Point-E只是个起点,他们希望它能激发文本到3D合成领域的「进一步工作」。
参考资料:https://techcrunch.com/2022/12/20/openai-releases-point-e-an-ai-that-generates-3d-models/?tpcc=tcplustwitterhttps://www.engadget.com/openai-releases-point-e-dall-e-3d-text-modeling-210007892.html?src=rss