EgoSurgHands
NeurIPS 2026

EgoSurgHands

Line drawing of the Project Aria (Gen 1) glasses used for every recording

An Egocentric 3D Hand Pose Dataset & Benchmark for Open-Surgery Training

Ankit Pal1 Guillaume Kugener2 Sofia Volpi2 Joshua Schwartz2 Alex Idarraga2
Pranav Rajpurkar1,† Gabriel A Brat1,2,†
1Department of Biomedical Informatics, Harvard Medical School 2Department of Surgery, Beth Israel Deaconess Medical Center †Equal senior authorship
Live Β· Aria MPS 3D hand tracking on the glasses' own video, 30 fps

TL;DRTo our knowledge, the first benchmark for real-captured egocentric 3D hand pose in open-surgery training: 51,385 hand instances recorded with Project Aria glasses, human-validated evaluation labels, and eight hand-pose methods tested zero-shot.

51,385
hand instances
41,909 train Β· 9,476 human-validated evaluation
32,646
frames
1408 Γ— 1408 egocentric RGB, released at 5 Hz
68
procedure recordings
55 train Β· 13 held out
13
tasks
in 8 suturing, knot-tying and instrument families
4
wearers
3 training stages, one left-hand dominant
3
glove colours
blue, white and brown
21
joints per hand
3D, in the RGB camera's frame
8
methods benchmarked
zero-shot, 5 metrics, 95% CIs
Overview

Abstract

We introduce EgoSurgHands, an egocentric 3D hand-pose dataset and benchmark for open-surgery training tasks captured with Meta Project Aria glasses on standard surgical training pads. To our knowledge, EgoSurgHands is the first benchmark for real-captured egocentric hand pose estimation in open-surgery training on synthetic pads. It contains 41,909 training hand-instance rows across 55 procedure recordings and 9,476 human-validated evaluation rows across 13 held-out procedure recordings from 4 wearers at a single site over two recording days, spanning 13 distinct tasks, 3 glove colors, and 3 stages of training. Each frame includes Aria intrinsics, MPS (Machine Perception Services) hand landmarks with per-hand confidence, timestamps, and eye gaze, plus SLAM extrinsics for the 35 of 68 recordings where SLAM succeeded. The primary benchmark uses sensor-fused, human-validated pseudo-ground truth: evaluation labels are derived from Aria MPS and validated through multi-rater human review with senior-surgeon adjudication, and they are not mocap-grade. The original adaptation split is within-corpus (procedure-disjoint, with shared wearers), which we complement with a leave-one-wearer-out evaluation and an external multi-view triangulated validation of the labels. We benchmark eight methods under zero-shot transfer, spanning MANO-based (HaMeR, WiLoR, WildHands, JointTransformer, SimpleHand, MeshGraphormer), two-hand (IntagHand), and keypoint-only (MediaPipe Hands) families. Within the evaluated model panel, backbones pretrained using egocentric data are associated with stronger zero-shot transfer, with JointTransformer achieving the best zero-shot result at 14.95 mm PA-MPJPE, and a substantial surgical-domain gap remains. As a lightweight diagnostic baseline for within-dataset adaptation, a 58K-parameter residual corrector (JRN) on frozen backbones reaches 10.96-14.85 mm PA-MPJPE on held-out wearers for the two ego-pretrained backbones. We release the dataset, benchmark code, checkpoints, and multi-rater annotation framework.

The release
Core dataNeurIPS 2026E&D TrackCC BY-NC-SA 4.0

EgoSurgHands dataset

Four medical trainees, from a first-year medical student to a third-year resident, wore Project Aria glasses while suturing, tying knots, loading needles and cutting on synthetic skin pads. Evaluation labels were validated through multi-rater human review with senior-surgeon adjudication.

51,385Hand instances
32,646Frames
68Recordings
13Tasks
4Trainees
3Glove colours
9,476Validated
21Joints / hand
LIVE Simple interrupted + instrument tie Β· blue gloves
Benchmark8 methods5 metricsLeave-one-wearer-out

Zero-shot leaderboard

PA-MPJPE in mm on the 9,476 human-validated evaluation hands, zero-shot. Teal: pretrained on egocentric video. *Scored on the 24.1% of hands it detects.

All five metrics, confidence intervals and JRN β†’
LabelsMPS sensor fusionHuman review

Checked by people

Training rows keep the MPS labels, gated at confidence 0.97. The 9,476 evaluation rows were validated through multi-rater review with senior-surgeon adjudication.

43.1% accepted as-is51.9% drag-corrected5.1% rejected

Median correction: 8.2 mm.

How good are the labels? β†’
HardwareProject Aria

Captured with Project Aria

Project Aria (Gen 1) glasses

Research-edition glasses: a 1408 Γ— 1408 fisheye RGB camera at 30 fps, two monochrome SLAM cameras, eye tracking, audio and IMUs. Meta's Machine Perception Services returns 21-joint hand landmarks at 30 Hz.

Inside the glasses β†’
ValidationExternal check

Checked against a triangulated reference

Two GoPros and an overhead iPhone, calibrated as one metric rig with a ChArUco board, recorded the tasks alongside the glasses.

15.9 mmMedian per joint
9.8 mmPer-hand aligned
562Hands
500Frames

Closest at the MCP and PIP joints (12 to 17 mm), furthest at the fingertips (17 to 22 mm) and the wrist (25 mm), where the MPS and MANO joint definitions differ most.

Live tracking

The hands, as the glasses tracked them

Aria RGB video at 30 fps with Meta's MPS 3D hand tracking projected onto every frame: the sensor output the labels are built from. Pick a task below.

LIVE Β· MPS 3D hands β†’ RGB
Dataset

Surgical-training hands, from the wearer's point of view

Four medical trainees, from a first-year medical student to a third-year resident, wore Project Aria glasses while suturing, tying knots and cutting on synthetic skin pads. Meta's Machine Perception Services (MPS) turns each recording into 21-joint 3D hand landmarks, a SLAM trajectory, calibration and eye gaze, and every evaluation frame is then checked by people.

Nine egocentric frames, one per surgical-training task family, each with hand-skeleton overlays and per-task statistics: number of frames, wearers, videos and duration.
EgoSurgHands at a glance. Eight surgical-training task families (13 task variants), four wearers, three experience tiers (MS1, PGY0, PGY3) and three glove colours, captured with Project Aria glasses (1408 Γ— 1408 fisheye RGB). Click any figure to enlarge.
Five-stage pipeline: data capture with Aria glasses, MPS sensor fusion, projection and filtering, human validation, and the final train and evaluation splits.
From capture to benchmark. (1) Capture with Project Aria glasses. (2) MPS computes 3D hand landmarks, SLAM, calibration, confidence and eye gaze. (3) Landmarks are projected into the RGB frames, time-aligned and gated at confidence 0.97. (4) Training rows keep the gated MPS labels; evaluation rows are validated by multi-rater review, examiner review and senior-surgeon adjudication.

What each frame includes

  • Egocentric RGB1408 Γ— 1408 fisheye frames from the Aria RGB camera.
  • 3D hand pose21-joint MPS landmarks per hand, per-hand confidence and a hand bounding box.
  • Camera geometryPer-frame intrinsics, plus SLAM trajectories for the 35 of 68 recordings where SLAM succeeded.
  • Eye gazeAria eye-gaze estimates alongside every frame.
  • MetadataWearer, task, glove colour, experience tier and recording day.
  • DocumentationCroissant 1.1 metadata with Responsible AI fields, and a Gebru-template datasheet.
Task families
Simple interrupted Figure-of-eight Horizontal mattress Vertical mattress Two-hand tie Running subcuticular Needle loading Cutting
Participants and setting
Wearers
4, de-identified as P1 to P4; one left-hand dominant
Stages
MS1, PGY0 and PGY3
Gloves
blue, white and brown
Setting
one site, two recording days, synthetic skin pads; no patients
Kit
needle drivers, toothed forceps, Metzenbaum and suture scissors; vicryl, silk and nylon sutures
Capture
RGB at 30 fps, frames released at 5 Hz (every 6th frame)
Splits (procedure-disjoint)
41,909
Training
55 recordings Β· MPS labels gated at confidence 0.97
9,476
Evaluation
13 held-out recordings Β· human-validated
from datasets import load_dataset

ds = load_dataset("aaditya/EgoSurgHands")   # splits: train, validation (request access on the dataset page, then huggingface-cli login)
Benchmark Β· Leaderboard

Eight hand-pose methods, zero-shot

None of the methods sees surgical data during training. Each is scored against the human-validated labels of the 9,476 evaluation hand instances, on 20 joints, with 95% confidence intervals from a bootstrap over the 13 held-out recordings.

Zero-shot 3D pose error
PA-MPJPE in mm, lower is better Β· dots are estimates, whiskers 95% CIs

The shaded band marks the benchmark's roughly 1 cm label resolution (5 to 13 mm). † MediaPipe Hands is scored on the 24.1% of evaluation rows where it detects a hand.

Egocentric pretraining transfers best

JointTransformer has the lowest zero-shot error, 14.95 mm. WildHands, which shares HaMeR's architecture but adds egocentric training data, lowers HaMeR's 24.99 mm to 20.48 mm.

A surgical domain gap remains

Zero-shot errors span 15 to 30 mm, well above the roughly 1 cm label resolution. In the qualitative examples, WildHands predicts an open-hand template that misses the surgical grip.

Gains hold for unseen wearers

With each wearer held out in turn, the JRN adapter improves the held-out wearer in 19 of 20 backbone and wearer pairs.

All five metrics

Zero-shot / with JRN Β· mm, except PA-P2D in px
PA-MPJPEMPJPE-RRRoot errorMPJPE-absPA-P2D (px)
MethodZS+JRNZS+JRNZS+JRNZS+JRNZS+JRN
Egocentric pretraining
JointTransformer14.9510.70133.740.8355.575.4352.779.027.719.6
WildHands20.4810.40133.340.1550.473.8533.375.838.619.0
Non-egocentric
HaMeR24.9916.11157.750.7313.8105.6365.091.742.829.4
WiLoR25.3415.91151.451.1314.0102.8369.988.044.328.9
MeshGraphormer26.2215.12151.451.9344.9106.1400.596.147.527.5
SimpleHand28.5921.10137.869.5324.0141.4356.1109.853.439.1
Two-hand and keypoint-only
IntagHand20.2813.94157.950.8322.592.5363.490.537.925.5
MediaPipe Hands†30.4518.05122.963.3328.6121.4386.194.947.529.7

Errors against the Aria MPS labels on the OP_VALID 20-joint subset; PA metrics use Umeyama Procrustes; PA-P2D uses the Aria pinhole approximation (f = 606.5, c = 704). Bold: best zero-shot PA-MPJPE and best value in each +JRN column. † MediaPipe errors are on the 24.1% of evaluation rows where it detects a hand (2,283 of 9,476); its JRN is trained on the 11,349 training rows where it detects one.

About JRN. JRN is a 58K-parameter residual corrector, trained on the training split with the same recipe for every method. It is a diagnostic baseline for adapting a frozen model to the MPS labels. Corrected models sit at the roughly 1 cm label resolution, so differences among them are not resolvable: compare methods on the zero-shot results.

Generalisation

Leave one wearer out

The original split keeps procedures apart but shares wearers. Here each wearer is held out in turn: JRN is retrained on the other three wearers' training rows, and the backbones stay zero-shot.

BackboneP1 (n = 4,694)P2 (3,198)P3 (923)P4, brown gloves (661)
JointTransformer15.32β†’12.6514.13β†’11.3014.48β†’11.4516.94β†’14.85
WildHands20.21β†’12.0020.68β†’14.2518.89β†’10.9623.64β†’14.68
HaMeR25.64β†’17.5924.26β†’18.3723.06β†’14.9226.58β†’27.71*
MeshGraphormer24.25β†’17.7027.59β†’17.3127.00β†’14.3032.56β†’15.84
SimpleHand27.54β†’21.4729.67β†’22.5727.00β†’21.3633.06β†’21.29

PA-MPJPE in mm, zero-shot β†’ with JRN, on the held-out wearer. * The only cell where JRN does not improve the held-out wearer. P4, who wore all the brown gloves, is the hardest zero-shot fold for every backbone, and the two egocentric backbones reach 10.96 to 14.85 mm without having seen the evaluation wearer.

Bar charts of PA-MPJPE for WildHands and JointTransformer, zero-shot and with JRN, by wearer (P1 to P4), glove colour (blue, white, brown) and experience tier (MS1, PGY0, PGY3).
Per-stratum PA-MPJPE for WildHands and JointTransformer, zero-shot and with JRN (original split). JRN lowers error in every stratum; P4 (all brown-glove hand instances, n = 661) is the hardest for both backbones. Glove colour, experience tier and wearer are confounded in the evaluation split, so stratum differences are not attributed to any single factor.
Label quality

How good are the labels?

The labels are sensor-fused pseudo-ground truth, not motion capture. Three independent checks put their resolution at about one centimetre.

8.2 mm

Human corrections

Raters reviewed all 9,476 evaluation frames: 43.1% were accepted as-is, 51.9% were drag-corrected and 5.1% were rejected. Among corrected frames, the median correction is 8.2 mm.

11.7 to 13.2 mm

Model consensus

The consensus of independently trained backbone panels sits 11.7 to 13.2 mm from MPS, stable across panel variants and when any one backbone is left out.

15.9 mm

External triangulation

Two GoPros and an overhead iPhone, calibrated as one metric rig with a ChArUco board, recorded the tasks alongside the Aria glasses. Over 500 frames from 17 recordings, the median per-joint deviation from MPS is 15.9 mm (95% CI 14.7 to 17.5), and 9.8 mm after per-hand alignment. It includes reference error, so it bounds MPS error from above.

What this means. A resolution of about 1 cm is fine enough to compare methods zero-shot, where errors span 15 to 30 mm, but not to rank models after JRN correction, whose errors fall inside it.

Results

Qualitative results

Three rows of egocentric frames with blue, white and brown gloves; columns compare WildHands zero-shot, WildHands with JRN, and the MPS label.
WildHands zero-shot, WildHands with JRN, and the MPS label (left to right), on frames covering the three glove colours. Overlays are Procrustes-aligned to the label to isolate shape error. The zero-shot prediction keeps an open-hand template that misses the surgical grip; JRN recovers it.
Hardware

Inside the glasses

Every recording comes from Meta's Project Aria research-edition glasses. The RGB camera supplies the frames; Meta's Machine Perception Services turns each session into the 3D hands. Hover a glowing sensor.

Project Aria glasses with every sensor and its coordinate frame labelled: RGB camera, two SLAM cameras, two eye-tracking cameras, IMUs, microphones, barometer and magnetometer.
  • RGB camera1408 Γ— 1408 video through a fisheye lens at 30 fps. Frames are released at 5 Hz (every 6th frame); 2D labels use a pinhole approximation (f = 606.5, c = 704).
  • Two SLAM camerasMonochrome cameras on either side of the frame, alongside eye tracking, audio and IMUs.
  • Machine Perception ServicesEach session goes to Meta MPS, which returns the SLAM trajectory, 21-joint hand landmarks at 30 Hz, eye-gaze direction and a semi-dense point cloud.

Diagram: Project Aria documentation (projectaria_tools, Meta), colours inverted in the dark theme.

Tooling Release coming soon

Multi-rater annotation tool

Evaluation frames were reviewed in a browser-based tool. Raters toggle every skeleton overlay, accept, drag-correct or reject each frame, and leave notes. Frames come in bundles of 1,000 that several raters can open independently, which supports the agreement audit.

Annotation canvas showing a fisheye frame with a hand skeleton overlay, a settings panel on the left and labelling buttons on the right.
Frame canvas. Toggleable overlays, drag correction, rotation and zoom, with Good, Drag-and-save and Reject actions.
Bundle picker listing 1,000-frame bundles with progress bars and open buttons.
Bundle picker. Fixed-size bundles with server-side progress; open access lets several raters tag the same bundle.
Scope

Limitations

  • Four wearers at one site over two days, on synthetic pads rather than in a live operating room.
  • Labels are human-validated pseudo-ground truth, not mocap-grade, and cannot resolve sub-centimetre differences such as those among JRN-corrected models.
  • The original split shares wearers and days; the leave-one-wearer-out protocol addresses this for JRN.
  • All brown-glove frames come from one wearer, so glove colour and wearer are confounded for that stratum.
Questions

Frequently asked

Was this recorded during real surgery?

No. Every recording is a surgical-training task on a synthetic skin pad with a standard suturing kit, at one site over two recording days. There are no patients and no protected health information.

How do I get the data?

Request access on the Hugging Face dataset page; requests are reviewed by hand. Once approved, log in with huggingface-cli login and load it with the datasets library, as in the snippet in the Dataset section.

What licence does it use?

CC BY-NC-SA 4.0: free for non-commercial use with attribution, and anything derived from it must be shared under the same licence.

How accurate are the labels?

They are sensor-fused pseudo-ground truth, not motion capture. Human corrections, model consensus and an external triangulated rig all put their resolution at about 1 cm. That is fine enough to compare methods zero-shot, where errors span 15 to 30 mm, but not to rank models after JRN correction.

Who are the wearers?

Four medical trainees, de-identified as P1 to P4: a first-year medical student (MS1), a PGY0 and two PGY3 residents. One of them is left-hand dominant.

What are the videos at the top of this page?

Raw Aria RGB footage from the recordings, undistorted to the dataset's pinhole camera, with Meta's MPS 3D hand landmarks projected onto every frame at 30 fps (left hand blue, right hand green). The dataset itself releases every 6th frame with the labels described above.

Citation

BibTeX

@inproceedings{pal2026egosurghands,
  title     = {EgoSurgHands: An Egocentric 3D Hand Pose Dataset \& Benchmark
               for Open-Surgery Training},
  author    = {Pal, Ankit and Kugener, Guillaume and Volpi, Sofia and
               Schwartz, Joshua and Idarraga, Alex and Rajpurkar, Pranav and
               Brat, Gabriel A.},
  booktitle = {Advances in Neural Information Processing Systems (NeurIPS),
               Evaluations and Datasets Track},
  year      = {2026}
}