j
jnsungp/unitree-g1-robocasa-pick-apple-bowl-depth-1k
数据集数据集查看器文件和版本
下载使用量0

Unitree G1 苹果抓取与放置深度数据集

Front View
正视图(全局视角)
Side View
侧视图(轮廓视角)
Top-Down View
俯视图(鸟瞰视角)
Ego-Centric View
自我中心视角(机器人视角)
Unitree G1 执行抓取放置任务的多视角展示。

深度数据可视化

为帮助理解原始深度值,此处提供归一化深度图像(为视觉清晰度)与其对应的 RGB 帧的并排对比。

Normalized Depth Image
归一化深度图像
(用于可视化)
Corresponding RGB Image
对应 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像素宽度 × 高度
数据类型float3232 位浮点数
单位米(m)从相机到表面的距离
相机rs_view头戴式 RGB-D 相机
格式.npyNumPy 二进制格式
范围~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 同步

与基础数据集的对比

特征基础数据集深度数据集
轨迹957963
关节状态✓ (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
  • 机构: 首尔国立大学

申请完整数据集时,请注明您的所属机构。