Vydání systému rozpoznávání textu Tesseract 5.0

Bylo zveřejněno vydání systému optického rozpoznávání textu Tesseract 4.1, který podporuje rozpoznávání znaků a textů UTF-8 ve více než 100 jazycích, včetně ruštiny, kazaštiny, běloruštiny a ukrajinštiny. Výsledek lze uložit jak v čistém textu, tak ve formátech HTML (hOCR), ALTO (XML), PDF a TSV. Zpočátku byl systém vytvořen v letech 1985-1995 v laboratoři Hewlett Packard, v roce 2005 byl kód otevřen pod licencí Apache a dále rozvíjen za účasti zaměstnanců Google. Zdrojové texty projektu jsou šířeny pod licencí Apache 2.0.

Tesseract obsahuje obslužný program konzoly a knihovnu libtesseract pro vkládání funkcí OCR do jiných aplikací. GUI třetích stran podporující Tesseract zahrnují gImageReader, VietOCR a YAGF. Jsou navrženy dva rozpoznávací stroje: klasický, který rozpoznává text na úrovni jednotlivých vzorů znaků, a nový založený na použití systému strojového učení založeného na rekurentní neuronové síti LSTM, optimalizovaný pro rozpoznávání celých řádků a umožňující výrazné zvýšení přesnosti. Hotové trénované modely byly publikovány pro 123 jazyků. Pro optimalizaci výkonu jsou nabízeny moduly využívající OpenMP a SIMD instrukce AVX2, AVX, NEON nebo SSE4.1.

Klíčová vylepšení v Tesseract 5.0:

  • Významná změna čísla verze je způsobena změnami rozhraní API, které narušují kompatibilitu. Zejména veřejně dostupné libtesseract API již není vázáno na proprietární datové typy GenericVector a STRING, místo kterých jsou v kódu použity std::string a std::vector.
  • Zdrojový strom byl reorganizován. Veřejné hlavičkové soubory byly přesunuty do adresáře include/tesseract.
  • Správa paměti byla přepracována, všechna volání malloc a free byla nahrazena kódem C++. Byla provedena obecná aktualizace kódu.
  • Přidány optimalizace pro architektury ARM a ARM64, instrukce ARM NEON slouží ke zrychlení výpočtů. Provedena obecná optimalizace výkonu pro všechny architektury.
  • Implementovány nové režimy trénování modelu a rozpoznávání textu, založené na použití výpočtů s pohyblivou řádovou čárkou. Nové režimy se vyznačují vyšším výkonem a sníženou spotřebou paměti. V enginu LSTM je ve výchozím nastavení povolen rychlý režim float32.
  • Byl proveden přechod na používání normalizace Unicode pomocí formuláře NFC (Normalization Form Canonical).
  • Přidána možnost konfigurace podrobností protokolu (-loglevel).
  • Přepracován byl montážní systém založený na Autotools, který byl přepnut na montáž v nerekurzivním režimu.
  • Větev 'master' v Gitu byla přejmenována na 'main'.
  • Přidána podpora pro nová vydání systémů macOS a Apple založených na čipu M1.

    Zdroj: opennet.ru

Přidat komentář