Fortknock is a machine learning project that uses the YOLOv5 object detection model to identify if a player has been knocked down in the game Fortnite. This model is designed to run fast inference with high throughput.
knockdata/
: Submodule containing training data (private repository).notebooks/
: Jupyter notebooks for model training, and evaluation.models/
: Object detection model and weights.tests/
: (WIP) Test scripts and test data..gitmodules
: Configuration file for the YOLOv5 submodule.requirements.txt
: List of dependencies required for the project.
- Python 3.8+
-
Clone the repository:
git clone https://github.com/barfieldjr/fortknock.git cd fortknock
-
Initialize and update the submodule:
git submodule init git submodule update
-
Set up a virtual environment and install dependencies (optional but recommended):
source ./setup.sh
- Add video:
Place the video to be analyzed at
data/input
- Run inference on video: The start script takes two parameters, the filename of the video to run inference on, and the number of fps (recommended 5fps):
source ./start.sh your_filename.mp4 5
To train the YOLOv5 model, follow the steps in the provided Jupyter notebook in the notebooks/
directory. This model has a lot of room for improvement. Currently it works very well with the ability to detect knockdowns due to the static nature of the duration and popup of Fortnite's knockdown popup. Improving the confidence of this model would be helpful.
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.
This project is licensed under the MIT License - see the LICENSE file for details.