ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

EmbodiedScan标注格式深度解读:9-DoF框、Euler-Depth坐标系与语言提示词全拆解

EmbodiedScan标注格式深度解读:9-DoF框、Euler-Depth坐标系与语言提示词全拆解 EmbodiedScan标注格式深度解读9-DoF框、Euler-Depth坐标系与语言提示词全拆解【免费下载链接】EmbodiedScan[CVPR 2024 NeurIPS 2024] EmbodiedScan: A Holistic Multi-Modal 3D Perception Suite Towards Embodied AI项目地址: https://gitcode.com/gh_mirrors/em/EmbodiedScan想要训练一个能听懂人话、看懂房间的具身智能Embodied AI模型第一步就是搞懂数据长什么样。EmbodiedScan是 CVPR 2024 发布的多模态 3D 感知数据集与基准包含 5k 次扫描、100 万张第一视角 RGB-D 图像、100 万条语言提示词、16 万个带朝向的 3D 框以及 80 类的稠密语义占用标注。本文将从零开始带你逐字段拆解EmbodiedScan 标注格式重点解读 9-DoF 框、Euler-Depth 坐标系和语言提示词三大核心让你快速上手训练与评测。一、EmbodiedScan 标注格式整体一览在动手写代码之前先建立全局观。EmbodiedScan 的标注分布在两类文件中场景级标注embodiedscan_infos_train.pkl、embodiedscan_infos_val.pkl、embodiedscan_infos_test.pkl记录每帧图像的位姿、点云、3D 框、占用等语言级标注embodiedscan_train_vg.json、embodiedscan_val_vg.json等记录文本提示词 → 3D 目标的对应关系。官方数据规模对比如下表标注维度数量说明扫描场景5k来自 ScanNet / 3RScan / Matterport3D 等RGB-D 视图1M第一视角含深度图与位姿语言提示词1M支持 3D 视觉定位Grounding任务3D 目标框160k9-DoF覆盖 760 类别语义占用80 类稠密体素级语义标注二、9-DoF 三维框标注格式详解传统 3D 检测数据集如 KITTI、nuScenes通常只标注一个 yaw 角框只能绕竖直轴旋转无法表达斜靠在墙上的画框倒扣的杯子这类姿态。EmbodiedScan 采用 9 自由度9-DoF框每个框用 9 个浮点数表示(x, y, z, x_size, y_size, z_size, alpha, beta, gamma)(x, y, z)框中心在全局坐标系下的位置(x_size, y_size, z_size)三个轴向上的尺寸(alpha, beta, gamma)三个欧拉角Euler Angles分别描述绕不同轴的旋转。9-DoF 与 7-DoF 的兼容设计为了兼容 7-DoF带单 yaw的老式数据代码里做了巧妙处理若输入只有 7 维会自动补两个0作为伪欧拉角见embodiedscan/structures/bbox_3d/euler_box3d.py中的EulerInstance3DBoxes类输入 6 维时同理补三个0。也就是说同一套数据结构可以无缝承接 ScanNet 等老数据集的标注这也是 EmbodiedScan 能轻松做多数据集融合的原因之一。从 9-DoF 到 8 个角点9-DoF 框在计算 IoU、可视化时需要先还原为 8 个角点。过程分为三步先由尺寸生成归一化角点再用rotation_3d_in_euler按欧拉角旋转最后平移到中心位置。核心实现在embodiedscan/structures/bbox_3d/utils.py的rotation_3d_in_euler其中使用euler_angles_to_matrix(angles, ZXY)完成旋转矩阵构造。三、Euler-Depth 坐标系绕 Z 轴与 X 轴的旋转约定理解了 9 个数字的含义还要知道它们住在哪个坐标系里。EmbodiedScan 采用的Euler-Depth是 MMDetection3D 中 Depth 坐标系的扩展up z ^ y front | / | / 0 ------ x rightx 轴指向右y 轴指向前场景正前方z 轴竖直向上框的中心原点设为(0.5, 0.5, 0.5)即框体中心而非底边中心euler_depth_box3d.py中origin(0.5, 0.5, 0.5)默认值三个欧拉角按ZXY顺序组合先绕 Z 轴、再绕 X 轴、最后绕 Y 轴由 PyTorch3D 的euler_angles_to_matrix(angles, ZXY)统一实现。在embodiedscan/structures/bbox_3d/box_3d_mode.py中Box3DMode枚举新增了EULER_DEPTH 4与 LIDAR、CAM、DEPTH 等模式并列。数据读取时embodiedscan/datasets/embodiedscan_dataset.py中box_type_3dEuler-Depth参数会把原始标注封装成EulerDepthInstance3DBoxes对象后续的翻转、旋转、缩放等数据增强全部在该类中完成。四、语言提示词标注文本如何指向 3D 目标语言提示词Language Prompt是 EmbodiedScan 区别于传统 3D 检测数据集的最大亮点。每条标注是一个 JSON 对象包含以下关键字段字段含义scan_id所属扫描场景 IDtext自然语言描述如 Find the table that is closer to the countertarget_id目标物体的实例 ID训练/验证阶段提供distractor_ids干扰物实例 ID 列表用于构造负样本tokens_positive描述词在text中的字符起止位置辅助模型对齐文本与物体视角相关提示词与难度标签解析逻辑集中在embodiedscan/datasets/mv_3dvg_dataset.py的MultiView3DGroundingDataset中有两个设计值得关注视角相关View-Dep判定_is_view_dep方法检查文本是否包含front、behind、left、right、facing等方位词这类提示词与观察视角强相关是评测中单独统计的一档Easy / Hard / View-Dep / Unique / Multi难度自动标记is_hard 干扰物数量 3is_unique 无干扰物评测指标GroundingMetric位于embodiedscan/eval/metrics/grounding_metric.py会按这些子集分别汇报 AP0.25 / AP0.5。一个真实的语言提示词示例teaser 图中就展示了这样一条典型标注Find the table that is closer to the counter, it is farthest from the chair and in front of the toaster。它同时包含距离关系closer to / farthest from与方位关系in front of模型必须综合多视角信息才能正确锁定目标这正是 Embodied AI 场景下人类指令 → 3D 定位的真实挑战。五、占用标注与轴对齐矩阵除稀疏的 3D 框外EmbodiedScan 还提供80 类的稠密语义占用标注每个占用体素记录(x, y, z, class_id)保存在各场景的occupancy/occupancy.npy中由embodiedscan/converter/extract_occupancy_ann.py提取。embodiedscan_dataset.py中gt_occupancy字段即为该数组且类别会通过occ_label_mapping映射到训练用标签。此外每个场景还带有一个 4x4 的axis_align_matrix轴对齐矩阵用于把原始坐标系对齐到统一的全局坐标系多视角位姿计算都基于它见_get_axis_align_matrix方法。理解这一点你才能正确地把图像、点云与 3D 框关联起来。六、快速上手读取标注与训练基线拿到数据集后最快的上手方式是克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/em/EmbodiedScan然后运行python install.py all参考data/README.md组织数据目录结构运行转换脚本提取图像运行官方embodiedscan/tutorial.ipynb体验数据集分析与可视化训练基线python tools/train.py configs/detection/mv-det3d_8xb4_embodiedscan-3d-284class-9dof.py。值得留意的是检测任务配置里类别数为 284而语言接地Grounding任务使用configs/grounding/mv-grounding_8xb12_embodiedscan-vg-9dof.py等配置两者共享同一套 Euler-Depth 框标注只是数据组织和评测方式不同。七、总结EmbodiedScan 的标注格式设计体现了面向具身智能的核心理念9-DoF 框刻画任意姿态的物体Euler-Depth 坐标系给出统一且可扩展的几何表达语言提示词把自然语言与 3D 世界连接起来。无论你是要做 3D 目标检测、视觉定位还是占用预测先吃透这套格式都能让后续的模型开发事半功倍。希望这篇拆解能成为你打开 EmbodiedScan 的第一把钥匙【免费下载链接】EmbodiedScan[CVPR 2024 NeurIPS 2024] EmbodiedScan: A Holistic Multi-Modal 3D Perception Suite Towards Embodied AI项目地址: https://gitcode.com/gh_mirrors/em/EmbodiedScan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表