Tesseract 4.1 optisen tekstintunnistusjärjestelmän julkaisu on julkaistu, ja se tukee UTF-8-merkkien ja tekstien tunnistamista yli 100 kielellä, mukaan lukien venäjäksi, kazakstaniksi, valkovenäläiseksi ja ukrainaksi. Tulos voidaan tallentaa pelkkänä tekstinä tai HTML (hOCR), ALTO (XML), PDF- ja TSV-muodoissa. Järjestelmä luotiin alun perin vuosina 1985-1995 Hewlett Packardin laboratoriossa; vuonna 2005 koodi avattiin Apache-lisenssillä ja sitä kehitettiin edelleen Googlen työntekijöiden osallistuessa. Projektin lähdekoodia jaetaan Apache 2.0 -lisenssillä.
Tesseract sisältää konsoliapuohjelman ja libtesseract-kirjaston tekstintunnistustoimintojen upottamiseen muihin sovelluksiin. Kolmannen osapuolen GUI-liittymiä, jotka tukevat Tesseractia, ovat gImageReader, VietOCR ja YAGF. Tarjolla on kaksi tunnistusmoottoria: klassinen, joka tunnistaa tekstin yksittäisten merkkimallien tasolla, ja uusi, joka perustuu LSTM:n toistuvaan hermoverkkoon perustuvaan koneoppimisjärjestelmään, joka on optimoitu kokonaisten merkkijonojen tunnistamiseen ja mahdollistaa tarkkuuden merkittävä lisäys. Valmiita koulutettuja malleja on julkaistu 123 kielelle. Suorituskyvyn optimoimiseksi tarjotaan moduuleja, jotka käyttävät OpenMP- ja SIMD-ohjeita AVX2, AVX, NEON tai SSE4.1.
Suuret parannukset Tesseract 5.0:ssa:
- Merkittävä muutos versionumerossa johtuu sovellusliittymään tehdyistä muutoksista, jotka rikkovat yhteensopivuuden. Erityisesti julkisesti saatavilla oleva libtesseract API ei ole enää sidottu patentoituihin GenericVector- ja STRING-tietotyyppeihin std::stringin ja std::vectorin hyväksi.
- Lähdetekstipuu on järjestetty uudelleen. Julkiset otsikkotiedostot on siirretty include/tesseract-hakemistoon.
- Muistinhallinta on suunniteltu uudelleen, kaikki malloc- ja ilmaiset puhelut on korvattu C++-koodilla. Koodin yleinen modernisointi on suoritettu.
- Lisätty optimointi ARM- ja ARM64-arkkitehtuureille; ARM NEON -ohjeita käytetään nopeuttamaan laskelmia. Kaikille arkkitehtuureille yhteinen suorituskyvyn optimointi on suoritettu.
- Harjoittelumalleille ja tekstintunnistukselle on otettu käyttöön uusia liukulukujen käyttöön perustuvia tiloja. Uudet tilat tarjoavat paremman suorituskyvyn ja pienemmän muistinkulutuksen. LSTM-moottorissa float32-pikatila on oletuksena käytössä.
- Unicode-normalisointiin on siirrytty NFC (Normalization Form Canonical) -lomakkeella.
- Lisätty mahdollisuus määrittää lokin yksityiskohdat (--lokitaso).
- Autotools-pohjainen rakennusjärjestelmä on suunniteltu uudelleen ja vaihdettu rakentamaan ei-rekursiiviseen tilaan.
- Gitin "master"-haara on nimetty uudelleen muotoon "main".
- Lisätty tuki M1-siruun perustuville macOS- ja Apple-järjestelmien uusille julkaisuille.
Lähde: opennet.ru