Skip to content

VideoHighlighter 0.8.0

Choose a tag to compare

@github-actions github-actions released this 28 Jun 07:55
· 316 commits to main since this release

New features:

  • Composition Engine
  • Labeler

Composition Engine

Detect higher-level actions from spatial relationships between objects (e.g. "object A inside region B N times")
Configurable via composition_rules.yaml with AND logic, majority-vote smoothing, and ghost tracking through brief occlusion
Custom Keypoint Model

Train and run your own YOLO pose model directly in the app
Select and switch custom models from the UI; model is picked up automatically after training

Labeler
Optical-flow assisted tracking between labeled frames
Custom keypoint names defined by the user
Multi-instance support — place the same keypoint multiple times per frame
Occlusion handled correctly in interpolation and optical-flow tracking
Auto-export to dataset/train/labels/ — no save dialog needed

Timeline
Waveform colored by RMS energy (percentile-normalized)
Show all detected actions by default; toggle to highlight-only view
Per-class show/hide filter for bbox overlay
Filter state (confidence thresholds, action/object visibility) persisted across sessions
◀ ▶ navigation arrows on each track row — jump to previous/next event instantly (respects active filters)

Overlay
Readable, abbreviated, non-overlapping bbox labels
Per-class show/hide filter
Bbox colors match the timeline

Training
YOLO training auto-resumes from last.pt on startup (--fresh to override)
Checkpoints, warm-start, and correct best.pt path resolution

UI
Advanced tab laid out in a 2-column grid (groups use horizontal space when maximized instead of one tall column)
Action recognition progress bar shows a single clear backend label (CUDA / OpenVINO-GPU / OpenVINO-CPU) instead of a confusing per-model device list

Bug Fixes
Intel Arc GPU now detected via OpenVINO in packaged builds (the frozen exe's CPU-only torch previously reported "No GPU found", forcing everything onto the CPU)
Auto action backend now picks the right hardware — uses OpenVINO on the Intel GPU instead of forcing R3D onto the CPU when no CUDA is present
Fixed Advanced tab overflow that pushed the Run button off-screen and blocked maximizing (notably in the frozen exe)
Reduced action timestamp / waveform bin desync from ~2s to ~0.5s
Fixed ffmpeg resolution in frozen exe for time-range processing
Fixed config.yaml resolution and save persistence in PyInstaller exe
Fixed custom action model not resolving next to the exe

Performance
Lazy loading for realtime overlay bboxes
Waveform resolution scales with video duration