How sahniaditya007/crossviewid-multi-camera-player-tracking works
CrossViewID is a lightweight football-player pipeline: a user runs the entry point on synchronized broadcast and tacticam videos, producing per-view detections and tracks, cross-view identity matches, and a JSON report plus console summary. The graph separates orchestration, vision processing, and reporting. README capabilities include configurable greedy/Hungarian matching and CPU/CUDA execution; source excerpts establish the main calls and detector/tracker behavior, while some matching internals are only partially sampled.
Main entry points: main.py Workflow entry · detector.py Player detection · broadcast.mp4 Broadcast video · tacticam.mp4 Tacticam video
Components 11
Pipeline orchestration
- Workflow entry
main.py - Broadcast video
data/broadcast.mp4 - Tacticam video
data/tacticam.mp4
Vision processing
- YOLO weights
models/best.pt - Player detection
utils/detector.py - IoU tracking
utils/tracker.py
Matching and reporting
- Cross-view matching
utils/matcher.py - Console summary
main.py - JSON report
output
Other components
- Operator
- Ultralytics YOLO
Connections 13
- Operator → Workflow entry: runs
- Workflow entry → Broadcast video: checks
- Workflow entry → Tacticam video: checks
- Workflow entry → YOLO weights: checks
- Workflow entry → Player detection: runs on both views
- Player detection → Broadcast video: reads frames
- Player detection → Tacticam video: reads frames
- Player detection → YOLO weights: loads
- Player detection → Ultralytics YOLO: runs inference
- Workflow entry → IoU tracking: tracks detections
- Workflow entry → Cross-view matching: matches tracks
- Workflow entry → Console summary: prints summary
- Workflow entry → JSON report: writes JSON