三维物体生成与编辑
论文地址: Controllable Mesh Generation Through Sparse Latent Point Diffusion Models
背景
数据是目前数字化和AI领域最宝贵的财富之一,但是对于目前的开发者来说,收集数据都意味着极大的成本。所以建立一个高效的生成模型能极大的提高开发者的效率降低生产成本。
生成模型简单来说就是一个概率模型,其学习真实世界的数据分布从而去生成新的数据样本。其中目前主流的图像的生成模型包括stable difussion模型, 其原理主要可以分成两个过程
- 扩散过程: 将原本清晰的数据(可以是声音/图片/点云等)逐步添加高斯噪声,直至其最终成为一个完全的高斯噪声
- 逆扩散: 也就是步骤一的反向过程,也就是将步骤一得到的高斯噪声逐步重新回溯成清晰的数据
而根据stable diffusion的思想的三维物体生成模型主要也分成了两个流派:
- 建立一个2D的扩散生模型,然后融合成3D模型。eg: Dreamfusion, Magic3D 以及ProlificDreamer等
- 优点: 无需昂贵的3D数据
- 缺点: 因为是由2D -> 3D 数据,中间涉及的优化过程十分耗时。初始结构一般是球体所以对一些复杂不规则的3D结构不是十分鲁棒
- 直接建立一个3D生成模型。 eg: Point-E , LION, Mesh Diffusion, 3DGen等
- 优点: 生成速度快,对复杂几何结构更加鲁棒
- 缺点: 需要3D数据做训练
上述这些3D生成模型根据是否需要输入条件分成有条件生成模型& 无条件生成模型, 这些生成条件可以是文本 或者图片等。但是这些都不能提供使用者对生成的3D模型进行细粒度的微调。
可控三维生成模型
根据前人的工作,以及目前的业务需求,提出了Controllable Mesh Generation Through Sparse Latent Point Diffusion Models , 其主要目的是可控的细粒度的生成3D模型。其主要的贡献在于:
- 提供了一个细粒度的可控的3D mesh生成模型
- 提供了一个可供用户交互细粒度改变局部或者全局结构的思想
- 更加快速的生成速度
其整体思路是首先将Mesh下采样选择用稀疏的点云去表达整个Mesh,从而提高处理速度。再将采样后的点云通过Encoder的结构, 将点云处理成数量一致的sprase latent points再经过Decoder结构后上采样,从而实现整个3D生成模型。这样的好处在于这些sprase latent points 更适合与用户交互,从而实现细粒度的微调或者说是控制生成的形状
而整个生成的结构是由两个扩散模型构成,其中第一个扩散模型是根据经过encoder的sparse latent points去学习其点云的位置,第二个是根据第一个扩散模型生成的位置从而去学习其位置上的特征。从而实现整个生成模型结构。可以把整个生成的过程分为以下3步:
- 利用位置扩散模型去生成sparse latent points的点的位置
- 利用特征扩散模型去生成给定位置下的sparse latent points的特征
- 利用autoencoder去将这些特征和位置decoder后重构一个mesh 结构
最终用户可以根据自己的需要去改变sprase latent points的点的位置或者进行一些形状上的插值,从而可以改变整个最终生成结构或者对应的只改变更变点的局部结构。除此之外,作者提供了一种融合形状的思维,就是将生成的不同物体的sprase latent points的部分点的特征进行融合,从而实现整体3D拼接生成结构,例如A物体的轮子和B物体的车身拼接成一个整车。
未来方向
- 提供可变的latent point的点的数量,更加灵活更精确的去控制生成结构
- 从生成不同的物体geomertry 到texture生成
- 从单个物体级别的生成到整个场景的生成