Napomena: Sljedeći članak će vam pomoći: Vodič za otkrivanje i prepoznavanje teksta pomoću MMOCR-a
Optičko prepoznavanje znakova (OCR) vrsta je pretvorbe slike koja u osnovi izvlači tekst iz date slike, fotografije dokumenta itd. Različite aplikacije i tehnologije, kao što je Adobe Acrobat i alat temeljen na ML-u, kao što je Tesseract OCR, su razvijen da pomogne u ovom procesu. U ovom ćemo članku proći kroz zadatke koji se izvode OCR metodom. Nakon toga ćemo pogledati MMOCR, aplikaciju temeljenu na Pythonu koja centralizira sve operacije povezane s OCR-om. U nastavku su navedene glavne točke o kojima će se raspravljati u ovom članku.
Sadržaj
- Otkrivanje teksta Prepoznavanje teksta Kako MMOCR kombinira sve gore navedeno
Prvo razgovarajmo o otkrivanju teksta.
Otkrivanje teksta
Detekcija teksta je tehnika otkrivanja teksta na slici i njegovog zatvaranja pravokutnim okvirom. Tekst se može otkriti pomoću algoritama temeljenih na slici ili frekvenciji.
Pristupi temeljeni na slikama koriste se za segmentiranje slika u nekoliko segmenata. Svaki segment sastoji se od piksela koji imaju usporedivu kvalitetu i koji su povezani. Statističke značajke povezanih komponenti koriste se za kategorizaciju i oblikovanje teksta. Tehnike strojnog učenja kao što su vektorski strojevi za podršku i konvolucijske neuronske mreže koriste se za klasificiranje komponenti kao tekstualnih ili netekstualnih. Ispod jednog je primjer otkrivanja teksta.
Visokofrekventni koeficijenti izdvajaju se korištenjem diskretne Fourierove transformacije (DFT) ili diskretne valne transformacije (DWT) u pristupima koji se temelje na frekvenciji. Vjeruje se da tekst na slici ima visokofrekventne komponente, a odabir samo visokofrekventnih koeficijenata odvaja tekst od netekstualnih područja.
Za određenu sliku postoje tekstualna i netekstualna područja koja imaju različite tekstualne kvalitete, pristupi koji se temelje na regijama dijele slike u male dijelove pomoću windows i pretražite te regije radi prisutnosti teksta koristeći teksturu ili morfološke operacije. Neke tehnike kategoriziraju tekst i ne-tekst pomoću prozora od 64 x 32 piksela i Modest AdaBoost klasifikatora na 16 različitih prostornih razmjera slike, uzimajući u obzir značajne promjene u veličini teksta.
Prepoznavanje teksta
Faza prepoznavanja teksta pretvara tekstualne slike u niz znakova ili rečenica. Riječi su elementarni entitet koji ljudi koriste za vizualno prepoznavanje, stoga je pretvaranje slika teksta u riječi kritično.
Prepoznavanje znakova i prepoznavanje riječi dvije su različite tehnike prepoznavanja. Algoritmi za prepoznavanje znakova odvajaju tekstualnu sliku u nekoliko isječaka s jednim znakom. Za ove strategije ključno je razdvajanje znakova između susjednih znakova.
Prepoznavanje znakova pomoću modula za optičko prepoznavanje znakova (OCR) koristi se u procesu prepoznavanja, gdje se slike prvo segmentiraju u k klasa, nakon čega slijedi generiranje hipoteze o binarnoj tekstualnoj slici, koja prolazi kroz analizu povezanih komponenti i modul ograničenja konzistencije sivih tonova prije nego što se unese na OCR.
Klasifikator koji se temelji na Support Vector Machine (SVM) koristi se za prepoznavanje znakova budući da SVM dobro podržava višeklasnu klasifikaciju.
Prepoznavanje riječi prepoznaje riječi iz tekstualnih slika kombinirajući rezultate prepoznavanja znakova s jezičnim modelima ili leksikonima. U slučaju degradiranih likova, može se koristiti. Prepoznavanje riječi je vrhunski pristup prepoznavanju znakova za situacije s ograničenim brojem mogućnosti riječi u ulaznim fotografijama.
Kako MMOCR kombinira sve gore navedeno
MMOCR je kratica za MultiMedia Optical Character Recognition, što je alatni okvir temeljen na pythonu koji kombinira sve modalitete kao što smo gore spomenuli potrebne za potpuno end-to-end rješenje u području OCR-a.
MMOCR posebno nudi cjevovod za otkrivanje i prepoznavanje teksta, kao i nizvodne zadatke poput prepoznavanja imenovanih entiteta i ekstrakcije kritičnih informacija. MMOCR ima 14 vrhunskih algoritama, što je mnogo više od bilo kojeg drugog open-source OCR projekta, kao što je Tesseract OCR.
Kutija s alatima sada uključuje sedam metoda detekcije teksta, pet metoda prepoznavanja teksta, jednu metodu ključnih informacija i jednu metodu prepoznavanja imenovanog entiteta.
Pogledajmo sada kako možemo praktično koristiti ovaj alat. Pokretanjem skripte u nastavku možemo instalirati sve ovisnosti koje su potrebne za pokretanje ovog alata, ako naiđete na bilo kakve probleme, pogledajte ovaj službeni vodič za instalaciju.
# instaliranje pytorch unaprijed izgrađenog! pip instalirati torch==1.6.0 vizija baklje==0.7.0
# instalirajte mmcv (biblioteku baziranu na računalnom vidu) ! pip instaliraj mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html # sada ispod instalirajte mmdet, mmocr ! pip instaliraj mmdet ! git klon https://github.com/open-mmlab/mmocr.git %cd mmocr ! pip install -r requirements.txt ! pip instalirati -v -e . !export PYTHONPATH=$(pwd):$PYTHONPATH
Prvo ćemo izvesti detekciju teksta za tu klasu MMOCR uvoza iz instaliranog repozitorija kao što je dolje, a unutar ove klase mogu se inicijalizirati različite metode kao što su detekcija, prepoznavanje i razumijevanje.
iz mmocr.utils.ocr uvoz MMOCR ocr = MMOCR(det=”TextSnake”, recog=None) rezultati = ocr.readtext(‘/content/street-sign-board-500×500.jpg’, output=”/content/street .jpg”, izvoz=”/sadržaj/”)
U gornjoj metodi, definirali smo put za izlaznu sliku do zadanog direktorija za kolab s nazivom izlazne datoteke i to rezultira otkrivanjem informativnih graničnih okvira kao što možemo vidjeti u nastavku.
Slično, kada kombiniramo otkrivanje i prepoznavanje, moramo inicijalizirati i det i recog unutar klase MMOCR kao što je prikazano u nastavku.
# otkrivanje+prepoznavanje ocr = MMOCR(det=”PS_CTW”, recog=’SAR’) # Rezultati zaključivanja = ocr.readtext(‘/content/ealistic-shop-receipt-paper-payment-bill.jpg’,export=” /content/”,output=”/content/bill.jpg”, print_result=True)
Unutar ocr.readtext postavili smo print_reult na True što nam daje Jason format rezultata, a za ovaj zadatak koristili smo potvrdu računa,
rezultat Jasona,

JPG rezultat,

Završne riječi
U ovom smo članku raspravljali o otkrivanju i prepoznavanju teksta za određenu sliku i ukratko o tome koje se metode koriste za rješavanje tih zadataka. Kako bismo olakšali end-to-end platformu, imamo alatni okvir temeljen na dubokom učenju pod nazivom MMOCR pomoću kojeg možemo imati sve zadatke povezane s OCR-om unutar jednog okvira.