Przygotowanie materiału uczącego dla OCR w oparciu o aplikację Wycinanki. Zespół bibliotek cyfrowych PCSS 6 maja 2011 1 Cel aplikacji Aplikacja wspomaga przygotowanie poprawnego materiału uczącego dla systemu automatycznego rozpoznawania znaków (ang. OCR). Pod pojęciem poprawnego materiału uczącego rozumiemy zestaw kształtów (obszarów) wyizolowanych z dokumentu źródłowego, składających się na czcionkę użytą do druku danego dokumentu. Poprawny materiał uczący posiada następujące cechy: 1. Wyizolowany obszar zawiera pełny kształt pojedynczego znaku nie powinien on zawierać zabrudzeń i fragmentów innych znaków. Należy również pamiętać, że znaki diakrytyczne (np. akcenty czy ogonki) są integralną częścią właściwego znaku. 2. Wyizolowany kształt powinien możliwie wiernie odzwierciedlać cechy czcionki użytej do druku. 3. Z wyizolowanym obszarem w formie graficznej, skojarzony jest odpowiadający mu znak wprowadzony z klawiatury komputera lub klawiatury wirtualnej. 4. Wyizolowany kształt oznaczony jest jako poprawny bądź błędnie wydrukowany. 2 Proces przygotowania materiału uczącego W ramach aplikacji proces przygotowania materiału uczącego został podzielony na następujące kroki: 1
1. Poprawne zaznaczenie obszaru zawierającego pełny kształt znaku (porównaj cecha 1), powinno bazować na podpowiedzi aplikacji lub samodzielnie zaznaczonym obszarze. Jeżeli zaproponowany przez aplikację obszar jest nieprawidłowy i nie zostanie wykorzystany przez użytkownika, należy go usunąć. Aplikacja przejdzie wówczas do kolejnej podpowiedzi (krok nr 1). 2. Dobranie stopnia (progu) binaryzacji, który możliwie wiernie wyizoluje kształt znaku (porównaj cecha 2). W tym kroku aplikacja zaproponuje początkowe ustawienie binaryzacji, które w razie potrzeby powinno zostać skorygowane przez użytkownika. 3. Wymazanie elementów, który nie należy do oryginalnego kształtu litery (porównaj cecha 1) za pomocą pędzla. 4. Wprowadzenie znaku, któremu odpowiada wyizolowany kształt (porównaj cecha 3). 5. Zapisanie kształtu lub oznaczenie go jako niepoprawnie wydrukowanego (porównaj cecha 4). Po kroku nr 5 następuje powrót do kroku nr 1, aż do momentu przetworzenia wszystkich znaków w dokumencie. 3 Przykłady Poszczególne kroki oraz zalecenia są szczegółowo omówione na poniższych przykładach. 3.1 Krok 1: Zaznaczenie obszaru z kształtem znaku diakrytycznego. Obszar zaproponowany przez aplikację nie zawiera znaku diakrytycznego będącego częścią opracowywanej litery. W takiej sytuacji należy rozszerzyć obszar, aby obejmował cały kształt litery (porównaj cecha 1). 2
3.2 Krok 1: Połączenie sąsiadujących obszarów. Podpowiedź aplikacji jest błędna, ponieważ znak V został podzielony na dwa nakładające się obszary: Należy rozszerzyć jeden z nich w taki sposób, by obejmował cały kształt znaku, natomiast drugi odrzucić. Poniżej pokazano dwa obszary zaproponowane przez aplikację, oraz trzeci obszar wynikowy. 3.3 Krok 1: Błędny obszar nie zawierający znaku Obszar zaproponowany przez aplikację może nie zawierać znaku. W takim przypadku należy usunąć (odrzucić) zaproponowany obszar. Poniżej znajdują się przykłady obszarów zawierających kolejno zabrudzenie, fragment grafiki ozdobnej oraz fragment obramowania tabeli. 3
3.4 Krok 2: Dobór stopnia (progu) binaryzacji Dobranie stopnia (progu) binaryzacji w kroku 2 kontroluje się przyciskami + oraz -, a także suwakiem: Proces binaryzacji to konwersja z obrazu wielokolorowego (czy też odcieni szarości) do postaci czarno białej (dwukolorowej). Korygując stopień binaryzacji, należy dążyć do tego aby wyizolowany kształt znaku odzwierciedlał jego właściwy charakter (por. cecha 2). Poniżej pokazano jak dobór stopnia binaryzacji wpływa na to jak wygląda wynikowy kształt (czarno biały) znaku L. Od prawej: oryginalny obszar (obraz w odcieniach szarości) oraz wyniki procesu binaryzacji dla rosnących wartości stopnia binaryzacji. Jak widać w przykładzie, zwiększając stopień (poziom) binaryzacji udało się usunąć poziome zniekształcenia (szumy) obszaru. Z kolei zbyt duża wartość stopnia binaryzacji może doprowadzić do zamazania kształtu. Zatem w powyższym przykładzie poprawny jest drugi stopień binaryzacji. Następny przykład pokazuje, jak za pomocą doboru stopnia binaryzacji można wyizolować kształt znaku, usuwając przy tym kształty nie należące do znaku. Ponownie przedstawiono oryginalny obszar oraz zwiększane wartości stopnia binaryzacji. Uwaga. Celem doboru stopnia binaryzacji jest wyizolowanie możliwie wiernie kształtu znaku w formie czarno białej. Nie zawsze możliwe jest przy tym 4
wymazanie kształtów innego pochodzenia, szczególnie jeśli cechują się tym samym odcieniem. 3.5 Krok 3: Wymazanie sąsiadującego znaku W sytuacji, gdy prostokątny obszar nie może objąć pojedynczego znaku (zobacz przykład poniżej), należy usunąć fragmenty należące np. do innych znaków, za pomocą pędzla. Poniższy przykład ilustruje oryginalny obszar oraz kolejne etapy wymazywania niechcianego fragmentu. Uwaga 1. Zaleca się wymazanie kształtów po wcześniejszej regulacji stopnia binaryzacji w kroku 2. Uwaga 2. Narzędzie wymazywania kształtów nie powinno być używane do uzyskiwania idealnego kształtu (porównaj zalecenia do kroku 2). 3.6 Krok 5: Znaki błędnie wydrukowane. Z uwagi na charakter dokumentów, na podstawie których przygotowywany jest materiał uczący, możliwa jest sytuacja, gdy pojedyncze znaki (lub większe fragmenty tekstu) będą błędnie wydrukowane. W takich przypadkach niemożliwe jest wyizolowanie kształtu wiernie reprezentującego dany znak. Należy zatem oznaczyć dany kształt w kroku 5 jako błąd drukarski (zobacz cecha 4), mimo błędu o ile to możliwe należy wpisać jaki znak reprezentuje dany kształt. Poniżej znajdują się przykłady kształtów, które powinny być oznaczone jako błąd drukarski. Podano obszar oryginalny oraz kształt zbinaryzowany (czarno biały): 1. Niedobita czcionka dla znaku a: 5
2. Niedobita czcionka dla znaku A: 3. Niedobita czcionka dla znaku S. Pokazano, jak zwiększanie stopnia (progu) binaryzacji doprowadza do nadmiarowego wyodrębnienia kształtu, powodując jego zamazanie: Uwaga 1. W przypadku, gdy błąd drukarski jest znaczny, może nie być pewności jaki znak reprezentuje dany kształt. Należy wówczas w kroku 4 prowadzić znak rozpoznany na podstawie szerszego kontekstu, np. wyrazu. Przykładem jest powyższy znak S w wyrazie Sądy. Uwaga 2. W przypadku niektórych błędów drukarskich, kształt znaku jest zniekształcony, jednakże nadal poprawny. Jako ilustrację przedstawiono poniższy przykład znaku a, które pomimo zabrudzeń nadal stanowi poprawny kształt: 6
7