Megjelent a Tesseract 4.1 optikai karakterfelismerő rendszer, amely támogatja az UTF-8 karakterek és több mint 100 nyelv, köztük orosz, kazah, belorusz és ukrán szövegek felismerését. Az eredmény menthető nyílt szövegként, valamint HTML (hOCR), ALTO (XML), PDF és TSV formátumokban. A rendszer alapját eredetileg 1985-1995 között a Hewlett Packard laboratóriumában hozták létre, 2005-ben a kód nyílt lett az Apache licenc alatt, később pedig a Google munkatársainak közreműködésével fejlődött. A projekt forráskódja az Apache 2.0 licenc alatt érhető el.
A Tesseract konzol alkalmazást és a libtesseract könyvtárat tartalmaz, amely lehetővé teszi a szövegfelismerési funkciók beépítését más alkalmazásokba. A Tesseract-ot támogató külső GUI-interfészek között említhetjük a gImageReader, VietOCR és YAGF alkalmazásokat. Két felismerő motor áll rendelkezésre: a klasszikus, amely a karakterek egyedi sablon szintű felismerésére épül, valamint az új, a LSTM alapú gépi tanulási rendszert alkalmazó, amely optimalizálva van a teljes sorok felismerésére, így jelentős pontosságnövelést biztosít. Kész, betanított modellek érhetők el 123 nyelvhez. A teljesítmény optimalizálására OpenMP és SIMD utasításokat (AVX2, AVX, NEON vagy SSE4.1) használó modulok állnak rendelkezésre.
A Tesseract 5.0 főbb fejlesztései:
- A verziószám jelentős változása a kompatibilitást sértő API módosításokkal magyarázható. Különösen a közkézen forgó libtesseract API már nem kapcsolódik a tulajdonosi GenericVector és STRING adattípusokhoz, ehelyett a kódban std::string és std::vector használatos.
- Átszervezték a forráskód fa struktúráját. A közkézen forgó header fájlok az include/tesseract mappába kerültek.
- Átdolgozták a memória kezelését, minden malloc és free hívást C++ kódra cseréltek. Átfogó modernizálást végeztek a kódon.
- Optimalizálások kerültek bevezetésre ARM és ARM64 architektúrákhoz, a számítások felgyorsítása érdekében ARM NEON utasításokat használnak. Az összes architektúrára vonatkozó teljesítményoptimalizálás is megtörtént.
- Új edzésmódok és szövegfelismerési módok kerültek bevezetésre, amelyek lebegőpontos számításokon alapulnak. Az új módok magasabb teljesítménnyel és alacsonyabb memóriafogyasztással rendelkeznek. Az LSTM motorban az alapértelmezett gyors float32 üzemmód aktív.
- Áttértek az Unicode normalizáció használatára NFC (Normalization Form Canonical) formátumban.
- Hozzáadva egy lehetőség a naplózás részletességi szintjének beállításához (—loglevel).
- Az Autotools alapú építési rendszert újragondolták, amely átkapcsolt nem rekurzív módra.
- A Git 'master' ága átnevezésre került 'main'-re.
- Új macOS és az M1 chipre épülő Apple rendszerek támogatása került hozzáadásra.
Forrás: opennet.ru
