GOT-OCR2 un nou model computer vision GOT-OCR2 un nou model computer vision

GOT-OCR2 un nou model computer vision

GOT-OCR2 este un nou model LLM care aduce îmbunătățiri semnificative prin computer vision în recunoașterea optică automată a caracacterelor.

1. Introducere: Ce înseamnă tehnologia OCR

Recunoașterea optică a caracterelor (OCR – Optical Character Recognition) este o tehnologie care transformă textul tipărit sau scris de mână într-un format digital editabil. Aceasta a revoluționat modul în care interacționăm cu documentele fizice, permițându-ne să digitalizăm și să procesăm rapid cantități mari de informații scrise.

Imaginați-vă că aveți o carte veche pe care doriți să o publicați online. În loc să o rescrieți manual, pagină cu pagină, puteți folosi un software OCR pentru a scana cartea și a o transforma automat într-un document digital editabil. Aceasta este esența tehnologiei OCR – transformarea imaginilor care conțin text în text digital pe care îl puteți edita, căuta și manipula cu ușurință pe un computer.

Tehnologia OCR tradițională (numită OCR 1.0) a fost dezvoltată în anii ’90 și a evoluat constant de atunci. Aceasta funcționează de obicei în mai multe etape:

  1. Scanarea sau fotografierea documentului pentru a obține o imagine digitală
  2. Preprocesarea imaginii pentru a o optimiza (de exemplu, îmbunătățirea contrastului)
  3. Segmentarea imaginii pentru a identifica zonele care conțin text
  4. Recunoașterea individuală a caracterelor din aceste zone
  5. Post-procesarea pentru a corecta eventualele erori și a formata textul final

Deși OCR 1.0 a adus beneficii enorme în multe domenii, de la arhivare la automatizarea proceselor de afaceri, are și limitări semnificative. De exemplu, poate avea dificultăți cu fonturi neobișnuite, texte deteriorate sau scrise de mână, și adesea necesită sisteme separate pentru diferite tipuri de documente sau limbi.

2. Ce aduce nou GOT-OCR2 și teoria unui model LLM unificat

Aici intră în scenă GOT-OCR2, un model de inteligență artificială de nouă generație care promite să revoluționeze domeniul OCR.

GOT-OCR2 face parte dintr-o nouă categorie de tehnologii numită OCR 2.0, care folosește abordări de învățare profundă și modele de limbaj mari (LLM – Large Language Models) pentru a depăși limitările OCR-ului tradițional.

Ce face GOT-OCR2 atât de special? În primul rând, este un model unificat. În loc să folosească module separate pentru detectarea textului, recunoașterea caracterelor și post-procesare, acest model AI încorporează toate aceste funcții într-un singur model neuronal mare. Acest lucru îi permite să proceseze imaginile într-un mod mai holistic, înțelegând mai bine contextul și structura documentului.

Imaginați-vă acest model AI ca un expert uman care poate citi și înțelege orice tip de document pe care i-l arătați, fie că e vorba de o scrisoare scrisă de mână, o pagină de carte tipărită, sau chiar o partitură muzicală. Această versatilitate este una dintre principalele inovații ale GOT-OCR2.

Un alt aspect crucial al pentru acest model LLM este capacitatea sa de a genera output formatat. În loc să producă doar text brut, poate genera markdown, LaTeX sau alte formate structurate, păstrând astfel aspectul și structura documentului original. Acest lucru este deosebit de util pentru documente complexe precum articole științifice sau rapoarte financiare.

GOT-OCR2 se bazează pe o arhitectură de tip encoder-decoder, similară cu cea folosită în modelele de limbaj mari precum GPT. Aceasta îi permite să proceseze imagini de dimensiuni mari și să genereze output de lungime variabilă. Mai mult, modelul poate fi instruit pe o varietate largă de sarcini OCR, de la recunoașterea textului tipărit la interpretarea notelor muzicale sau a formulelor chimice.

O altă inovație importantă este capacitatea modelului de a efectua OCR fin (fine-grained OCR). Aceasta înseamnă că utilizatorii pot specifica regiuni de interes într-o imagine, fie prin coordonate, fie prin culori, iar modelul va recunoaște textul doar din acele zone. Este ca și cum ai putea să-i spui expertului nostru uman „citește-mi doar textul din caseta roșie din colțul din dreapta sus al paginii”.

Modelul este, de asemenea, proiectat să fie eficient din punct de vedere computațional. Cu doar 580 de milioane de parametri (comparativ cu miliardele de parametri ai unor modele de limbaj mari), poate rula pe hardware accesibil, făcându-l practic pentru utilizare în lumea reală.

3. Aplicații pentru utilizarea GOT-OCR2 în lumea reală

Potențialul de aplicare al GOT-OCR2 în lumea reală este vast și divers. Iată câteva exemple concrete de cum ar putea fi utilizat acest model inovator:

a) Digitizarea arhivelor istorice
Bibliotecile și arhivele ar putea folosi computer vision pentru a digitaliza rapid și precis documente istorice, inclusiv manuscrise și texte în limbi vechi sau fonturi neobișnuite. Capacitatea modelului de a înțelege contextul și de a genera output formatat ar ajuta la păstrarea structurii și aspectului original al documentelor.

Digitizarea arhivelor istorice cu

b) Automatizarea procesării documentelor în afaceri
Companiile ar putea utiliza computer vision și OCR pentru a procesa automat facturi, contracte și alte documente de afaceri. Modelul ar putea extrage informații cheie și le-ar introduce direct în sistemele de management, economisind timp și reducând erorile umane.

c) Asistență pentru persoane cu deficiențe de vedere
Modelul AI ar putea fi integrat în aplicații mobile care să citească și să interpreteze texte din lumea reală pentru persoanele cu deficiențe de vedere. De exemplu, ar putea citi meniuri de restaurant, indicatoare stradale sau etichete de produse.

d) Cercetare științifică
Cercetătorii ar putea folosi computer vision pentru a extrage informații din articole științifice vechi sau pentru a interpreta automat grafice și diagrame din lucrări publicate. Capacitatea modelului de a recunoaște formule matematice și chimice ar fi deosebit de utilă în acest context.

e) Industria muzicală
Muzicienii și compozitorii ar putea folosi acestă tehnologie pentru a digitaliza partituri muzicale scrise de mână sau tipărite. Modelul ar putea transforma notele în formate digitale editabile, facilitând aranjamentele și interpretările muzicale.

f) Educație
În domeniul educației, inteligența artificială ar putea fi folosit pentru a transforma manuale și materiale didactice în formate digitale accesibile. Ar putea, de asemenea, să ajute la corectarea automată a testelor scrise de mână, economisind timp prețios pentru profesori.

g) Industria auto
În mașinile autonome, GOT-OCR2 ar putea fi utilizat pentru a citi și interpreta semnele de circulație și alte informații textuale din mediul înconjurător, contribuind la navigarea sigură a vehiculului.

GOT-OCR2 utilizare în trafic
GOT-OCR2 utilizare în trafic

h) Turism și traduceri
Turiștii ar putea folosi aplicații bazate pe computer vision pentru a traduce instantaneu meniuri, indicatoare sau alte texte întâlnite în călătoriile lor. Capacitatea modelului de a înțelege contextul ar putea îmbunătăți semnificativ acuratețea traducerilor.

i) Industria de publishing
Editurile ar putea folosi capacitatea OCR pentru a converti cărți tipărite în ebooks, păstrând formatarea originală. Acest lucru ar putea accelera procesul de digitizare a bibliotecilor întregi.

j) Arheologie și studii istorice
Arheologii ar putea folosi modelul AI pentru a decoda și transcrie inscripții antice sau texte pe artefacte. Capacitatea modelului de a se adapta la diferite stiluri de scriere ar fi deosebit de utilă în acest domeniu.

Aceste exemple ilustrează versatilitatea și potențialul transformator al modelului în diverse domenii. Pe măsură ce tehnologia se maturizează și devine mai accesibilă, este probabil să vedem apariția unor aplicații și utilizări noi și inovatoare.

4. Utilizarea GOT-OCR2

Modelui este disponibil gratuit pe platforma HuggingFace. El poate fi instalat pe dispozitivele locale și folosind limbajul Python.

Mai întai va trebui să instalăm librăriile:

pip install torch==2.0.1
pip install torchvision==0.15.2
pip install transformers==4.37.2
pip install tiktoken==0.6.0
pip install verovio==4.3.1
pip install accelerate==0.28.0
pip install cairosvg
pip install git+https://github.com/huggingface/transformers
pip install git+https://github.com/huggingface/accelerate

Un exemplu de cod python este următorul:

from transformers import AutoModel, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained('ucaslcl/GOT-OCR2_0', trust_remote_code=True)
model = AutoModel.from_pretrained('ucaslcl/GOT-OCR2_0', trust_remote_code=True, low_cpu_mem_usage=True, device_map='cuda', use_safetensors=True, pad_token_id=tokenizer.eos_token_id)
model = model.eval().cuda()


# input your test image
image_file = 'xxx.jpg'

# plain texts OCR
res = model.chat(tokenizer, image_file, ocr_type='ocr')

# format texts OCR:
# res = model.chat(tokenizer, image_file, ocr_type='format')

# fine-grained OCR:
# res = model.chat(tokenizer, image_file, ocr_type='ocr', ocr_box='')
# res = model.chat(tokenizer, image_file, ocr_type='format', ocr_box='')
# res = model.chat(tokenizer, image_file, ocr_type='ocr', ocr_color='')
# res = model.chat(tokenizer, image_file, ocr_type='format', ocr_color='')

# multi-crop OCR:
# res = model.chat_crop(tokenizer, image_file, ocr_type='ocr')
# res = model.chat_crop(tokenizer, image_file, ocr_type='format')

# render the formatted OCR results:
# res = model.chat(tokenizer, image_file, ocr_type='format', render=True, save_render_file = './demo.html')

print(res)

5. Testare OCR

Vom folosi pentru testare aceleași imagini cu care am testat și Qwen2-VL sau Phi3-vision.

Pentru prima imagine

Testare OCR "It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness. . "
Testare OCR „It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness. . „

Textul a fost identificat rapid:

It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness. . .

Următoarea imagine este mai complicată, conținând imagini și text:

Testare OCR din imagine complexa
Testare OCR din imagine complexa

Modelul idenfică foarte rapid că imaginea conține mai multe secțiuni:

title{
The Art of Dressing
}
section*{Expressing Identity Through Personal Style}

section*{Fashion and Self-Perception}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam justo commodo, ut sagittis est lacinia. Duis tincidunt elementum eros, at varius tellus rutrum et.

section*{How Fashion Choises Reflect and Influence Individuality and Culture }Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate magna at justo commodo, ut sagittis est lacinia. Duis tincidunt elementum eros. at varius tellus rutrum et. spendisse quis feugiat libero. Mauris modeste ved dolor id luctus

section*{Fashion and}Social Change
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate magna at justo commodo, ut sagittis est lacinia. Duis tincidunt elementum eros. at varius tellus rutrum et. Suspendisse quis feugiat libero.

Mental Impact of Clothing Choices
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate magna at justo commodo, ut sagittis est lincinia. Duis tincidunt elementum eros, at varius tellus rutrum et. Suspendisse quis feugiat libero.

E remarcabil că modelul AI a identificat corect toate secțiunile cu text din imagini, titlurile dar și subtitlurile.

Următorul test este pe un font suprapus peste un compoziție colorată:

dar identificarea decurge fără probleme:

LongWriter

Ultimul test este mai complex, vom încerca să îi furnizăm o partitură pentru a vedea dacă o identifică:

Modelul îdentifică note muzicale dar nu face corelațiile corect:

Sol Mi Sol Sol MiMi Mi Sol Sol Mi Sol Sol MiMi Mi Sol MiMi Mi Sol

Putem concluziona că modelul se achită foarte bine și rapid de sarcina principală de OCR a textului și are un început promițător cu corelarea textului cu contextul în care acesta poate să apară, dar încă mai este loc pentru îmbunătățiri.

6.Concluzii

GOT-OCR2 reprezintă un salt semnificativ în domeniul recunoașterii optice a caracterelor, marcând trecerea de la OCR 1.0 la OCR 2.0. Prin abordarea sa unificată, bazată pe modele de limbaj mari, modelul AI promite să depășească multe dintre limitările sistemelor OCR tradiționale.

Principalele avantaje ale acestei tehnologii includ:

  1. Versatilitate: Capacitatea de a procesa o gamă largă de documente, de la text tipărit la scris de mână, formule și chiar note muzicale.
  2. Înțelegere contextuală: Abilitatea de a înțelege și interpreta textul în contextul său, îmbunătățind acuratețea recunoașterii.
  3. Output formatat: Generarea de rezultate în formate structurate, păstrând aspectul și structura documentului original.
  4. Eficiență: Un model compact care poate rula pe hardware accesibil, făcându-l practic pentru utilizare pe scară largă.
  5. OCR fin: Capacitatea de a se concentra pe regiuni specifice ale unei imagini la cererea utilizatorului.

Aceste caracteristici deschid calea pentru o multitudine de aplicații în diverse domenii, de la arhivare și cercetare științifică până la asistență pentru persoane cu dizabilități și automatizarea proceselor de afaceri.

Cu toate acestea, ca orice tehnologie nouă, GOT-OCR2 vine și cu provocări și considerații etice. Pe măsură ce aceste sisteme devin mai capabile și mai răspândite, va fi crucial să ne asigurăm că sunt utilizate responsabil și că respectă confidențialitatea și securitatea datelor.

În concluzie, acestă tehnologie reprezintă un pas important către un viitor în care interacțiunea dintre lumea fizică și cea digitală devine din ce în ce mai fluidă.

Pe măsură ce tehnologia continuă să evolueze, putem anticipa îmbunătățiri continue în acuratețe, eficiență și aplicabilitate. GOT-OCR2 nu este doar o îmbunătățire incrementală a tehnologiei OCR existente, ci o reimaginare fundamentală a modului în care mașinile pot percepe și interpreta textul scris. Acest salt tehnologic promite să deschidă noi posibilități în numeroase domenii și să transforme modul în care interacționăm cu informațiile scrise în lumea din jurul nostru.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *