ScanNet

ScanNet

包含2.5百万视图的RGB-D视频数据集及其3D重建

ScanNet是一个丰富的RGB-D视频数据集,包含超过1500次扫描和2.5百万个视图,包括3D相机姿态、表面重建和实例级语义分割标签。用户需通过机构邮箱填写使用协议以下载数据。数据按RGB-D序列组织,包含多种格式的重建网格和注释文件。附带工具有ScanNet C++工具包、相机参数估计代码和网格分割代码。本数据集支持多项场景理解基准任务,并提供相关代码与文档。

ScanNetRGB-D视频数据集3D重建语义分割BundleFusionGithub开源项目

ScanNet

ScanNet 是一个包含 250 万视图的 RGB-D 视频数据集,覆盖超过 1500 次扫描,并附有 3D 摄像机姿态、表面重建和实例级语义分割的标注。

ScanNet 数据

如果您想下载 ScanNet 数据,请使用您的机构电子邮件地址填写 ScanNet 使用条款 协议,并将其发送至 scannet@googlegroups.com

如果您在一周内没有收到回复,可能是您的电子邮件被退回 - 请在重复发送请求之前检查这一点。请不要回复 noreply 邮箱 - 您的邮件将无法被看到。

请查看 更新日志 获得数据发布的更新信息。

数据管理

ScanNet 中的数据按 RGB-D 序列组织。每个序列存储在名为 scene<spaceId>_<scanId>scene%04d_%02d 的目录下,其中每个空间对应一个唯一的位置(从 0 开始编号)。扫描期间捕获的原始数据、摄像机姿态和表面网格重建以及注释元数据都存储在给定序列中。目录结构如下:

<scanId> |-- <scanId>.sens 含彩色帧、深度帧、摄像机姿态和其他数据的 RGB-D 传感器流 |-- <scanId>_vh_clean.ply 高质量重建网格 |-- <scanId>_vh_clean_2.ply 用于语义标注的净化和简化网格 |-- <scanId>_vh_clean_2.0.010000.segs.json 注释网格的过度分割 |-- <scanId>.aggregation.json, <scanId>_vh_clean.aggregation.json 低分辨率和高分辨率网格上的汇总实例级语义注释 |-- <scanId>_vh_clean_2.0.010000.segs.json, <scanId>_vh_clean.segs.json 分别是低分辨率和高分辨率网格的过度分割(由汇总语义注释引用) |-- <scanId>_vh_clean_2.labels.ply 汇总语义分割的可视化;通过 nyu40 标签上色(请参见 img/legend;ply 属性 'label' 表示 nyu40 标签 ID) |-- <scanId>_2d-label.zip 汇总注释标签的 16 位 png 格式原始 2D 投影,使用 ScanNet 标签 ID |-- <scanId>_2d-instance.zip 汇总代注释实例的 8 位 png 格式原始 2D 投影 |-- <scanId>_2d-label-filt.zip 汇总代注释标签的 16 位 png 格式过滤 2D 投影,使用 ScanNet 标签 ID |-- <scanId>_2d-instance-filt.zip 汇总代注释实例的 8 位 png 格式过滤 2D 投影

数据格式

以下是 ScanNet 使用的数据格式概述:

重建表面网格文件 (*.ply): 带 +Z 轴向上方向的二进制 PLY 格式网格。

RGB-D 传感器流 (*.sens): 带每帧颜色、深度、摄像机姿态和其他数据的压缩二进制格式。请参见 ScanNet C++ 工具包 获取更多信息和解析代码。请参见 SensReader/python 获取非常基本的 python 数据导出器。

表面网格分割文件 (*.segs.json)

{ "params": { // 分割参数 "kThresh": "0.0001", "segMinVerts": "20", "minPoints": "750", "maxPoints": "30000", "thinThresh": "0.05", "flatThresh": "0.001", "minLength": "0.02", "maxLength": "1" }, "sceneId": "...", // 分割场景的 ID "segIndices": [1,1,1,1,3,3,15,15,15,15], // 每个顶点的网格分段索引 }

汇总语义注释文件 (*.aggregation.json)

{ "sceneId": "...", // 注释场景的 ID "appId": "...", // 用于创建注释的工具 ID + 版本 "segGroups": [ { "id": 0, "objectId": 0, "segments": [1,4,3], "label": "couch" }, ], "segmentsFile": "..." // 引用的 *.segs.json 分割文件的 ID }

BenchmarkScripts/util_3d.py 提供了解析 *.segs.json, *.aggregation.json*_vh_clean_2.ply 网格文件中的语义实例信息的示例,以及在 BenchmarkScripts/3d_helpers/visualize_labels_on_mesh.py 中的语义分割可视化示例。

2D 注释投影 (*_2d-label.zip, *_2d-instance.zip, *_2d-label-filt.zip, *_2d-instance-filt.zip): 根据计算的摄像机轨迹,将扫描的 3D 汇总注释投影到其 RGB-D 帧中。

ScanNet C++ 工具包

用于处理 ScanNet 数据的工具。SensReader 加载 ScanNet .sens 数据,包括压缩的 RGB-D 帧、摄像机内参和外参以及 IMU 数据。

摄像机参数估计代码

用于估计摄像机参数和深度去畸变的代码。需要计算传感器校准文件,这些文件由管道服务器用于去畸深度。详情请参见 CameraParameterEstimation

网格分割代码

我们用于预处理网格并为语义注释做准备的网格超分割计算代码。请参见 Segmentator 目录中的构建和使用代码。

BundleFusion 重建代码

ScanNet 使用 BundleFusion 代码进行重建。请参阅 https://github.com/niessner/BundleFusion 中的 BundleFusion 仓库。如果您使用 BundleFusion,请引用原文:

@article{dai2017bundlefusion,
  title={BundleFusion: Real-time Globally Consistent 3D Reconstruction using On-the-fly Surface Re-integration},
  author={Dai, Angela and Nie{\ss}ner, Matthias and Zoll{\"o}fer, Michael and Izadi, Shahram and Theobalt, Christian},
  journal={ACM Transactions on Graphics 2017 (TOG)},
  year={2017}
}

ScanNet Scanner iPad 应用

ScannerApp 设计用于使用附加 Structure.io 传感器的 iPad 轻松捕获 RGB-D 序列。

ScanNet Scanner 数据服务器

Server 包含从运行 Scanner 应用的 iPad 接收 RGB-D 序列的服务器代码。

ScanNet 数据管理 UI

WebUI 包含基于 Web 的数据管理 UI,用于提供可用扫描数据的概览并控制处理和注释管道。

ScanNet 语义注释工具

ScanNet 提供基于 Web 的界面,代码和文档属于 SSTK 库的一部分。请参见 https://github.com/smartscenes/sstk/wiki/Scan-Annotation-Pipeline 获取概览。

基准任务

我们为 ScanNet 提供了几个场景理解基准任务的代码:

  • 3D 物体分类
  • 3D 物体检索
  • 语义体素标注

训练/测试拆分在 Tasks/Benchmark 中给出。 标签映射和训练好的模型可以随 ScanNet 数据发布一起下载。

详情请参见 Tasks

标签

ScanNet 任务数据发布中的标签映射文件 (scannet-labels.combined.tsv) 包含 ScanNet 注释中提供的标签 (id) 与 NYUv2ModelNetShapeNetWordNet 词汇集合中的对象类别集的映射。可以随任务数据一起下载 (--task_data) 或单独下载 (--label_map)。

引用

如果您使用 ScanNet 数据或代码,请引用:

@inproceedings{dai2017scannet,
    title={ScanNet: Richly-annotated 3D Reconstructions of Indoor Scenes},
    author={Dai, Angela and Chang, Angel X. and Savva, Manolis and Halber, Maciej and Funkhouser, Thomas and Nie{\ss}ner, Matthias},
    booktitle = {Proc. Computer Vision and Pattern Recognition (CVPR), IEEE},
    year = {2017}
}

帮助

如果您有任何问题,请联系 scannet@googlegroups.com

更新日志

许可

数据根据 ScanNet 使用条款 发布,代码根据 MIT 许可发布。

版权所有 (c) 2017

编辑推荐精选

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成热门AI工具AI图像AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具使用教程AI营销产品酷表ChatExcelAI智能客服
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

数据安全AI助手热门AI工具AI辅助写作AI论文工具论文写作智能生成大纲
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

下拉加载更多