CoolFace
Datasetpublic

zeno-labs/egostation-gopro-pick-and-place-v1

EgoStation GoPro Pick-and-Place v1 First-person human demonstration data for donut pick-and-place, captured with a head-mounted GoPro Hero 9/11 (4K HEVC) and processed by the ZenO Studio pipeline. LeRobot v2.1 layout at repo root — drops straight into the LeRobot training pipeline or the official Visualizer. Visualizers LeRobot Dataset Visualizer (Rerun) Shows video + state time series + hand keypoint plots:… See the full description on the dataset page: https://huggingface.co/datasets/zeno-labs/egostation-gopro-pick-and-place-v1.

sourceHugging Facecc-by-nc-4.0updated 5mo agoView on Hugging Face
1likes64downloads
Dataset Card

EgoStation GoPro Pick-and-Place v1

First-person human demonstration data for donut pick-and-place, captured with a head-mounted GoPro Hero 9/11 (4K HEVC) and processed by the ZenO Studio pipeline. LeRobot v2.1 layout at repo root — drops straight into the LeRobot training pipeline or the official Visualizer.

Visualizers

LeRobot Dataset Visualizer (Rerun)

Shows video + state time series + hand keypoint plots:

https://huggingface.co/spaces/lerobot/visualize_dataset?dataset=zeno-labs/egostation-gopro-pick-and-place-v1&episode=0

ZenO Studio Viewer (per-episode 3D scene)

Full 3D timeline — egocentric video + 6-DoF head trajectory + 3D hand skeleton in world frame, all synced. Public links (3000 views/code limit):

EpisodeTaskViewer link
0jn donuthttps://studio.zen-o.xyz/trajectory/ca686459-5d18-4304-895b-e468c7359302?code=H9T7WEXA
1integro 790https://studio.zen-o.xyz/trajectory/01ca5e09-d8f1-411c-8cf6-a3fa58d03a67?code=YPT2DMXF
2JB Donut2https://studio.zen-o.xyz/trajectory/a742b4a3-1926-4f7c-9bdc-55c3cf2e9e5e?code=JRD7MU8C
3JB Donuthttps://studio.zen-o.xyz/trajectory/e3f984d3-27d6-4ffd-be5b-87b0c3b22ec2?code=BKHMCARD
4aucro donuthttps://studio.zen-o.xyz/trajectory/331d0b8b-31bf-4944-937f-66ef67dec698?code=W7WHH3K4

Contents

  • —5 episodes, 40,037 frames @ 30 fps (~22 minutes)
  • —Tasks: jn donut, integro 790, JB Donut2, JB Donut, aucro donut
  • —LeRobot v2.1 standard layout

Per-frame features

FeatureTypeShapeDescription
observation.statefloat32[7]Head 6-DoF: x, y, z, qx, qy, qz, qw (mono-inertial SLAM)
observation.hand_pose.leftfloat32[21, 3]Left hand 21 keypoints in image/depth space (MediaPipe)
observation.hand_pose.rightfloat32[21, 3]Right hand 21 keypoints in image/depth space
observation.hand_world.leftfloat32[21, 3]Left hand 21 keypoints in world frame (depth-fused, head-anchored scale)
observation.hand_world.rightfloat32[21, 3]Right hand 21 keypoints in world frame
observation.images.headvideo[1080, 1920, 3]Egocentric GoPro view (4K HEVC original)
observation.images.depthvideo[540, 1920, 3]Colorized relative depth overlay
timestamp, frame_index, episode_index, index, task_indexint / float[1]LeRobot standard indexing
Frames with no detected hand have handworld filled with zeros — check `handpose.*_visible` (implicit from non-zero values) when training.

Usage

python
from datasets import load_dataset
ds = load_dataset("zeno-labs/egostation-gopro-pick-and-place-v1", split="train")

# Access world-frame hand keypoints for a frame
import numpy as np
left_world = np.array(ds[0]["observation.hand_world.left"])   # (21, 3)
head_pose  = np.array(ds[0]["observation.state"])             # (7,) x,y,z,qx,qy,qz,qw

Or with LeRobot:

python
from lerobot.common.datasets.lerobot_dataset import LeRobotDataset
ds = LeRobotDataset("zeno-labs/egostation-gopro-pick-and-place-v1")

Related

License

CC-BY-NC 4.0. Commercial use requires agreement — contact support@zen-o.xyz.

Contact

  • —Data partnerships: support@zen-o.xyz
  • —Website: https://zen-o.xyz
  • —Pipeline (ZenO Studio): https://studio.zen-o.xyz