Skip to content

This repository contains the code and work for our project in the course UMC-301. Visit the live link to test out our work.

License

Notifications You must be signed in to change notification settings

vanshdhar999/UMC-301-Project

Repository files navigation

Wildlife Conservation Monitoring System

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.

Table of Contents

Introduction

This monitoring system aids conservationists by detecting animal species and displaying the latest data related to population and habitat.

Features

  • Species Classification: Identifies species using deep learning.
  • Individual Animal Re-Identification: Detects and records animal behaviors.

Repository Structure

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

Tech Stack

  • Languages: Python
  • ML Frameworks: PyTorch / TensorFlow
  • LLM API: Groq API
  • Models: YOLOv11
  • Deployment: Streamlit-Cloud
  • Visualization: Matplotlib, folium

Setup

  1. Clone the Repository:

    git clone https://github.com/yourusername/UMC-301-Project.git
    cd UMC-301-Project
  2. Setup the Groq API Key to use the LLM: Use .env file to setup your API key and import it in the lang.py.

  3. 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

Individual Contributions

Each folder contains a specific README.md file which explains the work done in the particular folder. Specific contributions have been listed below.

a. Aayush Patil - Implemented the siamese network in pytorch for animal re-identification

b. Bhanu Kumar - Contributed to the data preprocessing folder

c. Kanishk Aman - Contributed to data retrieval and langchain folder

d. Vansh Dhar - Contributed to the streamlit UI, training YOLO model and LLM integration

e. Pinakin Choudhary -

About

This repository contains the code and work for our project in the course UMC-301. Visit the live link to test out our work.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published