本博文主要介绍modelnet40的各种格式区别。
跑PointNet,modelnet40数据集时,有些人直接用.off文件,有些人用的是.ply,有些人用的是.hdf5,这些文件之间有什么跑程序时有什么优劣区别?
对于我而言,因为不是很能理解,所以问了一些大佬,大佬们的回答是:
.off那个是CAD模型,modelnet40_ply_hdf5_2048是基于原来的采样了一下,只有点的坐标,还有一个版本是带法向量的。
对于没有特别需求的来说没有太大区别,大部分人用什么格式完全取决于他下的开源代码的开发者使用的是什么格式。
在此感谢上述大佬的回答,也欢迎其他有不同见解的大佬回复!!! |
---|
ModelNet40数据集来源于/
this ZIP file contains CAD models from the 40 categories used to train the deep network in our 3D deep learning project. Training and testing split is included in the file. The CAD models are completely cleaned inhouse by ourselves.
ModelNet40数据集包括40个类别,下载完成后可以看到这里:
每一个都含有test和train文件。
可以看到里面的文件都是.off文件
介绍
物体文件格式(.off)文件用于表示给定了表面多边形的模型的几何体。这里的多边形可以有任意数量的顶点。
普林斯顿形状Banchmark中的.off文件遵循以下标准。
边的数量可以安全地省略。对模型不会有影响(可以为0)。
OFF
顶点数 面片数 边数
x y z
x y z
…
顶点个数N v1 v2 v3 … vn
顶点个数M v1 v2 v3 … vm
…
具体可参考【这篇博客】
简要定义
PLY - 多边形文件格式也被称为斯坦福三角格式,是用于存储被描述为多边形集合的图形对象的格式。
PLY文件格式是Stanford大学开发的一套三维mesh模型数据格式,图形学领域内很多著名的模型数据,比如Stanford的三维扫描数据库(其中包括很多文章中会见到的Happy Buddha, Dragon, Bunny兔子),Geogia Tech的大型几何模型库,北卡(UNC)的电厂模型等,最初的模型都是基于这个格式的。
PLY多边形文件格式的开发目标是建立一套针对多边形模型的,结构简单但是能够满足大多数图形应用需要的模型格式,而且它允许以ASCII码格式或二进制形式存储文件。PLY的开发者希望,这样一套既简单又灵活的文件格式,能够帮助开发人员避免重复开发文件格式的问题。然而由于各种各样的原因,在工业领域内,新的文件格式仍然在不断的出现,但是在图形学的研究领域中,PLY还是种常用且重要的文件格式。
PLY作为一种多边形模型数据格式,不同于三维引擎中常用的场景图文件格式和脚本文件,每个PLY文件只用于描述一个多边形模型对象(Object),该模型对象可以通过诸如顶点、面等数据进行描述,每一类这样的数据被称作一种元素(Element)。相比于现代的三维引擎中所用到的各种复杂格式,PLY实在是种简单的不能再简单的文件格式,但是如果仔细研究就会发现,就像设计者所说的,这对于绝大多数的图形应用来说已经是足够用了。
格式组成:
头:声明数据格式,规定和点和面片的数据内容
点:点的数据内容(坐标x,y,z 颜色r,g,b等)
线:线的数据内容(组成线的点序号索引,颜色等)
面片:面片的数据内容(组成面的点序号索引,颜色等)
具体可参考【这篇博客】
说到hdf5,不得不说h5py
h5py是对HDF5文件格式进行读写的python包
最重要的是,您创建的文件采用了广泛使用的标准二进制格式,您可以与其他人(包括使用IDL和MATLAB之类的程序的人)进行交换。
简介[官网]
是一种存储相同类型数值的大数组的机制,适用于可被层次性组织且数据集需要被元数据标记的数据模型
相关介绍【点击此处】
一个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中数组的用法。
其他可见【这篇博客】
最后的最后,上面的数据格式是其中一部分,在第三部分,我会介绍点云数据,这里可以先看一下PointNet作者(祁芮中台大佬)对3D检测数据的介绍 ,里面包含对3D场景物体检测数据的介绍,可以先大致了解一下3D检测数据有哪些形式。
3D检测的介绍-祁芮中台
本文发布于:2024-02-03 05:24:36,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170690907648932.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |