题图中是3D数据的不同表示类型:
(a)点云(Point clouds);
(b) 体素网格(Voxel grids);
(c) 多边形网格(Polygon meshes);
(d) 多视图表示(Multi-view representations)
其中:a. 点云是三维空间(xyz坐标)点的集合。b. 体素是3D空间的像素。量化的,大小固定的点云。每个单元都是固定大小和离散坐标。c. mesh是面片的集合。d. 多视图表示是从不同模拟视点渲染的2D图像集合。
1. 点云
1.1 点云的概念,点云是不规则的数据结构,就是用一堆点来表示物体,这种方法的限制是点与点之间没有联系,缺乏物体的表面信息。
1.2 点云的表示方法,点云一般采用NxNxN的三维矩阵,或编码xyz三个通道的栅格数据,或以深度图的方式进行表示。
2. 体素
2.1 体素的概念,体素就相当于图像中的像素,可以理解为三维物体中的像素,这就使得三维空间中的物体可以基于规则的空间体素进行表示,进而将图像领域的框架挪用到三维领域,使用3D卷积等方式直接对体素进行处理,缺点是会消耗大量的计算资源,因此限制了体素的分辨率。
2.2. 体素的表示方法,SDF(signed distance field)即有效距离场。也就是通过给每个体素赋予SDF来模拟物体表面。如果SDF值大于0,表示该体素在当前表面前,如果SDF值小于0,则表示体素在表面后,SDF越接近0,表明它越接近场景真实表面。不过这种表示方法会占用大量的资源,因此有人提出了TSDF。
TSDF是为了降低体素表示方法的资源消耗而提出的。TSDF采用栅格立方体代表三维空间,每个栅格中存放的是其到物体表面的距离,TSDF值的政府分别表示被表面遮挡与可见,而表面上的点则经过零点。
3. mesh,理解了点云就理解了mesh,因为mesh就是点云的升级版,可以将点云的信息表示的更精细,可以理解为一种可视化方法。