如今的生成式AI在人工智能领域迅猛发展,在计算机视觉中,图像和视频生成技术已日渐成熟,如Midjourney、Stable Video Diffusion [1]等模型广泛应用。然而,三维视觉领域的生成模型仍面临挑战。目前的3D模型生成技术通常基于多角度视频生成和重建,如SV3D模型[2],通过生成多角度视频并结合神经辐射场(NeRF)或者3D高斯渲染模型(3D Gaussian Splatting技术逐步构建3D物体。这种方法主要限制在只能生成简单的、无自遮挡的三维物体,且无法呈现物体内部结构,使得整个生成过程复杂而且不完美,显示出该技术的复杂性和局限性。究其原因,在于目前缺乏灵活高效且容易泛化的3D Representation (3D表示)。
我们知道X射线能够穿透并记录关键物体内外表面信息,受到这个启发,NUS研究团队胡涛博士等人近期发布了一种全新的3D表示—X-Ray,它能够序列化地表示从相机摄像角度看过去的物体的逐层次的物体表面形状和纹理,可以充分利用视频生成模型的优势来生成3D物体,可以同时生成物体的内外3D结构。本文将详细展示X-Ray技术的原理、优势及其广泛的应用前景。
项目主页:
https://tau-yihouxiang.github.io/projects/X-Ray/X-Ray.html
论文地址:
https://arxiv.org/abs/2404.14329
代码地址:
https://github.com/tau-yihouxiang/X-Ray
数据集:
https://huggingface.co/datasets/yihouxiang/X-Ray
技术革新:物体内外表面的3D表示方法
X-Ray表示:从相机中心开始朝向物体方向的
个矩阵点发射射线。在每条射线方向上, 逐个记录与物体的表面相交点的
个包含深度、法向量和颜色等的三维属性数据, 然后将这些数据组织成
的形式, 实现任意3D模型的张量表示, 这就是我们提出的X-Ray表示方法, 值得注意的是, 该表示形式与视频格式一样, 因此我们可以用视频生成模型做3D生成模型。具体过程如下。
1. 编码过程: 3D模型转X-Ray
给定一个3D模型, 通常是三维网格, 我们首先设置一个相机观测该模型, 然后通过光线投影算法 (Ray Casting Algorithm)来记录每个相机射线与物体相交的所有表面的属性
, 包括该表面的深度
, 法向 量
, 颜色
等, 为了指示方便, 我们用
表示该位置是否存在表面。
然后, 我们获取所有相机射线等相交表面点, 即可得到一个完整的X-Ray 3D表达, 如下表达式和图 2所示。
通过编码过程, 我们讲一个任意的3D模型转化为X-Ray, 它和视频格式是一样的, 并且具有不同的帧数, 通常情况下, 帧数
足够表示一个3D物体。
2.解码过程:X-Ray转3D模型
给定一个X-Ray,我们也可以通过解码过程转化回3D模型,这样我们只需要通过生成X-Ray即可生成3D模型。具体过程包括点云生成过程和点云重建表面两个过程。
X-Ray到点云:X-Ray很容易转化为点云,该点云中的每个点除了有3D点的位置坐标,还具有颜色和法向量信息。
, when
其中