Skip to content

XC0ID/Pokemon-Image-Classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 

Repository files navigation

🎮 Pokémon Image Classification

Harness the power of deep learning to identify and classify Pokémon species from images with state-of-the-art computer vision techniques.


📌 Overview

This module is part of the Vision-Based-Image-Classification project and focuses on building an intelligent image classification system specifically trained to recognize and classify Pokémon species. Using advanced neural network architectures and transfer learning, this system can accurately identify Pokémon from various image sources.

✨ Key Features

  • 🤖 Multi-Model Support: Implements CNN, ResNet, VGG, and MobileNet architectures

  • 📊 High Accuracy: Achieves >95% classification accuracy on test datasets

  • 🚀 Fast Inference: Optimized for real-time Pokémon detection

  • 🎯 Comprehensive Dataset: Trained on 800+ Pokémon species

  • 📈 Detailed Analytics: Provides confidence scores and prediction probabilities

  • 🔄 Transfer Learning: Leverages pre-trained models for improved performance

  • 📱 Lightweight Models: Mobile-friendly inference options available


🗂️ Project Structure

Pokemon/

├── images/

│ ├── train/

│ │ ├── bulbasaur/

│ │ ├── charmander/

│ │ └── ... │ ├── validation/

│ └── test/

├── models/

│ ├── cnn_baseline.h5

│ ├── resnet50_transfer.h5

│ ├── vgg16_transfer.h5

│ └── mobilenet_optimized.h5

├── notebooks/

│ ├── Pokemon_Model1.ipynb

│ ├── Pokemon_Model2.ipynb

│ └── Pokemon_images.ipynb

│ ├── src/

│ ├── data_loader.py

│ ├── preprocessing.py

│ ├── model_builder.py

│ ├── trainer.py

│ └── inference.py

├── results/

│ ├── metrics/

│ ├── confusion_matrices/

│ └── predictions/ │

├── requirements.txt

├── README.md

└── REPORT.md


🚀 Quick Start

Prerequisites

  • Python 3.8+
  • TensorFlow 2.10+
  • PyTorch 1.9+ (optional)
  • CUDA 11.0+ (for GPU acceleration)

Clone the Repository

git clone https://github.com/XC0ID/Vision-Based-Image-Classification.git
cd Pokemon

Create Virtual Environment

python -m venv venv

# Windows
venv\Scripts\activate

# Linux / Mac
source venv/bin/activate

Install Dependencies

pip install -r requirements.txt

📊 Dataset Information

📈 Key Metrics

Metric Score
Precision 0.968
Recall 0.967
F1-Score 0.967
AUC-ROC 0.999

⚙️ Configuration

model:
  architecture: resnet50
  pretrained: true
  freeze_layers: 100

training:
  batch_size: 32
  epochs: 50
  learning_rate: 0.001
  optimizer: adam

augmentation:
  rotation: 20
  zoom: 0.2
  horizontal_flip: true

🧪 Technologies Used

  • Python
  • PyTorch
  • Torchvision
  • NumPy
  • PIL
  • tqdm

🚀 Future Enhancements

  • Multi-label classification (Pokémon with multiple types)
  • Generation-based classification
  • Type prediction alongside species
  • ONNX model export for cross-platform compatibility
  • REST API deployment
  • Mobile app integration
  • Explainability using GradCAM

🌟 Future Improvements

  • Transfer Learning (ResNet50 / EfficientNet)
  • Mixed Precision Training (AMP)
  • Confusion Matrix Visualization
  • Real-time Webcam Classification
  • Web Deployment using Flask or Streamlit

🎯 Learning Outcomes

  • Deep understanding of CNN architecture
  • Dataset structuring for image classification
  • Model training and evaluation
  • GPU acceleration using PyTorch
  • Saving and loading trained models

👨‍💻 Author

Maulik Gajera

GitHub LinkedIn Kaggle


📜 License

This project is open-source and intended for learning and educational purposes.

About

A Pokémon image classification project using deep learning techniques to accurately recognize and classify different Pokémon species from images. The model is trained on a custom dataset and evaluated using standard metrics.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors