当前位置: 首页 > news >正文

【三维室内数据集】ScanNet v2使用说明

 【版权声明】
本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。   

参考书籍:《人工智能点云处理及深度学习算法》

 本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“【python三维深度学习】python三维点云从基础到深度学习_python3d点云从基础到深度学习-CSDN博客”。配套书籍《人工智能点云处理及深度学习算法》提供更加全面和系统的解析。

        ScanNet v2是一个由斯坦福大学、普林斯顿大学和慕尼黑工大联合开发的大规模室内场景数据集,从小型的办公室和家庭到大型的公共建筑和商业空间,涵盖了各种尺度和用途的场景。数据集包含1513个采集场景数据,共21个类别的对象。1201个场景用于训练,312个场景用于测试 。ScanNet v2适用于室内场景的分割、识别、物体检测和场景重建等算法研究与开发。

        ScanNet v2每个场景都有一个独特的标识符号,如scene0000_00、scene0001_00等。每个场景包含多个扫描(scan),每个扫描有一个独特的标识符号,如scene0000_00_vh_clean_2.ply、scene0001_00_vh_clean_2.ply等。ScanNet v2数据集的文件目录结构包括以下内容,主要由scans、scans_test和scannetv2-labels.combined.tsv组成。

├── scannet│   ├── scans│   │   ├── [scene_id]│   │   │   ├── [scene_id].aggregation.json│   │   │   ├── [scene_id]_vh_clean_2.0.010000.segs.json│   │   │   ├── [scene_id]_vh_clean_2.labels.ply│   │   │   ├── [scene_id]_vh_clean_2.ply│   ├── scans_test│   │   ├── [scene_id]│   │   │   ├── [scene_id]_vh_clean_2.ply│   ├── scannetv2-labels.combined.tsv

        scans文件夹包含了数据集所有3D场景模型及其3D渲染图像,且每个场景模型由多个mesh文件组成。每个场景模型的标注信息、对应的3D物体边界框、相机参数和深度图像数据均存储在该文件夹下。其文件目录如下所示,场景文件夹编号为 scene0000_00~ scene1512_00。

├── scans/│   ├── scene0000_00/│   │   ├── scene0000_00.aggregation.json│   │   ├──scene0000_00.sens│   │   ├── scene0000_00.txt│   │   ├── scene0000_00_2d-instance.zip│   │   ├── scene0000_00_2d-instance-filt.zip│   │   ├── scene0000_00_2d-label.zip│   │   ├──scene0000_00_2d-label-filt.zip│   │   ├── scene0000_00_vh_clean.aggregation.json│   │   ├── scene0000_00_vh_clean.ply│   │   ├── scene0000_00_vh_clean.segs.json│   │   ├──scene0000_00_vh_clean_2.0.010000.segs.json│   │   ├──scene0000_00_vh_clean_2.labels.ply│   │   └──scene0000_00_vh_clean_2.ply│   ├── scene0001_00/│   │   ├── ...│   ├── ...│   └── scene1512_00/│       ├── ...

        各个文件所含内容如下所示:

  1. <scanId>.txt:存储了相应场景的基本信息,包括坐标偏移、场景类型等。
  2. <scanId>.sens:该文件夹包含多个传感器的数据,包括RGB图像、深度图像、相机位姿、视角变换和场景的语义分割标签, 其中RGB图像大小为1296x968,深度图像大小为640x480。
  3. <scanId>_vh_clean.ply: 高质量重建网格,点云数据。
  4. <scanId>_vh_clean_2.ply:经过数据清洗后的网格,点云数据。MeshLab软件中scene0000_00_vh_clean_2.ply的效果如下所示。
  5. <scanId>_vh_clean_2.0.010000.segs.json:场景的语义分割数据,用于表示每个点属于哪一类物体并分割出该物体的点云。
  6. <scanId>.aggregation.json、<scanId>_vh_clean.aggregation.json:分别在低分辨率、高分辨率网格上聚合实例级语义标注。
  7. <scanId>_vh_clean_2.0.010000.segs.json、<scanId>_vh_clean.segs.json:分别对低分辨率、高分辨率网格进行分割。
  8. <scanId>_vh_clean_2.labels.ply:语义分割的可视化,由nyu40标签着色。MeshLab软件中scene0000
  9. _00_vh_clean_2.labels.ply的效果如下所示。

图 scene0000_00_vh_clean_2.labels点云网格

  1. <scanId>_2d-label.zip:二维投影标签,格式为16位png,图像大小为1296x968。
  2. <scanId>_2d-instance.zip:二维实例标注,格式为8位png,图像大小为1296x968。
  3. <scanId>_2d-label-filt.zip:过滤后带有ScanNet标签id的16位png二维投影标签。
  4. <scanId>_2d-instance-filt.zip:过滤后带有ScanNet标签id的8位png二维实例标注。

        scans_test文件夹存储了用于测试的场景数据,各文件所含内容与上述scans文件夹一致。

        scannetv2-labels.combined.tsv是ScanNet v2数据集的标签文件,提供了用于场景语义分割的类别标签信息。下面是有关该文件的详细说明:

  1. 文件格式:该文件是一个.tsv(Tab Separated Values)格式的文本文件。每一行代表一个语义类别,每一列代表该类别在不同数据集中的名称和ID等信息。
  2. 列信息:该文件的第一行是列标题,包含了不同数据集中的名称、ID、颜色编码等信息。其中,“raw_category”是原始类别名称;“nyu40class”是对应的NYUv2 40类别名称;“nyu40id”是对应的NYUv2 40类别ID。
  3. 类别信息:该文件包含了40个类别的信息,这些类别包括了常见的家具、地板、墙壁、天花板等。每个类别都有一个唯一的ID和颜色编码,可以用于场景语义分割任务。此外,该文件还提供了13个较高级别的类别,如“墙壁”、“地面”、“天花板”等。

        由于2DRGB-D帧的数据量特别大,完整的Scannet v2数据集存储容量超过1TB。作者提供了较小子集scannet_frames_25k,约25,000帧,从完整数据集中大约每100帧进行二次采样,存储大小为5.6GB。相应的基准评估数据scannet_frames_test大小为610MB。

 【版权声明】
本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。  

更多python与C++技巧、三维算法、深度学习算法总结、大模型请关注我的博客,欢迎讨论与交流:https://blog.csdn.net/suiyingy,或”乐乐感知学堂“公众号。Python三维领域专业书籍推荐:《人工智能点云处理及深度学习算法》。

 本文为专栏《Python三维点云实战宝典》系列文章,专栏介绍地址“【python三维深度学习】python三维点云从基础到深度学习_python3d点云从基础到深度学习-CSDN博客”。配套书籍《人工智能点云处理及深度学习算法》提供更加全面和系统的解析。 


http://www.mrgr.cn/news/7755.html

相关文章:

  • 分区表学习相关资料记录
  • (十三)Flink SQL
  • linux查询目录文件基础操作
  • 使用静态IP为什么比动态IP的人多?
  • 如何实现一棵红黑树
  • OpenCV+Python识别机读卡
  • 博客建站7 - hexo博客独立服务器如何自动部署?
  • java JVM G1垃圾收集器一些主要特性和工作原理
  • 【网络】HTTP
  • util.callbackify详解:将Promise或Async函数转换为回调风格
  • opencv图像基本操作
  • 动手学深度学习7.6 残差网络(ResNet)-笔记练习(PyTorch)
  • 大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程
  • 基于PHP的文件上传
  • mysql启动报错“本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止”
  • 【区块链 + 航运物流】运力链 | FISCO BCOS应用案例
  • 学懂C++(三十九):网络编程——深入详解 TCP 和 UDP 的区别和应用场景
  • arm接口技术三--裸机开发环境搭建与GPIO开发步骤总结
  • nodemon学习(一)简介、安装、配置、使用
  • redis面试(二十)读写锁WriteLock