Project / drone_bird

2024-10-14PythonFlaskJavaScript

DroneVSBird

A machine learning web application that classifies images as drones or birds using HOG features and SVM classification with 98.7% accuracy.

DroneVSBird is a machine learning web application that distinguishes between drones and birds in images using Histogram of Oriented Gradients (HOG) features and Support Vector Machine (SVM) classification. The project includes both a Flask backend API and a PHP frontend web interface, achieving 98.7% accuracy on the test set after hyperparameter tuning.

  • Image Classification: Upload images through a web interface for instant drone/bird classification
  • High Accuracy Model: Achieved 98.7% accuracy using SVM with HOG feature extraction
  • Data Augmentation: Improved model robustness with augmented training datasets
  • Multiple Classifiers: Evaluated and compared different machine learning models
  • Docker Support: Easy deployment with Docker Compose for both frontend and backend

Tech Stack

  • Backend: Python (Flask), PHP
  • ML Libraries: scikit-learn, OpenCV, NumPy, Pandas, SciPy
  • Frontend: HTML, CSS, JavaScript, PHP
  • Tools: Jupyter Notebook, Docker, Git
  • Deployment: Docker Compose

Screenshots

Web Interface

Web Interface

Classification Results

Classification Results

Installation

Option 1: Docker (Recommended)

The easiest way to run DroneVSBird is using Docker, which sets up both the Flask backend and PHP frontend automatically:

git clone https://github.com/JoshuaGlaZ/drone-vs-bird.git
cd drone-vs-bird
docker-compose up --build

Access the application:

Option 2: Local Development

Backend Setup

git clone https://github.com/JoshuaGlaZ/drone-vs-bird.git
cd drone-vs-bird
pip install -r requirements.txt
python app.py

Frontend Setup

# Using PHP's built-in server
php -S localhost:8085
  1. Navigate to http://localhost:8085
  2. Click "Choose File" and select an image of a drone or bird
  3. The system will process the image and display the result (Drone or Bird)