Opublikowano wersję systemu optycznego rozpoznawania tekstu Tesseract 5.2, który wspiera rozpoznawanie znaków UTF-8 oraz tekstów w ponad 100 językach, w tym rosyjskim, kazachskim, białoruskim i ukraińskim. Wynik może być zapisywany zarówno jako czysty tekst, jak i w formatach HTML (hOCR), ALTO (XML), PDF oraz TSV. System został pierwotnie stworzony w latach 1985-1995 w laboratorium firmy Hewlett Packard, w 2005 roku kod został udostępniony na licencji Apache, a dalej rozwijany z udziałem pracowników firmy Google. Źródłowe teksty projektu są dystrybuowane na licencji Apache 2.0.
Tesseract zawiera konsolową aplikację oraz bibliotekę libtesseract do wbudowywania funkcji rozpoznawania tekstu w inne aplikacje. Z wymienionych zewnętrznych interfejsów GUI wspierających Tesseract warto wymienić gImageReader, VietOCR i YAGF. Oferowane są dwa silniki rozpoznawania: klasyczny, rozpoznający tekst na poziomie wzorów poszczególnych znaków, oraz nowy, oparty na zastosowaniu systemu uczenia maszynowego na bazie rekurencyjnej sieci neuronowej LSTM, zoptymalizowanej do rozpoznawania całych linii i pozwalającej na znaczne zwiększenie dokładności. Gotowe wytrenowane modele opublikowano dla 123 języków. Aby zoptymalizować wydajność, dostępne są moduły wykorzystujące OpenMP oraz instrukcje SIMD AVX2, AVX, AVX512F, NEON lub SSE4.1.
Główne ulepszenia w Tesseract 5.2:
- Dodano optymalizacje, zrealizowane z wykorzystaniem instrukcji Intel AVX512F.
- W interfejsie C API dodano funkcję do inicjalizacji tesseract z ładowaniem z pamięci modelu uczenia maszynowego.
- Dodano parametr invert_threshold, który określa poziom inwersji tekstowych linii. Domyślnie ustawiono wartość 0.7. Aby wyłączyć inwersję, należy ustawić wartość 0.
- Udoskonalono przetwarzanie bardzo dużych dokumentów na 32-bitowych hostach.
- Przejście na użycie funkcji std::string zamiast std::regex.
- Ulepszono skrypty budowania dla Autotools, CMake i systemów ciągłej integracji.
Źródło: opennet.ru
