Udgivelsen af det optiske tekstgenkendelsessystem Tesseract 4.1 er blevet offentliggjort, som understøtter genkendelse af UTF-8-tegn og tekster på mere end 100 sprog, herunder russisk, kasakhisk, hviderussisk og ukrainsk. Resultatet kan gemmes både i klartekst og i HTML (hOCR), ALTO (XML), PDF og TSV formater. I første omgang blev systemet oprettet i 1985-1995 i laboratoriet hos Hewlett Packard, i 2005 blev koden åbnet under Apache-licensen og videreudviklet med deltagelse af Google-medarbejdere. Kildeteksterne til projektet distribueres under Apache 2.0-licensen.
Tesseract inkluderer et konsolværktøj og libtesseract-biblioteket til indlejring af OCR-funktionalitet i andre applikationer. Tesseract-understøttende tredjeparts GUI'er inkluderer gImageReader, VietOCR og YAGF. Der foreslås to genkendelsesmotorer: en klassisk, der genkender tekst på niveau med individuelle karaktermønstre, og en ny baseret på brugen af et maskinlæringssystem baseret på et tilbagevendende neuralt netværk LSTM, optimeret til genkendelse af hele linjer og muliggør en markant stigning i nøjagtigheden. Klartrænede modeller er blevet udgivet til 123 sprog. For at optimere ydeevnen tilbydes moduler, der bruger OpenMP og SIMD instruktioner AVX2, AVX, NEON eller SSE4.1.
Vigtigste forbedringer i Tesseract 5.0:
- Den væsentlige ændring af versionsnummeret skyldes ændringer i API'en, der bryder kompatibiliteten. Især libtesseract public API er ikke længere bundet til de proprietære datatyper GenericVector og STRING, i stedet for hvilke std::string og std::vector bruges i koden.
- Kildetræet er blevet omorganiseret. De offentlige header-filer er blevet flyttet til mappen include/tesseract.
- Hukommelsesstyring er blevet redesignet, alle opkald til malloc og gratis er blevet erstattet med C++ kode. En generel kodeopgradering er blevet udført.
- Tilføjede optimeringer til ARM- og ARM64-arkitekturer, ARM NEON-instruktioner bruges til at fremskynde beregninger. Udført generel ydelsesoptimering for alle arkitekturer.
- Implementeret nye former for modeltræning og tekstgenkendelse, baseret på brug af flydende kommaberegninger. De nye tilstande er kendetegnet ved højere ydeevne og reduceret hukommelsesforbrug. I LSTM-motoren er float32 hurtig tilstand aktiveret som standard.
- Overgangen til brug af Unicode-normalisering ved hjælp af NFC-formen (Normalization Form Canonical) er foretaget.
- Tilføjet en mulighed for at konfigurere logdetaljer (-loglevel).
- Montagesystemet baseret på Autotools er blevet redesignet, som er skiftet til montage i ikke-rekursiv tilstand.
- 'master'-grenen i Git er blevet omdøbt til 'main'.
- Tilføjet understøttelse af nye udgivelser af macOS- og Apple-systemer baseret på M1-chippen.
Kilde: opennet.ru