CoolFace
Datasetpublic

EmpathicRobotics/FineVideo-Phase2-3DPose

FineVideo-Phase2-3DPose — 3D Human Pose from MotionBERT Overview This dataset contains 3D human pose data lifted from 2D detections using MotionBERT, extracted from ~40K YouTube videos in the FineVideo dataset. This is the output of Phase 2 (+ Phase 2.5 resampling) in the FineVideo-VLA pipeline. It contains raw 3D joint positions as NumPy arrays at 30fps, before any filtering, normalisation, or tokenisation. Statistics Metric Value Source… See the full description on the dataset page: https://huggingface.co/datasets/EmpathicRobotics/FineVideo-Phase2-3DPose.

sourceHugging Faceapache-2.0updated 3mo agoView on Hugging Face
0likes152downloads
Dataset Card

FineVideo-Phase2-3DPose — 3D Human Pose from MotionBERT

Overview

This dataset contains 3D human pose data lifted from 2D detections using MotionBERT, extracted from ~40K YouTube videos in the FineVideo dataset.

This is the output of Phase 2 (+ Phase 2.5 resampling) in the FineVideo-VLA pipeline. It contains raw 3D joint positions as NumPy arrays at 30fps, before any filtering, normalisation, or tokenisation.

Statistics

MetricValue
Source videos~40,000 from FineVideo
Videos processed40,804
Total size~259 GB (raw 3D) / ~67 GB (30fps resampled)
Frame rate30 fps (resampled from native video fps)
Joints per frame17 (H36M skeleton)

Pipeline Context

PhaseDescriptionStatus
Phase 1HRNet 2D pose detection (GPU)Done
Phase 2MotionBERT 2D-to-3D lifting (this dataset)Done
Phase 2.5Resample all videos to 30fpsDone
Phase 3Kinematics: bone normalisation, root centering, smoothingDone
Phase 4YOLO person-detection cleaningDone
Phase 5Adaptive PCHIP per-joint tokenisationDone
Phase 6Merge agent tokens into multimodal datasetDone
Phase 7Flatten to Megatron-LM formatDone
Phase 8Megatron-LM tokenization (.bin/.idx)Done

Data Format

Each record contains 3D joint positions for one video as a NumPy array:

  • Shape: (num_frames, 17, 3) — frames at 30fps, 17 joints, xyz coordinates
  • Units: metres (MotionBERT output space)
  • Coordinate system: camera-relative (not root-centred — root centering happens in Phase 3)

Joint order (H36M 17-joint skeleton)

IndexJointIndexJoint
0pelvis (root)9nose
1right hip10head top
2right knee11left shoulder
3right ankle12left elbow
4left hip13left wrist
5left knee14right shoulder
6left ankle15right elbow
7spine16right wrist
8thorax

Processing Details

  1. 1.Phase 1 (HRNet): Ran HRNet with Faster R-CNN person detection to get 2D joint coordinates per frame
  2. 2.Phase 2 (MotionBERT): Lifted 2D poses to 3D using MotionBERT pretrained on Human3.6M, processed at native video fps
  3. 3.Phase 2.5 (Resample): Resampled from native video fps to uniform 30fps via linear interpolation, so poses align to the same time grid as video tokens (Seed2/Cosmos/AVC-LM)

Downstream Processing

For cleaned and normalised poses, see FineVideo-Phase4-YOLOPose which applies:

  • Temporal smoothing (Butterworth filter)
  • Bone length normalisation to canonical skeleton
  • Root centering (pelvis at origin)
  • Anti-teleportation filter
  • YOLO person-presence cleaning

Related Resources

ResourceDescription
EmpathicRobotics/FineVideo-Phase4-YOLOPoseCleaned + normalised 3D poses (after Phase 3+4)
EmpathicRobotics/FineVideo-Phase5-AgentTokensMerged multimodal dataset with tokenised pose + video tokens
EmpathicRobotics/FineVideo-Phase7-FlattenedFlat Megatron-LM JSONL (ready for pretraining)
EmpathicRobotics/tokenizer-vla-adaptiveHuggingFace tokenizer (144,215 vocab)

Usage

python
from datasets import load_dataset

ds = load_dataset("EmpathicRobotics/FineVideo-Phase2-3DPose", streaming=True)

for sample in ds["train"]:
    video_id = sample["video_id"]
    poses_3d = sample["poses"]  # (num_frames, 17, 3)
    print(f"Video: {video_id}, Frames: {len(poses_3d)}")
    break

Citation

Part of the FineVideo-VLA project. If you use this data, please cite:

bibtex
@misc{Farré2024FineVideo,
  title={FineVideo},
  author={Farré, Miquel and Marafioti, Andi and Tunstall, Lewis and Von Werra, Leandro and Wolf, Thomas},
  year={2024},
  howpublished={\url{https://huggingface.co/datasets/HuggingFaceFV/finevideo}},
}

License

Apache 2.0