AutelicaResearchBenchmark · Hand labels · Part 1

Part 1 of 2Part 2: robot policies

Hand labels: fixed cameras vs head cameras.

Two hands on a laptop at a table, seen from a fixed side camera. White hand skeletons mark where motion capture puts the hands; orange ones (ours) lie on them; blue ones from a head-camera method sit several centimetres off, below the hands.

3.0 cmours, three fixed cameras

7.0–11.7 cmhead-camera methods

motion capture (the real hand)ourshead camera: WiLoR, true camera pose

One OakInk2 test frame from a fixed side camera, with each method’s hands drawn where it puts them in the room, with no alignment. The frame was picked by a fixed rule: both hands seen, and each method’s error on it close to that method’s average. The numbers are the averages over the whole benchmark. Frame: OakInk2 (CC BY-SA 4.0), cropped and darkened, with our drawings; this image is shared under CC BY-SA 4.0.

We measured how far each method’s hand labels land from the real hand, with marker motion capture as the reference and no alignment, then replayed the labels with a robot hand in a physics simulation.

  • Our three fixed cameras: 3.0 cm from the real hand.
  • Published head-camera methods, given the camera’s true pose: 7.0–11.7 cm.
  • Robot task success in the replay: 0.25 from our labels, 0.19 from WiLoR’s and 0.41 from the motion-capture reference.
Where head-camera methods do better

Where the head-camera methods do better: on the benchmark’s aligned metric the best one comes close (29.8 vs 22.1 mm), its hand shape is better (7.0 vs 9.6 mm) and it finds hands in more frames (95% vs 74%). They were given the true camera pose from the motion-capture system; with their own SLAM they were 1.6 to 2.4 mm worse on an earlier 25-sequence run. The replay holds the object once the hand touches it, so a constant offset costs little there and drift is what it punishes.

What this does not show

Autelica researchPart 1 of 2Benchmark on public dataUpdated 6 figures

0255075100125150alignedcoverageOurs: three fixed cameras: 30.2 mm with no alignment, 22.1 mm W-MPJPE (aligned once per clip), coverage 0.74 Ours: three fixed cameras 30.222.10.74 Ours: three cameras, no learned part: 32.6 mm with no alignment, 24.0 mm W-MPJPE (aligned once per clip), coverage 0.73 Ours: three cameras, no learned part 32.624.00.73 WiLoR + given head poses: 69.5 mm with no alignment, 29.8 mm W-MPJPE (aligned once per clip), coverage 0.95 WiLoR + given head poses 69.529.80.95 HaWoR, given head poses: 116.7 mm with no alignment, 51.2 mm W-MPJPE (aligned once per clip), coverage 0.99 HaWoR, given head poses 116.751.20.99 Ours, head camera only: lifter: 76.8 mm with no alignment, 36.2 mm W-MPJPE (aligned once per clip), coverage 0.71 Ours, head camera only: lifter 76.836.20.71 Placement error with no alignment, mm (what a robot receives)050100150Ours: three fixed cameras: 30.2 mm with no alignment, 22.1 mm W-MPJPE (aligned once per clip), coverage 0.74 Ours: three fixed cameras22.1 · 0.74 30.2 Ours: three cameras, no learned part: 32.6 mm with no alignment, 24.0 mm W-MPJPE (aligned once per clip), coverage 0.73 Ours: three cameras, no learned part24.0 · 0.73 32.6 WiLoR + given head poses: 69.5 mm with no alignment, 29.8 mm W-MPJPE (aligned once per clip), coverage 0.95 WiLoR + given head poses29.8 · 0.95 69.5 HaWoR, given head poses: 116.7 mm with no alignment, 51.2 mm W-MPJPE (aligned once per clip), coverage 0.99 HaWoR, given head poses51.2 · 0.99 116.7 Ours, head camera only: lifter: 76.8 mm with no alignment, 36.2 mm W-MPJPE (aligned once per clip), coverage 0.71 Ours, head camera only: lifter36.2 · 0.71 76.8 Placement error with no alignment, mm (what a robot receives)

mean error, no alignmentRight: the benchmark’s aligned W-MPJPE (mm) and coverageRight of each label: aligned W-MPJPE · coverage

Fig. 1Hand placement against OakInk2’s marker motion capture, in the world frame with no alignment of any kind: where each method puts the hand, which is what a robot replaying the labels receives. 355 sequences, 18,141 hand-segments of about 5 s. The columns give the benchmark’s aligned W-MPJPE and the share of reference hand-frames with an estimate. The head-camera methods are given the true camera pose.

A robot that learns from human hand labels follows them in the room, so the first question about a label is where it puts the hand. We scored three fixed cameras and published head-camera methods against OakInk2’s marker motion capture, a reference independent of every camera, and then replayed the labels with a robot hand in a physics replay.

In short.

  1. Placement is geometry, not a trained model. With no learned part at all, the same three cameras are at 3.3 cm. Where the cameras see the hand, the median placement error is 15.3 mm, against 61.3 mm for the best head-camera method on the same frames.
  2. The two together beat either alone. Our placement with the head camera’s hand shape covers 97% of frames and has the highest task success in the replay short of the motion-capture hands (0.28).
  3. Replay success follows label accuracy. In a physics replay, task success is 0.25 from our labels, 0.19 from WiLoR’s and 0.14 from HaWoR’s (paired differences +0.06 [+0.02, +0.10] and +0.10 [+0.07, +0.13]).

Against marker motion capture: OakInk2

OakInk2’s hand reference is a body-and-hand fit to markers tracked by 12 motion-capture cameras, with no image keypoints in the fit, so it is independent of every camera on both sides of the comparison. Its rig is three fixed cameras and a head camera, the 3 + 1 layout we use on site. We scored 355 sequences, 18,141 hand-segments of about 5 s each. None of the methods here was trained on OakInk2.

Two numbers per method matter, and they answer different questions. Placement with no alignment is where the hand ends up in the room, which is what a robot following the labels gets: 30.2 mm for our three cameras, 69.5 mm for WiLoR and 116.7 mm for HaWoR. The benchmark’s W-MPJPE first aligns each clip once on its opening frames, which removes a global offset, most of what is wrong with a head-camera estimate; on that metric ours is 22.1 mm and WiLoR 29.8 mm. A robot replaying the labels gets no such correction, which is why we lead with placement.

Placement comes from geometry, not a trained model: with no learned part at all, the same three cameras are at 3.3 cm. Where our cameras see the hand, the median placement error is 15.3 mm, against 61.3 mm for WiLoR and 76.5 mm for HaWoR on the same frames (138-sequence subset). Our hands also jitter 3 to 6 times less (acceleration error 0.2 m/s² against 0.7 to 1.2).

The head-camera methods win on the rest. Their hand shape is better (PA-MPJPE 7.0 mm for WiLoR against our 9.6 mm), and with three cameras at 848 × 480 we have an estimate on 74% of the reference hand-frames, against 95% for WiLoR, so its success@40 mm is higher (0.79 vs 0.66).

Methodplacement, no alignmentW-MPJPE (aligned)medianPA-MPJPE (shape)accel (m/s²)coveragesuccess@40 mm
Ours: three fixed cameras30.222.113.79.60.20.740.66
Ours: three cameras, no learned part32.624.016.213.20.20.730.66
WiLoR + given head poses69.529.817.27.00.70.950.79
HaWoR, given head poses116.751.223.48.61.20.990.74
Ours, head camera only: lifter (trained on HO-Cap)76.836.224.211.70.10.710.55

Errors in mm, world frame. “Placement, no alignment” is the mean joint error with no fit of any kind; W-MPJPE, median and PA-MPJPE are the benchmark metrics. The head-camera rows use the motion-capture camera pose. The lifter row is our own head-camera-only baseline, trained on HO-Cap. An earlier run on 25 sequences gave 31.7 mm for ours and 71.9 mm for WiLoR.

The two together

Our three cameras lose the hand on about a quarter of the frames; the head camera sees it on 95%. Combining our placement in the room with the head camera’s hand shape, a test we fixed before running it, covers 97% of the reference hand-frames at 40.5 mm with no alignment, against 68.5 mm for WiLoR, and has the best success@40 mm of any label source (0.83). In the physics replay below it has the highest task success short of the motion-capture hands (0.28) and the highest grasp rate (0.75, against 0.61 for our cameras alone and 0.62 for WiLoR).

0255075100125150alignedcoverageOurs: three fixed cameras: 33.6 mm with no alignment, 22.6 mm aligned, coverage 0.72 Ours: three fixed cameras 33.622.60.72 WiLoR + given head poses: 68.5 mm with no alignment, 26.9 mm aligned, coverage 0.95 WiLoR + given head poses 68.526.90.95 Hybrid: our placement + head-camera shape: 40.5 mm with no alignment, 28.8 mm aligned, coverage 0.97 Hybrid: our placement + head-camera shape 40.528.80.97 Placement error with no alignment, mm050100150Ours: three fixed cameras: 33.6 mm with no alignment, 22.6 mm aligned, coverage 0.72 Ours: three fixed cameras22.6 · 0.72 33.6 WiLoR + given head poses: 68.5 mm with no alignment, 26.9 mm aligned, coverage 0.95 WiLoR + given head poses26.9 · 0.95 68.5 Hybrid: our placement + head-camera shape: 40.5 mm with no alignment, 28.8 mm aligned, coverage 0.97 Hybrid: our placement + head-camera shape28.8 · 0.97 40.5 Placement error with no alignment, mm

mean placement error, no alignmentRight: aligned W-MPJPE (mm) and coverage

Fig. 2OakInk2 against motion capture, on a 138-sequence subset (5,073 hand-segments). The combination gives up a little placement (33.6 → 40.5 mm) for coverage.

Label error in a physics replay

We replayed 694 manipulation episodes from OakInk2 (247 pick-and-places, 150 slides, 79 reorientations, 77 pours, 75 two-handed tasks, 36 lift-and-returns, 30 handovers) in a physics replay, once per label source: 1,431 replays of the 694 episodes for each source, in the same scenes for every source. Each source’s world-frame hand trajectory is retargeted by the same retargeter to a floating Inspire robot hand in MuJoCo, with the real object mesh at its reference start pose and the same controller and grasp schedule for every source. Task success means the hand acquires the grasp and the object ends within 50 mm of where the person left it. Ranges are 95% bootstrap confidence intervals over episodes, and differences are paired episode by episode.

00.20.40.6Task successours − thisReference hands (motion capture): task success 0.41 [0.38, 0.45], ours − this −0.17 [−0.20, −0.13] Reference hands (motion capture)0.41 −0.17 [−0.20, −0.13] Ours: fixed cameras: task success 0.25 [0.22, 0.28] Ours: fixed cameras0.25 Combination: ours + head camera: task success 0.28 [0.25, 0.31], ours − this −0.03 [−0.06, 0.00] Combination: ours + head camera0.28 −0.03 [−0.06, 0.00] WiLoR + given head poses: task success 0.19 [0.16, 0.21], ours − this +0.06 [+0.02, +0.10] WiLoR + given head poses0.19 +0.06 [+0.02, +0.10] HaWoR, given head poses: task success 0.14 [0.12, 0.17], ours − this +0.10 [+0.07, +0.13] HaWoR, given head poses0.14 +0.10 [+0.07, +0.13] Ours, head camera only: lifter: task success 0.16 [0.14, 0.19], ours − this +0.08 [+0.05, +0.12] Ours, head camera only: lifter0.16 +0.08 [+0.05, +0.12] MediaPipe, head camera: task success 0.07 [0.05, 0.09], ours − this +0.18 [+0.15, +0.21] MediaPipe, head camera0.07 +0.18 [+0.15, +0.21]Task success · ours − this00.20.40.6Reference hands0.41 · −0.17Ours: fixed cameras0.25Combination: ours + head camera0.28 · −0.03WiLoR + given head poses0.19 · +0.06HaWoR, given head poses0.14 · +0.10Ours, head camera only: lifter0.16 · +0.08MediaPipe, head camera0.07 · +0.18

task success over episodes95% confidence intervalRight: ours minus that source, paired, with its 95% interval

Fig. 3Task success in a physics replay of 694 OakInk2 episodes with a floating Inspire hand, per label source. Grasp-stabilised replay.

Task success follows the labels: 0.25 from ours, against 0.19 for WiLoR (ours − WiLoR: +0.06, 95% CI [+0.02, +0.10]) and 0.14 for HaWoR (ours − HaWoR: +0.10, 95% CI [+0.07, +0.13]); the motion-capture hands reach 0.41. The lead is largest where orientation matters (pouring 0.37 vs 0.23, reorienting 0.34 vs 0.20) and reversed on handovers (0.04 vs 0.10), where our cameras lose the hand.

Giving the head-camera methods SLAM in place of the true camera pose makes no measurable difference in the replay: on the 326 episodes where we ran it, WiLoR with SLAM minus WiLoR with the true pose is 0.00 [−0.03, +0.04], the same for HaWoR (0.00 [−0.03, +0.03]), and ours minus WiLoR with SLAM is +0.12 [+0.07, +0.17].

00.20.40.6050100150Reference hands + 10 mm drift: hand error 8.8 mm, task success 0.37Reference hands + 25 mm drift: hand error 22.1 mm, task success 0.25+25Reference hands + 50 mm drift: hand error 44.2 mm, task success 0.11+50Reference hands + 75 mm drift: hand error 66.2 mm, task success 0.07+75Reference hands + 100 mm drift: hand error 88.5 mm, task success 0.04+100Reference hands: hand error 0.0 mm, task success 0.41 [0.38, 0.45]ReferenceOurs: fixed cameras: hand error 22.5 mm, task success 0.25 [0.22, 0.28]OursCombination: ours + head camera: hand error 32.6 mm, task success 0.28 [0.25, 0.31]CombinationWiLoR + given head poses: hand error 73.2 mm, task success 0.19 [0.16, 0.21]WiLoRHaWoR, given head poses: hand error 117.5 mm, task success 0.14 [0.12, 0.17]HaWoROurs, head camera only: lifter: hand error 63.1 mm, task success 0.16 [0.14, 0.19]LifterMediaPipe, head camera: hand error 93.7 mm, task success 0.07 [0.05, 0.09]MediaPipe Hand error the robot sees, mm (no alignment)Task success (share of episodes)00.20.40.6050100150Reference hands + 10 mm drift: hand error 8.8 mm, task success 0.37Reference hands + 25 mm drift: hand error 22.1 mm, task success 0.25Reference hands + 50 mm drift: hand error 44.2 mm, task success 0.11Reference hands + 75 mm drift: hand error 66.2 mm, task success 0.07Reference hands + 100 mm drift: hand error 88.5 mm, task success 0.04Reference hands: hand error 0.0 mm, task success 0.41 [0.38, 0.45]ReferenceOurs: fixed cameras: hand error 22.5 mm, task success 0.25 [0.22, 0.28]OursCombination: ours + head camera: hand error 32.6 mm, task success 0.28 [0.25, 0.31]CombinationWiLoR + given head poses: hand error 73.2 mm, task success 0.19 [0.16, 0.21]WiLoRHaWoR, given head poses: hand error 117.5 mm, task success 0.14 [0.12, 0.17]HaWoROurs, head camera only: lifter: hand error 63.1 mm, task success 0.16 [0.14, 0.19]LifterMediaPipe, head camera: hand error 93.7 mm, task success 0.07 [0.05, 0.09]MediaPipe Hand error the robot sees, mm (no alignment)Task success (share of episodes)

motion-capture hands with added drift (+10 to +100 mm)label sources

Fig. 4Task success in a physics replay against the hand error the robot actually sees (world frame, no alignment). The line adds smooth drift to the motion-capture hands: 0.37 at +10 mm, 0.25 at +25 mm, 0.11 at +50 mm. Vertical lines are 95% confidence intervals.

The drift line holds for any label source: task success falls from 0.41 to 0.25 at 2.5 cm of drift and to 0.11 at 5 cm. The head-camera labels sit above that line because most of their error is a constant offset along the camera’s line of sight, and once the replay holds the object, a hand that is several centimetres off but still makes contact moves the object by the right amount. Drift is what the replay punishes.

Object-anchored check. If every trajectory is shifted so the hand meets the object where the reference hand did at grasp onset, removing most of the placement error, task success is 0.28 for ours, 0.27 for WiLoR and 0.26 for HaWoR. The sources come out level (ours − WiLoR +0.01, 95% CI [−0.03, +0.04]), so the replay gap is placement.

Label sourcehand error (mm)task successours − thisgrasp acquiredtask success, object-anchoredtask success, pure physicsepisodes
Reference hands0.00.41 [0.38, 0.45]−0.17 [−0.20, −0.13]0.85–0.00694
Ours: fixed cameras22.50.25 [0.22, 0.28]–0.610.280.01694
Combination: ours + head camera32.60.28 [0.25, 0.31]−0.03 [−0.06, 0.00]0.750.30–694
WiLoR + given head poses73.20.19 [0.16, 0.21]+0.06 [+0.02, +0.10]0.620.270.02694
HaWoR, given head poses117.50.14 [0.12, 0.17]+0.10 [+0.07, +0.13]0.500.260.02694
Ours, head camera only: lifter63.10.16 [0.14, 0.19]+0.08 [+0.05, +0.12]0.530.210.00694
MediaPipe, head camera93.70.07 [0.05, 0.09]+0.18 [+0.15, +0.21]0.380.120.00694

Hand error: world-frame joint error over the replayed episode frames, without the benchmark’s alignment. The lifter row is our own head-camera-only baseline; the MediaPipe row is smoothed.

The same test on HO-Cap

HO-Cap’s reference is not independent of our cameras. It is a multi-view fit from the fixed cameras around the table, and our four cameras are four of the eight that built it, so the numbers in this section measure agreement with a reference built partly from the same images. The head-camera methods get no such help. With that said: on HO-Cap’s test people, whom our label models never saw, our four fixed cameras are on average 1.8 cm from the reference (18.0 mm W-MPJPE, median 14.9 mm), and the best published head-camera method is 7.5 cm off.

025507510012515040 mmsuccess@40coverageOurs: four fixed cameras: mean 18.0 mm, median 14.9 mm, success@40 mm 0.89, coverage 0.96 Ours: four fixed cameras 18.00.890.96 WiLoR + HaWoR’s SLAM: mean 75.2 mm, median 49.0 mm, success@40 mm 0.38, coverage 0.89 WiLoR + HaWoR’s SLAM 75.20.380.89 WiLoR + given head poses: mean 75.6 mm, median 51.7 mm, success@40 mm 0.36, coverage 0.89 WiLoR + given head poses 75.60.360.89 HaWoR, own SLAM: mean 112.8 mm, median 64.7 mm, success@40 mm 0.34, coverage 0.97 HaWoR, own SLAM 112.80.340.97 HaWoR, given head poses: mean 113.2 mm, median 67.1 mm, success@40 mm 0.31, coverage 0.97 HaWoR, given head poses 113.20.310.97 MediaPipe, head camera: mean 136.1 mm, median 111.3 mm, success@40 mm 0.10, coverage 0.65 MediaPipe, head camera 136.10.100.65 W-MPJPE, mm (lower is better)05010015040 mmOurs: four fixed cameras: mean 18.0 mm, median 14.9 mm, success@40 mm 0.89, coverage 0.96 Ours: four fixed cameras0.89 · 0.96 18.0 WiLoR + HaWoR’s SLAM: mean 75.2 mm, median 49.0 mm, success@40 mm 0.38, coverage 0.89 WiLoR + HaWoR’s SLAM0.38 · 0.89 75.2 WiLoR + given head poses: mean 75.6 mm, median 51.7 mm, success@40 mm 0.36, coverage 0.89 WiLoR + given head poses0.36 · 0.89 75.6 HaWoR, own SLAM: mean 112.8 mm, median 64.7 mm, success@40 mm 0.34, coverage 0.97 HaWoR, own SLAM0.34 · 0.97 112.8 HaWoR, given head poses: mean 113.2 mm, median 67.1 mm, success@40 mm 0.31, coverage 0.97 HaWoR, given head poses0.31 · 0.97 113.2 MediaPipe, head camera: mean 136.1 mm, median 111.3 mm, success@40 mm 0.10, coverage 0.65 MediaPipe, head camera0.10 · 0.65 136.1 W-MPJPE, mm (lower is better)

meanmedian40 mm, the success thresholdRight: success@40 mm and coverageRight of each label: success@40 mm · coverage

Fig. 5World-frame hand error on HO-Cap’s test people (persons B, F, H; 32 sequences, 263 hand-segments of 150 frames), against HO-Cap’s multi-view reference. Bars are means, ticks are medians. Missing frames count as failures.
DatasetHO-Cap, a public hand-object dataset (CC BY 4.0): a head-mounted camera at 30 fps plus fixed cameras around a table
SplitHO-Cap ego world-frame split v0. Test persons B, F, H: 32 sequences
Segments263 hand-segments of 150 frames and 388 of 100 frames (HaWoR’s length), non-overlapping
Head posesHO-Cap’s per-frame head-camera poses, given to every method that uses given poses
MetricsFollowing HaWoR’s evaluation code: W-MPJPE (aligned once on the first two frames of a segment), WA-MPJPE (aligned over the whole segment), PA-MPJPE (aligned per frame) and acceleration error; plus success@40 mm and coverage, where a missing estimate counts as a failure
ModelsThe models behind our four-camera hands were trained on HO-Cap’s other people, in the same lab, with the same cameras and table. The head-camera baselines were trained on other datasets

How our runs of the baselines differ from their papers: HaWoR’s image backbone runs in half precision (the same to within a fraction of a millimetre); its SLAM stage uses DPVO in place of DROID-SLAM, with HaWoR’s own metric-depth model for scale, and the “given head poses” rows skip SLAM entirely; WiLoR runs per frame with its own detector and the camera’s true focal length. Our HaWoR run lands in its published range on its own benchmark, so these rows are not a broken port. Under HaWoR’s own, more lenient evaluation (right hand only, inside each method’s detection runs) the numbers are 12.0 mm for ours and 52.1 mm for the best head-camera method.

150-frame segments

MethodW-MPJPEmedianWA-MPJPEPA-MPJPEaccel (m/s²)success@40 mmcoverage
Ours: four fixed cameras18.014.97.34.52.10.890.96
WiLoR per frame + HaWoR’s SLAM75.249.024.57.17.40.380.89
WiLoR per frame + given head poses75.651.726.77.111.60.360.89
HaWoR, its own SLAM112.864.738.19.113.10.340.97
HaWoR, given head poses113.267.139.29.116.40.310.97
Ours, head camera only: lifter with depth69.451.330.78.42.00.260.65
Ours, head camera only: plain lifter89.269.440.58.627.10.190.65
MediaPipe, head camera only136.1111.354.714.752.50.100.65

Errors in mm. Means are over hand-segments; a few bad segments pull HaWoR’s mean up, so read it with the median. The two lifter rows are our own head-camera-only baselines, trained on HO-Cap’s other people.

100-frame segments

MethodW-MPJPEmedianWA-MPJPEPA-MPJPEaccel (m/s²)success@40 mmcoverage
Ours: four fixed cameras15.212.77.24.62.20.920.96
WiLoR per frame + HaWoR’s SLAM57.342.921.97.17.20.480.91
WiLoR per frame + given head poses59.245.224.27.111.50.460.91
HaWoR, its own SLAM83.850.830.79.013.00.440.96
HaWoR, given head poses83.753.132.29.016.30.410.96
Ours, head camera only: lifter with depth58.844.227.28.52.00.330.67
Ours, head camera only: plain lifter79.060.936.08.727.60.250.67
MediaPipe, head camera only114.394.249.414.853.00.150.67

What the error looks like

From the head camera, a hand that is several centimetres too near or too far still lines up with the image. A second camera shows the difference.

A hand at a table seen from a side camera, with three hand skeletons drawn on it: the benchmark reference, ours and a head-camera method

Ours 14.7 mm · WiLoR 52.2 mm

A hand at a table seen from a side camera, with three hand skeletons drawn on it: the benchmark reference, ours and a head-camera method

Ours 13.8 mm · WiLoR 52.5 mm

HO-Cap referenceours, four fixed camerasWiLoR + given head poses

Fig. 6Two test frames from two different people, seen from a side camera that is not among our four (it is one of the eight behind the reference). Every hand is placed as the benchmark scores it (aligned once, on the first two frames of its 150-frame segment), and each frame was picked because its errors sit near each method’s median, not for looks. Mean joint error on that frame under each crop. Images: HO-Cap (CC BY 4.0), cropped, with our drawings.

In the same physics replay on 107 HO-Cap test episodes, task success is 0.35 for ours and 0.41 for the reference hands, against 0.14 for WiLoR (ours − WiLoR: +0.22, 95% CI [+0.13, +0.30]) and 0.04 for HaWoR (ours − HaWoR: +0.31, 95% CI [+0.23, +0.39]). The shared cameras flatter our row here too.

What this does not show

  • Coverage during the grasp. On average our cameras see the hand on 69% of a replayed episode’s frames (WiLoR 93%), and in 5% of replays they never see it at all; when the hand is missing during the grasp, the replay fails regardless of accuracy.
  • The reference is not contact-accurate. OakInk2’s motion-capture fingertips sit 10–27 mm from the object surface at grasp onset, so the reference ceiling of 0.41 and finger-level comparisons carry that uncertainty.
  • OakInk2’s images come at 7.5 Hz, a quarter of the usual video rate, so HaWoR’s motion model runs at a quarter of its usual rate, which is part of its result. Images are 848 × 480, and OakInk2’s own camera-to-motion-capture calibration is off by 10–16 px in its left camera in 8 of the 25 sequences we checked; we use it as given.
  • The head-camera methods got the true camera pose from the motion-capture system, the best case for them.
  • The replay holds the object once the hand touches it. Without that hold, nothing works for any source: in pure physics the motion-capture hands reach a task success of 0.00. One retargeter, one floating robot hand, no arm, and no real robot.
  • Ours is a label source, not a head-camera model. It needs the fixed cameras at capture time.

Prior work

  • Rim et al., “Ego-Exo 3D Hand Tracking in the Wild with a Mobile Multi-Camera Rig”, 2025 (arXiv 2510.02601) measure an eight-camera markerless hand rig against a 30-camera dome and report median joint errors of 6.3 to 7.9 mm. They do not score head-camera methods against the same reference in the world frame.
  • EgoAllo, Yi et al., CVPR 2025 (arXiv 2410.03665) scores head-camera hands in the world frame against Ego-Exo4D’s labels from outside cameras.
  • HaWoR, Zhang, Deng, Ma and Potamias, CVPR 2025 (arXiv 2501.02973) reports world-frame hand error for head-camera video; we follow its evaluation code.
  • Ego-Exo4D, Grauman et al., CVPR 2024 (arXiv 2311.18259) scores head-camera methods against labels triangulated from outside cameras, in the camera frame.

Credits and licences

  • OakInk2: Zhan et al., “OakInk2: A Dataset of Bimanual Hands-Object Manipulation in Complex Task Completion”, CVPR 2024 (arXiv 2403.19417). CC BY-SA 4.0.
  • HO-Cap: Wang et al., “HO-Cap: A Capture System and Dataset for 3D Reconstruction and Pose Tracking of Hand-Object Interaction,” NeurIPS 2025 Datasets and Benchmarks Track (paper, project page). CC BY 4.0. The images on this page are HO-Cap frames, cropped, with our drawings.
  • HaWoR: Zhang, Deng, Ma and Potamias, “HaWoR: World-Space Hand Motion Reconstruction from Egocentric Videos”, CVPR 2025 (arXiv 2501.02973). Code and weights used for evaluation only, under their licence.
  • WiLoR: Potamias et al., “WiLoR: End-to-end 3D Hand Localization and Reconstruction in-the-wild”, CVPR 2025 (arXiv 2409.12259). Evaluation only, under its licence.
  • MANO: Romero, Tzionas and Black, “Embodied Hands: Modeling and Capturing Hands and Bodies Together”, SIGGRAPH Asia 2017. Used by the baselines under its research licence.
  • DPVO: Teed, Lipson and Deng, “Deep Patch Visual Odometry”, NeurIPS 2023 (arXiv 2208.04726). MediaPipe Hands: Zhang et al., “MediaPipe Hands: On-device Real-time Hand Tracking” (arXiv 2006.10214), Apache-2.0. Physics: MuJoCo; robot hand: Inspire.

Benchmark split, metrics, replay and baseline runs by Autelica, 2026. Numbers on this page are generated from the evaluation files and checked against them at build time.

Part 2What hand-label error does to robot policiesAgainst OakInk2’s motion capture, imitation policies trained on our labels succeed in 0.21 of held-out tests in simulation, against 0.08 from WiLoR’s.Read Part 2