410 likes | 689 Views
VEHICLE NUMBER PLATE RECOGNITION SYSTEM. Information and constraints. Character recognition using moments. Character recognition using OCR. Signature. Mostly implemented using hardware. Column Histogram – Signature. Ridge in the Row signature. Row Histogram - Signature.
E N D
Information and constraints • Character recognition using moments. • Character recognition using OCR. • Signature. • Mostly implemented using hardware.
Column Histogram – Signature Ridge in the Row signature Row Histogram - Signature Technique used - Signature • Take binary image. • Sum of white or black pixels in each row and column. • Finding peaks and valleys in row histogram or column histogram.
Brief overview of the system • Takes image of the car and searches for the number plate in the image. • Once the probable number plate area is located it is given to OCR. • If OCR doesn’t recognize the characters from the image number plate area is searched again from the image. • If characters are recognized then number plate search is terminated.
Limitations of the system • Noise free image with uniform illumination. • Numbers displayed in one line on the number plate.
Basic components of the system • Image division into small images (finding probable number plate area in the image). • Recognizing number plate area. • Parsing number plate to extract characters. • Apply OCR to the parsed characters.
Finding probable number plate image • Using signature technique to break the vehicle image into smaller image pieces. • One of these image pieces will be number plate. • Breaking image into pieces was the main issue.
Steps towardsrefinement • Thresh holding using average of minimum and maximum value of the signature.
Steps towardsrefinement – Cont. • Thresh holding using average of non zero minimum and second highest peak of the signature.
Steps towardsrefinement – Cont. • Thresh holding using average of minimum and minimum peak of the signature.
Car Images Binarised image Original Image Inverted binarised image
Steps towardsrefinement – Cont. • Thresh holding using average of minimum and median of the signature.
Extracting Number plate from the image One piece of image that will be tested for number plate
Recognizing plate and parsing it • Looking for number plate in the broken pieces of vehicle image. • Apply peak to valley to the candidate image pieces to further break the image piece into possible character. • Image piece with maximum peaks in candidate character is selected as the number plate. Column signature of the number plate image Column signature of the another image piece
Recognizing plate and parsing it – Cont. Column signature of the another image piece
Recognizing plate and parsing it – Cont. • Column signature with maximum number of ridges. • Percentage width of the ridge should be 15% of the whole ‘number plate image’. • Taking minimum value of the column histogram as thresh hold value.
Parsing plate Images of all characters
Recognition of Characters. • Method of recognition of characters from an image containing these characters is based on object recognition techniques used in Digital Image Processing. • Two commonly used techniques for object recognition are • Template Matching using Correlation. • Distance Measurement.
Object Recognition Techniques. • Distance Measurement is based on representation technique which uses moments of an object. • Moments represent such measurements of an object which can represent features associated with that object, such as center of gravity, Eccentricity. • Distance Measurement has some drawbacks such as • Extensive computations reduce efficiency of execution of algorithm. • Difficult to implement.
Template Matching • Another technique which was used in this project for character recognition is template matching using correlation. • The technique is based on performing correlation between segmented image from which a character is required to be recognized and character template image which is used for recognition. • This technique is efficient as compared to distance measurement. • Only problem is associated with template image i.e. proper acquisition of template image is required.
Correlation • Modified form of convolution. • f(x,y) function represents gray scale value at a specific element (x,y) in an image. • f(x,y) represents an image from which a character is required to be recognized. • g(x,y) represents image of a character template. • h(x,y) represents result image after correlation.
Correlation • Correlation in spatial domain can be represented as: h(x,y) = f(x,y) * g*(x,y) • Correlation in frequency domain can be represented as: h(x,y) = f –1{f {f(x,y)} .* {g*(x,y)}} In MATLAB correlation in frequency domain can be easily represented as: h=real(ifft2(fft2(f,70,324) .*fft2(rot90(g,2),70,324)));
Result of Correlation • As it is basic form of convolution, its result is an image which represents convolutions of two matrices. The size of result matrix will be increased from input image matrices. • Due to which we have to apply some thresh holding on resultant image. Normally value of thresh hold is little less than maximum value of resultant image.
Detection of existence of a template image • A single pixel’s presence provides information about exact match of a template image with input segmented image. • An image after thresh holding provides information about the presence of a pixel in correlation result image.
Modules implemented in Matlab. • Three modules were defined in MATLAB for character recognition. • ocr_alpha (p1, p2, p3, p4); • ocr_numeric(p1,p2,p3,p4); • P1 represents segmented image which is required to be recognized. • P2,p3,p4 represent template images which will be used for recognition • Template(numplateimage, charimage); • Numplateimage represents the segmented image. • Charimage represents template image which is currently used for recognition.
Modules implemented in Matlab. • Template module returns no of white pixels in resultant correlated image. • Template function is called by ocr_numeric() and ocr_alpha() functions. • Ocr_numeric() and ocr_alpha() functions are called by user and parameters to these functions are passed by user