Contact Us
Capture rig Two different headsets. Switch to compare what each rig actually ships.
HEAD-MOUNTED EGOCENTRIC CAPTURE

First-person egocentric demonstrations captured on head-mounted stereo rigs. Operators perform real manipulation tasks while wearing the headset; every modality the device exposes is recorded synchronously.

STEREO RGB · TOF DEPTH · IMU · HANDS

Each episode ships a stereo color pair (60 fps), a 320×240 ToF depth stream (5 fps, uint16 mm), 6-axis IMU, head 6-DoF pose, and per-frame skeletal tracking of 25 joints on each hand.

PRE-RECTIFIED & CALIBRATED

Left, right, and depth cameras come with full intrinsics + 4×4 extrinsics referenced to the HMD body frame. Stereo baseline is shipped per episode — usable for triangulation, point-cloud lifting, or vision-language pretraining.

FRAME-LEVEL CHINESE ACTION LABELS

Each episode is segmented into hierarchical pick / place / wipe / rearrange / fold spans with start & end frames, bilingual text, and a clear “Action end” sentinel marking when the operator releases the task.

SIX CAMERAS · THREE STEREO PAIRS

A head-mounted array of three stereo pairs — left, mid, right — all upright at 1920×1080 and 30 FPS on one shared timeline. Baselines derived from the shipped extrinsics: 60.9 / 60.1 / 60.6 mm within each pair, pairs set ~97–100 mm apart.

METRIC 21-JOINT 3D · 98.7% COVERAGE

Hand trajectories in real metres, in one shared mid_cam_left optical frame, with the 21-keypoint order written out explicitly. 6,090 of 6,170 observed hand-frames carry a 3D pose; every episode clears 98%.

REPRODUCIBLE PROJECTION

Full intrinsics, OpenCV rad-tan distortion and reference-frame extrinsics for all six cameras. The 3D skeleton reprojects into any view — we re-ran that check ourselves and publish the error below rather than asking you to take it on trust.

BILINGUAL SEMANTIC SEGMENTS

Each episode carries an EN/ZH task summary plus timed segments with action label, detail text, primary and supporting hand, interaction phase, contact state, and the objects involved.

SAMPLE SIZE
8 episodes · 8 distinct tasks · kitchen & small-parts handling · 6 views each
3D TRAJECTORY COVERAGE · per episode
Scope of this sample
This is a capability sample, not a volume sample — 8 episodes totalling 104.7 seconds. It exists to let you verify the rig geometry, the metric 3D and the annotation schema before committing to a collection run.
SAMPLE COVERAGE
— task seconds
10 episodes · 2 lens generations · 60 fps stereo + 5 fps ToF depth
SCENE DISTRIBUTION · across the full catalog
Preview on this page
01 sink & chopsticks · 02 fold cloth & wipe · 03 cushion beat dust · 04 pick floor trash · 05 place chairs · 06 slice potatoes · 07 arrange fruit display · 08 fold laundry (balcony) · 09 organize desk cables · 10 wash cloth (sink) · 11 sew & feed fabric
STANDARD
FISHEYE · MediaPipe
PICO · 26-JOINT HAND POSE
LEFT EYE · 60fps · pre-rectified
RIGHT EYE · stereo pair
DEPTH · 240×320 · 5fps · jet
DEPTH STATS m · scene span nearest median farthest
IMU accel · gyro accel gyro
HEAD 6DOF pos x/y/z · m x y z
SHIPPED WITH EPISODE Stereo RGB (L|R) ToF depth (320×240, uint16 mm) Audio AAC + Opus Head 6-DoF IMU 6-axis L/R wrist 6-DoF L/R hand 25 joints Intrinsic × 3 Extrinsic × 3 Stereo baseline ZH action labels
00:00 / 00:00
EPISODE
HARDWARE
DURATION
TASK
EPISODE
SIX VIEWS · 21-JOINT SKELETON OVERLAY
PER-CAMERA 2D OBSERVATION · which views actually see the hands
Bar height = mean 2D keypoint confidence for that frame · blank = no hand observed in that view
METRIC 3D HAND TRAJECTORY · 21 joints · mid_cam_left frame ■ left■ right
drag to rotate
SHIPPED WITH EPISODE RGB × 6 (1920×1080, 30 FPS) 2D keypoints × 6 views × 2 hands + confidence Metric 21-joint 3D (m) Six-camera intrinsics + distortion Extrinsics to mid_cam_left Episode timebase EN/ZH semantic segments Review video + HTML page
00:00 / 00:00
EPISODE
TASK
DURATION
3D COVERAGE
Verify the geometry yourself
The claim that matters for a six-camera rig is that one metric 3D skeleton really does land on the hand in every view. Rather than assert it, here is the check and the number it produces. Push each 3D joint through the shipped extrinsics and the target camera's rad-tan model, then measure the distance to the 2D keypoint delivered for the same frame, camera and hand.
p_cam = T_reference_to_camera[cam] @ [x, y, z, 1] uv = cv2.projectPoints(p_cam[:3], rvec=0, tvec=0, camera_matrix[cam], distortion_coefficients[cam]) error = ‖uv − keypoints_2d‖₂ # per joint, in pixels
Run over all 8 episodes: 472,164 joint comparisons. Error tracks 2D detection confidence closely, which is the expected signature — the 3D solve is stable and the disagreement is dominated by weak 2D detections and the outer camera pairs.
2D confidence bandobservationsmedian error
< 0.4032368.3 px
0.40 – 0.6075250.7 px
0.60 – 0.7065739.2 px
0.70 – 0.802,53422.1 px
≥ 0.80  (81% of data)18,2189.3 px
camerajointsmedian error
mid_cam_right123,5859.0 px
mid_cam_left · reference123,5019.3 px
left_cam_left69,72012.7 px
left_cam_right60,56415.5 px
right_cam_right53,44517.0 px
right_cam_left41,34919.9 px
For scale: a hand spans roughly 300 px in these frames, so 9 px is about 3% of hand width — the skeleton visibly tracks the hand, as the player above shows. It is not a sub-pixel triangulation-consistent fit, and we would rather say so here than have you discover it.