Tesseract: besplatna OCR otopina
Uvod
Tessereact se smatra jednim od najboljih dostupnih OCR rješenja. Od 2006. sponzorira ga Google, a prethodno ga je razvio Hewlett Packard na C i C ++ između 1985. i 1998. Sustav je sposoban prepoznati čak i rukopis, može naučiti povećavajući svoju preciznost i jedan je od najrazvijenijih i najkompletnijih na tržištu.
Lako pobjeđuje komercijalne konkurente poput ABBY-a, ako tražite ozbiljno rješenje za OCR, Tesseract je najtočnije, ali ne očekujte masovna rješenja: koristi jezgru po procesu, što znači 8-jezgreni procesor (hipernitanje) prihvaćen) moći će istovremeno obrađivati 8 ili 16 slika.
Kad sam koristio Tesseract, upravljali smo tisućama potencijalnih kupaca koji su prenijeli rukom napisani sadržaj, slike s tekstom itd. Koristili smo 48 osnovnih poslužitelja, s DatabaseByDesign, a zatim s AWS-om, nikada nismo imali problema s resursima.
Imali smo prijenosnik koji je razlikovao tekstualne datoteke poput datoteka Microsoft Officea ili Open Officea i slika ili skeniranih dokumenata. Prenositelj je odredio kakav će OCR ili PHP skripti obraditi narudžbu u polju prepoznavanja teksta.
Tesseact je izvrsno rješenje, ali prije nego što razmislite o njemu morate znati, posljednje Tesseractove verzije donijele su velika poboljšanja, neke od njih znače naporan rad. Iako bi trening mogao trajati satima ili danima, najnoviji Tesserct-ove verzije treninga mogu biti dana, tjedana ili čak mjeseci ako tražite višejezično rješenje OCR-a.
Instaliranje Tesseract 4 na Debian / Ubuntu:
apt-get instalirati tesseract-ocrAko koristite drugu Linux distribuciju, morat ćete kopirati zadnju verziju spremišta github i kopirati .datoteka obučenih podataka u 'tessdata' (/ usr / share / tesseract-ocr / tessdata ili / usr / share / tessdata).
Prema zadanim postavkama Tesseract će instalirati paket engleskog jezika za instaliranje dodatnih jezika
apt-get instalirati tesseract-ocr-LANGna primjer, za dodavanje hebrejskog:
apt-get instalirati tesseract-ocr-hebPokretanjem možete uključiti sve jezike:
apt-get instalirati tesseract-ocr-all
Da bi Tesseract mogao ispravno raditi, morat ćemo upotrijebiti naredbu "pretvori" (pretvoriti između formata slike, kao i promijeniti veličinu slike, zamutiti, obrezati, ukloniti kapljice, ublažiti, povući, preokrenuti, spojiti, ponovno uzorkovati i puno više) pruža Imagemagick:
Omogućimo instaliranje imagemagick s apt-get:
apt-get instalirati imagemagickAjmo sada testirati Tesseract, pronaći sliku koja sadrži tekst i pokrenuti:
tesseract [ime_datoteke] [ime izlazne datoteke]Ako je pravilno instaliran, Tesseract će izvući tekst sa slike.
Kad sam radio s Tesseractom, bilo nam je potrebno samo prebrojati dokumente. Kao i kod bilo kojeg drugog programa koji ga možete i morate trenirati, i u Wordu možemo definirati neke simbole koji se mogu brojati ili ne, brojati ili ne brojeve itd. isto je i s Tesseractom.
Također možemo uvježbati osjetljivost prema određenim slikama.
Tesseract optimizacija:
Optimizacija veličine: Prema službenim izvorima, optimalna veličina piksela za sliku koju će Tesseract uspješno obraditi je 300 DPI. Morat ćemo obraditi bilo koju sliku pomoću parametra -r da bismo primijenili ovaj DPI. Povećanje DPI-ja također će povećati vrijeme obrade.
Rotacija stranice: Ako se prilikom skeniranja stranica nije pravilno zarotirala i ostane 180 ° ili 45 °, Tesseractova točnost smanjit će se, možete koristiti ovu Python skriptu za automatsko otkrivanje i rješavanje problema rotacije.
Uklanjanje granica: Prema Tesseractovom službenom čovjeku, granice se mogu pogrešno odabrati kao znakovi, posebno tamne granice i tamo gdje postoji gradacija. Uklanjanje granica može biti dobar korak za postizanje maksimalne točnosti s Tesseractom.
Uklanjanje buke: Prema Tesseractsu, šum "je slučajna varijacija svjetline ili boje na slici". Možemo ga ukloniti u binarnizacija korak, što znači polariziranje boja.
Trening Tesseract:
Iako većina vodiča pokriva samo Tesseractovu instalaciju, sažeti ću kako trenirati vaš OCR sustav, ovdje možemo pronaći vodič za sve verzije. U ovom ću članku sažeti kako trenirati Tesseract 4 koji uključuje novi „Mehanizam za prepoznavanje zasnovan na neuronskoj mreži koji pruža znatno veću točnost (na slikama dokumenata) od prethodnih verzija, zauzvrat za značajno povećanje potrebne računske snage. Međutim, na složenim jezicima može biti brži od osnovnog Tesseract-a."
Prije nastavka morat ćemo instalirati dodatne knjižnice:
sudo apt-get instalirati libicu-devsudo apt-get instalirati libpango1.0-raz
sudo apt-get instalirati libcairo2-dev
Alate za obuku instalirat ćemo pokretanjem, u direktoriju Tesseract:
napravitinapraviti trening
sudo napraviti trening-instalirati
Prema službenom wikiju tvrtke Tesseract, imamo 3 trenutne mogućnosti za osposobljavanje našeg OCR sustava:
- “Fina melodija. Počevši od postojećeg obučenog jezika, trenirajte na vašim specifičnim dodatnim podacima. Ovo može raditi kod problema koji su bliski postojećim podacima o vježbanju, ali se razlikuju na neki suptilan način, poput posebno neobičnog fonta. Može raditi s čak i malom količinom podataka o treningu.
- Odrežite gornji sloj (ili neki proizvoljan broj slojeva) s mreže i ponovno obučite novi gornji sloj pomoću novih podataka. Ako fino podešavanje ne uspije, ovo je najvjerojatnije sljedeća najbolja opcija. Odsijecanje gornjeg sloja i dalje bi moglo poslužiti za osposobljavanje potpuno novog jezika ili skripte, ako započnete sa skriptom najsličnijeg izgleda.
- Vježbajte se od nule. Ovo je zastrašujući zadatak, osim ako imate vrlo reprezentativan i dovoljno velik trening za svoj problem. Ako ne, vjerojatno ćete završiti s prekomjerno opremljenom mrežom koja stvarno dobro radi na podacima o treningu, ali ne i na stvarnim podacima.
Iako gornje opcije mogu zvučati drugačije, koraci treninga su zapravo gotovo identični, osim naredbenog retka, pa je relativno lako isprobati sve načine, s obzirom na vrijeme ili hardver da ih paralelno pokrenete."
U ovom uputstvu pokrenut ćemo samo tesstrain.sh skripta koja će pozivati potrebne programe za osposobljavanje određenog jezika.
Prije svega, klonirajmo sve datoteke u našem / usr / share / tesseract-ocr:
git klon https: // github.com / tesseract-ocr / tesseract
Idite na / usr / share / tesseract-ocr / tesseract / training (zadani instalacijski direktorij za Tesseract) i pokrenite:
$ ./ tesstrain.sh --lang heb --langdata_dir / usr / share / tesseract-ocr / langdata --tessdata_dir / usr / share / tesseract-ocr / tessdata
Promijenite "heb" za jezik koji želite trenirati, a također uredite put do svojih podataka.
Unutar direktorija / usr / share / tesseract-ocr / tesseract / training pronaći ćete datoteku specifičnu za jezik.Korisno je dodati pravila za određene jezike.
Rješavanje problema
Tesseract je za mene najbolje rješenje za OCR, ali nedavno je napravio velike promjene u odnosu na prošle verzije i mnogi se korisnici žale na promjene ili stvari koje više ne rade, ne bih se brinuo jer se čini da promjene daju izvrsne rezultate. Tesseractova zajednica je vrlo aktivna, u slučaju da nađete problema s pokretanjem tesseract-a, postanite dio Tesseract-ove zajednice ovdje.