Tesseract: Bezplatné riešenie OCR
Úvod
Tessereact je považovaný za jedno z najlepších dostupných riešení OCR. Od roku 2006 je sponzorovaný spoločnosťou Google, predtým bol vyvinutý spoločnosťou Hewlett Packard v jazykoch C a C ++ v rokoch 1985 až 1998. Systém je schopný identifikovať aj rukopis, dokáže sa naučiť zvyšovať svoju presnosť a patrí medzi najrozvinutejšie a najkompletnejšie na trhu.
Ľahko prekonáva komerčných konkurentov, ako je ABBY. Ak hľadáte seriózne riešenie pre OCR, Tesseract je tým najpresnejším, ale neočakávajte masívne riešenia: používa jadro na proces, čo znamená 8jadrový procesor (hyperthreading) budú môcť súčasne spracovať 8 alebo 16 obrázkov.
Keď som použil Tesseract, spravovali sme tisíce potenciálnych zákazníkov, ktorí nahrávali ručne písaný obsah, obrázky s textom atď. Použili sme 48 základných serverov, s databázou DatabaseByDesign a potom s AWS, nikdy sme nemali problém so zdrojmi.
Mali sme uploader, ktorý rozlišoval medzi textovými súbormi, ako sú súbory Microsoft Office alebo Open Office, a obrázkami alebo naskenovanými dokumentmi. Používateľ, ktorý odovzdal video, určil, čo všetko skripty OCR alebo PHP spracujú, v oblasti rozpoznávania textu.
Tesseact je skvelé riešenie, ale skôr ako sa nad ním zamyslíte, musíte vedieť, posledné verzie Tesseractu priniesli veľké vylepšenia, niektoré znamenajú tvrdú prácu. Hoci školenie môže trvať hodiny alebo dni, posledné školenia týkajúce sa verzií Tesserctu môžu trvať niekoľko dní, týždňov alebo dokonca mesiacov, ak hľadáte viacjazyčné riešenie OCR.
Inštalácia Tesseract 4 na Debian / Ubuntu:
apt-get nainštalovať tesseract-ocrAk používate inú distribúciu Linuxu, budete musieť skopírovať poslednú verziu úložiska github a skopírovať .súbor trénovaných dát do 'tessdata' (/ usr / share / tesseract-ocr / tessdata alebo / usr / share / tessdata).
Tesseract predvolene nainštaluje anglický jazykový balík, aby nainštaloval ďalšie spustené jazyky
apt-get nainštalovať tesseract-ocr-LANGnapríklad pridať hebrejčinu:
apt-get nainštalovať tesseract-ocr-hebSpustením môžete zahrnúť všetky jazyky:
apt-get nainštalovať tesseract-ocr-all
Aby Tesseract fungoval správne, budeme musieť použiť príkaz „konvertovať“ (prevádzať medzi formátmi obrázkov, ako aj meniť veľkosť obrázka, rozostrenie, orezanie, odstránenie škvŕn, rozloženie, kreslenie, preklopenie, pripojenie, opätovné vzorkovanie a oveľa viac) poskytuje Imagemagick:
Umožňuje nainštalovať imagemagick pomocou apt-get:
apt-get nainštalovať imagemagickTeraz otestujme Tesseract, nájdime obrázok obsahujúci text a spustime:
tesseract [image_name] [output file_name]Ak je Tesseract správne nainštalovaný, extrahuje text z obrázka.
Keď som pracoval s Tesseractom, stačilo nám iba napísať dokumenty. Rovnako ako v prípade každého iného programu, ktorý môžete a musíte trénovať, aj v programe Word môžeme definovať niektoré symboly, ktoré sa môžu počítať alebo nie, či sa majú alebo nemajú počítať čísla atď. to isté s Tesseractom.
Môžeme tiež trénovať jeho citlivosť na konkrétne obrázky.
Optimalizácia Tesseract:
Optimalizácia veľkosti: Podľa oficiálnych zdrojov je optimálna veľkosť pixelov pre obrázok, ktorý má byť úspešne spracovaný spoločnosťou Tesseract, 300DPI. Na vynútenie tohto DPI budeme musieť spracovať akýkoľvek obrázok pomocou parametra -r. Zvýšenie DPI tiež zvýši čas spracovania.
Striedanie stránok: Ak pri skenovaní stránka nebola správne otočená a zostala 180 ° alebo 45 °, presnosť Tesseractu sa zníži, môžete pomocou tohto skriptu Python automaticky zistiť a opraviť problémy s rotáciou.
Odstránenie hranice: Podľa Tesseractovho oficiálneho človeka môžu byť hranice chybne vybrané ako znaky, najmä tmavé hranice a tam, kde je gradačná rozmanitosť. Odstránenie hraníc môže byť dobrým krokom k dosiahnutiu maximálnej presnosti pomocou Tesseractu.
Odstránenie šumu: Podľa Tesseracts je šum „náhodná zmena jasu alebo farby obrázka“. Môžeme ju odstrániť v binarizácia krok, čo znamená polarizáciu jej farieb.
Tesseract z tréningu:
Zatiaľ čo väčšina tutoriálov pokrýva iba inštaláciu Tesseractu, zhrniem, ako trénovať váš OCR systém, tu nájdeme tutoriál pre všetky verzie. V tomto článku zhrniem, ako trénovať Tesseract 4, ktorý obsahuje nový „Engine rozpoznávania založený na neurónovej sieti, ktorý poskytuje výrazne vyššiu presnosť (na obrázkoch dokumentov) ako predchádzajúce verzie, na oplátku za výrazné zvýšenie požadovaného výpočtového výkonu. V zložitých jazykoch však môže byť skutočne rýchlejší ako základný Tesseract.“
Pred pokračovaním budeme musieť nainštalovať ďalšie knižnice:
sudo apt-get nainštalovať libicu-devsudo apt-get nainštalovať libpango1.0-dev
sudo apt-get nainštalovať libcairo2-dev
A tréningové nástroje nainštalujeme spustením v adresári Tesseract:
urobiťurobiť školenie
sudo make training-install
Podľa oficiálnej wiki Tesseractu máme 3 súčasné možnosti, ako trénovať náš OCR systém:
- "Jemne doladiť.". Počnúc existujúcim vyučovaným jazykom si trénujte svoje konkrétne ďalšie údaje. To môže fungovať pri problémoch, ktoré sú blízke existujúcim údajom o tréningu, ale líšia sa jemným spôsobom, ako napríklad obzvlášť neobvyklé písmo. Môže pracovať aj s malým množstvom tréningových údajov.
- Odrežte hornú vrstvu (alebo ľubovoľný počet vrstiev) zo siete a pomocou nových údajov precvičte novú hornú vrstvu. Ak jemné doladenie nefunguje, je to pravdepodobne ďalšia najlepšia voľba. Ak začnete s najpodobnejšie vyzerajúcim skriptom, odrezanie hornej vrstvy by mohlo fungovať aj pri školení úplne nového jazyka alebo skriptu.
- Preškolenie od nuly. Toto je náročná úloha, pokiaľ nemáte k dispozícii veľmi reprezentatívny a dostatočne veľký výcvik na prekonanie problému. Ak nie, je pravdepodobné, že skončíte s preplnenou sieťou, ktorá je naozaj dobrá v údajoch o tréningu, ale nie v skutočných údajoch.
Aj keď vyššie uvedené možnosti môžu znieť odlišne, výcvikové kroky sú v skutočnosti takmer rovnaké, okrem príkazového riadku, takže je pomerne ľahké vyskúšať všetky spôsoby, vzhľadom na čas alebo hardvér na ich paralelné spustenie.“
V tomto tutoriáli spustíme iba testovací systém.skript, ktorý bude volať potrebné programy na školenie konkrétneho jazyka.
Najskôr umožníme naklonovať všetky súbory v našom adresári / usr / share / tesseract-ocr:
git klon https: // github.com / tesseract-ocr / tesseract
Prejdite do adresára / usr / share / tesseract-ocr / tesseract / training (predvolený inštalačný adresár spoločnosti Tesseract) a spustite:
$ ./ tesstrain.sh --lang heb --langdata_dir / usr / share / tesseract-ocr / langdata --tessdata_dir / usr / share / tesseract-ocr / tessdata
Zmeňte „heb“ pre jazyk, ktorý chcete trénovať, a tiež upravte cestu k svojim údajom.
V adresári / usr / share / tesseract-ocr / tesseract / školenie súbor nájdete podľa konkrétneho jazyka.je užitočné pridať pravidlá pre konkrétne jazyky.
Riešenie problémov
Tesseract je pre mňa najlepším riešením OCR, ale nedávno vykonal obrovské zmeny oproti minulým verziám a mnoho používateľov sa sťažuje na zmeny alebo veci, ktoré už nefungujú, nebál by som sa, pretože tieto zmeny zjavne prinášajú vynikajúce výsledky. Komunita Tesseractu je veľmi aktívna, v prípade, že narazíte na problémy so spustením tesseractu, staňte sa tu súčasťou komunity Tesseractu.