包含963条高质量轨迹,提供同步深度图像与RGB视频,支持28自由度双臂操作,适用于RGB-D manipulation与3D场景理解研究。【此简介由AI生成】
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
ego_vis.pngLFS | 5 个月前 |
以下内容由 AI 翻译,如有问题请 点此提交 issue 反馈
license: cc-by-4.0 task_categories:
- robotics tags:
- unitree-g1
- pick-and-place
- simulation
- curobo
- depth-perception
- rgbd size_categories:
- 100K<n<1M language:
- en pretty_name: Unitree G1 Apple Pick and Place with Depth Dataset
Unitree G1 苹果抓取与放置深度数据集
正视图(全局视角) |
侧视图(轮廓视角) |
俯视图(鸟瞰视角) |
自我中心视角(机器人视角) |
| Unitree G1 执行抓取放置任务的多视角展示。 | |
深度数据可视化
为帮助理解原始深度值,此处提供归一化深度图像(为视觉清晰度)与其对应的 RGB 帧的并排对比。
归一化深度图像 (用于可视化) |
对应 RGB 图像 (来自 `rs_view` 相机) |
| 样本深度帧(归一化至 0-255 以进行灰度可视化)及其同步的 RGB 对应帧。 | |
## 数据集描述
Unitree G1 苹果抓取与放置深度数据集包含963 条高质量轨迹,每条轨迹均带有逐帧深度图像,适用于 RGB-D 操作研究。机器人使用双臂和三指手将红苹果从初始位置抓取并放入碗中。所有轨迹均包含来自头戴式相机的同步深度测量数据。
主要特点:
- 963 条带深度数据的成功轨迹
- 每时间步 256×256 深度图像(共 277,592 帧)
- 28 自由度控制:双臂(7+7)+ 灵巧手(7+7)
- 256×256 RGB 视频,20 FPS(自我视角)
- CuRobo 运动规划(无碰撞轨迹)
- MuJoCo + RoboCasa 仿真,具备真实感深度渲染
本数据集扩展了基础数据集,增加了深度感知能力,适用于 RGB-D 操作和 3D 场景理解研究。
数据可用性说明: 为在存储限制内保持可访问性,此处托管的深度数据是包含10 个样本片段的子集。这允许用户验证数据结构和质量。包含所有 963 条轨迹深度图的完整数据集已单独存档。如果您需要完整数据集用于大规模模型训练,请参阅下文的联系方式部分。
数据集所有者
Junsung Park(@jnsungp)
许可证
知识共享署名 4.0 国际许可协议(CC BY 4.0)
数据集格式
| 模态 | 类型 | 形状 | 描述 |
|---|---|---|---|
| 观测状态 | float32 |
(28,) |
手臂 + 手部的关节位置(弧度) |
| 观测深度 | float32 |
(256, 256) |
来自 rs_view 相机的深度图像(米) |
| 动作 | float32 |
(28,) |
目标关节位置 |
| 视频 | RGB | (256, 256, 3) |
第一视角,20 FPS,H.264 编码 |
| 语言 | string |
- | "Pick up the red apple and place it on the bowl" |
深度图像规格
从机器人头戴式相机捕获的深度测量数据:
| 属性 | 值 | 描述 |
|---|---|---|
| 分辨率 | 256 × 256 | 像素宽度 × 高度 |
| 数据类型 | float32 |
32 位浮点数 |
| 单位 | 米(m) | 从相机到表面的距离 |
| 相机 | rs_view |
头戴式 RGB-D 相机 |
| 格式 | .npy |
NumPy 二进制格式 |
| 范围 | ~0.3m 至 5.0m | 场景中的典型深度范围 |
加载深度数据:
import numpy as np
# Load single depth frame
depth = np.load("depth/chunk-000/episode_000000/frame_000050.npy")
print(depth.shape) # (256, 256)
print(f"Min depth: {depth.min():.2f}m, Max depth: {depth.max():.2f}m")
路径模板:
depth/chunk-{episode_chunk:03d}/episode_{episode_index:06d}/frame_{frame_index:06d}.npy
关节配置(28自由度)
| 身体部位 | 自由度 | 说明 |
|---|---|---|
| 左臂 | 7 | 肩部(3)+ 肘部(1)+ 腕部(3) |
| 右臂 | 7 | 肩部(3)+ 肘部(1)+ 腕部(3) |
| 左手 | 7 | 食指(2)+ 中指(2)+ 拇指(3) |
| 右手 | 7 | 食指(2)+ 中指(2)+ 拇指(3) |
数据集统计信息
- 轨迹数: 963
- 总帧数: 277,592
- 平均片段长度: ~288 帧(约 14.4 秒)
- 片段长度范围: 180-400 帧
- 存储大小: ~2.5 GB(数据 + 视频 + 深度图)
- 成功率: 100%
下载
huggingface-cli download \
--repo-type dataset jnsungp/unitree-g1-robocasa-pick-apple-bowl-depth-1k \
--local-dir ./datasets/g1-depth
使用 Python
from datasets import load_dataset
dataset = load_dataset("jnsungp/unitree-g1-robocasa-pick-apple-bowl-depth-1k")
数据集结构
dataset_depth_1k/
├── data/
│ └── chunk-000/
│ ├── episode_000000.parquet
│ ├── episode_000001.parquet
│ └── ...
├── videos/
│ └── chunk-000/
│ └── observation.images.ego_view/
│ ├── episode_000000.mp4
│ ├── episode_000001.mp4
│ └── ...
├── depth/
│ └── chunk-000/
│ ├── episode_000000/
│ │ ├── frame_000000.npy
│ │ ├── frame_000001.npy
│ │ └── ...
│ ├── episode_000001/
│ └── ...
├── meta/
│ ├── info.json # Dataset metadata
│ ├── stats.json # Statistics (mean, std, min, max)
│ ├── tasks.jsonl # Task descriptions
│ └── episodes.jsonl # Episode information
└── README.md
数据加载示例
import pandas as pd
import numpy as np
import cv2
import matplotlib.pyplot as plt
# Load trajectory data
df = pd.read_parquet("data/chunk-000/episode_000000.parquet")
# Access data
observations = df['observation.state'].values # (N, 28) - joint positions
actions = df['action'].values # (N, 28) - target positions
# Load RGB video
cap = cv2.VideoCapture("videos/chunk-000/observation.images.ego_view/episode_000000.mp4")
# Load depth images
episode_idx = 0
frame_idx = 100
depth = np.load(f"depth/chunk-000/episode_{episode_idx:06d}/frame_{frame_idx:06d}.npy")
# Visualize depth
plt.figure(figsize=(10, 5))
plt.subplot(1, 2, 1)
plt.imshow(depth, cmap='turbo')
plt.colorbar(label='Depth (m)')
plt.title('Depth Image')
plt.subplot(1, 2, 2)
# Read corresponding RGB frame
cap.set(cv2.CAP_PROP_POS_FRAMES, frame_idx)
ret, rgb = cap.read()
plt.imshow(cv2.cvtColor(rgb, cv2.COLOR_BGR2RGB))
plt.title('RGB Image')
plt.show()
cap.release()
应用场景
1. RGB-D 操作
训练利用深度信息的策略,以实现:
- 物体的精确 3D 定位
- 距离感知抓取
- 抗遮挡感知
2. 3D 场景理解
- 从 RGB-D 图像对生成点云
- 3D 目标检测与分割
- 用于操作的空间推理
3. 深度感知策略学习
- 多模态学习(RGB + 深度)
- 利用几何线索提升泛化能力
- 对光照变化的鲁棒性
4. 仿真到现实迁移
- 利用真实感深度传感微调模型
- 结合几何约束的域适应
- 基于深度的安全检查
技术细节
仿真:
- 平台:MuJoCo + RoboCasa
- 机器人:Unitree G1(上半身)
- 手部:Dex31 三指手
- 深度渲染:MuJoCo 原生深度渲染
运动规划:
- CuRobo(GPU 加速)
- 无碰撞轨迹
- 平滑三次插值
深度传感:
- 相机:头戴式 RGB-D 传感器(
rs_view) - 分辨率:256×256 像素
- 格式:32 位浮点数,单位为米
- 每帧深度与 RGB 同步
与基础数据集的对比
| 特征 | 基础数据集 | 深度数据集 |
|---|---|---|
| 轨迹 | 957 | 963 |
| 关节状态 | ✓ (28D) | ✓ (28D) |
| RGB 视频 | ✓ | ✓ |
| 深度图像 | ✗ | ✓ (256×256) |
| 应用场景 | 基于视觉的操作 | RGB-D 3D 操作 |
引用
@dataset{park2025unitree_g1_depth,
title={Unitree G1 Apple Pick and Place with Depth Dataset},
author={Park, Junsung},
year={2025},
publisher={Hugging Face},
url={https://huggingface.co/datasets/jnsungp/unitree-g1-robocasa-pick-apple-bowl-depth-1k}
}
致谢
本项目基于 CuRobo、RoboCasa、MuJoCo 以及 Unitree G1 构建。
版本: 1.0 | 最后更新: 2025年11月19日
联系方式与完整数据集获取
如有问题、遇到问题,或希望获取完整深度数据集(963个片段):
- 邮箱: night1115@snu.ac.kr
- Hugging Face: @jnsungp
- 机构: 首尔国立大学
申请完整数据集时,请注明您的所属机构。