Handwritten Hindi Numerals Recognition Kritika Singh Akarshan Sarkar Mentor- Prof. Amitabha Mukerjee
Scanned data collection sheet Building the database Image obtained after cropping and making the background uniform in color Preprocessing
Image obtained on doing noise removal followed by binarization Noise removal was done using an averaging filter on the grayscale of the original image. This helps in identifying each numeral as a single connected component. Building the database Preprocessing
Bounding box found for each connected component Building the database Preprocessing
Images of numerals obtained after resizing and centering The cropped images are linearly resized to a matrix of size 40X40 This resized matrix is then centered on a 56X56 matrix of zeros. Building the database Preprocessing
Expanding the dataset by blurring and rotating the obtained images -The samples in the original dataset are deformed to have more variation within a class -This also helps in making the classifier insensitive to intra-class variability -For each numeral obtained, 9 more images are generated by- Elastic distortion Rotating each image by two randomly generated angles between 5° to 10° and another two between -5° and -10° Building the database Database Expansion
Building the database Database Expansion Image after elastic distortion Before elastic distortion
Building the database Labeling Used k-means clustering for labeling the obtained numerals 10 clusters were formed for each file and the misclassified numerals in each cluster were manually labeled
Building the database Statistics DigitNumber of samples Total size of our database is approximately 200,000 samples
Classification Feature Extraction We have used two different feature sets namely- Projection Histogram Features Count the number of foreground pixels in a specified direction We created four types of projection histograms – horizontal, vertical, right diagonal and left diagonal Chaincode Histogram Features Edge detection using Canny filter to obtain contour representation Further, chaincodes are obtained from this representation Image is divided into blocks and local histogram of these blocks are calculated
Classification Feature Extraction Right diagonal histogramHorizontal histogram Projection histogram Chain histogram Contour RepresentationChain code Representation
Backpropagation Neural Network Used backpropagation algorithm with one hidden layer to train our classifier Scaled Conjugate Gradient Method was used for backpropagation This was done using the MATLAB Neural Network Toolbox 70% of the dataset used as the training set, 15% each for testing and validation.
Results Projection histogram features 92.2% accuracy on the test set after 112 epochs
Results Projection histogram features
Results Chain Code Histogram Features 92.7% accuracy on the test set after 217 epochs
Results Chain Code Histogram Features
References [1] Ujjwal Bhattacharya and Bidyut Baran Chaudhuri. Handwritten numeral databases of indian scripts and multistage recognition of mixed numerals. IEEE Trans. Pattern Anal. Mach. Intell., 31(3): , 2009 [2] Miguel Po-Hsien Wu, “Handwritten Character Recognition”, The school of Information Technology and Electrical Engineering, The University of Queensland. [3] Bhattacharya, U., Shridhar, M., Parui, S.K.: On recognition of handwritten Bangla characters. In: In: Kalra, P., Peleg, S. (eds.) Proceedings of the 5th Indian Conference on Computer Vision, Graphics and Image Processing (ICVGIP), Springer Lecture Notes on Computer Science, vol 4338, pp. 817–828 (2006)