190 likes | 319 Views
Recognizing handwritten Hindi numerals using image processing techniques, building database, expanding dataset, feature extraction, and neural network classification. Achieves high accuracy on test sets. References research on similar topics.
E N D
Kritika Singh Akarshan Sarkar Mentor- Prof. Amitabha Mukerjee Handwritten Hindi Numerals Recognition
Building the database Preprocessing Scanned data collection sheet Image obtained after cropping and making the background uniform in color
Building the database 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 Database Expansion 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 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 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 Projection histogram Right diagonal histogram Horizontal histogram Chain histogram Contour Representation Chain 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):444-457, 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)