This project provides a custom object tracking system using YOLOv8 and ByteTrack to analyze gameplay videos.
It focuses on tracking specific game characters with fixed IDs โ including Luigi, Boo, Peach, and Shy Guy โ and dynamically tracks generic obstacles using ByteTrack.
- ๐ฏ Fixed ID tracking for main characters:
Luigiโ ID 1Booโ ID 2Peachโ ID 3Shy Guyโ ID 4
- ๐ฉ Dynamic object tracking for
'obstacle'using ByteTrack - โ Works with YOLOv8 fine-tuned custom models
- ๐น Accurate for gameplay analysis, emotion interaction, or data collection
/fine-tune
โโโ test/
โ โโโ Gameplay.mp4 # Input video
โโโ output_tracked/
โ โโโ 20240515-conf0.4.mp4 # Output video with tracked boxes
โโโ runs/
โ โโโ detect/train14/weights/ # Your YOLOv8 trained model
โโโ yolov8_fixedid_bytetrack.py # Main tracking script
pip install -r requirements.txtruns/detect/trainX/weights/best.pt
./test/Gameplay.mp4
cd fine-tune/
python yolov8_fixedid_bytetrack.py./output_tracked/<timestamp>-conf<score>.mp4
Make sure your YOLOv8 model was trained with the following class names in data.yaml:
names:
0: Luigi
1: Boo
2: Peach
3: Shy Guy
4: obstacle- CSV export of tracking logs (frame-by-frame position, ID)
- Invisible persistence (tracking through occlusion)
- Web UI to review tracking results
- Interactive labeling pipeline
MIT License. This repo is designed for research and non-commercial use in gameplay studies and interaction design.