500 likes | 887 Views
Text Detection and Character Recognition from Images. Badruz Nasrin Bin Basri 1051101534. Supervisor : Mohd Haris Lye Abdullah. Contents. Introduction. 1. Literature review . 2. Method Used. 3. Experiment and Result. 4. Future works. 5. Aims and o bjectives. Student 2.
E N D
Text Detection and Character Recognition from Images BadruzNasrin Bin Basri 1051101534 Supervisor : MohdHaris Lye Abdullah
Contents Introduction 1 Literature review 2 Method Used 3 Experiment and Result 4 Future works 5
Aims and objectives Student 2 Recognition - Recognize each of the character in the detected text region using a suitable algorithm Segmentation - Separate the text region into its individual characters. The aim of this project is to detect, extract and recognize text from images, particularly license car plate.
Motivation Text detection and recognition in general have quite a lot of relevant application for automatic indexing or information retrieval such document indexing, content-based image retrieval, and license car plate recognition which further opens up the possibility for more improved and advanced systems.
Problem statement To segment the image to individual characters, we need to find the characteristic to be used as boundary to segment the image. To classify, we need to use the best template to compare with the segmented image and to determine how the template will be used to compare with the image.
Literature review • Segmentation • Klouverin research on recognition text in PayPal HIP [1] proposed the use of vertical projection to segment the characters in images. There are several reasons vertical segmentation been proposed by Klouver: • PayPal HIP image is computer generated only minor preprocessing needed. • There are obvious separation between each character • Character size in PayPal HIP is fixed • Study on Malaysian License Plate Recognition by Othman [3] proposed a model specifically to detect and recognize the text in Malaysian license plate. For segmentation, connected components method has been proposed however this method only can use if the license plates are single row license plate and the study only been made on single row license plate. Same method also been use by Ganapathy and Lui in [4]
Literature review Recognition Klouverin research on recognition text in PayPal HIP [1] and Ho C. H. et. al in research on License Plate Recognition(LPR) [2] used Templates Matching to recognize the characters in image. Klouver detailed the matching classifier into four types of classifier that are Pixel Counting, Horizontal Projection, Vertical Projection and Template Correlations. Klouver’s experiment proved that the best classifier is Vertical projection and Template Correlation where both of this classifier yield 100% accuracy. Fixed type of font in image(PayPal HIP) makes it very easy to distinguish between different characters using templates matching. There are no other research that yield 100% accuracy.
Literature review Recognition Study on Malaysian License Plate Recognition by Othman [3],Ganapathy and Lui in [4], M.Fukumi et. Al [6] , AnasJ.A. Husain et. Al [7] used Neural Network to recognized the text. Compared to templates matching, neural network consume more time. Neural network also need training before it can be used and it only can achieve high accuracy if the sampled image is almost same with the training images. Andrew Vogt and Joe G. Bared [5] concluded the disadvantages of neural network are : Minimizing overfitting in neural networks requires a great deal of computational effort The individual relations between the input variables and the output variables are not developed by engineering judgment so the model tends to be a black box or input/output table without analytical basis and to make the accuracy level high the sample size has to be large.
Literature review Recognition Jared Hopkins and Tim Anderson in [9], used Fourier Descriptor to recognize text in image. In most of the researches, Fourier descriptor been used to recognize more complex shape such as for logo classification by Folkers and Samet [10] and for Sinhala Script by Rohana, Ruvan and Kevin [11]. Basically there are no research on LPR using Fourier descriptor(FD), hence, this research will also test the usage of FD to recognize text in Malaysian License Plate. WisamAl Faqheri and SyamsiahMashohor in A Real-Time Malaysian Automatic License Plate Recognition (M-ALPR) using Hybrid Fuzzy [12] used the hybrid Fuzzy method to recognize the license number. Compared to other study previously done on license plate detection where almost all of the previous work relied on a single method like template matching or neural network Wisamand Syamsiah proposed combination of more than one method based on the type of license plate.
Make template To create templete.mat to be use for classification: … … Matrix size 24 X 42 X 36 Saved as template.mat 36 images of characters Size = 42 X 24
Segmentation – Vertical Projections Preprocessed Image Vertical projection analysis Segmented Image Vertical Projection
Segmentation – Vertical Projections • Weaknesses Image that failed to be segmented by vertical projection
Segmentation – Connected Components • The segmentation character involves the following steps: • Scan the image from left to right to find ‘on’ pixel. • If on pixel been found, all ‘on’ pixel connected to the detected on pixel will be extracted segmented as a pixel. • The process will be repeated until it reach end right of the image.
Recognition - Pixel Counting tempSum = sum(sum(templates(:,:,j))); inSum = sum(sum(chars(:,:,i))); allCorrs(j) = abs(tempSum - inSum); allCorrs(j) = 1 - (allCorrs(j)/1008);
Corr2 Where is the mean of the input matrix i and is the mean of the input matrix j. • 0 < r < 1 • 1 mean i and j is exactly same while 0 mean the i and j not same at all.
Recognition - Vertical projections tempVP = sum(templates(:,:,j)); inVP = sum(chars(:,:,i)); allCorrs(j) = corr2(tempVP, inVP);
Recognition - Horizontal projections tempHP = sum(templates(:,:,j)'); inHP = sum(chars(:,:,i)'); allCorrs(j) = corr2(tempHP, inHP);
Recognition - Template Correlations temp = templates(:,:,j); in = chars(:,:,i); allCorrs(j) = corr2(temp, in);
Recognition – Fourier Descriptor • Following is the detailed steps on extracting and comparing the Fourier Descriptor (FD) • Edging
Recognition – Fourier Descriptor • Extracting FD – 1 D Discrete Fourier Transform (DFT) been done to the complex vector to get the frequency domain of the boundaries using the following equation:
Recognition – Fourier Descriptor • Normalize FD: Translation invariant Scale invariant Rotation invariant
Recognition – Fourier Descriptor • Resize FD – As FD contains information of all information of the ‘on’ pixel, the size of FD is number of on pixel. To make it comparable with other FD it need to be resized to predefined number of descriptor, Figure 3.9 show different shape reconstructed using different number of descriptor. As to resize the FD to n descriptor, function shiftfft in Matlab will remove low frequency descriptor leaving only n-th highest descriptor. Images of ‘E’ reconstructed from (a) n = 4 (b) n = 8 (c) n = 10 (d) n = 15 (e) n = 25 (f) n = 30 (g) n = 278
Recognition – Fourier Descriptor • Compare FD – CompareFD a measure of the difference between two inputs FD. It will quantify the difference between FDs. Higher values of different mean the two FDs are far apart in shape. The extracted FD, I can be compared with using the following algorithm: CompareFD(I,T) D ← ø for each Templates T do diff = -1 if length = length (I) do diff ← sum() return k such that
Recognition – Heuristic Filter • Context Approach • After considering all data in database, it was concluded that: • First two characters are always text. • Third character can be text or number. • All following characters are always numbers.
Recognition – Heuristic Filter • Euler number - Euler number is equal to the number of connected elements (always equal to one) minus the number of holes.
Recognition – Heuristic Filter Notice that for ‘H’, x line passed through 2 white line and y passed through 2 white line, for’ W’, x passed 3 white line and y passed 2 white line while ‘M’ is opposite.
Experiment 1: Comparison between Different Segmentation Method and Different Templates Matching Classifier Template with size 42 X 24 was created using images of 36 characters. To conduct the experiment, all 125 images have been renamed as their ground truth and saved in a folder. A Matlab script as included in appendices was created to load all the images in the folder as well as their name and then perform preprocess segmentation and recognition to all of the images. Then the result of the segmentation and recognition as well as time needed to recognize a number plate were recorded and calculated using following equation. The result will also be analyzed automatically by the Matlab script. Some of images that been used in the experiment
Experiment 1: Comparison between Different Segmentation Method and Different Templates Matching Classifier • Segmentation Accuracy was calculated using formula : Where is segmentation accuracy, is number of correctly segmented character and is number of characters in sample. • Classification Accuracy was calculated using formula : Where is recognition accuracy, is number of correctly recognized character and is number of characters that had been correctly segmented. • Classification Accuracy was calculated using formula : Where is average recognition time, total running time to recognize all sample images and is number of sample images.
Experiment 1: Comparison between Different Segmentation Method and Different Templates Matching Classifier • Then the experiment repeated four times using connected components as segmentation method and the following as recognition classifier: • Pixel Count • Vertical Projection • Horizontal Projection • Templates Correlation
Result Comparison on segmentation by Vertical Projection and Connected Components Comparison on Template Matching using different classifier
Experiment 2: Comparison between Template Correlation and Fourier Descriptor • Experiment repeated two times using connected components as segmentation method and the following as recognition classifier: • Templates Correlation • Fourier Descriptor
Result Comparison on Recognition by Templates Correlation and Fourier Descriptor
Experiment 3: Improvement on LPR Using Context Approach • Experiment repeated with introducing context in the algorithm Result Comparison on recognition by Templates Correlation after context been introduced
Experiment 4: Improvement on LPR Using Hybrid method • Experiment repeated with introducing hybrid in the algorithm Result Comparison on recognition by Templates Correlation after hybrid been introduced
Discussion Image that failed to be segmented using connected components Preprocessed image after erosion
Why heuristic filters failed ? Image that failed to be recognized due to change in Euler number
Why Fourier Descriptors failed ? Image that failed to be recognized due to unsmoothed image Image that failed to be recognized due to rotation invariant
Conclusion The objective of this paper is to segment and recognize characters in image have been achieved. Even the segmentation accuracy from the experiment is 100% the result during real application may be lower due to limited set of picture used in experiment. However, this shown that segmentation using connected components is best method to segmenting the image. After several experiments been done to find the best method to recognize the characters with highest accuracy and considerable amount of time, the best way is by using templates correlations as main recognition method with Fourier Descriptor and several heuristic approach as filters. Experiments have found that this method’s recognition accuracy is 98.46%.
References [1] Kurt Alfred Kluever. (2008) Digital Media Library : RIT Scholars. [Online]. https://ritdml.rit.edu/bitstream/handle/1850/7813/KKlueverTechPaper05-20-2008.pdf [2] C. H. Ho, S. B. Koay, M. H. Lee, M. Moghavvemi, and M. Tamjis, "License Plate Recognition (Software)," Universiti Malaya, No Date. [3] SherozKhan, Rafiqul Islam Othman khalifa, "Malaysian Vehicle License Plate Recognition," The International Arab Journal of Information Technology , pp. 359-364, 2007. [4] VelappaGanapathy and Wen Lik Dennis Lui, "A Malaysian Vehicle License Plate Localization and Recognition System," Monash University Malaysia,. [5] Office of Safety and Traffic, Operations Research and Development, USA. (2010, February) Literature Review : Artificial Neural Network. [Online]. http://www.tfhrc.gov/safety/98133/ch02/body_ch02_05.html [6] M. Fukumi, Y. Takeuchi, and M. Khalid, "Neural Network Based Threshold Determination for Malaysia License Plate Character Recognition," UniversitiTechnologi Malaysia, No Date.
References [7] K. Saleh Ali Al-Omari, Putra Sumari, A. Sadik Al-Taweel, and J.A. AnasHussain, "Digital Recognition using Neural Network," Journal of Computer Science, vol. 5, no. 6, pp. 427-434, 2009. [8] VelappaGanapathy and Leong LiewKok, "Handwritten Character Recognition Using Multiscale Neural Network Training Technique," World Academy of Science, Engineering and Technology, vol. 39, 2008. [9] Jared Hopskins and Tim Anderson, "A Fourier Descriptor Based Character Recognition Engine Implemented under the GameraOpen-Source Document Processing Framework," No Date. [10] Andre Folkers and SametHanan, "Content-based Image Retrieval Using Fourier Descriptors on a Logo Database," in Proc of the 16th Int. Conf. on Pattern Recognition, vol. III, Quebec City, Canada, 2002, pp. 521-524. [11] RajapakseK Rohana, Ruvan A Weerasinghe, and Kevin E Seneviratne, "A Neural Network Based Character Recognition System For Sinhala Script," Department of Statistics and Computer Science, University of Colombo, Colombo, No Date. [12] WisamAl Faqheri and SyamsiahMashohor, "A Real-Time Malaysian Automatic License Plate Recognition (M-ALPR) using Hybrid Fuzzy," IJCSNS International Journal of Computer Science and Network Security, vol. VOL.9, no. No.2, pp. 333-340, February 2009.