αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αž’αžαŸ’αžαž”αž‘ Tesseract 5.0

αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αž’αžαŸ’αžαž”αž‘αž’αž»αž”αž‘αž·αž€ Tesseract 4.1 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž– αžŠαŸ„αž™αž‚αžΆαŸ†αž‘αŸ’αžšαžŠαž›αŸ‹αž€αžΆαžšαž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αž’αž€αŸ’αžŸαžš UTF-8 αž“αž·αž„αž’αžαŸ’αžαž”αž‘αž‡αžΆαž‡αžΆαž„ 100 αž—αžΆαžŸαžΆ αžšαž½αž˜αž‘αžΆαŸ†αž„αž—αžΆαžŸαžΆαžšαž»αžŸαŸ’αžŸαžΈ αž€αžΆαž αŸ’αžŸαžΆαž€αŸ‹αžŸαŸ’αžαžΆαž“ αž”αŸαž‘αžΆαžšαž»αžŸαŸ’αžŸ αž“αž·αž„αž’αŸŠαž»αž™αž€αŸ’αžšαŸ‚αž“αŸ” αž›αž‘αŸ’αž’αž•αž›αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž‡αžΆαž’αžαŸ’αžαž”αž‘αž’αž˜αŸ’αž˜αžαžΆ αž¬αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹ HTML (hOCR), ALTO (XML), PDF αž“αž·αž„ TSV αŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ†αž”αžΌαž„αž€αŸ’αž“αž»αž„αž†αŸ’αž“αžΆαŸ† 1985-1995 αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸ Hewlett Packard αž αžΎαž™αž“αŸ…αž†αŸ’αž“αžΆαŸ† 2005 αž›αŸαžαž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αž€αŸ’αžšαŸ„αž˜αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ Apache αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž—αž·αžœαžŒαŸ’αžαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαžŠαŸ„αž™αž˜αžΆαž“αž€αžΆαžšαž…αžΌαž›αžšαž½αž˜αž–αžΈαž”αž»αž‚αŸ’αž‚αž›αž·αž€ Google αŸ” αž€αžΌαžŠαž”αŸ’αžšαž—αž–αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž€αŸ’αžšαŸ„αž˜αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ Apache 2.0 αŸ”

Tesseract αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αž»αž„αžŸαžΌαž› αž“αž·αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ libtesseract αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αž”αŸ‹αž˜αž»αžαž„αžΆαžš OCR αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹ GUI αž—αžΆαž‚αžΈαž‘αžΈαž”αžΈαžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžš Tesseract αžšαž½αž˜αž˜αžΆαž“ 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

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹