Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AlphaDigitNet

Overview

AlphaDigitNet is an AI-powered handwritten digit and alphanumeric recognition system. It allows users to upload an image containing handwritten digits or letters and receive accurate predictions. The project evolves through multiple versions to enhance its capabilities from recognizing single digits to full text.

Versions

V0.0: Single Digit Recognition (Current Version)

  • Users upload an image containing a single digit.
  • The system preprocesses the image and uses a CNN trained on the MNIST dataset to predict the digit.

V0.1: Multiple Digit Recognition

  • Implements image segmentation to recognize multiple digits in a single image.
  • Uses OpenCV for contour detection and batch processing for digit extraction.

V1.0: Multiple Digits & Alphabets Recognition

  • Expands recognition to handwritten alphabets using an extended dataset (e.g., EMNIST).
  • Updates the model to classify both digits and letters.

V1.1: Webcam & Image Upload

  • Allows users to capture handwritten text using a webcam.
  • Integrates with browser APIs to support live camera input.

V2.0: Full Handwritten Text Recognition

  • Enables recognition of free-hand sketches and full handwritten text.
  • Implements OCR techniques and deep learning-based handwriting recognition.

Project Structure

AlphaDigitNet/
│── models/               # Trained models and checkpoints
│── datasets/             # Dataset storage and preprocessing scripts
│── app/
│   │── static/           # Frontend assets (if applicable)
│   │── templates/        # HTML templates (for web UI, future versions)
│   │── routes.py         # Flask routes and API logic
│   │── model.py          # Model loading and inference
│   │── preprocessing.py  # Image preprocessing scripts
│── scripts/
│   │── train.py          # Model training script
│   │── evaluate.py       # Model evaluation script
│── tests/                # Unit tests and integration tests
│── requirements.txt      # Dependencies
│── Dockerfile            # Docker setup for deployment
│── .gitignore            # Files to ignore in version control
│── README.md             # Project documentation

Features

✅ Upload handwritten digit/alphabet images ✅ Receive real-time predictions ✅ Flask API for easy integration ✅ Expandable dataset and model updates via MLOps ✅ Future support for webcam and free-hand sketch input

Tech Stack

  • Python (Main programming language)
  • TensorFlow/Keras or PyTorch (Deep Learning framework)
  • OpenCV (Image processing)
  • Flask (Web API development)
  • Docker (For containerized deployment)
  • MLflow & DVC (For MLOps and dataset tracking)
  • Heroku / Render / AWS (Deployment platforms)

Installation & Setup

  1. Clone the repository:
    git clone https://github.com/IAMNEERAJ05/AlphaDigitNet.git
    cd AlphaDigitNet
  2. Create and activate a virtual environment:
    python -m venv venv
    source venv/bin/activate  # macOS/Linux
    venv\Scripts\activate     # Windows
  3. Install dependencies:
    pip install -r requirements.txt
  4. Run the application:
    python app.py

Usage

  • API Usage:

    • Send a POST request to /predict with an image file.
    • Receive a JSON response with the predicted digit(s) or letter(s).
  • Web Interface (Future Versions):

    • Upload an image or capture from a webcam.
    • View predictions and visual explanations of model decisions.

Deployment

  • Local Deployment:
    flask run --host=0.0.0.0 --port=5000
  • Docker:
    docker build -t alphadigitnet .
    docker run -p 5000:5000 alphadigitnet
  • Cloud Deployment (Planned):
    • Use Heroku, Render, or AWS Lambda for hosting.
    • Set up CI/CD pipelines for continuous updates.

Future Scope

🚀 Implement an intuitive web dashboard 🚀 Improve model accuracy with new datasets 🚀 Extend support to mobile-based handwriting recognition 🚀 Integrate real-time spell-checking for full text recognition

Contributing

  1. Fork the repository.
  2. Create a feature branch (git checkout -b feature-name).
  3. Commit changes (git commit -m "Add new feature").
  4. Push to GitHub and create a pull request.

💡 AlphaDigitNet aims to push the boundaries of AI-based handwriting recognition. Stay tuned for more updates! 🚀

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors