Skip to content

Introducing Perceptron Egocentric 1.0

State-of-the-art egocentric annotations. Now available through a self-service API.

Perceptron
Clip 1 / 800:00 / 00:10

Dish washing, bare hands (phone video, no calibration): rinsing a frying pan while the other hand works the faucet with a sponge.

SubtaskWipe pan rim with blue sponge
Left handHolding the frying pan by its handle in the sink
Action
hold
Object
frying pan handle
Contact
yes
Visibility
visible
Right handHolding the blue sponge in the sink water
Action
hold
Object
blue sponge
Contact
yes
Visibility
visible
Hands:

Explore what Perceptron Egocentric produces on household, robot and manufacturing video: pick a clip, play it, click any step to jump to that moment, and switch between 2D keypoints and the 3D hand mesh. Robot clips are from the Galaxea Open-World dataset [1]; manufacturing clips from Build AI's Egocentric-10K [2].

Labeling subtasks at a fraction of the cost

Frontier-quality timelines at an eighth of the cost

EgoHome score versus timeline cost per hour of videoSeven systems on a logarithmic cost axis from $1 to $200 per video-hour. Use arrow keys to move between systems in cost order; each reads its score and cost. Exact values are also in Table 2.Timeline cost per hour of video (log scale)EgoHome score

Figure 1: EgoHome annotation quality versus cost per video-hour, on a logarithmic cost scale. The dashed line is the Pareto frontier, the system that no other system beats on both score and cost; the orange area above and to the left of it, cheaper and higher scoring, is reached by no system we measured. Both Perceptron Egocentric settings lie on the frontier. Pantheon Argus (0.32 to 0.37) is below the chart's range and not shown.

Table 1: WGO-Bench, 100 videos (higher is better). Semantic F1 counts a step as correct when both its timing and its label match; segment F1 checks timing only. Both are pooled: matches are counted across all 100 videos before computing F1, rather than averaging a per-video F1, to match how other teams report WGO-Bench. Best in bold.
SystemSemantic F1 ↑Segment F1 ↑
Midcentury Optimized Argus † [6]0.5020.579
Perceptron Egocentric0.4740.583
Glimpse (Elorian) †0.427–
GPT-6 Astra †0.394–
FLORA (NVIDIA) † [7]‡0.503 ‡

† Self-reported, not reproduced by us. ‡ FLORA reports WGO-Bench results under its own evaluation protocol, so they are not directly comparable: we omit its semantic F1 and show its reported segment F1.

Capturing steps shorter than a second

2× speed
0.0 s / 61.0 s
Gold labelHolding the maroon pillowcase on the bed
Perceptron EgocentricFold bottom edge of maroon cloth up on mattress
GPT-6 Astra (4 fps)Fold and smooth the burgundy patterned cloth

Figure 2: Subtask timelines for one EgoHome clip of a person folding laundry, at double speed: the reference labels (gold), Perceptron Egocentric with default settings, and GPT-6 Astra at 4 frames per second. Gold and Perceptron Egocentric both split the clip into 19 steps; GPT-6 Astra returns 8, labeling 30 seconds of towel folding as a single step. On this clip Perceptron Egocentric scores 0.77 and GPT-6 Astra 0.59; across all of EgoHome the two score about the same (Table 2). Full video.

Table 2. EgoHome results on all 137 clips. Subtask score (higher is better) is the share of video time on which predicted and reference steps agree (permissible subsegment Jaccard), shown overall and by length of the reference step. Cost is per hour of video (lower is better). Best in bold, second best underlined.
SystemAll ↑< 0.5 s ↑0.5–1 s ↑> 1 s ↑Timeline $ / video-hour ↓
Perceptron Egocentric, 8 fps (option)0.7980.5550.6720.824≈ $15
GPT-6 Astra, 4 fps frames0.7970.5030.6490.831≈ $76
Perceptron Egocentric, 4 fps (default)0.7870.5590.6150.814$9
GPT-6 Astra, 1 fps frames0.7750.5950.5000.807≈ $20
FLORA (NVIDIA)0.7470.5790.6150.777$35.39
Glimpse (Elorian), 4 fps video0.6890.3800.4100.720≈ $2.8
Gemini 3.8 Flash, 4 fps video0.6630.3750.3920.695≈ $1.3
Argus (Pantheon), GPT-6 Astra [8]0.3670.1350.1330.381$24.17
Argus (Pantheon), Midcentury's settings: GPT-6.1 Sol [6]0.3150.0980.1060.332$7.76
Clips with a step of this length1372460137

All systems were scored on all 137 clips with the same scorer. Perceptron results average three runs at 4 fps and two at 8 fps; other systems ran once. GPT-6 Astra received timestamped frames; Gemini and Glimpse received native video. Argus labels describe object states (for example, "mug loaded into the upper rack") rather than actions, which EgoHome's judge counts as mismatches.

Cost is what each system charges to produce timelines for one hour of video: Perceptron's customer price, API charges for GPT-6 Astra, Gemini and Glimpse, and GPU runtime for FLORA. Argus costs also include hand labels. Costs marked ≈ are estimates. GPT-6 Astra, Gemini and Glimpse were billed once for all tasks, so we counted only the timeline's share: one pass of the video as input plus the timeline output. For 8 fps, we scaled our $9 price by its 1.7× higher model spend.

Tracking each hand in 3D and with activity labels

State-of-the-art hand shape, no calibration needed

Figure 3: Hand tracking on two first-person dish-washing clips filmed on a phone, with no camera calibration: (a) bare hands, (b) rubber gloves. Each hand gets its own 3D mesh, labeled with its side, detection confidence and distance from the camera. Left of each row: 2D keypoints; right: the 3D mesh on the frame and the same hands seen from another angle. Full 10-second videos: bare hands 2D, bare hands 3D, rubber gloves 2D, rubber gloves 3D.

Table 3: Hand shape and pose accuracy are measured on HOT3D [4] and ARCTIC [5], two standard benchmarks of first-person videos showing hands manipulating objects. Errors are measured in millimeters (lower is better). Hand shape (PA-MPJPE) aligns translation, rotation, and scale to isolate finger articulation errors. Hand pose (wrist-aligned MPJPE) aligns only wrist position, penalizing global orientation and scale errors. Calibrated means the model is given the camera's parameters, such as focal length and image center. Uncalibrated means it must estimate them, as our API does automatically. Best results are in bold and second-best results are underlined.
Hand shape (PA-MPJPE)Hand pose (wrist-aligned MPJPE)
MethodHOT3D cal. ↓HOT3D uncal. ↓ARCTIC cal. ↓ARCTIC uncal. ↓HOT3D cal. ↓HOT3D uncal. ↓ARCTIC cal. ↓ARCTIC uncal. ↓
Perceptron (ours)5.215.216.616.6115.6215.6315.6515.29
ACE-Ego-Hand †6.446.777.478.7612.8913.5415.2616.62
ViDiHand †11.38–9.82–––––
WiLoR †19.98–11.87–––––
HaMeR †21.46–14.60–––––

† From the ACE-Ego-Hand paper [11] (Table 1), not reproduced by us. That paper reports HaMeR [12], WiLoR [13] and ViDiHand [14] for calibrated hand shape only. Its segment list is not public, so our segments differ.

A separate activity timeline for every hand

Figure 4: Per-hand activity labels from Perceptron Egocentric on (a) the bare-hands dish-washing clip from Figure 3, at half speed, and (b) a two-armed Galaxea robot [1] sorting objects into baskets, at normal speed. Each hand or gripper has its own timeline; the orange step is the one happening now, and its label is shown above the bar. A dash means that hand or gripper is out of view. Labels are the model's output, unedited. Full video.

Start annotating today

A completed batch in the Perceptron dashboard: 240 jobs, 172.8 billed video hours, a cost breakdown by output and the list of jobs.

Figure 5: A batch in the Perceptron dashboard shows your annotation cost broken down by output (subtask timelines, 3D hand tracking and activity labels) and the status and cost of every job.

curl https://api.perceptron.inc/v1/egocentric/batches \
  -H "Authorization: Bearer $PERCEPTRON_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "inputs": [
      {
        "type": "video_url",
        "video_url": { "url": "https://example.com/videos/kitchen.mp4" }
      }
    ],
    "hand_tracking": { "output": "3d" },
    "hand_activity": true
  }'
curl https://api.perceptron.inc/v1/egocentric/jobs/$JOB_ID \
  -H "Authorization: Bearer $PERCEPTRON_API_KEY"
curl https://api.perceptron.inc/v1/egocentric/jobs/$JOB_ID/result \
  -H "Authorization: Bearer $PERCEPTRON_API_KEY" \
  -o result.json
Egocentric list prices per hour of video, by output
OutputPer video-hour
Subtask timeline (always included)$9
2D hand tracking (add-on)$12
3D hand tracking (add-on)$14
Per-hand activity labels (add-on)$6

Notes on evaluation

Citation

@article{perceptron2026egocentric,
  author = {PerceptronAI},
  title = {Introducing Perceptron Egocentric 1.0},
  journal = {PerceptronAI Research Blog},
  year = {2026},
  note = {https://perceptron.inc/blog/introducing-perceptron-egocentric-1-0},
}

References

Back to top