ScanNet简介
ScanNet是由斯坦福大学、普林斯顿大学和慕尼黑工业大学的研究人员共同开发的大规模RGB-D视频数据集。它包含了超过1500个室内场景的250万个视图,每个视图都带有精确的3D相机姿态、表面重建和实例级语义分割标注。ScanNet的主要特点包括:
- 大规模:包含1500多个扫描场景,250万个视图
- 高质量标注:3D相机姿态、表面重建、实例级语义分割
- 多样性:涵盖各种室内场景,如客厅、卧室、办公室等
- 丰富的附加信息:相机参数、IMU数据等
ScanNet的推出为3D计算机视觉和机器学习领域提供了一个重要的基准数据集,推动了3D场景理解、语义分割、目标检测等任务的研究进展。
数据组织结构
ScanNet数据集按RGB-D序列组织。每个序列存储在名为scene<spaceId>_<scanId>
的目录下,其中每个space对应一个唯一的位置(从0开始索引)。每个序列目录包含以下内容:
<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_2.labels.ply
: 聚合语义分割的可视化<scanId>_2d-label.zip
: 2D投影标签<scanId>_2d-instance.zip
: 2D投影实例
这种组织结构使得研究人员可以方便地访问和处理各种类型的数据,包括原始传感器数据、重建网格以及语义标注。
数据格式
ScanNet使用多种数据格式来存储不同类型的信息:
-
重建表面网格文件(*.ply): 二进制PLY格式,+Z轴为竖直方向。
-
RGB-D传感器流(*.sens): 压缩二进制格式,包含每帧的颜色、深度、相机姿态等数据。
-
表面网格分割文件(*.segs.json): JSON格式,包含分割参数和每个顶点的分割索引。
-
聚合语义标注文件(*.aggregation.json): JSON格式,包含场景ID、分割组等信息。
-
2D标注投影: 将3D聚合标注投影到RGB-D帧中的2D图像。
这些多样化的数据格式为研究人员提供了丰富的信息,以支持各种3D视觉任务的研究和开发。
ScanNet工具包
为了方便研究人员使用ScanNet数据集,项目提供了一系列工具:
-
ScanNet C++工具包: 用于处理ScanNet数据的工具,包括SensReader用于加载.sens数据。
-
相机参数估计代码: 用于估计相机参数和深度去畸变。
-
网格分割代码: 用于预处理网格并准备语义标注的超分割计算代码。
-
BundleFusion重建代码: ScanNet使用BundleFusion进行3D重建。
-
ScanNet扫描仪iPad应用: 用于使用带有Structure.io传感器的iPad轻松捕获RGB-D序列。
-
ScanNet扫描仪数据服务器: 接收来自iPad扫描应用的RGB-D序列的服务器代码。
-
ScanNet数据管理UI: 基于Web的数据管理界面,用于概览可用的扫描数据并控制处理和标注流程。
这些工具大大简化了数据的采集、处理和管理流程,使研究人员能够更加专注于算法的开发和实验。
语义标注工具
ScanNet项目还提供了用于语义标注的Web界面。这些工具是SSTK(Semantic Scene Toolkit)库的一部分。研究人员可以使用这些工具来创建和编辑3D场景的语义标注,从而不断扩充和改进数据集的质量。
基准测试任务
ScanNet为多个3D场景理解任务提供了基准测试:
- 3D物体分类
- 3D物体检索
- 语义体素标注
这些任务的训练/测试数据划分可在Tasks/Benchmark目录中找到。标签映射和预训练模型可随ScanNet数据一起下载。
这些基准测试为研究人员提供了一个统一的评估平台,便于比较不同算法的性能,推动了3D视觉领域的快速发展。
标签映射
ScanNet任务数据发布中的标签映射文件(scannet-labels.combined.tsv
)包含了ScanNet标注中提供的标签(id
)到以下对象类别集的映射:
这种标签映射使得ScanNet能够与其他常用的3D数据集进行比较和集成,增强了数据集的通用性和实用性。
ScanNet++: 新一代高保真3D室内场景数据集
在ScanNet的基础上,研究人员最近推出了ScanNet++数据集。ScanNet++包含450多个3D室内场景,具有以下特点:
- 亚毫米级分辨率的激光扫描
- 注册的3300万像素DSLR图像
- iPhone采集的普通RGB-D流
ScanNet++的3D重建带有长尾和标签模糊语义的标注,可用于基准测试语义理解方法。同时,耦合的DSLR和iPhone采集使其成为测试高质量和普通设置下新视图合成方法的理想平台。
ScanNet++的推出进一步扩展了3D室内场景数据集的边界,为研究人员提供了更高质量、更多样化的数据,有望推动3D视觉技术向更高水平发展。
应用场景
ScanNet数据集在计算机视觉和机器学习领域有广泛的应用,主要包括:
-
3D语义分割: 对3D场景中的每个点或体素进行语义标注。
-
3D实例分割: 不仅识别物体类别,还区分同类物体的不同实例。
-
3D物体检测: 在3D空间中定位和识别物体。
-
场景重建: 从RGB-D数据重建完整的3D场景。
-
新视角合成: 基于已有视角生成新的场景视角。
-
零样本学习: 识别训练集中未出现的物体类别。
-
持续学习: 在不忘记已学知识的前提下学习新知识。
这些应用涵盖了3D视觉的多个重要方向,ScanNet的出现大大推动了这些领域的研究进展。
下载与使用
要获取ScanNet数据,研究人员需要遵循以下步骤:
- 填写ScanNet使用条款协议。
- 使用机构邮箱地址发送至scannet@googlegroups.com。
- 等待回复,通常在一周内会收到下载说明。
值得注意的是,ScanNet数据的使用受到一定的限制,仅允许用于非商业研究目的。使用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作为一个大规模、高质量的3D室内场景数据集,为3D计算机视觉研究提供了宝贵的资源。它不仅包含丰富的RGB-D数据和精确的3D重建,还提供了详细的语义标注和实例分割信息。ScanNet的多样性和规模使其成为开发和评估3D场景理解算法的理想平台。
随着ScanNet++的推出,研究人员现在有了更高质量、更多样化的数据来推动3D视觉技术的发展。这些数据集的持续改进和扩展,将为未来的智能系统在理解和交互3D环境方面铺平道路,有望在机器人、增强现实、自动驾驶等领域产生深远影响。
作为研究人员,充分利用ScanNet和ScanNet++这样的高质量数据集,结合最新的深度学习技术,将有助于突破3D视觉领域的前沿,开发出更智能、更可靠的3D场景理解系统。随着技术的不断进步,我们离实现真正的智能3D环境感知又近了一步。