Robust Number Plate Detector
The goal was to develop the approach for the automatic detection of the number plate area from the vehicle image. A typical ANPR algorithm includes several steps (Fig. 1):
The number plate detection is a crucial step since it strongly affects on the overall system performance. For this purpose utilized the following
- Stroke width transform (SWT)
- Blob detection algorithm
The SWT (https://app.box.com/s/cvejwymu1jq0ii1rec12j824rksotr7k) is a well-known text detection algorithm. Its idea lies behind the careful analysis of the image edge map and local gradient directions. The basic preparation steps include the calculation of the Sobel gradients (http://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/sobel_derivatives/sobel_derivatives.html) and Canny edge map construction (http://docs.opencv.org/2.4/modules/imgproc/doc/feature_detection.html?highlight=canny#canny).
Fig. 2 illustrates an example of calculated SWT image and its 3D view:
Fig. 2. SWT image example
In order to locate the number plate, the following steps have been done:
In order to increase the detection rate, we have integrate the blobs analysis procedure based on morphological operators and contours calculation. Fig. 3 illustrates an example of found number plate candidates using the developed method.
Fig. 3. Detected blobs and bounding rectangles
The final step was to combine both SWT and blob detection results and extract the true number plate area. For this purpose we used the neural network (NN). Three feature groups were used:
Haar-based features (based on integral images)
Statistical features (mean, std, skewness)
Here is an example of the obtained ROC curves:
High accuracy is achieved for the case of all 3 groups of features used for NN training. Recently Ievgen Gorovyi presented this work at Signal Processing Symposium (SPS-2015) and got the 1st prize for the best publication.