ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΎΠΏΡΠΈΡΠ½ΠΎ ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡ 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