Polygon Mesh 网格
通常运用再3D计算机图形学(3D computer graphics)领域,它由顶点(vertices)、边(edges)、面(faces)组合而成,面一般为凸多边形(convex polygons),如三角形(triangles)。
.ply文件
# 头文件
ply
# 编码
format ascii 1.0 or
format binary_little_endian 1.0 or
format binary_big_endian 1.0
# 注释/著作权
comment say about sth
# 元素点vertex的数量
element vertex 12
# 属性表示坐标、向量、颜色、透明度(alpha)等
property float x
property float y
property float z
property float nx
property float ny
property float nz
property float r
property float g
property float b
property float a
# property list <count data type> <data type> <property name>
element face 10
property list uchar int vertex_index or
# 用途更广
property list uchar int vertex_indices
# 结束
end_header
# vertex数据
x1 y1 z1 nx1 ny1 nz1 r1 g1 b1 a1
...
x12 y12 z12 nx12 ny12 nz12 r12 g12 b12 a12
# face数据 点个数、点1、点2...点n
3 1 2 3
...
3 4 5 12
Voxel Grid 体素/体元栅格
体素网格是用固定大小的立方块作为最小单元,来表示三维物体。
具体而言,当这个立方体有物体时,立方块为占据状态(1),否为为空(0)。
.binvox文件:https://www.patrickmin.com/binvox/
格式说明:https://www.patrickmin.com/binvox/binvox.html
Octree 八叉树
用八叉树来表示三维形体,既可以看成是四叉树(QuadTree)方法在三维空间的推广,也可以认为是用三维体素网格(Voxel Grid)表示物体方法的一种改进。
所生成的八叉树的节点可以分为三类:
- 灰节点,它对应的立方体部分地为V所占据;
- 白节点,它所对应的立方体中无V的内容;
- 黑节点,它所对应的立方体全为V所占据。
Point Cloud 点云
.pcd文件
# 头文件
#. PCD v0.7 - Point Cloud Data file format
# 版本
VERSION 0.7
# 每个点的维度/属性
FIELDS x y z
# 每个数据占用的字节
SIZE 4 4 4
# 每个数据的数据类型
TYPE F F F
# 每个维度有多少个元素
COUNT 1 1 1
# 点云总个数,有组织时可设定点云总宽度
WIDTH 35947
# 无组织时为1,有组织时可设定点云总行数
HEIGHT 1
# 采集时的视点 T(Tx Ty Tz) R(qw qx qy qz)
VIEWPOINT 0 0 0 1 0 0 0
# 点云总个数
POINTS 35947
# 存储格式
DATA ASCII or
DATA binary
x1 y1 z1
...
x35947 y35947 z35947
特点
- Mathematically simple and concise 数学公式简单明了
- Sparsity 点云的稀疏性(硬件采集时无法避免,如激光雷达获取的数据近密远疏)
- Irregular – difficulty in neighbor searching 不规则 - 邻近点云搜索困难(图像本身就是一个矩阵,邻近点易找)
- Lack of texture information 缺乏纹理信息
- Un-ordered – difficulty in deep learning 无序性 - 深度学习应用困难(对于深度学习而言,他输进去的矩阵是不一样的,就会产生不一样的输出,但是点云改变顺序后,矩阵不一样,但是物体是一样的,输出的矩阵也应该是一样的)
- Rotation equivariance / invariance 旋转等方差/不变性(点云旋转后物体没变,但是所有点云的位置信息都发生改变)