A computer vision-based system to support wildlife conservation by classifying animal species, detecting individual animals, and analyzing behaviors. This tool helps researchers monitor animals in natural habitats, gather insights, and make informed conservation decisions.
- Introduction
- Features
- Tech Stack
- Setup
- [Contributions]
This monitoring system aids conservationists by detecting animal species and displaying the latest data related to population and habitat.
- Species Classification: Identifies species using deep learning.
- Individual Animal Re-Identification: Detects and records animal behaviors.
UMC-301-Project/
├── app.py
├── model/
│ ├── wildlife.pt # Custom trained model weights (YOLOv11)
│ └── yolov8n.pt # Pre-trained weights for object detection
├── species_detection_module/
│ ├── langchain/
│ │ ├── lang.py # Driver code for Groq LLM
│ └── src/
│ ├── train.py # Code for training the YOLO Model
│ ├── detect.py # Code for inferencing on a sample image
│ ├── predict.py
├── data_retrieval/
│ # Contains data visualization and data retrieval techniques
├── data_preprocessing/
| # Notebooks for data preprocessing on iWildCam-2022 dataset
├── animal_reidentification/
| # Code for Siamese Neural Network Implementation
├── requirements.txt
├── Dockerfile
└── README.md
- Languages: Python
- ML Frameworks: PyTorch / TensorFlow
- LLM API: Groq API
- Models: YOLOv11
- Deployment: Streamlit-Cloud
- Visualization: Matplotlib, folium
-
Clone the Repository:
git clone https://github.com/yourusername/UMC-301-Project.git cd UMC-301-Project
-
Setup the Groq API Key to use the LLM: Use
.env
file to setup your API key and import it in thelang.py
. -
Docker:
docker build -t my-streamlit-app .
Run the docker image
docker run -p 8501:8501 my-streamlit-app
You can view the website live at
localhost:8501
Each folder contains a specific README.md file which explains the work done in the particular folder. Specific contributions have been listed below.