ModelNet40数据集

跑PointNet,modelnet40数据集时;

  • 有些人直接用.off文件;——【CAD模型】

普林斯顿形状Banchmark中的.off文件遵循以下标准:

  • OFF文件全是以OFF关键字开始的ASCII文件。
  • 下一行说明顶点的数量、面片的数量、边的数量。
  • 边的数量可以安全地省略。对模型不会有影响(可以为0)。

  • 顶点按每行一个列出x、y、z坐标。
  • 在顶点列表后,面片按照每行一个列表。对于每个面片,顶点的数量是指定的,接下来是顶点的索引列表。
  • 具体可参考off文件的格式、写入和显示_Alan Lan的博客-CSDN博客
  • 有些人用的是.ply;
  • PLY - 多边形文件格式也被称为斯坦福三角格式,是用于存储被描述为多边形集合的图形对象的格式。
  • 格式组成:
  1. 头:声明数据格式,规定和点和面片的数据内容
  2. 点:点的数据内容(坐标x,y,z 颜色r,g,b等)
  3. 线:线的数据内容(组成线的点序号索引,颜色等)
  4. 面片:面片的数据内容(组成面的点序号索引,颜色等)
  • 具体参考:PLY文件_ply文件中添加一列数据_舒夜无痕的博客-CSDN博客
  • 有些人用的是.hdf5;
  • 是一种存储相同类型数值的大数组的机制,适用于可被层次性组织且数据集需要被元数据标记的数据模型。
  • hdf5 files: 能够存储两类数据对象 dataset 和 group 的容器,其操作类似 python 标准的文件操作;File 实例对象本身就是一个组,以 / 为名,是遍历文件的入口
  • 一个HDF5文件就是一个由两种基本数据对象(groups and datasets)存放多种科学数据的容器:

    HDF5 dataset: 数据元素的一个多维数组以及支持元数据(metadata),可类比为Numpy 数组,每个数据集都有一个名字(name)、形状(shape) 和类型(dtype),支持切片操作;

    HDF5 group: 包含0个或多个HDF5对象以及支持元数据(metadata)的一个群组结构,可以类比为字典,它是一种像文件夹一样的容器;group 中可以存放 dataset 或者其他的 group,键就是组成员的名称,值就是组成员对象本身(组或者数据集);

  • 总之,dataset是类似于数组的数据集,而group是类似文件夹一样的容器,存放dataset和其他group;group和dataset在h5py中的使用有点类似于词典和Numpy中数组的用法。

  • 具体参考:HDF5 简介_man_world的博客-CSDN博客

modelnet40_ply_hdf5_2048是基于原来的采样了一下,只有点的坐标,还有一个版本是带法向量的。modelnet40_normal_resample是基于原来的modelnet40进行归一化和重采样,这样子数据所占内存和运算量就减少了(pointnet++里面讲到其对下采样具有鲁棒性,这样子可以提升速度,同时acc也不会有明显的下降;modelnet40_ply_hdf5就是h5(hdf5)格式,是采了2048个点,保存的点的坐标和法向量;modelnet是包含3部分:modelnet10,modelnet40和aligned 40的数据。

ModelNet40数据集来源于http://modelnet.cs.princeton.edu/

这个ZIP文件包含来自40个类别的CAD模型,用于在我们的3D深度学习项目中训练深度网络。训练和测试部分也包含在文件中。这些CAD模型完全是由我们自己在内部清理的。

ModelNet40数据集_第1张图片

每一个都含有test和train文件。可以看到里面的文件都是.off文件

ModelNet40数据集_第2张图片

 

参考:ModelNet40格式的理解(PointNet实现第2步)_xiaobai_Ry的博客-CSDN博客

 

你可能感兴趣的:(数据集,深度学习,人工智能)