California Car License Plate Recognition System ZhengHui Hu Advisor: Dr. Kang Introduction A License Plate Recognition System (LPRS) is a system to automatically detect, recognize and identify a vehicle plate. It involves low-level image processing techniques with higher level artificial intelligence techniques. 12/11/2006 License Plate Recognition System 2 Applications Mainly for monitoring, surveillance and security. For example, – Entrance/Exit monitoring for parking lot structures – Part of surveillance system for gated communities – Control gateways for vehicle passage – Security Systems for high traffic Law Enforcement 12/11/2006 License Plate Recognition System 3 Technical Issues Image Capturing – Vehicle speed – Lighting condition – Occlusion Processing speed – Heavy traffic Recognition accuracy – High correctness 12/11/2006 License Plate Recognition System 4 Current State There are many companies, especially in Europe, that developed this type of system commercially There are many research trying to improve accuracy and speed performance 12/11/2006 License Plate Recognition System 5 System Architecture Plate Segmentation Module Plate Region Segmentation – Locate plate region out of car and/or background – Segment each Character Segmentation Module character/number out of plate Character Recognition Module 12/11/2006 Character Segmentation Character Recognition – Recognize each character on the plate – Similar to OCR process License Plate Recognition System 6 Previous Work Most previous work are focused on the character segmentation and recognition process based on – Fuzzy algorithms – Template matching – Neural network 12/11/2006 License Plate Recognition System 7 Step1 - Plate Region Segmentation Goal – Locate license plate in an image Target image group – California Car License Plates (regular ones) Challenges – Location: plate regions at random place – Size: vehicle distance from the camera affect plate size – Color: affected by lighting conditions (day/night/shadow) – Skew/distortion: images can be taken from different angles 12/11/2006 License Plate Recognition System 9 Step1 - Plate Region Segmentation Helpful information – All License Plate have same shape – Known background/foreground colors Light background color Bluish foreground color – numbers and characters – Color distribution in a rectangular plate region 12/11/2006 License Plate Recognition System 10 Step1 - Plate Region Segmentation Input Image Image Preprocessing Edge Information Filter using Color and Edge Information Connected Components Analysis Feedback for more filtering Find Candidate Regions 12/11/2006 License Plate Recognition System 11 Input Images Captured using a digital camera – Different distance – Different lighting conditions – Different angles Original size 2048X1536 Resized to 800X600 for faster process 12/11/2006 License Plate Recognition System 12 Edge Information Apply morphological operator to detect region of high change. Plate character/numbers are among these 12/11/2006 License Plate Recognition System 14 Filter Filter using Color and Edge Information – Use edge information to find plate background color – Filter image using plate background color 12/11/2006 License Plate Recognition System 15 Connected Component Analysis Find connected component and values – Width/Height ratio – Amount of edge pixels 12/11/2006 License Plate Recognition System 16 Find Candidate Plate has ratio between 1 and 3 Plate has highest or 2nd highest pixel density from edge image 12/11/2006 License Plate Recognition System 17 Experiment Results Total Pictures Tested: 43 – Region found: 38 – Region not found: 5 – Success rate: 88% Error classification – Filtering process chopped out part of plate – Fail to identify correct candidate region 12/11/2006 License Plate Recognition System 18 Experiment Results (Speed) Machine Used for Testing: Pentium 4-M 1.70Ghz, 256 MB RAM – For images 800X600, the processing time is 150 ~ 190 ms – For original size image 2048X1536, processing time is around 1 sec 12/11/2006 License Plate Recognition System 19 Step2 - Character Segmentation Segment each character/number out of the plate detected by previous module Challenges – Rectangle segmented might contain more than just the plate – Plate might contain some things other than number/characters Still under development 12/11/2006 License Plate Recognition System 20 Step3 - Character Recognition A process to recognize each character/number segmented Challenges – Noise – Image scaling and distortion – Image corruption 12/11/2006 License Plate Recognition System 21 Step3 - Character Recognition Our approach – Artificial Neural networks are used to recognize characters and digits – During training process, simulated annealing process was added to the back propagation training to avoid the problem of local minimal Still under development 12/11/2006 License Plate Recognition System 22 Conclusion Contributions – Algorithm for plate detection – Combination of back-propagation/simulated annealing process in neural network training Future Work – Improve recognition ratio in step1 via feedback for filtering and better connected component analysis – Finish Step3 12/11/2006 License Plate Recognition System 23 References See Resources page in Website for full list of references 12/11/2006 License Plate Recognition System 24