Tekstintunnistusjärjestelmän Tesseract julkaisu 5.0

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

Lisää kommentti