Rotoscoping & AI masking
Create accurate moving masks for objects across frames.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- After Effects (Roto Brush) · Nuke · Mocha
- Class GUI-need label
G3· GUI-only
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R06.05.02.02-T01 Rotoscope an actor across 120 frames with Roto Brush
Original instruction
In After Effects, comp 'Walk_Roto' (fixtures/walk.aep) holds a 120-frame shot of an actor walking past a busy background. Isolate the actor with Roto Brush (refine as needed) and render the matte as out/actor_matte/####.png (8-bit grayscale, 1 = actor).
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Per frame IoU vs GT matte: mean ≥ 0.92 and no frame < 0.85; boundary F-measure (2 px) ≥ 0.75; 120 PNGs with correct size. .aep probe shows a Roto Brush effect; scripting disabled; mattes from external segmentation models are not allowed (render log from AE required).
Proposed partial credit
50% mean IoU (scaled from 0.8); 20% worst-frame floor; 20% boundary accuracy; 10% output format.
R06.05.02.02-T02 Repair eight drifting frames of a Magic Mask
Original instruction
In DaVinci Resolve Studio, timeline 'Cyclist' clip 1 has a Magic Mask on the cyclist that drifts on 8 frames (occlusion by a sign). Fix the mask on those frames with additional strokes, re-tracking or a supplementary window, and export the mask as out/cyclist_mask.mov (alpha as luma).
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve Studio
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathclick· Point & clickvis· Visual judgment- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
On the 8 GT drift frames IoU ≥ 0.9 each; on all other frames IoU not lower than the original mask by > 0.01; exported mask frame count matches clip. Resolve scripting (Console and external API) is disabled, no segmentation models are installed, and renders not written by Resolve are rejected (writes logged by process).
Proposed partial credit
64% drift frames fixed (8 points each); 26% other frames not degraded; 10% export.
R06.05.02.02-T03 Track and blur a synthetic license plate for 72 frames
Original instruction
In After Effects, comp 'Street_Car' (fixtures/car.aep, 72 frames) shows a passing car with a synthetic license plate. Create a tracked mask (Mocha AE planar track or mask tracker) over the plate and apply a blur so the plate is unreadable on every frame, without blurring the rest of the car. Render out/car_blur.mov.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects · Mocha AE
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
geom· Precise geometrypath· Continuous pathvis· Visual judgment- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
OCR on GT plate region per frame finds 0 characters of the plate string; blurred region covers ≥ 98% of GT plate quad and ≤ 2.5× its area; car body outside a 20 px dilation SSIM ≥ 0.98 vs source. ExtendScript and aerender are disabled (Mocha AE has no scripting), and renders not written by After Effects or Media Encoder are rejected (writes logged by process).
Proposed partial credit
45% unreadable every frame; 30% coverage tight to plate; 25% rest of car untouched.
R06.05.02.02-T04 Articulated spline roto of a walking person in Nuke
Original instruction
In Nuke script fixtures/roto_walk.nk, rotoscope the walking performer (96 frames) with separate Roto shapes for head/torso, each upper arm, forearm, thigh and shin (≥ 9 shapes), keyframed with motion blur enabled on shapes. Write out/walk_alpha.####.exr.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Nuke
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometrynav· Pan/zoom/scroll- Work product
WP10· Annotations- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Per frame IoU vs GT ≥ 0.93 mean, min ≥ 0.88; boundary F (2 px) ≥ 0.8; script parse: ≥ 9 named shapes, motion blur on, keyframe count per shape ≤ 1 per 2 frames on average (no per-frame tracing of a generated matte). Nuke's Script Editor and terminal modes are disabled, no segmentation models are installed, and .nk or EXR files not written by the Nuke GUI are rejected.
Proposed partial credit
40% mean IoU; 15% worst frame; 20% boundary accuracy; 25% articulated shape structure.
R06.05.02.02-T05 Roto a window region using a Mocha planar track
Original instruction
In Mocha Pro, project fixtures/facade.mocha: track the planar facade surface, then draw an X-spline roto for the second-floor window (including its frame) linked to the track, and export the shape as a matte sequence out/window_matte/####.png and as Nuke RotoPaint data.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Mocha Pro
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometryclick· Point & click- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Per frame window matte IoU vs GT ≥ 0.93; corner jitter (frame-to-frame) ≤ 1 px RMS; exported Nuke shape loads and renders matching PNGs (IoU ≥ 0.99). Mocha Pro's Python console is disabled and mattes or shape exports not written by the Mocha process are rejected (writes logged by process).
Proposed partial credit
50% matte IoU; 20% stability; 15% PNG export; 15% Nuke export.
R06.05.02.02-T06 Mask a skateboarder with Premiere's object mask
Original instruction
In Premiere Pro, sequence 'Skate' clip 3 (5 s): use the Object Mask (or Pen mask + tracking) to isolate the skateboarder and apply Lumetri saturation +40% only inside the mask. Export out/skate_pop.mp4.
- Platforms
mac· macOSwin· Windows- Applications
- Premiere Pro
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickvis· Visual judgmentpath· Continuous path- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
Changed-chroma region per frame vs GT skater mask IoU ≥ 0.85; skater chroma +30–50%; background ΔE2000 ≤ 1 vs source; mask present on the effect in .prproj. ExtendScript/UXP panels are disabled, ffmpeg and segmentation models are absent, and exports not written by Premiere or Media Encoder are rejected (writes logged by process).
Proposed partial credit
45% mask IoU over time; 25% skater saturation; 20% background untouched; 10% effect mask present.
R06.05.02.02-T07 Roto soft hair edges with Refine Edge
Original instruction
After Effects comp 'Wind_Hair' (fixtures/hair_roto.aep, 60 frames): a woman with long hair blowing against a sky. Use Roto Brush with Refine Edge (or Refine Soft Matte) to produce a soft matte that keeps strands, decontaminating edge colors. Render out/hair_matte/####.png (16-bit).
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathvis· Visual judgmentnav· Pan/zoom/scroll- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
GT trimap per frame: SAD ≤ expert-level threshold and gradient error ≤ threshold in unknown region; core IoU ≥ 0.95; temporal flicker in hair band (mean |Δα| between frames minus GT's) ≤ 0.02. ExtendScript and aerender are disabled, no segmentation models are installed on the VM, and mattes not rendered by After Effects or Media Encoder are rejected (writes logged by process).
Proposed partial credit
40% hair SAD/gradient; 25% core IoU; 25% temporal stability; 10% 16-bit output.
R06.05.02.02-T08 Roto a fast tennis racket with shape motion blur
Original instruction
Nuke script fixtures/racket.nk: 48 frames of a tennis swing; the racket is heavily motion blurred mid-swing. Roto the racket (frame and strings area as solid) with motion blur on the shape so the matte matches the blur, and write out/racket_alpha.####.exr.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Nuke
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometrynav· Pan/zoom/scroll- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
On blurred frames (GT list) alpha MAE vs GT soft matte ≤ 0.08; on sharp frames IoU ≥ 0.92; motion blur enabled with shutter matching plate (0.5); shape count ≥ 1 with ≤ 1 key per 2 frames on average. Nuke's Script Editor and terminal modes are disabled, no segmentation models are installed, and .nk or EXR files not written by the Nuke GUI are rejected.
Proposed partial credit
40% blurred-frame alpha fidelity; 30% sharp-frame IoU; 15% shutter setting; 15% sensible keyframing.
R06.05.02.02-T09 Roto interlacing hands with occlusion layers in Silhouette
Original instruction
In Boris FX Silhouette, project fixtures/hands.sfx: two hands interlace fingers over 72 frames. Produce separate mattes for the left and right hand where occluded fingers belong to the hand in front (layer ordering), with no overlap between mattes, and export out/left/####.png and out/right/####.png.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Silhouette
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometrynav· Pan/zoom/scroll- Work product
WP10· Annotations- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Per frame and hand IoU vs GT ≥ 0.9 mean (≥ 0.85 min); overlap between left and right mattes ≤ 0.2% of pixels; GT finger-occlusion frames: per-finger assignment correct ≥ 90%. Silhouette's Python scripting is disabled, no segmentation models are installed, and mattes not written by the Silhouette process are rejected.
Proposed partial credit
40% left/right IoU; 25% occlusion assignment; 20% no overlap; 15% worst-frame floor.
R06.05.02.02-T10 Produce separate mattes for three players over 90 frames
Original instruction
After Effects comp 'Rally' (fixtures/rally.aep, 90 frames): three volleyball players cross each other. Create one matte per player (Roto Brush per player or masks) and render out/p1/, out/p2/, out/p3/ PNG sequences where each pixel belongs to at most one player.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathnav· Pan/zoom/scrollvis· Visual judgment- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Per player identity-consistent IoU vs GT (Hungarian matching on frame 0, then fixed): mean ≥ 0.88; ID switches = 0; pairwise overlap ≤ 0.3%; frames where players cross: IoU ≥ 0.8. ExtendScript and aerender are disabled, no segmentation models are installed on the VM, and mattes not rendered by After Effects or Media Encoder are rejected (writes logged by process).
Proposed partial credit
45% per-player IoU; 20% no ID switches; 15% no overlaps; 20% crossing frames.
R06.05.02.02-T11 Put a title behind a foreground plant with a rotoscoped matte
Original instruction
In After Effects comp 'Garden_Title' (fixtures/garden.aep, 5 s locked-off shot with leaves moving slightly), place the title 'BLOOM' so it appears behind the foreground plant: rotoscope the plant leaves overlapping the title area and use the matte to hold out the text. Render out/garden_title.mov.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathvis· Visual judgment- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 2 / 5
Proposed verifier
Per frame: in GT leaf masks overlapping the title, text pixels absent (≤ 1%); title visible elsewhere (OCR 'BLOOM' and coverage ≥ 95% of unoccluded glyph area); leaf edges show no text fringe (2 px band). ExtendScript and aerender are disabled, no segmentation models are installed on the VM, and mattes not rendered by After Effects or Media Encoder are rejected (writes logged by process).
Proposed partial credit
50% correct occlusion per frame; 30% title visible; 20% clean edges.
R06.05.02.02-T12 Mask a running dog with Magic Mask and fix the tail
Original instruction
In DaVinci Resolve Studio, timeline 'Dog_Run' (4 s): use Magic Mask (object) on the dog, then fix frames where the fast tail is lost by adding strokes or a tracked window, and use the mask to brighten the dog +0.3 stop. Render out/dog_lift.mov.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve Studio
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathclick· Point & clickvis· Visual judgment- Work product
WP05· Time-based media- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Implied mask (gain ≥ 0.2 stop) vs GT dog mask: mean IoU ≥ 0.88; tail region (GT tail masks) recall ≥ 0.8 on all frames; background gain ≤ 0.03 stop. Resolve scripting (Console and external API) is disabled, no segmentation models are installed, and renders not written by Resolve are rejected (writes logged by process).
Proposed partial credit
40% body mask; 35% tail recall; 15% background untouched; 10% brightness change.
R06.05.02.02-T13 Roto a subject passing behind a lamp post
Original instruction
Nuke script fixtures/pole.nk: a cyclist rides past a lamp post that occludes her for 14 frames. Roto the cyclist so the matte excludes the post wherever it is in front, and write out/cyclist_alpha.####.exr for all 80 frames.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Nuke
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometrynav· Pan/zoom/scroll- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Per frame IoU vs GT ≥ 0.9 mean; on occlusion frames, alpha inside the GT post mask ≤ 0.02 and cyclist parts on both sides of the post present (recall ≥ 0.9). Nuke's Script Editor and terminal modes are disabled, no segmentation models are installed, and .nk or EXR files not written by the Nuke GUI are rejected.
Proposed partial credit
40% overall IoU; 40% occlusion handled; 20% recall on split parts.
R06.05.02.02-T14 Match motion-blurred edges with per-point variable feather
Original instruction
Nuke script fixtures/feather.nk: a car passes with directional motion blur on its leading and trailing edges only. Roto the car with a spline whose per-point feather is wide on blurred edges and tight on sharp edges, and write out/car_alpha.####.exr.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Nuke
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometryvis· Visual judgment- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Alpha MAE vs GT soft matte ≤ 0.05; edge-width profile: GT blurred edges alpha transition width within 30% of GT, sharp edges ≤ 3 px; script shape has non-uniform per-point feather values. Nuke's Script Editor and terminal modes are disabled, no segmentation models are installed, and .nk or EXR files not written by the Nuke GUI are rejected.
Proposed partial credit
40% overall alpha MAE; 30% blurred-edge width; 15% sharp edges; 15% per-point feather used.
R06.05.02.02-T15 Export per-frame segmentation annotations for two objects
Original instruction
Using After Effects or Resolve Magic Mask, segment the 'player' and the 'ball' in fixtures/kick.mov (50 frames), then export out/kick_coco.json with per-frame RLE masks in COCO video format (categories player=1, ball=2, track IDs constant).
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- After Effects · DaVinci Resolve Studio · Python
- Interfaces
desk· Desktop GUIterm· Terminal- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
HY· Hybrid- Interaction primitives
path· Continuous pathvis· Visual judgmentcode· Code & commands- Work product
WP10· Annotations- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 3 / 5
Proposed verifier
JSON validates against COCO schema; per frame player IoU ≥ 0.88, ball IoU ≥ 0.75 (≥ 0.6 on blurred frames); track IDs constant; categories correct; 50 frames annotated.
Proposed partial credit
35% player masks; 30% ball masks; 20% valid COCO with tracks; 15% complete frames.
R06.05.02.02-T16 Control: produce the T01 mattes with a scripted video segmenter
Original instruction
Control pair of T01 (CLI half). Using a SAM2 video predictor script and the click prompts in input/actor_clicks.json (no interactive refinement), produce out/actor_matte_cli/####.png for the same 120 frames.
- Platforms
lin· Linuxmac· macOS- Applications
- Python · SAM 2
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP10· Annotations- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Same IoU, worst-frame and boundary metrics as T01. Paired with T01 to measure what interactive refinement adds over a fixed-prompt scripted segmenter.
Proposed partial credit
50% mean IoU; 20% worst frame; 20% boundary; 10% format.
R06.05.02.02-T17 Roto a spinning bicycle wheel with see-through spokes
Original instruction
Nuke script fixtures/wheel.nk: 60 frames of a bicycle passing; the matte must include tire, rim, hub and spokes, while background visible between spokes is excluded. Build it with roto shapes plus a key or difference matte inside the wheel, and write out/bike_alpha.####.exr.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Nuke
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometryvis· Visual judgment- Work product
WP10· Annotations- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Per frame vs GT: frame/tire IoU ≥ 0.92; inside-wheel region: background pixels between spokes alpha ≤ 0.1 (≥ 85% of GT holes) and spoke recall ≥ 0.7; motion-blurred spokes partial alpha allowed. Nuke's Script Editor and terminal modes are disabled, no segmentation models are installed, and .nk or EXR files not written by the Nuke GUI are rejected.
Proposed partial credit
35% frame/tire matte; 35% holes between spokes; 20% spoke recall; 10% temporal stability.
R06.05.02.02-T18 Stabilize a chattering AI mask
Original instruction
In After Effects, comp 'Interview_Mask' has a Roto Brush matte on a seated interviewee whose edges chatter frame to frame. Reduce the chatter (Refine Edge settings, temporal smoothing, propagation fixes) so the matte is stable while still following the subject. Render out/stable_matte/####.png.
- Platforms
mac· macOSwin· Windows- Applications
- After Effects
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickpath· Continuous pathvis· Visual judgment- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Temporal instability (mean |Δα| on boundary band, minus GT's motion-induced change) reduced ≥ 60% vs original; IoU vs GT ≥ 0.93 mean (not lower than original); no lag: boundary offset during head turns ≤ 3 px. ExtendScript and aerender are disabled, no segmentation models are installed on the VM, and mattes not rendered by After Effects or Media Encoder are rejected (writes logged by process).
Proposed partial credit
45% chatter reduced; 30% accuracy maintained; 25% no lag on motion.
R06.05.02.02-T19 Roto three depth layers for a 200-frame stereo conversion
Original instruction
Nuke script fixtures/stereo_conv.nk: a 200-frame street shot needs mattes for 3 depth layers (foreground actor, midground car and pedestrians, background buildings/sky), each layer a complete partition with soft edges where motion blurred. Write out/depth_layers/L{1,2,3}.####.exr.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Nuke · Silhouette
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometrynav· Pan/zoom/scroll- Work product
WP10· Annotations- Conditions
licensed· Licensed pro applong· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Per layer per frame IoU vs GT ≥ 0.9 (L1), ≥ 0.85 (L2), ≥ 0.95 (L3); layers sum to 1 ± 0.02 everywhere (partition); motion-blurred edges partial alpha MAE ≤ 0.08; 600 frames delivered. Nuke's Script Editor/terminal modes and Silhouette's Python scripting are disabled, no segmentation models are installed, and EXRs not written by either app are rejected.
Proposed partial credit
25% L1; 30% L2; 15% L3; 30% clean partition and delivery completeness.
R06.05.02.02-T20 Track a skin-only face mask that excludes eyes, brows and lips
Original instruction
In Mocha Pro (for After Effects), project fixtures/beauty.mocha: create a tracked face mask for skin retouching across 90 frames that excludes the eyes, eyebrows, nostrils and lips as holes, linked to planar tracks of the face, and export the matte to out/skin_matte/####.png.
- Platforms
mac· macOSwin· Windows- Applications
- Mocha Pro · After Effects
- Interfaces
desk· Desktop GUI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
path· Continuous pathgeom· Precise geometrynav· Pan/zoom/scroll- Work product
WP10· Annotations- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Per frame vs GT skin mask IoU ≥ 0.9; GT eye/brow/lip regions alpha ≤ 0.05 (holes respected); edge stability jitter ≤ 1.5 px RMS; 90 PNGs. Mocha Pro's Python console and AE ExtendScript are disabled, no segmentation models are installed, and mattes not written by Mocha or AE are rejected.
Proposed partial credit
40% skin IoU; 30% holes excluded; 20% stability; 10% export.
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.