/Real-Time-Animal-Species-Detection

The aim of this project is to develop an efficient computer vision model capable of real-time wildlife detection.

Primary LanguageJupyter Notebook

Real-Time-Animal-Species-Detection

The aim of this project is to develop an efficient computer vision model capable of real-time wildlife detection.

Demo GIF

Table of Contents

Datasets

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:

Project Structure

├── 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

Getting Started

Follow theses steps to set up the environment and run the application.

  1. Fork the repository here.

  2. Clone the forked repository.

    git clone https://github.com/<YOUR-USERNAME>/Animal-Species-Detection
    cd Animal-Species-Detection
  3. Create a python virtual environment.

    python3 -m venv venv
  4. Activate the virtual environment.

    • On Linux and macOS
    source venv/bin/activate
    • On Windows
    venv\Scripts\activate
  5. Install Dependencies

    pip install -r requirements.txt
  6. Run the application.

    streamlit run './scripts/app.py'

Evaluation

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

Web App

The trained model has been deployed on Hugging Face for practical use.

  • you can access the deployed web app

Contributing

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.

Author

  • Lemi Debele