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

news2024/11/14 21:13:31

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

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

 本文为专栏《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.coloradmin.cn/o/2071199.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python自动化:图片批量添加水印

前言 本文将讲述怎样通过Python自动化的方法&#xff0c;来对照片进行批量的加水印&#xff0c;从而能够有效地阻止他人的非法占有&#xff0c;提高工作的效率。 Python自动化&#xff1a;办公效率的革命 自动化解决方案 实现步骤 读取指定文件夹中的图片&#xff1a;打开…

YOLOv9改进策略【卷积层】| 利用MobileNetv4中的UIB、ExtraDW优化RepNCSPELAN4

一、本文介绍 本文记录的是利用ExtraDW优化YOLOv9中的RepNCSPELAN4&#xff0c;详细说明了优化原因&#xff0c;注意事项等。ExtraDW是MobileNetv4模型中提出的新模块&#xff0c;允许以低成本增加网络深度和感受野&#xff0c;具有ConvNext和IB的组合优势。可以在提高模型精度…

redis | 认识非关系型数据库Redis的哈希数据类型

Redis 非关 kv型 哈希通用命令python 操作hash应用场景 数据类型 数据类型丰富&#xff0c;字符串strings,散列hashes,列表lists&#xff0c;集合sets,有序集合sorted sets等等 哈希 定义 1、由field和关联的value组成的键值对 类似于python的键值对 2、field和value.是字符…

『功能项目』新输入系统【07】

我们打开上一篇06新输入系统项目&#xff0c; 本章要做的事情是摄像机跟随主角移动&#xff0c; 给主角增加一个Player标签方便主摄像机查找主角对象 在编辑场景调好角度&#xff0c;选择Main Camera对象按键盘Ctrl Shift F使运行场景与编辑场景相同 新建CameraCtrl脚本代码 …

秋招突击——8/16——字节广告业务——面经整理——二面挂

文章目录 引言一面面试内容基础知识一、Redis为什么进行AOF重写&#xff1f;二、AQS和Conditon的使用三、乐观锁和分布式锁有什么差异&#xff1f;频繁使用乐观锁行不行&#xff1f;四、Java的即时编译技术五、Java中的JVM调优是如何做的&#xff1f;六、Java中创建对象的流程&…

STM32——BKP备份寄存器RTC实时时钟

首先是理论知识Unix时间戳&#xff1a; 时间戳只显示秒&#xff0c;没有进位&#xff0c;永不进位的秒计数器&#xff0c;60秒就是60秒&#xff0c;100秒就是100秒&#xff0c;它可以和年月日/时分秒进行转换 优点&#xff1a;1、简化硬件电路&#xff08;只需要考虑秒的容量…

C语言 猜数字游戏

目录 1. 随机数⽣成 1.1 rand 1.2 srand 1.3 time 1.4 设置随机数的范围 2. 猜数字游戏实现 游戏要求&#xff1a; 1. 电脑⾃动⽣成1~100的随机数 2. 玩家猜数字&#xff0c;猜数字的过程中&#xff0c;根据猜测数据的⼤⼩给出⼤了或⼩了的反馈&#xff0c;直到猜对&a…

运行微信小程序报错:Bad attr data-event-opts with message

问题 使用uniapp 编译&#xff0c;运行微信小程序环境时&#xff0c;报错 Bad attr data-event-opts with message。&#xff08;这个错误报错原因很多&#xff0c;这里只解决一个&#xff09; 原因 原因是&#xff1a;代码中有&#xff1a; :key"swiperList i"…

猫头虎分享:Python库 Pip 的简介、安装、用法详解入门教程

猫头虎分享&#xff1a;Python库 Pip 的简介、安装、用法详解入门教程 &#x1f3af; 大家好&#xff01;今天猫头虎带您一起探索Python世界中的一个基础工具——Pip。作为一名Python开发者&#xff0c;掌握Pip的使用不仅能帮助你更有效地管理项目中的依赖&#xff0c;还能让你…

【Java】Spring Boot使用 Email 传邮件 (上手图解)

Java系列文章目录 补充内容 Windows通过SSH连接Linux 第一章 Linux基本命令的学习与Linux历史 文章目录 Java系列文章目录一、前言二、学习内容&#xff1a;三、问题描述四、解决方案&#xff1a;4.1 认识依赖4.2 发送邮件步骤4.2.1 先获取授权码4.2.1 邮件配置4.2.2 主体内容…

使用 jar-analyzer 和dbeaver 分析java

https://github.com/jar-analyzer/jar-analyzer 可以进行jar分析&#xff0c;包括method调用 分析完可以通过界面进行一些分析&#xff0c;如果复杂还可以用DbWeaver 打开数据库进行分析

Java SpringBoot+Vue实战教程:如何搭建高中素质评价档案系统?

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

【通俗易懂】限流、降级、熔断有什么区别?

目录 一、限流 1.1 简介 1.2 限流算法 二、降级 2.1 简介 2.2 降级的方式 延迟服务 在粒度范围内关闭服务&#xff08;片段降级或服务功能降级&#xff09; 页面异步请求降级 写降级 读降级 2.3 降级的介入方式 自动开关降级 服务超时 失败次数 发生故障 限流…

Markdown 美化 Github 个人主页

注&#xff1a;本文参考这篇博客 http://t.csdnimg.cn/KXhSw 目录 1 效果展示2 创建仓库3 编写 Markdown3.1 动态波浪图3.2 打字机动图3.3 技术栈图标3.4 项目贡献统计3.5 连续贡献统计3.6 贡献统计图3.7 代码时长统计3.8 仓库代码占比 1 效果展示 先来看看效果&#xff1a; 动…

java整合DL645-2007与Dl645-1997

注意事项: 前导字节-一般在传输帧信息前,都要有0~4个FE不等,所以这里要注意,对于主站来说,直接发送4个FE作为前导字节即可。而从站回复,就不一定了,根据厂家不同而不同,有些没有FE的,也有4个FE的,所以对于接受程序,一定要慎重传输次序-所有的数据项都是先传低字节,…

【生日视频制作】云层直升机飞机机身AE模板修改文字软件生成器教程特效素材【AE模板】

云层直升飞机生日视频制作教程AE模板修改文字特效软件生成器玩法素 怎么如何做的【生日视频制作】云层直升机飞机机身AE模板修改文字软件生成器教程特效素材【AE模板】 生日视频制作步骤&#xff1a; 安装AE软件下载AE模板把AE模板导入AE软件修改图片或文字渲染出视频

web后端(javaEE)开发——servlet

目录 一、web后端开发概述 二、web后端开发环境搭建 1.安装服务器软件 2.安装JDK 三、创建web后端项目 1.创建项目 2.修改设置 3.*在IDEA中集成Tomcat* 四、Servlet创建和应用 1.概述 2.Servlet程序创建与配置 3.分析Servlet程序结构 一、web后端开发概述 web开发&a…

Netty代码阅读

阅读Netty官方文档的时候&#xff0c;提到了Netty主要有三大核心&#xff0c;分别是buffer、channel、Event Model&#xff0c;接下来我们就从阅读Netty代码来理解这三大核心。 示例程序 先给出示例程序&#xff0c;方便自己也方便读者进行debug调试。 Server端代码 # Serv…

mysql启动报错“本地计算机上的MySQL服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止”

我删除&#xff08;手动删除&#xff09;完 binlog 文件后&#xff0c;重新启动mysql服务报错如下&#xff1a; 查看错误日志可以看到 某个 binlog 文件找不到 打开 binlog.index 可以看到里面引用的正是这个文件 解决方法&#xff1a; 要么手动修改 binlog.index 文件&#…

【C++ Primer Plus习题】4.6

问题: 解答: #include <iostream> using namespace std;typedef struct _CandyBar {string brand;float weight;int calorie; }CandyBar;int main() {CandyBar snack[3] { {"德芙",2.1,20},{"箭牌",2.2,16},{"阿尔卑斯",2.3,18}};for (i…