ArDigiScan

Arabic Handwritten Digit Recognition | Deep learning model from scratch using Numpy

Description

This project aims to develop an artificial model capable of recognizing Arabic-Eastern handwritten numerals, using optimization techniques and advanced learning algorithms such as backpropagation and regularization. We have also created a graphical user interface for testing purposes. Firstly, we imported a database containing images of handwritten numerals to train our system, and we applied appropriate preprocessing to transform the testing data into usable data for our created artificial model. Next, we implemented a machine learning model, such as a neural network-based classifier, which can be trained using annotated training data by using stochastic gradient descent and back-propagation. Once our model was evaluated and validated, we created a user graphical interface to test it. Finally, we improve the accuracy by using advanced techniques such as regularisation, artificial expanding of data base and Xavier initialisation.

This image is generated by us using MAHD_base images with a python script.

DataBase

The MADBase is composed of 70,000 digits written by 700 participants. Each participant wrote each digit (from 0 to 9) twenty times (ten times only used in our database – the other ten times may be used later in writer verification research). For more informations.

User Interface

To evaluate and validate our artificial model, we created an user interface using the Python library Streamlit, designed for local development and prototyping of the project.