The aim of this project is to develop an efficient computer vision model capable of real-time wildlife detection.
The dataset used in this project consists of labeled images of 10 different animal classes: Buffalo, Cheetahs, Deer, Elephant, Fox, Jaguars, Lion, Panda, Tiger, Zebra. You can find the datasets:
├── config
│ └── custom.yaml
├── data
│ ├── images
│ └── labels
├── logs
│ └── log.log
├── notebooks
│ └── yolov8.ipynb
├── runs
│ └── detect
│ ├── train
│ └── val
├── scripts
│ ├── app.py
│ ├── convert_format.py
│ └── train_test_split.py
├── README.md
└── requirements.txt
Follow theses steps to set up the environment and run the application.
-
Fork the repository here.
-
Clone the forked repository.
git clone https://github.com/<YOUR-USERNAME>/Animal-Species-Detection cd Animal-Species-Detection
-
Create a python virtual environment.
python3 -m venv venv
-
Activate the virtual environment.
- On Linux and macOS
source venv/bin/activate
- On Windows
venv\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Run the application.
streamlit run './scripts/app.py'
The performance of the model is evaluated by metrics such as Precision, Recal, and Mean Average Precision (mAP).
Model | Precision | Recall | F1-score | mAP@0.5 | mAP@0.5:0.95 |
---|---|---|---|---|---|
YOLOv8 | 0.944 | 0.915 | 0.93 | 0.95 | 0.804 |
The trained model has been deployed on Hugging Face for practical use.
- you can access the deployed web app
Contributions to this project are welcome! If you have any suggestions, improvements, or bug fixes, feel free to open an issue or a pull request.
Lemi Debele