ScanNet

GitHub
2.3k 368 困难 1 次阅读 今天NOASSERTION开发框架其他图像
AI 解读 由 AI 自动生成,仅供参考

ScanNet 是一个大规模 RGB-D 视频数据集,专为推动三维场景理解研究而构建。它收录了超过 1500 个真实室内场景的扫描数据,包含 250 万帧视图,并提供了精确的 3D 相机姿态、高质量表面重建模型以及实例级的语义分割标注。

在三维视觉领域,获取带有精细标注的真实世界数据一直是个难题。ScanNet 通过提供成对的彩色与深度图像序列,结合自动化的网格重建和人工校验的语义标签,有效解决了训练深度学习模型时“数据荒”的问题,让算法能更准确地识别和理解复杂的空间结构。

这套数据主要面向计算机视觉研究人员、AI 开发者及机器人领域的工程师。无论是开发室内导航系统、构建数字孪生应用,还是训练语义分割网络,ScanNet 都能提供坚实的基础设施支持。其独特亮点在于不仅提供了原始的传感器流数据,还附带了从超分割网格到聚合语义标签的完整处理链路,甚至包含了 2D 投影标注,极大地方便了多模态算法的验证与对比。借助官方提供的解析工具,用户可以轻松提取所需的几何与语义信息,快速开展前沿探索。

使用场景

某机器人团队正在开发一款能在复杂室内环境中自主导航并识别物体的服务机器人,需要训练高精度的 3D 语义感知模型。

没有 ScanNet 时

  • 数据获取成本极高:团队需自行搭建昂贵的激光雷达与深度相机阵列,耗费数周时间扫描真实房间,且难以覆盖多样化的家居布局。
  • 标注工作几乎不可行:人工对数百万帧 RGB-D 图像进行像素级 3D 实例分割标注(如区分“沙发”与“椅子”的具体边界)耗时数月,且极易出错。
  • 缺乏统一基准验证:由于缺少包含精确相机位姿和重建网格的标准数据集,算法效果无法在公平环境下与其他前沿研究对比,迭代方向模糊。
  • 多模态数据对齐困难:自行采集的彩色图、深度图与 3D 点云往往存在时间或空间上的微小错位,导致模型训练收敛缓慢甚至失败。

使用 ScanNet 后

  • 即刻拥有海量高质量数据:直接下载包含 1500+ 个真实场景、250 万视角的 RGB-D 视频流,涵盖各种光照条件和房间类型,无需自建采集系统。
  • 开箱即用的精细标注:直接利用已提供的实例级语义分割标签和过分割网格文件,将原本数月的标注周期缩短为零,团队可立即投入模型训练。
  • 建立标准化评估体系:基于 ScanNet 官方基准测试脚本,快速量化模型在 3D 检测与分割任务上的精度,清晰定位技术短板并优化算法。
  • 完美的多模态同步:利用数据集中预校准的相机位姿和重建网格,确保颜色、深度与几何信息严格对齐,显著提升了模型训练的稳定性和最终精度。

ScanNet 通过提供大规模、全标注且严格对齐的 3D 室内场景数据,将研发重心从繁琐的数据工程转移到了核心算法创新上,极大加速了具身智能技术的落地进程。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明

依赖
notesScanNet 主要是一个数据集而非单一的 AI 模型工具。README 中未提供具体的深度学习运行环境需求(如 GPU 型号、Python 版本等)。数据使用需签署协议并通过机构邮箱申请。提供的代码组件(如 C++ Toolkit、BundleFusion、Segmentator)通常需要自行编译。部分基准测试脚本依赖 Python,但具体版本和库未在文中列出。
python未说明
C++ Toolkit (用于解析.sens 文件)
BundleFusion (用于重建,需单独编译)
SSTK (用于语义标注工具)
ScanNet hero image

快速开始

ScanNet

ScanNet 是一个 RGB-D 视频数据集,包含超过 1500 次扫描中的 250 万帧图像,并标注了 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
    聚合标注标签的原始 2D 投影,以 16 位 PNG 格式保存,带有 ScanNet 标签 ID
|-- <scanId>_2d-instance.zip
    聚合标注实例的原始 2D 投影,以 8 位 PNG 格式保存
|-- <scanId>_2d-label-filt.zip
    过滤后的聚合标注标签 2D 投影,以 16 位 PNG 格式保存,带有 ScanNet 标签 ID
|-- <scanId>_2d-instance-filt.zip
    过滤后的聚合标注实例 2D 投影,以 8 位 PNG 格式保存

数据格式

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

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

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": "沙发"
    },
  ],
  "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 代码进行重建。请参考 BundleFusion 仓库:https://github.com/niessner/BundleFusion。如果您使用 BundleFusion,请引用原始论文:

@article{dai2017bundlefusion,
  title={BundleFusion: 实时全局一致的 3D 重建,采用即时表面重集成},
  author={戴安吉拉、尼瑟纳、佐勒费尔、伊扎迪、特奥巴尔特},
  journal={ACM 图形学汇刊 2017 (TOG)},
  year={2017}
}

ScanNet 扫描仪 iPad 应用程序

ScannerApp 旨在通过配备 Structure.io 传感器的 iPad 轻松捕获 RGB-D 序列。

ScanNet 扫描仪数据服务器

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

ScanNet 数据管理 UI

WebUI 包含基于 Web 的数据管理界面,用于提供可用扫描数据的概览,并控制处理和标注流程。

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)到 NYUv2ModelNetShapeNet 以及 WordNet 同义词集的对象类别集合的映射。可随任务数据一起下载(--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 许可证授权。

版权所有 © 2017

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|6天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

151.3k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|2天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|2天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|5天前
插件开发框架