/LeNet-5-Based-Persian-Handwritten-Digits-Recognition

This project focuses on the classification of Persian handwritten digits using the LeNet-5 convolutional neural network.

Primary LanguageJupyter NotebookMIT LicenseMIT

🖋️ Persian Handwritten Digit Recognition with LeNet-5 🧠

Author: Mobin Kheibary
Date: January, 2024

Overview

Welcome to the Persian Handwritten Digit Recognition project! This project focuses on the classification of Persian handwritten digits using the LeNet-5 convolutional neural network. Through this project, my objective is to enhance my comprehension of leveraging the renowned LeNet-5 architecture for addressing diverse real-world challenges.

Features

  • LeNet-5 architecture implementation for image classification.
  • Robust dataset consisting of 150,000 high-resolution images of Persian handwritten digits.
  • Evaluation of model performance using testing dataset.
  • Analysis of digit recognition accuracy.

📊 About Dataset

Data Card

About Dataset

Explore the beauty and diversity of Persian handwritten digits with our meticulously crafted dataset. This collection features 150,000 images, with 15,000 images per class, spanning the entire range of Persian digits from 0 to 9. These images have been generated using state-of-the-art Generative Adversarial Networks (GANs), resulting in stunningly realistic representations of each digit.

Key Features:

  • 150,000 images of Persian handwritten digits.
  • 15,000 images per class, ensuring balanced representation.
  • High-resolution 28x28 pixel images.
  • Perfect for various machine learning tasks, including digit recognition, generative modeling, and more.
  • Ideal for researchers, data scientists, and machine learning enthusiasts interested in Persian script.

This dataset is a valuable resource for training and testing machine learning models, especially those designed for digit recognition and generative tasks. Whether you're a researcher or a hobbyist, this dataset can help you explore the world of Persian script and its unique handwritten characters.

Explore Dataset

Requirements

  • Python 3.x
  • NumPy
  • Matplotlib
  • TensorFlow
  • scikit-learn

Setup

  1. Clone the repository:

    git clone https://github.com/Mobiwn/LeNet-5-Based-Persian-Handwritten-Digits-Recognition
  2. Install the required dependencies:

    pip install numpy matplotlib tensorflow scikit-learn
  3. Run the Jupyter Notebook:

    jupyter notebook Presian-Digits-Recognition-With-LeNet-5.ipynb
  4. Execute the notebook cells sequentially to train the model and evaluate its performance.

Conclusion

The project successfully implements a convolutional neural network based on the LeNet-5 architecture to recognize Persian handwritten digits. Despite its simplicity and age, the LeNet-5 model demonstrates robust performance on the provided dataset. Future enhancements may include experimenting with different architectures and optimization techniques to further improve accuracy.

References

  • LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-based learning applied to document recognition. Full Text
  • LeNet-5 Architecture. Retrieved from: Wikipedia
  • LeNet-5 Architecture Explained. Retrieved from: Medium