License plate recognition

Authors:
Mateusz Pauk (148909), Bartosz Wielebski (149201)

This report describes a project done to fulfill the requirements for the course: Methods and algorithms of artificial intelligence.

Conducted by:
dr inż. Witold Paluszyński

Date: June 16 2009

Abstract

The aim of this project was to propose a method for identification of vehicle license plates. The input data included pictures in grey scale of the front or back of a vehicles with its license plate visible. For localization of a license plate we employed the binarization method by Sauvola and the Connected Components Analysis method for labelling of particular objects within an image. Through retaining in the image of only desired characters of the license plate, we are able to make their correct localization in the input image. Location data are to be processed by the ready-to-use OCR library for recognition of the characters.
We have tested the proposed recognition algorithm for ten different input data. The localization process for all input data tested has successfully been completed. In particular, the Sauvola binarization method combined with the CCA labelling method provide correct localization. On the other hand, in some cases the used OCR library failed to recognize characters such as Z or W. Thus, a better way would probably be to apply a method specifically for the sole recognition of license plate characters.


Rozpoznawanie tablic rejestracyjnch

Autorzy:
Mateusz Pauk (148909), Bartosz Wielebski (149201)

Raport z projektu:
Metody i algorytmy sztucznej inteligencji.

Prowadzący:
dr inż. Witold Paluszyński

Data: 16 czerwca 2009r.


1. Opis problemu

Rozpoznawanie tablic rejestracyjnych jest jednym z najważniejszych sposobów identyfikacji samochodów czy innych jednostek poruszających się po jezdniach. Dziedzina ta ma szerokie zastosowania, począwszy od czysto policyjnych do zupełnie prywatnych mających na celu po prostu identyfikację pojazdu chcącego uzyskać dostęp do pewnej prywatnej posesji. Obecnie istnieje na rynku bardzo wiele różnych systemów oferujących tego rodzaju usługi i jest to jedynie dowód na to, że zapotrzebowanie wciąż rośnie.

2. Zadanie projektowe

Nasze zadanie projektowe polega na zaproponowaniu metody rozpoznawania tablic rejestracyjnych. Zaczynając pracę nad projektem, założyliśmy sobie, że nasz system rozpoznawania TR będzie dedykowany dla konkretnego zastosowania. Chodzi o sytuację wstępu pojazdu na teren prywatny, tzn. pojazd zatrzymuje się tuż przed szlabanem i w momencie postoju kamera umieszczona na szlabanie dostarcza zdjęć do systemu, w którym następuje identyfikacja TR poprzez jej rozpoznanie. Na potrzeby projektu został napisany program w środowisku Builder C++. Z przyczyn technicznych program ten przetwarza obrazy graficzne w skali szarości w formacie pgm, kodowanym w trybie ASCII.

3. Opis metody

Aby zidentyfikować tablicę rejestracyjną należy ją najpierw zlokalizować na zdjęciu a następnie rozpoznać jej znaki. Żeby zlokalizować tablicę rejestracyjną (TR), tj. jej znaki, należało wykonać binaryzację obrazu wejściowego, następnie zaetykietować połączone piksele i utworzyć z nich obiekty wykorzystując metodę Connected Components Analysis (CCA). Następnie dobierając poszczególne parametry głównie dotyczące rozmiarów obiektów, program dokonywał ich eliminacji, co wiązało się z nie zaklasyfikowaniem danego obiektu jako zbioru pikseli reprezentujących dany znak TR. Poniżej opisany został proces lokalizacji TR w obrazie przez program:

4. Testy i trudności

Jak we wstępie powiedzieliśmy założeniem naszym było, że dane wejściowe pochodzą z kamery umieszczonej na szlabanie, który automatycznie otwiera się gdy auto zostanie poprawnie zidentyfikowane. Jak łatwo sobie wyobrazić fotografie takie robione są z dosyć bliskiej odległości oraz kąt poziomu tablicy na zdjęciu jest równy zero względem poziomu obrazka. Testowaniu podlegało 10 zdjęć samochodów z widocznymi tablicami rejestracyjnymi, których kąt względem poziomu wynosi zero. Dla wszystkich danych wejściowych etap lokalizacji TR został poprawnie przeprowadzony (uzyskanie spodziewanego segmentu). Jednak problem pojawił się przy samym rozpoznawaniu przez gotową bibliotekę Asprise. Nie wszystkie wydawałoby się proste do rozpoznania znaki zostawały rozpoznane poprawnie lub w ogóle rozpoznane. Naszym zdaniem jest to kwestia, zbioru trenującego, w których niektóre wzorce spotykane w oznaczeniach TR widocznie się nie znalazły. Rozwiązaniem tego problemu mogłoby być pozyskanie narzędzia do samego rozpoznawania dedykowanego dla znaków tablic rejestracyjnych.

5. Wnioski

Naszym zdaniem metoda binaryzacji Sauvola bardzo dobrze spełniła swoją funkcję, każda testowana rejestracja, niezależnie od kontrastu zdjęcia, promieni słonecznych padających na TR była dobrze zbinaryzowana, czyli wyraźna w binarnym obrazie. Metody etykietowania Connected Components Analysis choć skomplikowana w implementacji, pozwoliła na zorientowanie się w obrazie na poziomie pikseli. Manipulowanie na obiektach (połączonych ze sobą grupach pikseli) było bardzo wygodne oraz skuteczne w eliminowaniu zbędnych obiektów. Jedynie gotowa biblioteka Asprise w wersji trial nie sprawdziła się tak jakbyśmy tego oczekiwali.

6. Literatura

[1] "License plate localization and recognition in camera pictures", Kwaśnicka H., Wawrzyniak B.
www.iis.pwr.wroc.pl/~kwasnick/download/kwasnickawawrzyniak.pdf
[2] "A license plate recognition algorithm for Intelligent Transportation System applications", C.N. Anagnostopoulos, I. Anagnostopoulos, V. Loumos, and E. Kayafas.
www.aegean.gr/culturaltec/canagnostopoulos/cv/t-its-05-08-0095.pdf
[3] "Komputerowa analiza i przetwarzanie obrazów." Tadeusiewicz R.
[4] Connected Components Analysis
http://homepages.inf.ed.ac.uk/rbf/HIPR2/label.htm

[5] Binaryzacja metodą Sauvola
http://www.mif.pg.gda.pl/homepages/marcin/Wyklad3.pdf

[6] Asprise OCR Library
http://asprise.com/product/ocr/selector.php

Valid HTML 4.01 Transitional