数据集:

sayakpaul/nyu_depth_v2

语言:

en

计算机处理:

monolingual

大小:

10K<n<100K

预印本库:

arxiv:1903.03273

许可:

apache-2.0
英文

NYU Depth V2 数据集

数据集概述

根据 dataset homepage 的描述:

NYU-Depth V2数据集由来自微软 Kinect 的RGB和深度相机记录的各种室内场景的视频序列组成。它具有:

  • 1449对密集标记的RGB和深度图像
  • 来自3个城市的464个新场景
  • 407,024个新的无标签帧
  • 每个对象都标有类别和实例编号(如cup1、cup2、cup3等)

该数据集有几个组成部分:

  • 标记数据:有密集的多类别标签的视频数据子集。该数据还经过了预处理,以填充缺失的深度标签。
  • 原始数据:Kinect提供的原始的RGB、深度和加速度计数据。
  • 工具包:用于操作数据和标签的实用函数。

支持的任务

  • 深度估计:深度估计是对给定图像的感知深度的近似任务。换句话说,它是关于测量每个图像像素与摄像机之间的距离。
  • 语义分割:语义分割是将图像的每个像素与类别标签关联的任务。

该数据集还支持其他任务。你可以参考 this resource 了解更多信息。

语言

英语

数据集结构

数据实例

数据点包括训练集和验证集中的图像及其注释的深度图。

{
  'image': <PIL.PngImagePlugin.PngImageFile image mode=RGB at 0x1FF32A3EDA0>,
  'depth_map': <PIL.PngImagePlugin.PngImageFile image mode=L at 0x1FF32E5B978>,
}

数据字段

  • image:包含图像的PIL.Image.Image对象。注意,在访问图像列时:dataset[0]["image"],图像文件会自动解码。解码大量图像文件可能需要很长时间。因此,重要的是首先查询样本索引,然后再查询"image"列,即dataset[0]["image"]应始终优于dataset["image"][0]。
  • depth_map:包含注释深度图的PIL.Image.Image对象。

数据拆分

数据划分为训练集和验证集。训练数据包含47584个图像,验证数据包含654个图像。

可视化

你可以使用以下代码片段来可视化数据集中的样本:

from datasets import load_dataset
import numpy as np
import matplotlib.pyplot as plt


cmap = plt.cm.viridis

ds = load_dataset("sayakpaul/nyu_depth_v2")


def colored_depthmap(depth, d_min=None, d_max=None):
    if d_min is None:
        d_min = np.min(depth)
    if d_max is None:
        d_max = np.max(depth)
    depth_relative = (depth - d_min) / (d_max - d_min)
    return 255 * cmap(depth_relative)[:,:,:3] # H, W, C


def merge_into_row(input, depth_target):
    input = np.array(input)
    depth_target = np.squeeze(np.array(depth_target))

    d_min = np.min(depth_target)
    d_max = np.max(depth_target)
    depth_target_col = colored_depthmap(depth_target, d_min, d_max)
    img_merge = np.hstack([input, depth_target_col])
    
    return img_merge


random_indices = np.random.choice(len(ds["train"]), 9).tolist()
train_set = ds["train"]

plt.figure(figsize=(15, 6))

for i, idx in enumerate(random_indices):
    ax = plt.subplot(3, 3, i + 1)
    image_viz = merge_into_row(
        train_set[idx]["image"], train_set[idx]["depth_map"]
    )
    plt.imshow(image_viz.astype("uint8"))
    plt.axis("off")

数据集创建

策划原理

NYU Depth V2数据集的策划来自于 the paper

我们提出了一种方法来解释室内场景的主要表面、物体和支撑关系,方法是利用RGBD图像。大部分现有工作忽略了物体间的物理交互,或者只适用于整洁的房间和走廊。我们的目标是将典型、常常凌乱的室内场景解析成地板、墙壁、支撑表面和物体区域,并恢复支撑关系。我们主要关注如何最好地利用3D线索来提供结构化的3D解释。

源数据

初始数据收集

该数据集包含1449个RGBD图像,这些图像从美国三个不同城市的多个商业和住宅建筑物中获取,涵盖了26个场景类别中的464个不同室内场景。使用Amazon Mechanical Turk获取了每个图像的每像素密集标签。

注释

注释过程

这是一个复杂的过程。有兴趣的读者可以参考 original paper 的第2、3和4节。

注释员是谁?

AMT注释员。

个人和敏感信息

[需要更多信息]

使用数据的注意事项

数据的社会影响

[需要更多信息]

偏见讨论

[需要更多信息]

其他已知限制

[需要更多信息]

附加信息

数据集策划者

  • 原始NYU Depth V2数据集:Nathan Silberman,Derek Hoiem,Pushmeet Kohli,Rob Fergus
  • 预处理版本:Diana Wofk,Fangchang Ma,Tien-Ju Yang,Sertac Karaman,Vivienne Sze

许可信息

预处理的NYU Depth V2数据集已获得许可,根据 MIT License 进行发布。

引用信息

@inproceedings{Silberman:ECCV12,
  author    = {Nathan Silberman, Derek Hoiem, Pushmeet Kohli and Rob Fergus},
  title     = {Indoor Segmentation and Support Inference from RGBD Images},
  booktitle = {ECCV},
  year      = {2012}
}

@inproceedings{icra_2019_fastdepth,
    author      = {{Wofk, Diana and Ma, Fangchang and Yang, Tien-Ju and Karaman, Sertac and Sze, Vivienne}},
    title       = {{FastDepth: Fast Monocular Depth Estimation on Embedded Systems}},
    booktitle   = {{IEEE International Conference on Robotics and Automation (ICRA)}},
    year        = {{2019}}
}

贡献者

感谢 @sayakpaul 添加了这个数据集。