Algoritmi Avansați OCR/OCV: Rezistență la Diverse Tipuri de Fonturi și Recunoașterea Scrisului de Mână
Algoritmii avansați OCR (Recunoaștere Optică a Caracterelor) și OCV (Verificare Optică a Caracterelor)trebuie să fie rezistenți la diverse tipuri de fonturi. O sarcină și mai dificilă este recunoașterea scrisului de mână, care, spre deosebire de textul tipărit de mașină, nu este standardizat.
OCR este o denumire generală pentru metodele de conversie a imaginilor rasterizate de text tipărit de mașină, scris de mână sau imprimat, în informație electronică. Este o ramură a analizei optice a imaginilor aflată în plină dezvoltare. În prezent, apar din ce în ce mai multe biblioteci noi, precum și software-uri gata făcute, caracterizate de o funcționalitate vastă. Software-ul OCR nu are probleme în recunoașterea scanurilor de texte tipărite sau a fotografiilor realizate cu o cameră. Algoritmii nu au, de asemenea, probleme în recunoașterea caracterelor care apar doar în anumite limbi. În prezent, cea mai mare provocare, care de asemenea este depășită cu succes, este recunoașterea scrisului de mână. Spre deosebire de textul tipărit de mașină, unde anumite fonturi sunt standardizate corespunzător, scrisul de mână al fiecărei persoane diferă, motiv pentru care algoritmii trebuie să fie pregătiți pentru multe variabile.
Tehnologiile OCR și OCV diferă printr-un singur cuvânt. Cea din urmă înseamnă „verificare optică a caracterelor”. Așa cum software-ul OCR servește la citirea unui șir de text și chiar a imaginilor distorsionate sau deteriorate, OCV va verifica corectitudinea informațiilor, precum și calitatea și lizibilitatea textului. Această metodă este cel mai frecvent utilizată pentru a confirma dacă codurile, datele și seriile imprimate sunt suficient de clare și vor fi lizibile pentru utilizator.
Deja recunoașterea documentelor scanate sau a fișierelor PDF nu este o sarcină ușoară, iar sistemele OCR sunt foarte des folosite pentru recunoașterea imaginilor colectate de o cameră. Această situație impune algoritmilor numeroase îmbunătățiri, făcându-i imuni la defectele apărute în timpul achiziției. Imaginile de la camere sunt adesea caracterizate de iluminare neuniformă (ex: colțuri mai întunecate), sunt afectate de distorsiuni sau sunt zgomotoase din cauza iluminării necorespunzătoare. Prin urmare, software-ul, pe lângă recunoașterea propriu-zisă a caracterelor, trebuie să elimine în prealabil efectele rezultate din această achiziție.
Sisteme OCR Industriale
Sistemele industriale de recunoaștere a caracterelor sunt utilizate în principal pentru interpretarea și localizarea diverselor numere de serie pe ambalaje, verificarea lizibilității imprimării datelor, compararea șirurilor de caractere citite cu cele așteptate, precum și pentru calcularea statisticilor. Sistemele de viziune OCR, după efectuarea unor modificări minore, pot fi utilizate și pentru citirea, de exemplu, a plăcuțelor de înmatriculare ale vehiculelor. Deși există multe metode utilizate pentru recunoașterea caracterelor, nu toate pot fi folosite în industrie. Acest lucru se datorează faptului că acest domeniu necesită în mod excepțional fiabilitate și capacitatea de a distinge caracterele, precum și alte obiecte, ceea ce nu poate fi asigurat cu toate soluțiile disponibile.
Schemă a unui sistem de viziune care realizează recunoașterea optică a caracterelor.
Recunoașterea industrială a caracterelor poate fi împărțită în 5 etape principale:
- Achiziția imaginii: Aceasta este o etapă importantă în prelucrarea vizuală a textelor, deoarece calitatea imaginii în care va fi înregistrată depinde de cât de multă muncă vor trebui să depună algoritmii. Orice distorsiuni și defecte apărute în această etapă trebuie compensate ulterior de software. Dacă acest lucru nu se întâmplă, în cazuri extreme, textul poate fi citit cu erori sau operațiunea poate fi imposibilă. Achiziția imaginii se realizează cel mai adesea cu ajutorul unei camere monocrome, deoarece foarte rar informațiile valoroase sunt transmise de culoare, și doar unii algoritmi pot reproduce textul colorat. Este important, de asemenea, ca imaginea să aibă un număr adecvat de pixeli per caracter. Pe de altă parte, dacă imaginea va avea o rezoluție foarte mare, acest lucru poate afecta timpul de calcul, deoarece va necesita o scalare suplimentară.
- Pre-procesare: Diverse tipuri de operațiuni care vizează ascuțirea, filtrarea și normalizarea imaginii. În etapa de pre-procesare se poate gestiona o imagine subexpusă sau zgomotoasă. Aici se realizează și binarizarea imaginii. După finalizarea operațiunilor de mai sus, se așteaptă un text clar pe un fundal uniform, alb.
- Segmentarea caracterelor: Algoritmii recunosc fiecare caracter individual, astfel încât, pentru a fi posibil acest lucru, imaginea de intrare trebuie împărțită în segmente, conținând câte un singur element. Mai întâi se realizează împărțirea în text, tabele, grafice etc., apoi textul este împărțit în paragrafe și șiruri de caractere, și în cele din urmă în caractere individuale. Este important ca fiecărui fragment de imagine să i se atribuie informații despre locația sa în întreaga structură. Acest lucru va permite ulterior asamblarea textului într-un întreg.
- Recunoașterea caracterelor: Cea mai importantă etapă a întregului proces. În funcție de producătorul software-ului, algoritmii utilizați pot diferi. Se clasifică două metode principale:
- Recunoașterea modelelor: Algoritmul compară fiecare caracter individual cu modelele aflate în memorie și ia o decizie pe baza similitudinii.
- Recunoașterea trăsăturilor: Se caută structuri caracteristice în cadrul caracterelor și, de asemenea, în funcție de algoritm, caracterele pot fi descompuse în elemente individuale și recunoașterea se realizează pe baza analizei acestora.
- Post-procesare: Asamblarea caracterelor individuale în întregul text. Aici, algoritmii verifică, de asemenea, dacă lucrarea a fost efectuată corect. Caracteristicile pe baza cărora se determină corectitudinea pot fi, de exemplu, ortografia, caracterele care se află la început și la sfârșit, sau dacă toate caracterele au fost recunoscute. Dacă apar nereguli, algoritmul raportează o eroare. Cea mai nedorită situație este tratarea datelor greșite ca fiind corecte.
Rețele Neuronale în Slujba OCR
Algoritmii care utilizează rețele neuronale au pătruns cu succes în lumea tehnologiei. Principalul lor avantaj este învățarea dinamică, fără a necesita intervenție programatică, ceea ce simplifică considerabil întreaga operațiune. Această abordare a permis deja ca multe soluții să devină mai flexibile și, mai ales, mai fiabile. O mare parte din algoritmii OCR/OCV își bazează principiul de funcționare pe acest mecanism. Datorită acestui fapt, software-ul poate „învăța” continuu pe baza imaginilor observate și, prin urmare, își poate crește eficiența.
Aplicații
OCR/OCV sunt sarcini foarte frecvente impuse sistemelor de viziune, atât în industrie, cât și în alte domenii. Utilizarea software-ului OCR, cunoscută unui grup larg de oameni, include tot felul de programe de calculator pentru conversia PDF-urilor, precum și a documentelor scanate în text editabil. În astfel de aplicații, algoritmul OCR trebuie pur și simplu să recunoască imaginea de intrare, indiferent de conținutul acesteia. Acest lucru face ca software-ul să fie pregătit pentru orice situație: litere mici și mari, fonturi diferite, tabele etc. Un alt tip de aplicații sunt cele industriale menționate anterior. Aici, cel mai adesea, un anumit sistem de viziune este setat pentru o acțiune specifică. Soluții exemplare, cum ar fi citirea datelor de pe ambalaje, verificarea corectitudinii inscripțiilor imprimate sau digitalizarea adreselor coletelor, sunt utilizate cu succes în industria farmaceutică, auto și electronică, alimentară și în multe altele. Aplicațiile industriale necesită, de obicei, o operație concretă, spre deosebire de software-ul utilizat pentru recunoașterea PDF-urilor și a textelor scanate. Datorită acestui fapt, ele permit o optimizare și o fiabilitate mai bune.
Viziunea artificială, utilizând OCR, este folosită și pentru digitalizarea colecțiilor în biblioteci, precum și pentru introducerea documentelor de afaceri și a cărților de vizită. O altă aplicație interesantă este identificarea automată a plăcuțelor de înmatriculare. Această operație poate fi utilizată la procesarea fotografiilor de la radare. Camera radarului face o fotografie a vehiculului, care este apoi trimisă la centrală, unde algoritmul OCR recunoaște plăcuța de înmatriculare, pe baza căreia este găsit proprietarul mașinii. Acest sistem este un exemplu excelent de sistem de viziune artificială distribuit.
Tehnologiile OCR/OCV sunt un alt exemplu al multiplelor utilizări ale viziunii artificiale. Aceasta confirmă teza despre posibilitățile infinite de utilizare a ceea ce ar părea un set simplu, compus dintr-o cameră, un computer și software. Compania Avicon, în calitate de integrator și distribuitor de sisteme de viziune, își asumă sarcini din domeniul recunoașterii optice a caracterelor, precum și a verificării optice. Soluțiile noastre de viziune artificială se găsesc în numeroase fabrici și laboratoare din Polonia, precum și din străinătate.