The goal of this project was to develop a simple yet effective digit recognition system based on image data. By using a trained neural network model, the system is able to classify 28x28 grayscale images of handwritten digits and predict the number they represent.
This project demonstrates how image data can be preprocessed, visualized, and passed through a machine learning model to achieve accurate classification results. It serves both as a practical implementation of digit recognition and as an educational tool for understanding image-based AI models.
The project can be run either using Docker or by installing the required dependencies listed in the requirements.txt file.
The image shows a portion of a dataset where each row represents a flattened 28x28 grayscale image, with pixel values ranging from pixel1 to pixel784. All pixel values in the visible portion are zeros, indicating that these particular images are likely completely black or empty.
Each image can be represented as a specific data index and then displayed.
Model Architecture:
Accuracy function:
Loss function:
Plots generated with: open_atmos_jupyter_utils
- Open the terminal and navigate to the folder where the number_detector.py file is saved.
- Run the program with the command:
python number_detector.py- You'll see the following menu:
- The option "Explanation of how the program works" briefly describes what the program does.
- The "Load image" option lets you choose a specific 28x28 image file from the menu_data folder. You can also add your own images, as long as they match the resolution of the sample data.
- The "Start" option allows you to recognize the digit in the selected image. It returns the predicted number and the model's confidence level.
- The "Display selected image" option opens a window with the currently loaded image.
- The "Exit" option closes the program.











