使用扩散模型从文本提示生成3D点云对象

OpenAI发布Point-E:快速生成3D点云的新方法

OpenAI最近发布了一种名为Point-E的新方法,用于从文本提示生成3D对象。该方法在单个GPU上运行时间不到两分钟,而其他方法可能需要几个GPU小时。Point-E基于扩散模型(diffusion models),与GLIDE和StableDiffusion等生成模型类似。

Point-E模型工作流程

  1. 生成合成视图:首先,模型根据文本提示生成合成视图。
  2. 生成低分辨率点云:接下来,基于合成视图生成包含1024个点的3D点云。
  3. 生成高分辨率点云:最后,基于低分辨率点云和合成视图生成包含4096个点的精细3D点云。

技术细节

  • 图像生成:使用GLIDE扩散模型从文本提示生成图像。
  • 深度图像生成:使用Blender开源3D CG技术,通过渲染对象的20个相机图像生成深度图像。
  • 点云与图像匹配:每个3D点云与深度图像中的每个像素关联。
  • 点云处理:为了提高性能,对数据进行点云处理。

点云与文本提示的关联

使用Transformer深度学习模型,以概率方式生成带有颜色的3D点云。

点云上采样

使用Transformer将低分辨率点云上采样为高分辨率点云。

纹理网格生成与渲染

  • 网格生成:使用回归模型预测点云的带符号距离场(SDF),然后应用Marching Cubes算法提取网格。
  • 颜色分配:使用“最近邻”方法将每个顶点与原始点云中的最近点匹配。

与其他模型的比较

Google的DreamFusion在语义理解方面表现更好,生成的3D点云分辨率更高。然而,Point-E在生成速度上具有明显优势。

Point-E的局限性

  • 纹理和分辨率较低:生成的3D点云对象的纹理和分辨率较低。
  • 依赖合成渲染:需要合成渲染,可以考虑使用真实世界图像进行条件生成。
  • 语义理解不足:在文本提示的语义理解方面不如其他最先进的3D生成模型。

开源实现

OpenAI在PyTorch中发布了Point-E的开源实现,并提供了示例代码,帮助用户从文本提示生成3D对象。

社区反响

Point-E的发布在Twitter和Reddit上引起了热烈讨论,用户对其生成速度表示赞赏。

在线演示

用户可以在HuggingFace工作区尝试Point-E的在线演示。

阅读 29
0 条评论