Assignment 4: Handwritten Bangla Numeral Recognition using Multilayer Feed Forward Neural Network.
In this assignment, you will design a multi layer feed forward neural network (MLP) classifier that will be used to recognize handwritten Bangla numerals. There are ten numerals in Bangla alphabet. The data set that will be used consists of image samples of handwritten Bangla numerals which were found by asking people of various professions to write down the numerals in paper and then scanning the paper to images. The data set consists of a training and test set where in each set there are 25 samples for each numeral. Therefore, in each dataset, there are 10X25 = 250 samples. You will have to use MATLAB image processing functions to do this assignment.
1. Download the training and test data from my website.
2. This machine learning task involves four key phases.
a. Phase 1- Preprocessing:
i. In this step, the images samples will be read using MATLAB function imread. The raw data that will be returned by imread is the pixel-by-pixel luminosity. So, if image size is 50x50, the imread function a 50x50 matrix, where each cell denotes the intensity of the image in the corresponding pixel. Intensity is between 0 and 1. This is what called grayscale image.
ii. Since, each image is not of the same size; there we have to resize them to a uniform size. In this step, use the MATLAB function imresize to resize each image matrix into a uniform size of 40x40.
iii. After resizing, you have to convert the grayscale image to a binary image (where each pixel will be either 0 or 1). This will be done by using graythresh and im2bw function.
iv. [You can thin the image using bwmorph function. Although this step is not necessary for this assignment, however you can experiment with it, whether thinning gives improvement in performance
b. Phase 2- Feature extraction:
i. In this phase, you will extract features. In this assignment, feature will correspond to the average intensity of a 5x5 size box centered at each pixel. All such average intensities will form the feature vector.
c. Phase 3- Training the MLP:
i. Train the back propagation neural network using training data set.
d. Phase 4- Testing: Test the learned neural network and find accuracy measures.
3. Perform experiments by varying:
a. Number of hidden layers: Experiment with 5, 10, 25, 50.
b. Number of iterations: Experiment with 100, 300, 500, 1000.
c. Size of the box: Experiment with 3x3, 5x5, 9x9, 15x15.
d. In each of the above experiments, take average of 25 runs.
4. If you want to determine the effect of factors stated in (3), then run 4x4x4 = 64 experiments. Comment on the results.
5. Write a report commenting on the experiment results. State your findings explicitly. These findings will give you better marks.