five

VLA-3D|3D场景理解数据集|室内导航数据集

收藏
arXiv2024-11-06 更新2024-11-08 收录
3D场景理解
室内导航
下载链接:
https://github.com/HaochenZ11/VLA-3D
下载链接
链接失效反馈
资源简介:
VLA-3D是由卡内基梅隆大学机器人研究所创建的一个大型3D语义场景理解与导航数据集。该数据集包含超过11.5K个扫描的室内房间,23.5M个对象间的语义关系,以及9.7M个合成生成的指代语句。数据集内容包括处理后的3D点云、语义对象和房间标注、场景图、可导航的自由空间标注以及指代语言语句。创建过程涉及从多个现有数据集(如ScanNet、Matterport3D等)中提取3D扫描数据,并生成详细的场景图和语言语句。该数据集主要应用于室内导航系统,旨在解决复杂场景中的对象识别与空间推理问题,特别是对于需要高度鲁棒性的实际应用场景。
提供机构:
卡内基梅隆大学机器人研究所
创建时间:
2024-11-06
原始信息汇总

VLA-3D 数据集

简介

VLA-3D 数据集是一个用于视觉语言基础的3D对象参考数据集,适用于视觉语言导航(VLN)等高级任务。该数据集包含900万+语言陈述,这些陈述是为7635个3D场景中的11619个区域合成生成的,这些场景来自多个3D扫描数据集。数据集作为CMU Vision-Language-Autonomy (VLA) Challenge的一部分发布。每个数据源的示例场景可以在sample_data目录下找到。

新闻

  • [2024-07] 我们发布了数据集的第一个版本。下载说明请参考下载部分。

下载

安装 miniotqdm: bash pip install minio tqdm

运行 download_dataset.py 脚本。脚本可以使用以下参数:

  • --download_path: 下载数据集的输出文件夹路径。默认为 VLA-3D_dataset
  • --subset: 指定要下载的数据集源名称,以仅下载数据集的子集。可选值包括 Matterport/Scannet/HM3D/Unity/ARKitScenes/3RScan。如果不提供此参数,将下载完整数据集。

数据将以zip文件的形式下载到输出目录中,每个文件对应一个3D数据集源。

bash python download_dataset.py --download_path full_dataset

原始数据

数据集包含以下六个3D扫描数据集的场景:

除了Unity场景是合成生成的,其他数据集均为真实世界数据。每个场景中的对象数量从4到2264不等。

数据集格式

数据集的整体文件结构如下:

<dataset_folder>/ -- <scene_name>/ -- <scene_name>_pc_result.ply 处理后的整个场景点云 -- <scene_name>_object_split.npy 包含对象ID和分割索引的文件,用于与.ply文件一起使用 -- <scene_name>_region_split.npy 包含区域ID和分割索引的文件,用于与.ply文件一起使用 -- <scene_name>_object_result.csv 对象信息文件,包含对象ID、类别标签、边界框和每个场景中每个对象的主导颜色 -- <scene_name>_region_result.csv 区域信息文件,包含区域ID、区域名称、边界框 -- <scene_name>_scene_graph.json 场景图,包含每个场景中每个区域/房间内的对象关系 -- <scene_name>_referential_statements.json 包含生成的语言陈述的JSON文件

生成的场景图以JSON格式存储,所有对象及其属性和对象间关系按区域存储在每个场景的文件中。对象属性包括语义类别标签、边界框、大小、主导颜色和方向(如果有)。

生成的语言也以JSON格式存储,每个JSON对象包含语言陈述、目标对象和锚对象的信息、关系类型和干扰对象。目标对象以object_id、类别标签、中心点、大小(边界框的体积)和前三个主导颜色存储。

数据集生成

数据集生成流程包括三个主要步骤:1) 3D扫描数据处理,2) 场景图生成,和3) 语言生成

3D扫描数据处理

每个数据集的3D场景存储在每个场景的单独子文件夹中。场景首先被预处理为五个文件:

  • 点云.ply文件。
  • 包含区域点ID和结束索引的.npy文件。
  • 包含对象点ID和结束索引的.npy文件。
  • 包含区域信息的CSV文件。
  • 包含对象信息的CSV文件。

点云生成

全彩色场景点云按以下方式生成并存储在 <scene_name>_pc_result.ply 中:

  • Matterport-3D、ScanNet和ARKitScenes将场景网格存储为带有预烘焙颜色的.ply文件,因此这些数据集的场景级点云直接从原始.ply文件中获取。
  • HM3D、3RScan和Unity数据集将场景存储在.glb和.fbx网格中,并使用UV映射进行纹理处理。点云因此从这些场景中均匀采样,颜色从原始纹理中采样并烘焙到采样点中。Unity中每个场景的采样点数与每个场景中的对象数成比例,3RScan和HM3D网格的总表面积按 $2*10^{-4}$ 划分进行采样。

每个.ply文件存储点坐标和RGB值,不包含对象和区域ID。相反,点首先按区域ID排序,然后按对象ID排序。两个.npy文件:<scene_name>_object_split.npy<scene_name>_region_split.npy 分别包含 n_objects x 2n_regions x 2 数组。每个数组的第一列包含各自的对象和区域ID,如果某些点属于未标记的对象和区域,则可能从-1开始。第二列包含给定各自ID的区域和对象的结束索引。这些文件可以与 numpy.split 一起使用,在将.ply文件读取为numpy数组后,分别分割对象和区域点。visualizer 包含使用这些文件分割区域的示例。

区域级信息

区域CSV文件包含以下信息:

  • region_id: 场景内区域的唯一ID
  • region_label: 区域名称(来自源数据或基于启发式标记)
  • region_bbox_c[xyz], region_bbox_[xyz]length, region_bbox_heading: 区域边界框的中心点、大小和方向角(当前所有数据集的方向角为0,区域边界框为轴对齐)

ScanNet、ARKitScenes和3RScan每个场景已经包含一个区域,因此区域边界框是整个点云的边界框。Matterport-3D的区域边界框从原始数据集中获取,而HM3D和Unity的轴对齐边界框从按区域分割的点中创建。

对象级信息

  • object_id: 场景内对象的唯一ID
  • region_id: 对象所属区域的ID
  • raw_label: 原始数据集中给定的对象名称
  • nyu_id, nyu40_id, nyu_label, nyu40_label: 基于NYUv2NYU40 模式的类别索引和名称
  • object_bbox_c[xyz], object_bbox_[xyz]length, object_bbox_heading: 定向对象边界框的中心点、长度、宽度、高度和方向
  • object_front_heading: 具有规范前方向的对象的前方向
  • object_color_[rgb][123]: 最多前三个主导颜色的RGB值
  • object_color_scheme[123]: 基于颜色映射的前三个主导颜色的名称
  • object_color_scheme_percentage[123]: 属于前三个主导颜色的点所占百分比
  • object_color_scheme_average_dist[123]: 分类为前三个颜色的点与这些颜色的LAB空间中的颜色值之间的平均距离

原始作者提供的类别映射用于将ScanNet和Matterport-3D标签映射到NYUv2和NYU40标签。我们为Unity、HM3D、ARKitScenes和3RScan数据集手动创建了新的类别映射文件,位于unityhm3d_full_mappings.csvarkit_cat_mapping.csv3rscan_full_mapping.csv

主导颜色

为了增强对象参考陈述的颜色信息,我们将每个对象的主导颜色分类为一组15种基本颜色。对于每个分割对象,点级颜色从RGB映射到LAB空间,然后使用CSS3颜色作为锚点进行聚类。CSS3颜色标签然后使用3d_data_preprocess/utils/dominant_colors_new_lab.py中的启发式方法映射到一组15种基本颜色。如果超过10%的点被分配到特定颜色,则该颜色是主导颜色,并保存前3个或更少的主导颜色。

处理每个原始数据源场景的脚本位于3d_data_preprocess/

自由空间生成

为了提供额外的导航目标,每个扫描还被处理以生成水平可穿越的自由空间。房间中的单独可穿越区域被分块为子区域,为这些空间生成与其他场景中对象的空间关系,以创建对这些空间的明确参考(例如“桌子附近的空间”)。

场景图生成

使用预处理文件按区域计算空间关系,并使用每种关系的启发式方法。所有使用的关系都是视图无关的,因为它们不依赖于场景的视角。此外,如果目标/锚点边界框显著重叠或包含在另一个边界框中,则过滤所有关系。使用的关系包括:

关系 定义 同义词 附加属性
Above 目标在锚点上方 Over
Below 目标在锚点下方 Under, Beneath, Underneath
Closest 目标是在特定类别中离锚点最近的物体 Nearest 跨类别
Farthest 目标是在特定类别中离锚点最远的物体 Most distant from 跨类别
Between 目标在两个锚点之间 In the middle of, In-between 三元关系
Near 目标在锚点的一定距离阈值内 Next to, Close to, Adjacent to, Beside 对称
In 目标在锚点内部 Inside, within
On 目标在Z轴上与锚点接触并在其上方 On top of

生成场景图的脚本位于scene_graph/文件夹。

语言生成

基于计算的空间关系,使用类似于Sr3D [1]的模板生成方法合成生成语言陈述。从上表中,每个关系的同义词用于增加陈述的多样性。生成的语言陈述确保:

  1. 视图无关:目标对象的关系谓词不依赖于场景的视角
  2. 唯一性:在区域中只有一种可能性存在
  3. 最小化:遵循人类语言,使用尽可能少的描述符来消除目标对象的歧义

每个语言生成组件的详细信息如下。

语言配置

语言配置文件包含生成人类可读句子所需的所有参数和模板。它们包含每种关系类型的模板,例如“[目标对象][关系][锚点对象]”,以及每种关系的同义词。这些结构蓝图为相同的

AI搜集汇总
数据集介绍
main_image_url
构建方式
VLA-3D数据集的构建基于五个真实世界的3D扫描数据集:ScanNet、Matterport3D、Habitat-Matterport 3D (HM3D)、3RScan和ARKitScenes,以及Unity中生成的场景。通过处理这些扫描数据,生成点云文件、提取对象级别的属性和语义类别标签、构建大规模的场景图、生成可遍历的自由空间标注以及合成参考语言语句。这些步骤确保了数据集的多样性和复杂性,为3D语义场景理解和导航任务提供了丰富的资源。
使用方法
VLA-3D数据集适用于多种3D视觉和语言引导的任务,特别是室内导航和语义场景理解。研究者可以利用数据集中的点云、语义对象和房间标注、场景图、可遍历的自由空间标注以及参考语言语句进行模型训练和评估。通过公开的代码和数据集可视化工具,用户可以高效地生成和分析数据,推动3D视觉语言模型的进一步发展。
背景与挑战
背景概述
随着大型语言模型(LLMs)和视觉语言模型(VLMs)的兴起,多模态、多任务的具身智能体在仅使用自然语言输入的情况下在多样环境中操作的潜力日益增长。室内导航使用自然语言指令是其中一个应用领域,然而,尽管取得了进展,由于需要空间推理和语义理解,尤其是在包含许多细粒度类别对象的任意场景中,这一问题仍然具有挑战性。为了应对这一挑战,我们精心策划了最大的现实世界视觉和语言引导的3D场景数据集(VLA-3D),包含超过11.5K个从现有数据集中扫描的3D室内房间,23.5M个启发式生成的对象间语义关系,以及9.7M个合成生成的指代性陈述。该数据集由处理的3D点云、语义对象和房间标注、场景图、可导航自由空间标注以及专注于视图无关空间关系的指代性语言陈述组成,旨在特别支持导航任务,尤其是在真实世界系统中,必须保证在不断变化的场景和语言不完美情况下的鲁棒性。
当前挑战
VLA-3D数据集面临的挑战包括:首先,场景中可能包含数百个对象,这些对象属于细粒度类别,并且有许多相似对象,这增加了识别和理解的复杂性。其次,人类的指代性语言通常涉及空间推理、功能性、开放词汇语言,甚至可能是不正确或指代不存在的事物,例如“桌子上的遥控器”实际上在沙发上。第三,3D空间中可用的视觉语言数据的规模与2D数据相比显得微不足道,而2D数据对2D视觉语言学习方法的成功至关重要。尽管基础模型取得了显著进展,但这些问题在应用于机器人技术时仍然难以解决,因为当前方法无法提供真实世界部署所需的准确性和鲁棒性。此外,构建过程中遇到的挑战包括生成大规模场景图和可导航自由空间的复杂性,以及确保生成的指代性语言陈述的视图无关性和无歧义性。
常用场景
经典使用场景
VLA-3D数据集在3D语义场景理解和导航领域中,经典地应用于训练和评估视觉语言模型(VLMs)在复杂室内环境中的导航能力。通过提供丰富的3D点云数据、语义对象和房间标注、场景图以及导航自由空间标注,该数据集支持模型学习如何在多对象、多类别的环境中进行精确的空间推理和语义理解,从而实现自然语言指令下的室内导航。
解决学术问题
VLA-3D数据集解决了在复杂3D场景中进行视觉语言导航的学术难题,特别是在处理细粒度对象类别和多样化的空间关系时。它通过提供大规模的语义关系和参考语言语句,帮助研究者开发能够处理开放世界变化和语言不完美的鲁棒性模型,推动了3D视觉语言学习方法的发展,并为室内导航系统的交互性提供了新的研究方向。
实际应用
在实际应用中,VLA-3D数据集为开发家庭助手等室内导航机器人提供了关键资源。通过训练模型在复杂室内环境中进行精确的视觉语言导航,该数据集支持机器人理解和执行自然语言指令,从而在家庭环境中提供高效的服务。此外,它还促进了多模态交互系统的发展,使得机器人能够更好地与人类用户进行沟通和协作。
数据集最近研究
最新研究方向
在机器人与计算机视觉的交叉领域,VLA-3D数据集的最新研究方向聚焦于提升3D场景理解与导航的鲁棒性和交互性。该数据集通过整合大规模的3D室内场景扫描数据、语义关系和合成语言指令,旨在解决复杂场景中对象识别与空间推理的难题。前沿研究不仅关注于改进现有模型的准确性和泛化能力,还探索如何利用大型语言模型(LLMs)增强语言与视觉的融合,以实现更自然、更高效的室内导航系统。此外,研究者们还在开发能够动态适应环境变化和语言指令不准确性的智能代理,以推动交互式室内导航技术的发展。
相关研究论文
  • 1
    VLA-3D: A Dataset for 3D Semantic Scene Understanding and Navigation卡内基梅隆大学机器人研究所 · 2024年
以上内容由AI搜集并总结生成
用户留言
有没有相关的论文或文献参考?
这个数据集是基于什么背景创建的?
数据集的作者是谁?
能帮我联系到这个数据集的作者吗?
这个数据集如何下载?
点击留言
数据主题
具身智能
数据集  4098个
机构  8个
大模型
数据集  439个
机构  10个
无人机
数据集  37个
机构  6个
指令微调
数据集  36个
机构  6个
蛋白质结构
数据集  50个
机构  8个
空间智能
数据集  21个
机构  5个
5,000+
优质数据集
54 个
任务类型
进入经典数据集
热门数据集

Breast Ultrasound Images (BUSI)

小型(约500×500像素)超声图像,适用于良性和恶性病变的分类和分割任务。

github 收录

Titanic Dataset

Titanic Data Analysis: A Journey into Passenger Profiles and Survival Dynamics

kaggle 收录

中国高分辨率高质量PM2.5数据集(2000-2023)

ChinaHighPM2.5数据集是中国高分辨率高质量近地表空气污染物数据集(ChinaHighAirPollutants, CHAP)中PM2.5数据集。该数据集利用人工智能技术,使用模式资料填补了卫星MODIS MAIAC AOD产品的空间缺失值,结合地基观测、大气再分析和排放清单等大数据生产得到2000年至今全国无缝隙地面PM2.5数据。数据十折交叉验证决定系数R2为0.92,均方根误差RMSE为10.76 µg/m3。主要范围为整个中国地区,空间分辨率为1 km,时间分辨率为日、月、年,单位为µg/m3。注意:该数据集持续更新,如需要更多数据,请发邮件联系作者(weijing_rs@163.com; weijing@umd.edu)。 数据文件中包含NC转GeoTiff的四种代码(Python、Matlab、IDL和R语言)nc2geotiff codes。

国家青藏高原科学数据中心 收录

OpenSonarDatasets

OpenSonarDatasets是一个致力于整合开放源代码声纳数据集的仓库,旨在为水下研究和开发提供便利。该仓库鼓励研究人员扩展当前的数据集集合,以增加开放源代码声纳数据集的可见性,并提供一个更容易查找和比较数据集的方式。

github 收录

FAOSTAT Agricultural Data

FAOSTAT Agricultural Data 是由联合国粮食及农业组织(FAO)提供的全球农业数据集。该数据集涵盖了农业生产、贸易、价格、土地利用、水资源、气候变化、人口统计等多个方面的详细信息。数据包括了全球各个国家和地区的农业统计数据,旨在为政策制定者、研究人员和公众提供全面的农业信息。

www.fao.org 收录