- Optimization 1: Downscale frames to 640px max-side before YOLOv8-seg
inference in segmenter.py, resize masks back to original resolution
(~13% speedup from reduced post-processing)
- Optimization 2: Store bool masks instead of composited BGR frames in
MaskActor.frames (~97% memory reduction per tracked frame, from ~6MB
to ~200KB per entry). Green screen now applied on-the-fly during
encoding rather than during tracking.
- Optimization 3: Add skip_every_n parameter to VideoActorExtractor
(default 1=all, 2=every other frame, up to 30). Users can trade
precision for speed.
- Add per-substep timing (Detection vs Tracking) printed after frame loop