Objavljeno: 27.5.2014 | Avtor: Andrej Ikica | Monitor Junij 2014

Kako deluje?

S kratico OCR, ki izhaja iz angleškega poimenovanja Optical Character Recognition (slov. optična prepoznava znakov), označujemo proces pretvorbe skeniranega ali fotografiranega besedila v računalniško berljivo obliko.

Zgledi besedila v slikah naravnih prizorov

Zgledi besedila v slikah naravnih prizorov

Z drugimi besedami, naloga OCR je prebrati besedilo, ki je na vhodni sliki, in ga zapisati kot zaporedje znakov v določeni kodni tabeli (na primer ASCII ali Unicode). Če je na sliki prikazana beseda »ABBA«, jo program OCR prebere in zapiše kot zaporedje znakov Unicode: 0041, 0042, 0042 in 0041.

Ljudje z branjem nimamo težav in z lahkoto beremo besedilo različnih velikosti, barv in oblik. Tudi kadar so črke slogovno zavite in umetniško oblikovane, se nam zdi branje enostavno in popolnoma samoumevno. Pri zelo slabo vidnih ali celo nepopolnih besedah (besedah z manjkajočimi črkami) znajo naši možgani še vedno pravilno ugotoviti, za katero besedo gre. Kljub temu, da se branje na prvi pogled zdi enostavno in popolnoma podzavestno, pa predstavlja za računalnike trd oreh – tako zelo trd, da ga znanosti še vedno ni uspelo popolnoma razbiti. Treba se je namreč zavedati, da za razliko od ljudi, ki slike dojemamo »inteligentno«, računalniki slike vidijo kot suhoparno zaporedje števil. Slika 1 prikazuje zgled takega zaporedja. Lahko iz slike ugotovimo, kaj to zaporedje števil predstavlja? Najbrž zelo težko. Odgovor se skriva na sliki 2: zaporedje števil ustreza sliki črke »G«. Prepričan sem, da je marsikdo, ki je bil pred branjem tega sestavka trdno prepričan, da bi morali računalniki branje stresati iz rokava, po ogledu slik 1 in 2 spremenil mnenje in se kar naenkrat začudeno sprašuje, kako je sploh mogoče, da računalnike naučimo brati. Odgovor je preprost: »Težko!« Pa vendar, so načini, kako pravilno interpretirati kupe na videz neurejenih števil in ugotoviti, za katere črke gre.

Slika1: Številska predstavitev črke G

Slika1: Številska predstavitev črke G

Slika 2: Črka G, kot je razumljiva ljudem.

Slika 2: Črka G, kot je razumljiva ljudem.

Zgodovina OCR

Optično prepoznavanje znakov sega že v zgodnja petdeseta leta prejšnjega stoletja. Metode OCR so se sprva osredotočale na prepoznavanje črnih tiskanih črk na beli podlagi, kar označujemo z izrazom »klasični OCR«. V kasnejših letih so se metode postopoma izboljševale, v 60. in 70. letih pa so že nastale prve komercialne aplikacije OCR, ki so jih uporabljali v bankah, zavarovalnicah in podobnih ustanovah. Ker so aplikacije delovale slabo, so se s strani izdelovalcev sistemov OCR porodile težnje po standardizaciji pisav, ki bi izboljšali natančnost prepoznave. Tako sta se v 70. letih razvila nova nabora pisav, namenjena optični prepoznavi znakov, OCRA in OCRB, ki sta ju vpeljala ANSI (angl. American National Standards Institute) oziroma ECMA (angl. European Computer Manufacturers Association). Oba nabora pisav je sprejela tudi organizacija ISO (angl. International Standards Organization).

Faze prepoznavanja OCR

Faze prepoznavanja OCR

Potreba po avtomatiziranju branja velikanskih količin pisanega besedila (naslovi na pisemskih ovojnicah, izpolnjeni čeki, podpisi na obrazcih ipd.), ki so jih v računalnik dotlej vnašali ročno, je botrovala razvoju sistemov OCR za prepoznavo pisanih črk. Ker so bile začetne rešitve zelo preproste in niso delovale dovolj dobro, so v 70. in 80. letih nastali posebni obrazci, ki so določali natančno obliko pisanih črk in okenca, v katera so ljudje vpisovali črke. S tem so dosegli enotnejšo obliko črk in tako višjo natančnost prepoznave.

Z digitalizacijo video vsebin v 90. letih so začele nastajati rešitve za prepoznavo besedila na video posnetkih, zadnja leta pa je razvoj vedno bolj usmerjen tudi v prepoznavo besedila na t. i. slikah naravnih prizorov. Gre za široko paleto raznovrstnih slik, najpogosteje posnetih z digitalnimi fotoaparati in pametnimi telefoni. Ker so te slike podvržene zelo različnim vremenskim in svetlobnim razmeram in ker besedilo v njih nastopa v najrazličnejših oblikah, velikostih in barvah, ga je zelo težko prepoznati. Problem so tudi kompleksna ozadja slik naravnih prizorov, ki še dodatno otežijo pravilno prepoznavo.

Iskanje besedila v sliki. Najdene regije so označene z rdečimi pravokotniki.

Iskanje besedila v sliki. Najdene regije so označene z rdečimi pravokotniki.

Delovanje sistemov OCR

Sistemi OCR so praviloma sestavljeni iz štirih korakov. V fazi iskanja besedila (angl. text detection) se na sliki poiščejo vse regije, ki vsebujejo besedilo. Sistemi za klasični OCR te faze ne uporabljajo, saj predvidevajo, da vhodna slika vsebuje le besedilo, ki leži na homogeni podlagi. Pri kompleksnih slikah pa je iskanje besedila nepogrešljivo in nujno, drugače so rezultati prepoznave najpogosteje popolnoma napačni (bralci lahko to preverijo s poganjanjem komercialnih sistemov OCR na kompleksnih slikah). Čeprav se zdi iskanje besedila na prvi pogled enostavno, gre za zelo zahteven problem, ki mu raziskovalci v zadnjem času posvečajo precejšnjo pozornost.

Najdene regije (predstavljamo si jih lahko kot izrezane sličice besedila – npr. pravokotnik »BREAK« na sliki »Break glass for key«) po končani fazi iskanja besedila vstopajo v fazo predprocesiranja, kjer se obdelajo s posebnimi algoritmi za izboljšavo kakovosti slik in binarizirajo. Postopek binarizacije temne slikovne elemente (angl. pixels) označi z vrednostjo 1, svetle slikovne elemente pa z vrednostjo 0. Ker je besedilo praviloma temnejše barve kot ozadje, postopek binarizacije z 1 označi samo tiste slikovne elemente, ki pripadajo besedilu. Kadar regija vsebuje več črk, se dodatno razbije na podregije posameznih črk. Pri regiji »FOR« se regija razbije na podregije »F«, »O« in »R«. Ker besedilo v slikah nastopi v veliko inačicah, je zelo pomembno, da se v fazi predprocesiranja črke dodatno normalizirajo, z drugimi besedami, postavijo v neko enotno obliko. Normalizacija med drugim zajema poravnavo nagnjenih črk in spremembo velikosti črk na enotno, vnaprej določeno velikost (npr. 64 × 64 slikovnih elementov).

V fazi izračuna značilk se za vsako normalizirano binarno črko posebej določijo vrednosti njenih značilk. Značilke so lastnosti črk, ki se upoštevajo pri prepoznavi. Najbolj vsakdanja vrsta značilke je širina črke. Pri prepoznavi črk na podlagi njihove širine bi lahko sklepali, da ozka črka ustreza črki »I«, širša črka pa npr. črki »O«. Podobno deluje koncept značilk, pri čemer se praviloma uporabljajo kombinacije različnega števila kompleksnih značilk. Mednje se uvrščajo geometrijske značilke, momenti, Fourierovi deskriptorji ipd.

Binarizacija črke »R« v fazi predprocesiranja. Slika (levo) in njena binarna slika (desno).

Binarizacija črke »R« v fazi predprocesiranja. Slika (levo) in njena binarna slika (desno).

V fazi klasifikacije, ki sledi fazi izračuna značilk, se klasifikator na podlagi pripadajočega vektorja značilk odloči, katero črko predstavlja določena vhodna regija. Preprosto gledano, so klasifikatorji nekakšne odločitvene funkcije, ki na podlagi metod strojnega učenja odločajo, v kateri razred spadajo določeni vhodni podatki. Značilni klasifikatorji, ki se uporabljajo v sistemih OCR, so metoda podpornih vektorjev oziroma SVM (angl. Support Vector Machine), nevronske mreže oziroma ANN (angl. Artificial Neural Network) ter kombinacije različnih klasifikatorjev. Klasifikatorji sami po sebi ne vsebujejo znanja o črkah, zato jih je treba prej naučiti, kakšne so lastnosti določenih črk. V praksi učenje klasifikatorja poteka tako, da se izbere dovolj velika učna množica slik črk (praviloma nekaj tisoč), na podlagi teh pa klasifikator ugotovi, kakšni vektorji značilk ustrezajo določenim črkam. Tako v samem postopku klasifikacije klasifikator vhodni vektor značilk »primerja« z naučenimi in se na podlagi statističnih zakonitosti odloči, kateri črki je vhodna črka najbližja. Poseben izziv pri prepoznavi predstavljajo črke oziroma znaki, sestavljeni iz več delov, ki se ne držijo skupaj, kot so na primer kitajske, japonske in korejske pismenke, pa tudi slovenske črke s strešicami. V takem primeru je treba nabor značilk in samo klasifikacijo prilagoditi taki prepoznavi.

Googlova aplikacija Goggles omogoča hitro branje besedil, ki jih »poslikamo« s telefonom. In celo prevajanje teh besedil.

Googlova aplikacija Goggles omogoča hitro branje besedil, ki jih »poslikamo« s telefonom. In celo prevajanje teh besedil.

Nadaljnji razvoj sistemov OCR

Metode OCR kljub velikanskemu napredku še vedno ne dosegajo natančnosti, ki bi bila primerljiva z natančnostjo branja pri ljudeh. Kadar gre za prepoznavo črnega besedila na beli podlagi in ko je oblika pisave vnaprej znana, sistemi za klasični OCR sicer dosegajo natančnost tudi do 99 %, v vseh drugih primerih pa natančnost metod korenito pade. Tako v raziskovalnih sferah čedalje več pozornosti namenjajo metodam iskanja in prepoznave besedila na kompleksnih slikah naravnih prizorov. Njihova praktična uporabnost je namreč velikanska – od avtomatičnega preiskovanja vizualnih vsebin ter pomoči slepim in slabovidnim pa vse do prepoznavanja in prevajanja napisov,  posnetih s pametnimi telefoni. Treba je poudariti, da gre za razvoj metod, ki grejo še korak dlje od zdajšnjih aplikacij (npr. Google Goggles), saj omogočajo prepoznavo zelo zapletenega, slogovno oblikovanega (tudi nehorizontalnega) besedila, ki ga večina uveljavljenih aplikacij ni sposobna prepoznati. V zadnjem času je zelo priljubljena tudi uporaba slovarjev, ki močno izboljšajo prepoznavo. Kadar je določena črka slabo vidna in klasificirana s prenizko verjetnostjo, lahko sistem OCR na podlagi konteksta (drugih črk v besedi) ugotovi, za katero črko gre.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

Najbolj brano

  • Velika Britanija svari pred polnjenjem telefonov v kitajskih električnih vozilih

    V zadnjem času so se pojavile resne skrbi glede varnosti podatkov pri uporabi kitajskih električnih vozil (EV), zlasti med zaposlenimi v obrambni industriji. Britanska obrambna podjetja, vključno z globalnimi velikani, kot sta Lockheed Martin in Thales, so svojim zaposlenim svetovala, naj se izogibajo povezovanju mobilnih telefonov s kitajskimi EV-ji, bodisi prek Bluetootha bodisi prek polnilnih kablov. Razlog za to so strahovi pred morebitnim vohunjenjem in krajo občutljivih podatkov.

    Objavljeno: 3.5.2025 07:00 | Teme: varnost, električna vozila, pametni telefon
  • Štiri leta stari androidni telefoni imajo ranljivost, ki je ne bodo popravljali

    Google je posvaril uporabnike pametnih telefonov Android, naj nujno posodobijo svoje naprave, saj so pravkar zakrpali resno ranljivost, ki se je že izkoriščala. Prizadete so naprave z Androidom 13 (iz leta 2022) in Androidom 14 (2023). Telefoni z Androidom 12 (2021) pa se ne posodabljajo več, zato je priporočljiva zamenjava. Uporabnikov toliko starih telefonov je več sto milijonov!

    Objavljeno: 8.5.2025 07:00
  • Android bo telefone spremenil v računalnike

    Google v prihajajoči različici operacijskega sistema Android 16 preizkuša funkcionalnost, ki bo telefone z njim spremenila v prave mini računalnike. 

    Objavljeno: 5.5.2025 08:00 | Teme: google, android
  • Android z novo podobo

    V hitro izbrisani objavi na svojem blogu je Google nenamerno razkril naslednjo večjo prenovo uporabniškega vmesnika Android - Material 3 Expressive

    Objavljeno: 6.5.2025 08:00 | Teme: google, android
  • Pošta Slovenije bo dostavljala z robotom

    Pošta Slovenije je stopila na pot logistične prihodnosti in začela testiranje avtonomnega dostavnega robota, ki bo v prihodnosti pošiljke dostavljal tudi popoldan. 

    Objavljeno: 6.5.2025 11:00 | Teme: robotika, Slovenija
  • Anthropic: Ne vemo, kako deluje naša umetna inteligenca

    Ne gre za teorije zarote, temveč nemoč priznavajo tudi najvplivnejši. Izvršni direktor Anthropica Dario Amodei je v eseju, ki ga je objavil na svoji spletnih straneh, priznal, da ne razumejo natančno, kako deluje umetna inteligenca.

    Objavljeno: 8.5.2025 05:00
 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji