Pagpagawas sa Tesseract 5.0 nga sistema sa pag-ila sa teksto

Ang pagpagawas sa Tesseract 4.1 optical text recognition system gimantala, nga nagsuporta sa pag-ila sa UTF-8 nga mga karakter ug mga teksto sa labaw sa 100 ka mga pinulongan, lakip ang Russian, Kazakh, Belarusian ug Ukrainian. Ang resulta mahimong ma-save sa tin-aw nga teksto ug sa HTML (hOCR), ALTO (XML), PDF ug TSV nga mga format. Sa sinugdan, ang sistema gimugna sa 1985-1995 sa laboratoryo sa Hewlett Packard, sa 2005 ang code giablihan ubos sa Apache nga lisensya ug dugang nga naugmad uban sa partisipasyon sa mga empleyado sa Google. Ang gigikanan nga mga teksto sa proyekto giapod-apod sa ilawom sa lisensya sa Apache 2.0.

Ang Tesseract naglakip sa usa ka console utility ug ang libtesseract library alang sa pag-embed sa OCR functionality sa ubang mga aplikasyon. Ang Tesseract-supporting third-party GUIs naglakip sa gImageReader, VietOCR, ug YAGF. Duha ka makina sa pag-ila ang gisugyot: usa ka klasiko nga nag-ila sa teksto sa lebel sa indibidwal nga mga sumbanan sa karakter, ug usa ka bag-o nga gibase sa paggamit sa usa ka sistema sa pagkat-on sa makina nga gibase sa usa ka balik-balik nga neural network LSTM, na-optimize alang sa pag-ila sa tibuuk nga mga linya ug gitugotan ang usa ka mahinungdanon nga pagtaas sa katukma. Ang andam nga nabansay nga mga modelo gipatik alang sa 123 ka mga pinulongan. Aron ma-optimize ang pasundayag, gitanyag ang mga module nga naggamit sa OpenMP ug SIMD nga mga panudlo AVX2, AVX, NEON o SSE4.1.

Panguna nga mga pag-uswag sa Tesseract 5.0:

  • Ang hinungdanon nga pagbag-o sa numero sa bersyon tungod sa mga pagbag-o sa API nga nagbungkag sa pagkaangay. Sa partikular, ang publicly available nga libtesseract API wala na nahigot sa proprietary data type nga GenericVector ug STRING, imbes nga std::string ug std::vector ang gigamit sa code.
  • Ang punoan nga gigikanan gi-organisar pag-usab. Ang mga file sa public header gibalhin ngadto sa include/tesseract directory.
  • Ang pagdumala sa memorya gidesinyo pag-usab, ang tanan nga mga tawag sa malloc ug libre gipulihan sa C++ code. Usa ka kinatibuk-ang pag-upgrade sa code ang gihimo.
  • Gidugang nga mga pag-optimize alang sa mga arkitektura sa ARM ug ARM64, ang mga panudlo sa ARM NEON gigamit aron mapadali ang mga kalkulasyon. Naghimo sa kinatibuk-ang pag-optimize sa pasundayag alang sa tanan nga mga arkitektura.
  • Gipatuman ang bag-ong mga paagi sa pagbansay sa modelo ug pag-ila sa teksto, base sa paggamit sa mga kalkulasyon sa floating point. Ang bag-ong mga mode gihulagway sa mas taas nga performance ug pagkunhod sa konsumo sa memorya. Sa LSTM engine, ang float32 fast mode gi-enable pinaagi sa default.
  • Ang transisyon sa paggamit sa Unicode normalization gamit ang NFC nga porma (Normalization Form Canonical) nahimo na.
  • Nagdugang usa ka kapilian aron ma-configure ang detalye sa log (-loglevel).
  • Ang sistema sa asembliya nga gibase sa Autotools gidesinyo pag-usab, nga gibalhin ngadto sa asembliya sa non-recursive mode.
  • Ang 'master' nga sanga sa Git giilisan og ngalan sa 'main'.
  • Gidugang nga suporta alang sa mga bag-ong pagpagawas sa macOS ug Apple system nga gibase sa M1 chip.

    Source: opennet.ru

Idugang sa usa ka comment