OCRopus

OCRopus
Deweloperzy Thomas Breuel, DFKI
Pierwsze wydanie 9 kwietnia 2007 ; 15 lat temu ( 09.04.2007 )
Wersja stabilna
1.3.3 / 16 grudnia 2017 ; 5 lat temu ( 16.12.2017 )
Magazyn
Napisane w C++ i Pythona
System operacyjny FreeBSD , Linux , Mac OS X
Typ Optyczne rozpoznawanie znaków
Licencja Licencja Apache v2.0
Strona internetowa github.com/ocropus/ocropy _ _ _

OCRopus to darmowy system do analizy dokumentów i optycznego rozpoznawania znaków (OCR) wydany na licencji Apache License v2.0 o bardzo modułowej konstrukcji wykorzystujący interfejsy wiersza poleceń .

OCRopus jest rozwijany pod kierownictwem Thomasa Breuela z Niemieckiego Centrum Badań nad Sztuczną Inteligencją w Kaiserslautern w Niemczech i był sponsorowany przez Google .

Opis

digitalizacji książek o dużej objętości , takich jak Google Books , Internet Archive lub biblioteki. Ma być obsługiwana duża liczba języków i czcionek. Jednak może być również używany do aplikacji biurowych i biurowych lub do aplikacji dla osób niedowidzących.

Powstają główne składniki OCRopus:

Dla tych komponentów dostępnych jest jeden lub wiele skryptów. Podejście modułowe umożliwia stosowanie indywidualnych przepływów pracy i wymianę poszczególnych kroków.

Domyślnie OCRopus jest dostarczany z modelem dla tekstów w języku angielskim i modelem dla tekstu we Fraktur . Modele te odnoszą się do skryptu i są w dużej mierze niezależne od rzeczywistego języka. Nowe znaki lub warianty językowe można trenować jako nowe lub dodatkowo.

Najnowsze rozpoznawanie tekstu opiera się na rekurencyjnych sieciach neuronowych ( LSTM ) i nie wymaga modelu językowego. Umożliwia to trenowanie modeli niezależnych od języka, dla których jednocześnie wykazano dobre wyniki rozpoznawania dla języka angielskiego, niemieckiego i francuskiego. Oprócz alfabetu łacińskiego istnieją wyniki dla innych alfabetów, takich jak sanskryt , urdu , dewanagari i greka .

Dzięki odpowiedniemu szkoleniu można osiągnąć bardzo dobre wskaźniki wykrywalności. Ten dodatkowy wysiłek jest szczególnie opłacalny w przypadku trudnych dokumentów lub skryptów, które nie są już dziś powszechne i na których nie skupia się inne oprogramowanie OCR.

Historia

W dniu 9 kwietnia 2007 r. OCRopus został ogłoszony jako projekt sponsorowany przez Google w celu opracowania zaawansowanych technologii OCR. Finansowanie zostało przyznane na okres trzech lat i obejmowało w szczególności stanowiska doktoranckie i habilitacyjne w DFKI i Uniwersytecie w Kaiserslautern . W zamian OCRopus był również używany do automatycznego rozpoznawania tekstu w Google Book Search . Licencjonowanie w ramach licencji open source zostało wprowadzone od samego początku, aby ułatwić współpracę między badaniami przemysłowymi i akademickimi. OCRopus otrzymał dalsze fundusze od Fundacji Andrew W. Mellona i BMBF .

Pierwsza wersja alfa 0.1 została wydana 22 października 2007 r., a następnie kilka wersji wstępnych między grudniem 2007 a majem 2009 r., osiągając stabilną wersję 0.4.4 w marcu 2010 r. Pierwotnie oprogramowanie zostało opracowane w C ++ , Pythonie i Lua z Jam jako budować system . Kompletna refaktoryzacja kodu źródłowego w modułach Pythona została wykonana i wydana w wersji 0.5 (czerwiec 2012).

Początkowo Tesseract był używany jako jedyny moduł do rozpoznawania tekstu. Od 2009 roku (wersja 0.4) Tesseract był obsługiwany tylko jako wtyczka. Zamiast tego zastosowano samodzielnie opracowany mechanizm rozpoznawania tekstu (również oparty na segmentach). Ten aparat rozpoznawania został następnie użyty razem z OpenFST do modelowania języka po etapie rozpoznawania. Od 2013 r . oferowano dodatkowe rozpoznawanie z rekurencyjnymi sieciami neuronowymi ( LSTM ), które wraz z wydaniem wersji 1.0 w listopadzie 2014 r. jest jedynym rozpoznawaniem.

Kod źródłowy jest zarządzany przez GitHub i jest utrzymywany i rozwijany przez społeczność programistów. Obecna wersja OCRopus to 1.3.3 (grudzień 2017).

Thomas Breuel opracował również następcę OCRopus 2 i aktywnie pracuje nad OCRopus 4.

Stosowanie

OCRopus workflow
Schemat przepływu pracy oddzielnych narzędzi wiersza poleceń z OCRopus.

OCRopus może być używany z wiersza poleceń. Po zainstalowaniu można go wywołać, określając obrazy wejściowe. Wyprowadzi rozpoznany tekst bezpośrednio na standardowe wyjście lub zapisze go jako kod hOCR ( oparty na HTML ) do plików, z których można go następnie przekształcić w przeszukiwalny plik PDF. Jeśli potrzebne jest dokładniejsze sterowanie, w wierszu poleceń można określić opcje wykonywania określonych operacji (np. rozpoznanie pojedynczej linii).

Przykład wywołań OCRopus w celu rozpoznania tekstu na obrazie:

# wykonaj binaryzację ocropus-nlbin testing/ersch.png -o book # wykonaj analizę układu strony ocropus-gpageseg book/0001.bin.png # wykonaj rozpoznawanie linii tekstu (z modelem fraktur) ocropus-rpred -m models/fraktur.pyrnn .gz book/0001/*.bin.png # wygeneruj wyjście HTML ocropus-hocr book/0001.bin.png -o book/0001.html

Inne narzędzia koncentrują się na części szkoleniowej OCRopus. Istnieją modele OCRopus do wyodrębniania tekstu ze skryptów łacińskich, greckich, cyrylicy i indyjskich.

Linki zewnętrzne