OCR - do skanowania czytelnego tekstu maszynowego

0

Próbowałam kilku programów do OCRowania tekstu maszynowego. Testy odbyły się poprzesz eksport tabel z LibreOffice - dokumenty czytelne, litery wyraźne, bez żadnych defektów. W trakcie testów simpleOCR, GOCR/JOCR oraz Tesseract po prostu stopień rozpoznania tekstu jest porażająco kiepski. Zakres znaków w tekście był z alfabetu polskiego

Czy znają Państwo jakiś program/bibliotekę (inną niż wymienione), która potrafi rozczytywać dokumenty, (najlepiej aby miała możliwość --verbose, która też podaje pozycję znaków) niemal bezbłędnie. Po prostu nie wyobrażam sobie sytuacji by program nie potrafił przeczytać dokumentu napisanego Arialem, Courierem lub Times New Roman. Nie było w plikach png (wyraźnych, nie pixeloza, innych czcionek, nie było nawet czcionki pochylonej, gdzie mogłabym stwierdzić, że program może robić błędy. Wskazane, aby nie mylił program dużych liter z małymi, pomłka zera z O i małego L szeryfowego z 1 nie jest problemem, po OCRowaniu moge to poprawić. Jednak pomyłki "fl" z "A" i dalej sianie kaszanki zamiast tekstu są raczej niedopuszczalne.

Inetresują mnie głównie otwarte rozwiązania i bezpłatne.

0

Pytanie jak długo ma trwać analiza dokumentu? Bo to jest zwykle trade-off pomiędzy czasem analizy a dokładnością. Popatrz np. tutaj:
https://github.com/p4-team/ctf/tree/master/2015-10-02-dctf/misc_400_captcha

rozwiązywaliśmy dość skomplikowane captche, dziwną czcionką, z nachodzącymi na siebie literami, z korekcją kolorów. I da się to zrobić, tylko że trwa to znacznie dłużej niż gdyby puścić anlizę jakimś tesseractem. Obawiam się że jednak do analizy duzej liczby dokumentów nic lepszego od tesseracta nie będzie. Moze wystarczy odpowiednio go skonfigurować i zaaplikować model dla konkretnej czcionki?

0

A jesteś pewna, że ustawiłaś odpowiedni język w Tesserakcie? Bo to potrafi mieć duży wpływ na wyniki. Zawsze możesz też wyuczyć Tesseracta sama i używać swoich własnych przykładów, to powinno dać najlepsze wyniki, ale może być kosztowne w przygotowaniu.

0
Shalom napisał(a):

Pytanie jak długo ma trwać analiza dokumentu? Bo to jest zwykle trade-off pomiędzy czasem analizy a dokładnością. Popatrz np. tutaj:
https://github.com/p4-team/ctf/tree/master/2015-10-02-dctf/misc_400_captcha

rozwiązywaliśmy dość skomplikowane captche, dziwną czcionką, z nachodzącymi na siebie literami, z korekcją kolorów. I da się to zrobić, tylko że trwa to znacznie dłużej niż gdyby puścić anlizę jakimś tesseractem. Obawiam się że jednak do analizy duzej liczby dokumentów nic lepszego od tesseracta nie będzie. Moze wystarczy odpowiednio go skonfigurować i zaaplikować model dla konkretnej czcionki?

Czas analizy jest drugorzedny - fajnie gdyby był w programie przełącznik do wybrania stopnia, ponieważ może się okazać, że mniej szczegółowa analiza jest wystarczająca. Program nie musi umieć rozczytywać recatcha/captcha - jest to nawet nie wskazane by nie mylił znaków. Niestety mam przypadek dużej ilości dokumentów, w wielu językach, które używają łacińskich znaków z haczekami, akcentami, w tym z francuskim, niemieckim i czeskim. Jednak wykrycie akcentów ma tu drugorzędne znaczenie. Dla języków innych niż polskie może wyrzucać znaki z ucięciem haczeków, akcentów itp. Warto aby program nie bazował na słownikach, tylko wiernie rozpoznawał znaki - dokumenty niestety zawierają literówki, ale zadany tekst do rozpoznania testowy - nie posiadał błędów pisowni.

Tu dopytam jak tesseracta skonfigurować do Ariala (Unicode), Times New Roman, Consolas i Couriera - on wypadł najlepiej ale i tak 1/10 tekstu błędnie rozpoznana mimo czcionek podstawowych?

0

ja swego czasu miałem trochę tekstu do rozpoznania i używałem ABBYY FineReader (chyba w wersji 11) w wersji testowej. W porównaniu do skanów, które miałem radził sobie bardzo dobrze - były to głównie różne dokumenty urzędowe, niektóre wyblakłe, inne skanowane przysłowiowym kapciem. Ale to rozwiązanie płatne.

3

U mnie tesseract zaczął lepiej działać jak doczytałem, że dostosowany jest by default do czcionek skanowanych na 300dpi. Przeskalowałem dokumenty w dół !!! i liczba błędow zaczęł byc znośna.

0

Kiedyś miałam podobny problem. Tesseract i podobne biblioteki dostępne za darmo są dobre do skanowania tekstu o określonej wielkości i głównie tekstu zaszumionego, czyli ze skanerów, dobrej jakości zdjęć gazet i tym podobnych. Przez zaszumienie rozumiem tutaj szum w tle oraz wady druku, uszkodzenia mechaniczne na gazecie. Do rozpoznawania Ariala i standardowych czcionek "urzędowych", które są wydrukami w postaci obrazka, bardziej sprawdzi się własnoręcznie napisany algorytm. Tu tylko uczulam, że po rozpoznaniu liter, co nie jest wcale takie trudne, gdy litery są z alfabetu angielskiego, jest sporo zabawy z akcentami, kropeczkami i innymi diakrytycznymi. Ale jak ma się tekst z pozycją, reszta powinna pójść dobrze. Nie będzie to tydzień kodowania, ale wysiłek opłacalny. Tu jednak trzeba uważać też na małą literę i do czasu połączenia jej z odpowiadającą jej kropką. Jest podobna do dużej litery I oraz do jedynki przed odszukaniem kropki. W ten sposób będzie zarówno tekst i jego pozycja umożliwiająca odnalezienie słów i linii.

Algorytm taki będzie działał tylko dla idealnie poziomego ustawienia liter i linii, ale większość dokumentów taka właśnie jest.

1 użytkowników online, w tym zalogowanych: 0, gości: 1