Апублікаваны рэліз сістэмы аптычнага распазнання тэксту Tesseract 4.1, якая падтрымлівае распазнаванне сімвалаў UTF-8 і тэкстаў на больш чым 100 мовах, уключаючы рускую, казахскую, беларускую і ўкраінскую. Вынік можа захоўвацца як адчыненым тэкстам, так і ў фарматах HTML (hOCR), ALTO (XML), PDF і TSV. Першапачаткова сістэма была створана ў 1985-1995 гадах у лабараторыі кампаніі Hewlett Packard, у 2005 годзе код быў адчынены пад ліцэнзіяй Apache і ў далейшым развіваўся пры ўдзеле працаўнікоў кампаніі Google. Зыходныя тэксты праекту распаўсюджваюцца пад ліцэнзіяй Apache 2.0.
Tesseract уключае ў сябе кансольную ўтыліту і бібліятэку libtesseract для ўбудавання функцый распазнання тэксту ў іншыя прыкладанні. З якія падтрымліваюць Tesseract іншых GUI-інтэрфейсаў можна адзначыць gImageReader, VietOCR і YAGF. Прапануецца два рухавічкі распазнання: класічны, які распазнае тэкст на ўзроўні шаблонаў асобных знакаў, і новы, які базуецца на ўжыванні сістэмы машыннага навучання на базе рэкурэнтнай нейронавай сеткі LSTM, аптымізаванай для распазнання цалкам радкоў і якая дазваляе дамагчыся істотнага павелічэння дакладнасці. Гатовыя натрэніраваныя мадэлі апублікаваны для 123 моў. Для аптымізацыі прадукцыйнасці прапануюцца модулі, якія выкарыстоўваюць OpenMP і SIMD-інструкцый AVX2, AVX, NEON ці SSE4.1.
Асноўныя паляпшэнні ў Tesseract 5.0:
- Значная змена нумара версіі звязана з унясеннем у API змен, парушаючых сумяшчальнасць. У прыватнасці, публічна даступны API libtesseract больш не прывязаны да прапрыетарных тыпаў дадзеных GenericVector і STRING, замест якіх у кодзе задзейнічаны std::string і std::vector.
- Праведзена рэарганізацыя дрэва зыходных тэкстаў. Публічныя загалоўкавыя файлы перамешчаныя ў каталог include/tesseract.
- Перапрацавана кіраванне памяццю, усе выклікі malloc і free заменены на код C++. Праведзена агульная мадэрнізацыя кода.
- Дададзены аптымізацыі для архітэктур ARM і ARM64, для паскарэння вылічэнняў задзейнічаны інструкцыі ARM NEON. Праведзена агульная для ўсіх архітэктур аптымізацыя прадукцыйнасці.
- Рэалізаваны новыя рэжымы трэніроўкі мадэляў і распазнання тэксту, заснаваныя на выкарыстанні вылічэнняў з якая плавае коскі. Новыя рэжымы адрозніваюцца больш высокай прадукцыйнасцю і зніжэннем спажывання памяці. У рухавічку LSTM хуткі рэжым float32 уключаны па змаўчанні.
- Ажыццёўлены пераход на выкарыстанне нармалізацыі Unicode з выкарыстаннем формы NFC (Normalization Form Canonical).
- Дададзена опцыя для налады дэталізацыі логаў (-loglevel).
- Перапрацавана сістэма зборкі на аснове Autotools, якая пераведзена на зборку ў нерэкурсіўным рэжыме.
- Галінка "master" у Git пераназваная ў "main".
- Дададзена падтрымка новых выпускаў macOS і сістэм Apple на базе чыпа M1.
Крыніца: opennet.ru