A web-based application for classifying images of animals using deep learning. The application can classify images into five categories: dog, cow, cat, lamb, and zebra.
Project Group No.: 1
Group Members:
- Fahim Muntashir (2021183642)
- Md Abul Bashar Nirob (2022198042)
- Tausib Abrar (2121446642)
- Muhammad Omar Mahin Jinnat (2012826642)
This project consists of two main components:
- A deep learning model trained to classify animal images
- A web application that provides a user-friendly interface for image classification
- 🖼️ Drag-and-drop image upload
- 📱 Responsive design for all devices
- ⚡ Real-time image classification
- 📊 Confidence score display
- 🎨 Modern and intuitive UI
- 🔄 Support for multiple image formats (PNG, JPG, JPEG, GIF)
Watch how the Animal Classifier works in action!
Follow the installation steps below to run the project locally.
The project can also be run on cloud platforms:
- Access free GPU resources
- Run the web application using ngrok
- See colab_kaggle_setup.md for detailed instructions
- Use Kaggle's GPU resources
- Deploy the web application
- See colab_kaggle_setup.md for detailed instructions
- Python 3.x
- Flask - Web framework
- TensorFlow/Keras - Deep learning framework
- Pillow - Image processing
- HTML5
- CSS3 with custom styling
- JavaScript (Vanilla)
- Bootstrap 5 - UI framework
- Font Awesome - Icons
animal-classifier/
├── static/
│ ├── css/
│ │ └── style.css
│ ├── js/
│ │ └── main.js
│ └── uploads/
├── templates/
│ └── index.html
├── images/
│ ├── cat/
│ ├── cow/
│ ├── dog/
│ ├── lamb/
│ └── zebra/
├── app.py
├── preprocess.py
├── train.py
├── predict.py
├── requirements.txt
└── README.md
- Python 3.x
- pip (Python package manager)
- Virtual environment (recommended)
- Clone the repository
git clone https://github.com/FahimMuntashir/animal-classifier.git
cd animal-classifier- Create and activate virtual environment
# On Windows
python -m venv venv
venv\Scripts\activate
# On macOS/Linux
python -m venv venv
source venv/bin/activate- Install dependencies
pip install -r requirements.txt- Train the model (if not already trained)
python train.py- Run the web application
python app.py- Access the application
- Open your web browser
- Go to
http://localhost:5000
-
Upload an Image
- Drag and drop an image into the upload zone
- Or click the upload zone to select an image
-
Classify the Image
- Click the "Classify Image" button
- Wait for the prediction to be processed
-
View Results
- The predicted animal class will be displayed
- The confidence score will be shown
- You can upload another image to try again
- Accuracy Target: 90%+
- Classes Supported: 5 (dog, cow, cat, lamb, zebra)
- Model Architecture: MobileNetV2 (Transfer Learning)
- Training Data: 100 images per class (500 total)
- Fork the repository
- Create a new branch
- Make your changes
- Submit a pull request
- Modify
static/css/style.cssfor styling changes - Edit
templates/index.htmlfor layout changes - Update
static/js/main.jsfor functionality changes
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
For support, please open an issue in the GitHub repository or contact the project maintainers.
Made with ❤️ by Group 1
