Optyczne rozpoznawanie znaków

Optyczne rozpoznawanie znaków, OCR (ang. optical character recognition) – zestaw technik lub oprogramowanie służące do rozpoznawania znaków i całych tekstów w pliku graficznym o postaci rastrowej. Zadaniem OCR jest zwykle rozpoznanie tekstu w zeskanowanym dokumencie (na przykład papierowym formularzu lub stronie książki).

Niegdyś termin oznaczał samo rozpoznawanie ciągów znaków, głównie drukowanych, które są łatwiejsze do rozpoznania, dziś również pisma odręcznego oraz cech formatowania, jak krój pisma, stopień pisma, interlinia (techniki służące do tego typu zaawansowanego rozpoznawania nazywane są terminem ICR), a nawet układów tabelarycznych.

Techniki optycznego rozpoznawania znaków stosowane są, między innymi, przy digitalizacji zasobów bibliotek, a także jako ułatwienie przy odczytywaniu danych z formularzy wypełnianych pismem odręcznym. W obu przypadkach oprogramowanie OCR nie jest tak skuteczne jak człowiek, zatem w przypadkach wątpliwych (trudności z odczytaniem fragmentu) oraz w celu uniknięcia błędów nieodzowna jest weryfikacja wyniku OCR przez człowieka.

Nowoczesną metodą współpracy oprogramowania OCR z ludźmi jest technika reCAPTCHA[1]. Nie wymaga ona zatrudniania osób specjalnie do weryfikacji OCR, lecz wykorzystuje rozproszoną aktywność milionów użytkowników Internetu, którzy wchodząc na strony internetowe zabezpieczone przez CAPTCHA rozpoznają fragmenty tekstu wymagające weryfikacji.

Postęp w optycznym rozpoznawaniu znaków jest bardzo widoczny – drogie komercyjne oprogramowanie z lat 90. XX wieku wymagało dobrego skanu, najlepiej w językach zachodnioeuropejskich. W 2013 możliwe było rozpoznawanie mało dokładnych skanów, wykonanych telefonami komórkowymi z szumami na obrazkach, z tekstem napisanym pod nienaturalnymi kątami, w 120–186 językach (w zależności od programu).

Zasada działania

Rozpoznawanie pisma jest możliwe dzięki zastosowaniu metod z dziedziny rozpoznawania wzorców (zaliczanej do sztucznej inteligencji). Oprogramowanie OCR wykorzystuje różne metody segmentacji obrazu, na przykład progowanie, aby wyodrębnić poszczególne znaki z obrazu, które następnie są najczęściej osobno klasyfikowane jako poszczególne litery. Zwykle w tym procesie wykorzystywane są sieci neuronowe. Zazwyczaj, by wyeliminować pomyłki, program sprawdza całość rozpoznanego tekstu lub poszczególne wyrazy pod kątem poprawności ortograficznej i gramatycznej danego języka.

Zobacz też

Przypisy

  1. Artykuł opisujący schemat działania reCAPTCHY. ocrwdokumentach.pl. [dostęp 2013-08-14].