IDENTYFIKACJA ZNAKÓW W TEKŚCIE ISANYM (OCR) JAKO RZYKŁAD KOMUTEROWEJ ANALIZY I RZETWARZANIA OBRAZÓW
Spis treści: 1.Wprowadzenie.. str. 3 2. IDENTYFIKACJA ZNAKÓW W TEKŚCIE ISANYM (OCR) JAKO RZYKŁAD METODY DECYZYJNEJ ZWIĄZANEJ Z RZETWARZANIEM OBRAZÓW.. str. 3 3. METODY ANALIZY OBRAZÓW CYFROWYCH str. 5 4. OCR.. str. 9 5. RZYKŁAD ALIKACJI OCR... str. 1 6. ODSUMOWANIE. str. 12 Copyright blackmasoon 29 2
1. WROWADZENIE Celem sprawozdania jest przedstawienie optycznego rozpoznawania pisma (ang. Optical Character Recognition), zwanego dalej OCR, jako przykładu komputerowej analizy i przetwarzania obrazów. Technika ta ukazana będzie jako jedna z gałęzi metod rozpoznawania obrazów, szerzej jako przykład metody optymalizacji. rzedstawione zostaną definicje każdej z dziedzin związanych z rozpatrywaną tematyką, poczynając od metod optymalizacji, poprzez komputerową analizę obrazów, na OCR kończąc. Dalej ukazane będą szczegółowe informacje dotyczące OCR oraz przykład jednej z implementacji na podstawie dostępnego na rynku oprogramowania. 2. IDENTYFIKACJA ZNAKÓW W TEKŚCIE ISANYM (OCR) JAKO RZYKŁAD METODY DECYZYJNEJ ZWIĄZANEJ Z RZETWARZANIEM OBRAZÓW Aby dokonać szczegółowej analizy tematyki OCR, należy określić jej miejsce w świecie nauki oraz technik cyfrowej analizy. Mamy tutaj do czynienia z problemem, którego względnie najlepsze rozwiązanie należy odnaleźć za pomocą różnych technik. Należy podkreślić słowo względnie, ponieważ mowa tu o zautomatyzowanych, czyli numerycznych metodach decyzyjnych, w których to za pomocą określonego algorytmu uzyskać można bliskie, lecz praktycznie nigdy nie równe idealnemu, rozwiązanie określonego problemu. Uogólniając: Metoda decyzyjna (zwana też metodą optymalizacji) jest to mechanizm, mający na celu wybranie jednego z co najmniej dwóch wariantów działania w rozwiązywaniu problemów. Aby podejmowanie takiej decyzji było możliwe, potrzebne jest wcześniejsze określenie celu oraz warunków ograniczających obszar poszukiwań optymalnego rozwiązania. Def.1 Metoda decyzyjna roblematyka metod decyzyjnych obejmuje wiele różnorodnych dziedzin związanych z automatyzacją różnych procesów. Stanowi ważne ogniwo w poszukiwaniu szybkich i skutecznych rozwiązań problemów życia codziennego w wielu różnych sferach (medycyna, informatyka, fizyka). Ważną gałęzią tej tematyki jest teoria rozpoznawania obrazów. Jej bezpośrednim przykładem jest właśnie OCR. Istnieje wiele różnorodnych metod analizy i rozpoznawania obrazów, opartych o złożone algorytmy. Rozpatrywane przez nas zagadnienie stanowi jedynie bardzo prosty przykład technik cyfrowej analizy, ponieważ opiera się o porównywanie danych wejściowych ze zbiorem gotowych wzorców i odpowiednim ich dopasowaniu. 3 Copyright blackmasoon 29
Ogólnie: Cyfrowe przetwarzanie i analiza obrazu zbiór metod optymalizacji skupiających się na automatycznym przetwarzaniu i przeanalizowaniu obrazu pewnego wycinka rzeczywistości celem uzyskania użytecznej wiedzy na temat pewnych obiektów. Def. 2 Cyfrowe przetwarzanie i analiza obrazu Należy pamiętać, że mowa tu o obrazie rozumianym jako zbiór danych pewnego modelu świata, zrozumiałego dla systemu dokonującego analizy tegoż obrazu. oniżej przedstawiono przykłady obrazów z różnych dziedzin, stanowiących materiał do analizy w cyfrowych technikach przetwarzania i analizy obrazów. a) b) 3. WNIOSKI LITERATURA c) d) Rys.1 Cyfrowe metody rozpoznawania znajdują zastosowanie w różnych dziedzinach życia człowieka: a) widmo amplitudowo-częstotliwościowoczasowe wyrazu serce b) elektorkardiogram c) rozpoznawan przez aparaty cyfrowe uśmiech człowieka d) ismo ręczne Copyright blackmasoon 29 4
W każdym z powyższych przykładów mamy do czynienia z innego typu obiektem, a na obraz jego składa się zestaw danych opisujących pewne cechy. Zadaniem automatów, wyposażonych w odpowiednie oprogramowanie, jest zebranie, analiza i przetworzenie zbioru danych. Ostatecznym celem tych badań jest rozpoznanie pewnych cech charakterystycznych i sklasyfikowanie ich zgodnie ze zbiorem pewnych wzorców. Zbiór taki może być poszerzany dzięki zdolnościom uczenia się automatów. W tym celu rozwija się gałąź nauki zwaną sieciami neuronowymi. 3. METODY ANALIZY OBRAZÓW CYFROWYCH Metody rozpoznawania pisma są przykładem metod analizy obrazów cyfrowych [Rys.1 c oraz d]. Dlatego w trzecim rozdziale pracy przedstawione oraz omówione zostaną przykłady technik rozpoznawania obiektów w obrazach. Analiza obrazu ma na celu wyodrębnienie pewnej całkowitej informacji docierającej do odbiornika, która interesuje użytkownika lub np. dany automat wyposażony w odpowiednie oprogramowanie. roces analizy posiada specyficzną własność, polegającą na znacznej redukcji danych otrzymanych na wejściu. rzykładowo: dane reprezentujące pewne wartości parametrów obrazu mogą zostać zredukowane z liczby kilkuset tysięcy bajtów do kilkudziesięciu. Należy wspomnieć, że z punktu widzenia programowego i sprzętowego techniki analizy obrazu wymagają ogromnej mocy obliczeniowej. Dlatego też przy ich implementacjach stosowane są wyspecjalizowane procesory pracujące w systemach czasu rzeczywistego. Jedną z podstawowych technik analizy obrazów jest proces segmentacji. Segmentacja obrazu proces polegający na podziale obrazu na obszary, które odpowiadają widocznym na obrazie obiektom. Każdy piksel należący do obiektu zostaje oflagowany odpowiednią etykietą (indeksacja obiektów[def.4]). Def. 3 Segmentacja obrazu Indeksacja obiektów (labelling) przypisanie do wszystkich pikseli obiektów identyfikatorów (etykiet), wskazujących do którego obiektu można dany piksel przypisać. Def. 4 Indeksacja obiektów 5 Copyright blackmasoon 29
Techniki segmentacji kierują się różnymi kryteriami podczas wydzielania obszarów obrazu. odczas podziału pod uwagę mogą być brane takie kryteria jednorodności jak: poziom jasności, kolor lub faktura. W praktycznym ujęciu segmentacja polega zatem na wyodrębnieniu obiektów znajdujących się na obrazie od tła, na którym się znajdują. oniżej przedstawiono przykładowe wyniki działania poprawnej oraz błędnej segmentacji: a) b) c) d) Rys.2 a) obraz do segmentacji, b) wynik poprawnej segmentacji, c)d) wynik błędnej segmentacji Wyróżnia się dwie techniki segmentacji: - segmentacja poprzez podział obszaru (region splitting) - segmentacja poprzez rozrost obszaru (region growing) Segmentacja poprzez podział (iteracyjna, rekursywna) polega na stopniowym podziale obrazu na coraz to mniejsze obszary, których piksele różnią się znacznie ze względu na ustalone własności od pikseli obszarów sąsiednich. W metodzie tej dokonuje się tzw. rogowania, czyli porównywania wartości każdego piksela z ustaloną wartością progową. Jej wartość może być odgórnie określona, jednakże może to prowadzić do błędnego wydzielenia obiektów. Dobrym sposobem na określenie wartości progowej jest analiza histogramu obrazu. Tutaj poruszyć należy ważną kwestię cech obrazów jakie poddaje się segmentacji poprzez podział. Obiekty widniejące na obrazie powinny być dość znacznie rozróżnialne od tła tak, aby histogram tworzył względnie systematyczny wykres. W tego typu algorytmie w pierwszej kolejności następuje wyliczenie kilku opcjonalnych histogramów ze względu na różne atrybuty. Wybrany zostaje ten najbardziej wyrazisty. Dzięki temu dobrana może zostać optymalna wartość progowa. Segmentacja poprzez rozrost polega na badaniu dla każdego piksela stopnia podobieństwa do innych pikseli i łączenia ich w małe obszary. Następnie dla małych obszarów porównywane są uśrednione wartości branych pod uwagę parametrów. Obszary o podobnych własnościach zostają łączone w większe obszary. Każda z wyżej wspomnianych technik musi doprowadzić do indeksacji obrazu, czyli przypisania każdemu z pikseli odpowiedniej flagi, komunikującej o przynależności piksela do Copyright blackmasoon 29 6
danego obiektu. Najczęściej jest to przypisanie pikselom należącym do obiektów sztucznych wartości liczbowych, reprezentujących odrębne obiekty. Najczęściej dla zbinaryzowanej już tablicy reprezentującej obraz odbywa się poszukiwanie pierwszego niezerowego piksela. o napotkaniu takiego piksela następuje analiza jego najbliższego otoczenia (A B C): B C A Rys.3 Niezerowy piksel i piksele w jego najbliższym otoczeniu: A B C Jeżeli naokoło nie ma żadnego innego niezerowego piksela, czyli: Rys.4 piksel znajduje się w niezindeksowanym jeszcze obszarze Oznacza to że dany piksel należy do nieokreślonego wcześniej obszaru. Dlatego też następuje nadanie mu indeksu kolejnego z kolei obszaru: O+1 Rys.5 ikselowi przypisany zostaje indeks nowego obszaru W przypadku, kiedy w najbliższym sąsiedztwie piksela znajduje się zaindeksowany wcześniej do innego obszaru piksel: Rys.6 iksel znajduje się w bezpośrednim sąsiedztwie pikseli przypisanych do obiektu o indeksie następuje przypisanie go tegoż znanego już obszaru. Rys.7 iksel został zaindeksowany przynależnością do obszaru Sytuacja taka będzie miała miejsce w różnych,możliwych układach pikseli 7 Copyright blackmasoon 29
Rys.8 Różne przypadki, w których piksel zostanie przypisany do obiektu rzedstawione powyżej przykłady stanowią tylko najprostsze i niekonfliktowe sytuacje. Bardziej problematyczny staje się poniższy przypadek: O3 O5 Rys.9 iksel znajduje się w bezpośrednim sąsiedztwie dwóch różnych obiektów iksel znalazł się w bezpośrednim sąsiedztwie dwóch zupełnie innych obszarów. W takich przypadkach stosuje się regułę przypisania do obszaru o niższym indeksie: O3 O5 O3 Rys.1 piksel został przypisany do obiektu o niższym indeksie Występowanie takich konfliktów może oczywiście prowadzić do błędnej klasyfikacji i niewłaściwego rozpoznania obiektów na obrazie. Aby uniknąć takich sytuacji stosuje się dodatkową tablicę sklejeń, która podlega reorganizacji po dokonaniu pełnej indeksacji obrazu. oniżej przedstawiono przykład poprawnego wyniku indeksacji obrazu: Rys.11 rzykład poprawnego działania indeksacji z użyciem tablicy sklejeń Copyright blackmasoon 29 8
4. OCR Rozpoznawanie tekstu stanowi niełatwe zadanie dla automatycznego systemu komputerowego. Danymi źródłowymi dla algorytmów rozpoznawczych mogą być tutaj zeskanowane teksty pisane, zapisane w formacie obrazu cyfrowego. Działanie algorytmu rozpoznającego tekst jest w uproszczeniu następujące: 1. Określenie kierunku, w którym biegnie tekst (w zależności od języka) 2. odzielenie obrazu na obszary w których znajduje się tekst 3. odzielenie uzyskanych obszarów na wiersze 4. odzielenie wierszy na znaki W powyższym etapie przydatne zdają się mechanizmy opisane w rozdziale 3. Kiedy już każdy znak zostanie wyodrębniony jako unikalny obszar następuje 2 etap rozpoznawanie. Obszar znaku zostaje podzielony na cztery ćwiartki, a każda poddawana jest porównaniu z bazą wzorców. Jeżeli przynajmniej 3 ćwiartki zostaną sklasyfikowane jednakowo, znak zostaje uznany za zidentyfikowany. Gdy w ten sposób wydzielone zostanie całe słowo, następuje próba jego klasyfikacji za pomocą wewnętrznego słownika. Opisany przed chwilą 2 etap, dotyczący rozpoznawania poszczególnych znaków, zahacza o tematykę rozpoznawania obrazów. Jest to odrębny od analizy dział, zajmujący się rozpoznawaniem konkretnych obiektów. Istnieje wiele metod rozpoznawania, jednakże dla OCR można podać jako przykład metodę wzorców. 4.1. Metoda Wzorców W intuicyjnej definicji metoda wzorców polega na porównywaniu zbioru danych wejściowych ze zbiorem wzorcowym. Oczywistym jest fakt, że nie należy przyjmować ustalania zgodności tylko pod warunkiem 1% identyczności danych wejściowych oraz wyjściowych. Należy przyjąć pewien próg akceptowalnego poziomu zgodności, dla którego przyjmujemy identyczność obiektów. Z definicji: 1 dla x W i C ( x) = dla pozost. i C odwzorowanie 9 Copyright blackmasoon 29 Wzór 1
W wzorzec x obiekt W przypadku OCR przykładem zastosowania tej metody może być podział danego obrazu znaku na 4 obszary. Każdy z obszarów ulega konwersji do uproszczonej postaci zbinaryzowanej (macierz zero-jedynkowa). Każda macierz zostaje porównana do macierzy wzorcowej a procent podobieństwa jest decydującym czynnikiem podczas klasyfikacji. Należy podkreślić, że w bardziej zaawansowanych implementacjach ważną rolę grają sieci neuronowe, które uczą się pewnych wzorców pozwalając na mniejsze ryzyko błędnej klasyfikacji znaku. Rys.12 rzykład oprogramowania wykorzystującego sieci neuronowe w technice OCR 5. rzykład aplikacji OCR Oprogramowanie OCR zawiera obecnie bazę kilkuset języków, w których teksty mogą być rozpoznawane. rzedstawione zostanie działanie programu FineReader rofessional 9, zaawansowanego narzędzia przeznaczonego do rozpoznawania pisma (OCR/ICR). Aplikacja przetwarza cyfrowe zdjęcia dokumentów, bieżąco zeskanowane dokumenty bądź pliki w formacie DF, zamieniając je do postaci edytowalnej. rogram korzysta ze słownika aplikacji MS WORD co znacznie wzbogaca jego bazę rozpoznawanego słownictwa. onadto bardzo dokładnie odwzorowuje układ dokumentu, co jest ważną cechą, ponieważ początkowo większość tego typu programów wykazywała pod tym względem dużo problemów. W celach testowych konwersji poddane zostały dwa typy plików: dokument DF oraz obraz JG: Copyright blackmasoon 29 1
rogram dokonał właściwej analizy obrazu i odpowiedniego podziału na obszary z tekstem: Rys.13 Obszar roboczy programu Fine Reader W wyniku konwersji otrzymano wiernie odtworzony dokument w formacie doc, dającym możliwość dalszej edycji tekstu. ierwotny układ został zachowany. Nie wykryto błędów językowych: Rys.14 Odtworzony dokument w formacie umożliwiającym edycję 11 Copyright blackmasoon 29
6. odsumowanie OCR jest doskonałym przykładem metody optymalizacji. Na poszczególnych etapach rozpoznawania porusza takie dziedziny jak analiza i przetwarzanie obrazów, w których to mamy do czynienia z szeregiem metod i algorytmów decyzyjnych. Rozwijająca się technologia OCR opanowała już rozpoznawanie zeskanowanych tekstów zarówno drukowanych jak i pisanych. Ciągle pracuje się nad udoskonalaniem tej techniki o np. rozpoznawanie tekstu pisanego kursywą. Licznie występujące na rynku oprogramowanie dostarcza potężniejszych narzędzi do coraz trafniejszego i lepszego rozpoznawania tekstu. LITERATURA [1] Tadeusiewicz, Ryszard, Rozpoznawanie obrazów, seria:roblemy Współczesnej Nauki i Techniki. Informatyka, Warszawa : ańst. Wydaw. Naukowe, 1991. [2] Tadeusiewicz, Ryszard, Komputerowa analiza i przetwarzanie obrazów, seria: Społeczeństwo globalnej informacji, Kraków : Wydawnictwo Fundacji ostępu Telekomunikacji, 1997. [3] http://www.pcworld.pl/artykuly/37727_1/wstepne.rozpoznanie.html [4] http://www.codeproject.com/kb/cs/neural_network_ocr.aspx Copyright blackmasoon 29 12