Welcome!
This project was used in Christopher Henshaw's first publication for grad school. The associated paper is titled: Number Recognition Through Color Distortion Using Convolutional Neural Networks
The following datasets were used in this project:
Ishihara Like MNIST: https://www.kaggle.com/datasets/ammarshaker/ishihara-mnist
-
For this dataset, it is required that the data be pulled from its double folder. In the current state of download, each folder has the following format: /archive/X_Plate_2/X_Plate_2/Test_images and /archive/X_Plate_2/X_Plate_2/Train_images
-
The data should be modified such the double folder is removed and the Train_images and Test_images folders are directly insider the first X_Plate_2 folder. Example: /archive/X_Plate_2/Test_images and /archive/X_Plate_2/Train_images
MNIST: Pulled directly from Keras
The goal of this project was to train and evaluate 6 models under the following tests:
- train on MNIST images, evaluate on MNIST images
- train on colorized MNIST images, evaluate on colorized MNIST images
- train on grayscale Ishihara images, evaluate on grayscale Ishihara images
- train on colorized Ishihara images, evaluate on colorized Ishihara images
- train on MNIST images, evaluate on grayscale Ishihara images
- train on grayscale Ishihara images, evaluate on MNIST images
- train on colorized MNIST images, evaluate on Ishihara images
- train on Ishihara images, evaluate on colorized MNIST images
Models used:
- MNIST
- LeNet5
- VGG16
- AlexNet
- Custom 1 (modified AlexNet)
- Custom 2 (modified AlexNet)
This program can be ran one of two ways. Either install the requirements file or run the Docker container. Once one of these two are fulfilled, the program can be ran using the following command:
python3 src/main.py --gpu * --ishi location_of_ishi_files
If no GPUs are available, the CPU will be used.
Let me know if you run into any issues or problems when running this program.