Inspiration
This project focuses on re-identifying soccer players across two video feeds.
What it does
This project focuses on re-identifying soccer players across two video feeds: a broadcast view and a tacticam view. The goal is to assign consistent player IDs between both views, even when players go out of view temporarily.
Great project! Here's how you can structure the response for your write-up or presentation under the sections you mentioned:
How We Built It
Used YOLOv11 for real-time player detection across both broadcast and tacticam videos.
Integrated DeepSORT for robust tracking, assigning persistent IDs within each view.
Built a Re-ID module using ResNet-50 to extract deep features from cropped player images.
Developed a matching pipeline (match_players.py) to compare players across both views and generate a mapping (player_mapping.json).
Maintained modular code structure: separate folders for detection, tracking, and re-identification to ensure reusability and clarity.
Enabled resume mode in tracking for long video processing and recovery from interruptions.
Challenges We Ran Into
Cross-view matching complexity: Different camera angles, lighting, and partial occlusions made player matching across views difficult.
Tracking accuracy: Maintaining consistent IDs under occlusion, especially when players exit and re-enter the frame, was tricky.
Model compatibility: Ensuring YOLOv11 weights were compatible with the Ultralytics interface took debugging.
Compute efficiency: DeepSORT and ResNet-50 were CPU-intensive; tuning for performance on non-GPU setups was required.
Crop quality variance: Low-resolution or blurry crops affected Re-ID accuracy.
Accomplishments That We're Proud Of
Successfully built a multi-view player Re-ID system that works even with occlusion and reappearance.
Designed an end-to-end pipeline from raw video input to identity mapping output.
Achieved consistent ID mapping using deep learning models without manual labeling.
Created a user-friendly CLI-based system that supports resume, modularity, and debuggability.
What We Learned
Gained practical experience with video analytics using computer vision and deep learning.
Learned the importance of data preprocessing and crop quality for downstream Re-ID tasks.
Understood how DeepSORT and YOLO can be combined for effective multi-object tracking.
Realized that embedding-based Re-ID is sensitive to lighting, resolution, and angle—highlighting the importance of domain adaptation.
What's Next for Soccer-Player-Re-ID-Model
📈 Improve Re-ID accuracy with contrastive or triplet loss-based custom training instead of vanilla ResNet-50 embeddings.
🧠 Add pose estimation for better context-aware matching across views.
⏱️ Integrate real-time inference to support live tracking during matches.
📊 Build a visual dashboard for mapping players in both feeds interactively.
🎥 Extend to multi-view setups (more than 2) for advanced tactical analysis in professional environments.
📦 Package the system as an installable module or web service for sports analytics platforms.
Built With
- matplotlib
- numpy
- pillow
- python
- scikit-learn
- torch
- tqdm
Log in or sign up for Devpost to join the conversation.