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

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)