79
FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU DIPLOMSKA NALOGA VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJSKEGA PROGRAMA PRVE STOPNJE SIMON KEGLJEVIČ

DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

  • Upload
    lythien

  • View
    220

  • Download
    1

Embed Size (px)

Citation preview

Page 1: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

FAKULTETA ZA INFORMACIJSKE ŠTUDIJE

V NOVEM MESTU

D I P L O M S K A N A L O G A

VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJSKEGA PROGRAMA

PRVE STOPNJE

SIMON KEGLJEVIČ

Page 2: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika
Page 3: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

FAKULTETA ZA INFORMACIJSKE ŠTUDIJE

V NOVEM MESTU

DIPLOMSKA NALOGA

ANALIZA IN PRIMERJAVA OBSTOJEČIH OCR

RAZVOJNIH PROGRAMSKIH PAKETOV

Mentor: viš. pred. mag. Andrej Dobrovoljc

Novo mesto, september 2013 Simon Kegljevič

Page 4: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

IZJAVA O AVTORSTVU

Podpisani Simon Kegljevič, študent FIŠ Novo mesto, v skladu z določili statuta FIŠ

izjavljam:

da sem diplomsko nalogo pripravljal samostojno na podlagi virov, ki so navedeni v diplomski nalogi,

da dovoljujem objavo diplomske naloge v polnem tekstu, v prostem dostopu, na spletni strani FIŠ oz. v digitalni knjižnici FIŠ (obkroži odločitev):

o takoj, o po preteku 12 mesecev po uspešnem zagovoru, o ne dovoljujem objave na spletni strani oz. v elektronski knjižnici FIŠ zaradi

prepovedi organizacije, v sklopu katere je bil pripravljen empirični del naloge. da je diplomska naloga, ki sem jo oddal v elektronski obliki identična tiskani verziji, da je diplomska naloga lektorirana.

V Novem mestu, dne _________________ Podpis avtorja ______________________

Page 5: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

ZAHVALA

Iskreno se zahvaljujem:

mentorju mag. Andreju Dobrovoljcu za vse nasvete, strokovno pomoč in vodenje med

pripravo diplomske naloge;

staršem za finančno in moralno podporo med študijem;

Matjažu Jordanu in Maji Rorman, ker sta mi vedno stala ob strani.

Diplomsko nalogo posvečam Mateju Strojinu, cenjenemu prijatelju in sošolcu, ki je odšel

prezgodaj.

Page 6: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika
Page 7: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

POVZETEK

Tehnologija optične prepoznave znakov je na nekaterih področjih že dolgo uveljavljena in

koristna tehnologija. Navkljub temu dejstvu lahko iščemo nove načine za uspešno uporabo na

področjih, kjer OCR tehnologija sedaj še ni prisotna. Uporaba omenjene tehnologije na novih

področjih pa za podjetje, ki se ukvarja z digitalizacijo dokumentov ter obvladovanjem

digitalne dokumentacije, odpira tudi nove tržne priložnosti. Na podlagi želja in potreb

takšnega podjetja smo raziskali ponudbo knjižnic oz. rešitev, ki nudijo možnost

implementacije tehnologije OCR v lastne programske rešitvah. Ta program je v primeru

našega naročnika namenjen majhnim in srednje velikim podjetjem na slovenskem tržišču.

Diplomsko delo je razdeljeno na dva dela. V teoretičnem delu je razloženo širše področje

OCR tehnologije skupaj s podpornimi procesi. Empirični del vsebuje predstavitev dvanajstih

OCR knjižnic, med katerimi sta dve odprtokodni. Knjižnice so ocenjene glede na zadovoljitev

šestnajstih izbranih kriterijev. Kriteriji so zbirka želja naročnika in pomembnih

funkcionalnosti, ki jih izpostavljajo proizvajalci OCR knjižnic. Od dvanajstih knjižnic jih

željam naročnika ustreza osem. Izmed njih smo za nadaljnje testiranje skladno s postavljenimi

kriteriji izbrali tri najbolj optimalne.

KLJUČNE BESEDE: Optična prepoznava znakov, digitalizacija, OCR SDK rešitve,

ABBYY, Tesseract

SUMMARY

At the moment, optical character recognition technology is quite well established and useful

in some fields of work. Nonetheless we can try and find new ways of successful

implementation on new areas, where OCR is not yet present. Use of this technology on new

areas will also mean a new market opportunity for a company, which specializes in

digitalization and enterprise content management. Based on needs of one such company, we

analyzed multiple solutions, which can be used to implement OCR technology in our own

programs. Our client wants to implement OCR technology for use in small or medium sized

companies on Slovenian market. Thesis is split in two parts. Theoretical part includes wide

review of OCR technology along with its supporting processes. Practical part involves

analysis of twelve OCR solutions with two open source solutions included. Solutions are rated

based on sixteen criteria. Criteria are set according to our clients input, other important

functionalities and supporting processes of OCR technology. Out of twelve solutions, eight of

them met the requirements of our client and three of the most optimal solutions are picked for

advanced testing.

KEY WORDS: Optical character recognition, digitalization, OCR SDK solutions, ABBYY,

Tesseract

Page 8: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika
Page 9: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

KAZALO

1 UVOD ................................................................................................................................ 1

1.1 Hipoteze in raziskovalna vprašanja ............................................................................. 2

1.2 Cilj raziskave ............................................................................................................... 3

2 PREGLED TEMATIKE .................................................................................................... 4

2.1 OCR ............................................................................................................................. 6

2.2 OMR ............................................................................................................................ 7

2.3 ICR .............................................................................................................................. 8

2.4 IWR ............................................................................................................................. 9

2.5 Koraki OCR obdelave ................................................................................................. 9

2.6 Metoda glasovanja ..................................................................................................... 13

2.7 Optimizacija OCR postopka ...................................................................................... 14

2.8 Tipi dokumentacije .................................................................................................... 15

2.9 Implementacija OCR ................................................................................................. 16

3 PRIMERNE OCR SDK REŠITVE .................................................................................. 17

3.1 Argumentacija za izbor rešitev .................................................................................. 17

3.2 Komercialni ponudniki .............................................................................................. 18

3.2.1 Abbyy .................................................................................................................. 18

3.2.2 Nuance Communications ................................................................................... 19

3.2.3 ExpertVision ....................................................................................................... 19

3.2.4 LeadTools ........................................................................................................... 19

3.2.5 Transym .............................................................................................................. 20

3.2.6 Dynamsoft .......................................................................................................... 20

3.2.7 Aquaforest .......................................................................................................... 20

3.2.8 Nicomsoft ........................................................................................................... 20

3.2.9 Accusoft .............................................................................................................. 21

3.2.10 Atalasoft ............................................................................................................. 21

3.3 Opis izbranih rešitev .................................................................................................. 21

3.3.1 Abbyy OCR SDK ................................................................................................ 22

3.3.2 ExpertVision ....................................................................................................... 23

3.3.3 OmniPage........................................................................................................... 24

3.3.4 LeadTools ........................................................................................................... 25

3.3.5 Transym .............................................................................................................. 27

3.3.6 Dynamsoft OCR ................................................................................................. 28

3.3.7 Aquaforest .......................................................................................................... 29

Page 10: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika
Page 11: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

3.3.8 Nicomsoft ........................................................................................................... 30

3.3.9 ImageGear ......................................................................................................... 31

3.3.10 DotImage ............................................................................................................ 31

3.3.11 Puma.NET .......................................................................................................... 33

3.3.12 Tesseract ............................................................................................................ 33

4 KRITERIJI OCENJEVANJA .......................................................................................... 34

4.1 Optimalna rešitev ...................................................................................................... 35

4.2 Opis izbranih kriterijev .............................................................................................. 36

4.2.1 Cena rešitve........................................................................................................ 36

4.2.2 Natančnost prepoznave ...................................................................................... 36

4.2.3 Podpora slovenskemu jeziku .............................................................................. 37

4.2.4 Podpora jezikom ................................................................................................ 37

4.2.5 Uporaba slovarjev in optimizacija OCR jezikov ................................................ 37

4.2.6 Podpora optičnim čitalnikom ............................................................................. 38

4.2.7 Predprocesiranje ................................................................................................ 38

4.2.8 Formati vhodov .................................................................................................. 39

4.2.9 Prepoznava in izhod lastnosti pisave ................................................................. 39

4.2.10 Ohranjanje oblike dokumenta ............................................................................ 40

4.2.11 Formati izhodov ................................................................................................. 40

4.2.12 Podpora ICR ...................................................................................................... 41

4.2.13 Podpora OMR .................................................................................................... 41

4.2.14 Podpora .NET okolju ......................................................................................... 42

4.2.15 Podprti programski jeziki................................................................................... 42

4.2.16 Dokumentacija in primeri .................................................................................. 42

4.2.17 Dostop do internih OCR podatkov ..................................................................... 43

5 OCENJEVANJE OCR SDK REŠITEV .......................................................................... 43

5.1 Preglednica OCR SDK rešitev .................................................................................. 43

5.2 Ocenjevanje rešitev ................................................................................................... 45

5.3 Predstavitev rezultatov .............................................................................................. 47

5.4 Izbor končnih produktov ........................................................................................... 51

5.5 Opis in SWOT analiza izbranih produktov ............................................................... 52

5.6 Ugotovitve hipotez in raziskovalnih vprašanj ........................................................... 56

6 ZAKLJUČEK................................................................................................................... 58

7 LITERATURA IN VIRI .................................................................................................. 61

Page 12: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika
Page 13: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

KAZALO GRAFOV

Graf 3.1: Google smernice iskanja OCR ponudnikov ............................................................. 18

Graf 5.1: Skupna ocena OCR SDK rešitev .............................................................................. 48

Graf 5.2: Cena OCR SDK rešitev ............................................................................................ 49

Graf 5.3: Skupna ocena z ločeno oceno cene........................................................................... 50

Graf 5.4: Prikaz aritmetične sredine ........................................................................................ 51

KAZALO SLIK

Slika 2.1: Praktična delitev tehnologij razpoznavanja vzorcev ................................................. 7

Slika 2.2: Koraki optične prepoznave znakov ........................................................................ 12

Slika 2.3: Metoda kukala ......................................................................................................... 13

KAZALO TABEL Tabela 5.1: Prikaz funkcionalnosti........................................................................................... 44

Tabela 5.2: Rezultati ocenjevanja ............................................................................................ 46

Tabela 5.3: SWOT analiza ABBYY OCR SDK ...................................................................... 53

Tabela 5.4: SWOT analiza Nicomsoft OCR SDK ................................................................... 54

Tabela 5.5: SWOT analiza Tesseract ....................................................................................... 55

Page 14: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika
Page 15: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

1

1 UVOD

Razlog za temo diplomske naloge je konkretna potreba enega izmed slovenskih podjetij (v

nadaljevanju naročnik), ki se ukvarja z digitalizacijo dokumentov, obvladovanjem digitalne

dokumentacije in ostalimi spremljevalnimi storitvami. Digitalizacija dokumentov je po oceni

naročnika ena izmed ključnih storitev, kjer velik del trga še ni pokrit. Omenjeni trg so

predvsem srednja ali manjša podjetja, ki digitalizacijo izvajajo interno ali sploh ne.

Pretvarjanje fizične dokumentacije v digitalno nam omogoča tehnologija optičnega branja

(angl. image scanning). Optimalni izkoristek digitalizacije pa nam nudi optična prepoznava

znakov (OCR, angl. optical character recognition). Po OCR obdelavi dokumentov lahko nad

dokumenti uporabljamo algoritme iskanja ali z njih zajemamo ključne podatke. Na področju

optičnega branja prevladujejo strojne omejitve, na katere podjetje ne more posredno vplivati.

Ravno obratno,pa na področju OCR prevladujejo programske omejitve, na katere naročnik

lahko vpliva. Programska orodja namenjena OCR so pogosto visokega cenovnega razreda, kar

odvrača uporabnike, ki si takšnih visokih stroškov ne morejo privoščiti. Ti uporabniki so

pogosto srednja in majhna podjetja, ki zaradi nizke količine dokumentov ne upravičijo

stroškov investicije.

Ključna želja našega naročnika je poiskati alternativo dragim OCR programom. Najbolj

primerna rešitev za obstoječ problem je uporaba knjižnic oziroma razvojnih orodij (SDK,

angl. software development kit), ki omogočajo implementacijo funkcionalnosti OCR v naš

lastni program. Lastni program lahko v nadaljevanju prilagodimo za slovenski trg in ga tržimo

po ceni dostopni majhnim in srednjim podjetjem. Najprej je potrebno raziskati ponudbo OCR

SDK rešitev, v naslednjem koraku pa je potrebno raziskati, katere funkcionalnosti morajo

OCR SDK rešitve vsebovati. Podjetje tudi zanima, če je smiselno preprosto uporabiti najbolj

prepoznavno rešitev ali je mogoče zadovoljivo že, če izberemo odprtokodno knjižnico.

Podjetje želi izveden pregled funkcionalnosti izbranih rešitev in ocenjevanje na podlagi

funkcionalnost. Po končanem pregledu in ocenjevanju se izberejo tri rešitve, ki bodo

implementirane do stopnje prototipnega programa. Zaradi časovne omejenosti se v diplomski

Page 16: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

2

nalogi ne bo pojavilo testiranje natančnosti OCR procesa, diplomska naloga pa se bo

zaključila z izbiro treh najbolj primernih rešitev.

Rezultati diplomske naloge bodo vplivali na izbiro treh rešitev, ki se jih bo izven diplomskega

dela implementiralo do prototipne faze. Po nadaljnjem testiranju prototipnih programov se bo

izbralo najmanj en program, ki bo predan omenjenemu naročniku za tržne namene.

1.1 Hipoteze in raziskovalna vprašanja

S prvim raziskovalnim vprašanjem: »Kakšne funkcionalnosti potrebuje dobra OCR SDK

rešitev?« želimo naročniku predstaviti seznam funkcionalnosti, ki se v OCR SDK rešitvah

pogosto pojavljajo. Po predstavitvi rešitev in funkcionalnosti se iz slednjih izoblikuje kriterije,

ki bodo v pomoč pri ocenjevanju rešitev. Kriteriji bodo pri ocenjevanju pridobili utež, ki

pokaže stopnjo pomembnosti kriterija. OCR SDK rešitve bodo, v primeru izpolnjevanja opisa

funkcionalnosti, pridobile točko v višini uteži kriterija.

Naslednje raziskovalno vprašanje se osredotoča na predlog naročnika, naj med primerne OCR

SDK rešitve vključim ABBYY OCR SDK. Naročnik prepoznava omenjeno rešitev kot najbolj

prepoznavno na evropskem tržišču. Zaradi tega dejstva želimo preveriti povezanost med

prepoznavnostjo in ponujenimi funkcionalnostmi rešitve. Raziskovalno vprašanje se glasi »Je

najbolj prepoznaven produkt nujno najboljši?«.

Prva hipoteza deloma izhaja iz drugega raziskovalnega vprašanja. Naročnik predvideva, da je

najbolj prepoznavna rešitev tudi najbolj primerna. Zato tega nas zanima, ali so manj znane

odprtokodne rešitve na podlagi ponujenih funkcionalnosti dovolj primerne, da lahko

konkurirajo bolj znanim lastniškim rešitvam. Pogosto se odprtokodnim rešitvam očita

pomanjkanje dokumentacije in manjšo zanesljivost v primerjavi z lastniškimi produkti.

Hipoteza se glasi »Odprtokodne rešitve so zaradi manjšega obsega dokumentacije in podpore

manj primerne kot lastniški produkti. Med najbolj primernimi produkti tako ne bo

odprtokodne rešitve.«.

Naslednja hipoteza se osredotoča na glavno željo naročnika. Naročnik pričakuje, da bodo

izbrane najmanj tri potencialne rešitve za nadaljnje testiranje. S hipotezo predvidevamo, da bo

primernih rešitev več, čeprav bodo v končni fazi izbrane samo tri. Osnovni pogoj za primerno

rešitev je možnost implementacije v program, namenjen majhnim in srednjim podjetjem na

Page 17: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

3

slovenskem trgu. Hipoteza se na podlagi opisanega glasi »Obstajajo OCR SDK rešitve, ki

nudijo osnovne funkcionalnosti za uspešno implementacijo v srednja in mala podjetja. Za

namene naročnika bodo primerne več kakor tri rešitve.«.

Implementirati OCR tehnologijo v naš lastni program je že samo po sebi izziv za kateregakoli

programerja, zato predvidevamo, da je poleg OCR SDK rešitve vedno dostopna tudi osnovna

dokumentacija s testnimi primeri. Da sploh poznamo imena razredov in funkcij, ki jih kličemo

v izvorni kodi, morajo biti ta imena nekje opisana. Testni primeri nam omogočajo hitrejše

razumevanje delovanja knjižnice in v nekaterih primerih že delno dosežen končni cilj

programa. Nekateri primeri uporabe so že tako napredni, da jih lahko preprosto prilagodimo

za lastno uporabo.

Raziskovalna vprašanja:

1. Kakšne funkcionalnosti potrebuje dobra OCR SDK rešitev?

2. Je najbolj prepoznaven produkt nujno najboljši?

Hipoteze

1. Odprtokodne rešitve so zaradi manjšega obsega dokumentacije in podpore manj

primerne kot lastniški produkti. Med najbolj primernimi produkti tako ne bo

odprtokodne rešitve.

2. Obstajajo OCR SDK rešitve, ki nudijo osnovne funkcionalnosti za uspešno

implementacijo v srednja in mala podjetja. Za namene naročnika bodo primerne več

kakor tri rešitve.

3. Tehnična dokumentacija skupaj s testnimi primeri je ključnega pomena za uspešno

implementacijo OCR SDK rešitve. Vse rešitve ponujajo vsaj osnovno dokumentacijo

in testne primere.

1.2 Cilj raziskave

Končni cilj diplomske naloge je poiskati več primernih OCR knjižnic in jih na podlagi javno

dostopnih podatkov opisati. Naslednji korak je določitev kriterijev ocenjevanja, na podlagi

katerih bo možno opraviti ocenjevanje omenjenih rešitev. Na podlagi ocenjevanja se izbere tri

najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika in optimalno

Page 18: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

4

zadovoljujejo ostale kriterije. Nad izbranimi rešitvami bo izvedena SWOT analiza, s katero

bomo predstavili prednosti in slabosti vsake izmed treh izbranih rešitev. Za omenjene rešitve

se izven diplomskega dela izvede prototipna implementacija z namenom preverjanja

natančnosti prepoznave znakov in ostalih funkcionalnosti. Končni cilj je implementacija

enega izmed predstavljenih rešitev v program, namenjen prepoznavi ključnih podatkov na

dokumentih.

2 PREGLED TEMATIKE

Ideja o poslovanju brez fizičnih dokumentov se je pojavila že v 20. stol., a tehnološki

napredek te ideje ni podprl. Z razvojem tiskalnikov in optičnih čitalnikov se je količina

papirja namenjenega tiskanju še povečala. Dokumenti so se predvsem zaradi priročnosti in

nižje cene tiskali še pogosteje. V 21. stol. se je trend ponovno obrnil k prvotno zastavljenemu

cilju. Razlog je med drugim tudi nova generacija t.i. digitalnih staroselcev, ki digitalni

dokument doumevajo kot enakovreden fizičnemu dokumentu.

Sama digitalizacija dokumentov v slikovni format je še vedno zelo neučinkovita rešitev,

digitalni dokumenti sicer vzamejo drastično manj fizičnega prostora, a vseeno porabijo veliko

podatkovnega prostora. Poleg tega na področju hitrosti dostopa nismo dosegli napredka,

dokumenta namreč še vedno ne moremo hitro poiskati.

Tukaj nastopi glavno področje diplomske naloge, optična prepoznava znakov. OCR je

relativno mlada tehnologija, ki omogoča razpoznavanje znakov iz različnih virov. Ti viri so

najpogosteje prav digitalni dokumenti, katere smo pretvorili iz fizične oblike s postopkom

optičnega branja. V končni fazi uporabnik pridobi tekstovni zapis slikovnega dokumenta, ki

ga lahko uporabi za več priročnih namenov. Uporabniki lahko po obdelavi iščejo ključne

besede v dokumentih in tako dokument najdejo drastično hitreje, kot bi bilo to možno v

primeru fizičnega arhiva. V primeru našega naročnika je potrebno v prepoznanem tekstu

zaznati ključne podatke na dokumentu. Pred razvojem OCR tehnologije so se ključni iskalni

Page 19: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

5

pojmi vnašali ročno, kar pa poleg počasnejše obdelave prinaša tudi dodatne stroške. Človeška

interakcija je za 100 % zagotavljanje pravilnosti še vedno nujno potrebna. Sicer ni potrebno

več ročno vnašati potrebnega besedila, vendar je še vedno potrebno preveriti pravilnost

prepoznanega teksta.

Zajem podatkov s pomočjo OCR tehnologije je že vrsto let zelo pomembna in zanimiva tržna

niša, ki je kljub gospodarski krizi v konstantnem razvoju. Večna dilema uporabnikov OCR

rešitev pa je, ali je bolj racionalno uporabiti že izdelan produkt ali raje uporabiti knjižnico

oziroma razvojno orodje. Kljub nekaterim prednostim SDK OCR rešitev, predvsem večji

uporabniki posegajo po že izdelanih produktih in se izogibajo raznim SDK rešitvam. Te

rešitve so v končni fazi cenejše od izdelanih produktov, nameniti pa jim je potrebno več časa

za implementacijo. Izdelani produkti nudijo krajši čas implementacije in uporabo grafičnega

vmesnika, ki uporabnikom neveščim programiranja olajša delo. Cena izdelanega produkta je v

primerjavi s SDK rešitvijo višja in navadno vseh plačanih funkcij sploh ne uporabljamo.

Slabost skupna obema tipoma rešitev pa je, da se na splošno pojavlja nezaupanje novim ali

neuveljavljenim rešitvam in rešitvam odprtokodnega tipa.

Dorothea Blostein in ostali so mnenja, da je za znižanje stroškov digitalizacije potrebno

razvijati avtomatizacijo OCR tehnologij. Mala in srednje velika podjetja bi torej lahko z

investicijo v kakovostne OCR SDK rešitve znižala stroške.

Spremembe cen na programskem in strojnem področju pretvarjanja dokumentov, še

posebno nižanje stroškov pomnilniškega prostora in procesorske moči, so do sedaj

minimalno vplivale na objavljanje raziskav s področja digitalizacije dokumentov. V

masovni digitalizaciji prevladujejo stroški, ki nastajajo zaradi uporabe človeških

virov. Posledica tega dejstva je osredotočanje raziskav na optimizacijo človeške

interakcije pri digitalizaciji, namesto na izboljševanje avtomatizacije in izdelave

samostojnih algoritmov. (Blostein in Nagy 2012, str. 7)

Zaradi konkretnega poslovnega problema smo se odločili, da raziščemo ponudbo SDK OCR

rešitev. Na podlagi funkcionalnosti, zahtevanih za implementacijo v program namenjen

srednjim in majhnim podjetjem na slovenskem trgu, bomo v končni fazi izbrali najbolj

primerne rešitve.

Page 20: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

6

2.1 OCR

Izmed različnih vrst razpoznavanja vzorcev je najpogosteje zastopana optična prepoznava

znakov. Glavna naloga OCR je pravilno prepoznati znak v dvodimenzionalnem prostoru.

Naloga je za pismeno osebo sicer trivialna, računalniku pa naloga predstavlja velik izziv za

vsak znak v dokumentu. Dodatne težave se pojavijo ob slabši kvaliteti skenogramov ali ob

poškodovanem tekstu na dokumentih. Začetki tehnologije segajo v 20. stol., a začetne ideje

niso bile namenjene samemu zajemanju teksta. Prve implementacije OCR so bile predvidene

predvsem za slepe in slabovidne, cilj je bil omogočiti pretvarjanje teksta v zvočni zapis.

Kmalu so se začele pojavljati alternativne implementacije, ki so se izkazale kot zanimive tudi

na komercialnem trgu. »V letu 1929 je Tauscheck pridobil prvi patent iz OCR tehnologije v

Nemčiji, leta 1933 je Hendel pridobil podoben patent v Združenih državah Amerike. To sta

prva koncepta OCR tehnologije, ki ju poznamo.« (Shunji in drugi 1992, str. 2). OCR

tehnologijo se je pričelo uporabljati za namene ločevanja poštnih pošiljk, bančnih in ostalih

storitev, kjer je količina teksta zahtevala avtomatizacijo procesov. Žal je razvoj OCR

tehnologije potekal le tako hitro kakor razvoj strojne računalniške opreme, slednja je namreč

pogoj za razvoj avtomatične prepoznave. Trenutno uporaba OCR tehnologij sega na različna

področja poslovne in zasebne uporabe:

prepoznava teksta s celotnega dokumenta za namen iskanja,

digitalizacija starejših knjig in ostalega tiskanega gradiva,

prepoznavanje specifičnega dela teksta z namenom zajema ključnih podatkov.

OCR sistem je bil v svojih začetkih sposoben brati samo primerne strojne tipe pisave kot je na

primer OCR-A. Pisava upodablja znake z enako širino in fiksnim odmikom ter konkretno

razlikuje pogosto zamenljive znake kot so; 0, O, o ali 5, S, 8 (0, O, o ali 5, S, 8).

Sčasoma so tehnologija in algoritmi napredovali do takšne mere, da OCR uspešno prepozna

tudi ostale pisave in različne velikosti pisav. Za razliko od starejših OCR sistemov se lahko

novejši dinamično prilagajajo različnim tipom in velikostim pisav, kar v praksi pomeni, da ni

potrebno izvajati procesa OCR za vsak tip dokumentacije posebej.

Uporaba OCR tehnologije se je sorazmerno povečevala z uporabo standardnega formata za

zapis datotek imenovanega PDF (angl. Portable Document Format). V verziji 1.4 omenjenega

standarda se pojavi tudi možnost uporabe tekstovne plasti nad slikovno plastjo. Ta

funkcionalnost omogoča iskanje želenega tekstovnega niza v dokumentu, ki nas usmeri na

Page 21: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

7

primerno sliko v slikovni plasti. Tekst lahko posledično tudi kopiramo iz PDF dokumenta.

Tehnologijo uporabljajo tudi mnogi OCR programi, ki omogočajo izhod v tem priljubljenem

formatu.

Sicer je OCR natančno definirana tehnologija, v praksi pa se pogosto omenja kot nadpomenka

ostalim podobnim tipom razpoznavanja vzorcev, kakor je prikazano na sliki 2.1.

Slika 2.1: Praktična delitev tehnologij razpoznavanja vzorcev

Vir: Kegljevič, lastna raziskava (2013)

2.2 OMR

Tehnologija optičnega prepoznavanja vzorcev (OMR, angl. optical mark recognition) je

specifična tehnologija, ki za razliko od OCR ne prepoznava tekst ampak vzorce. Ti vzorci so

lahko popularne črtne in QR kode ali prej pripravljeni obrazci kot so npr.

anketni vprašalniki,

srečke,

izpitne naloge.

OMR se tesno prepleta z OCR tako v izvoru, kot tudi v uporabi. Črtne kode se v praksi

pogosto uporabljajo kot ločilni element, ki označuje vodilni dokument v seriji dokumentov.

Page 22: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

8

Pogosto je OMR tehnologija že integrirana v optične čitalnike, proces pa se izvede takoj za

optičnim branjem dokumenta. Prednost takšnega postopka je, da lahko pridobimo npr.

unikatni identifikator dokumenta še predno začnemo z OCR obdelavo tega dokumenta. Za

razliko od OCR tehnologije se pri OMR navadno uporabljajo preproste metode, kot je npr.

kasneje opisana metoda kukala. Dokumentacija namenjena OMR obdelavi je navadno posebej

prilagojena tej tehnologiji. To dejstvo je ravno obratno pri OCR tehnologiji, postopek

prepoznave pri slednji tehnologiji se namreč prilagaja dokumentaciji. OMR tehnologija zaradi

tega dejstva dosega višjo natančnost v primerjavi z OCR, poleg boljše kakovosti pa je hitrejši

tudi čas prepoznave. Slaba plat OMR tehnologije je dejstvo, da moramo dokumentacijo

prilagoditi za uporabo omenjene tehnologije. Tehnologija ne prepoznava tekstovnega zapisa,

zato moramo želeni tekst pripraviti v obliki vzorca npr. lestvica pri anketnem vprašlniku.

2.3 ICR

Inteligentno prepoznavanje znakov (ICR, angl. intelegent character recognition) je naslednji

korak OCR tehnologije. Dobri OCR algoritmi relativno preprosto prepoznavajo kvalitetno

natisnjene znake, težava nastopi, ko z OCR tehnologijo poskušamo zajeti ročno pisano

besedilo. Dejstvo, da je vsaka človeška pisava skoraj unikatna, povzroča težave pri

prepoznavi teh znakov. ICR namesto prej predvidenih pisav uporablja algoritme, ki se

samostojno učijo in nato uporabljajo bazo vzorcev pri nadaljnji prepoznavi. ICR je predviden

za prepoznavo ročnih namesto stojnih pisav a pri tem dosega nižjo natančnost kakor OCR na

svojem področju, natančnost ICR tehnologije se lahko približa 97 % v dobrih pogojih.

Pogosto se pri ICR tehnologiji uporablja metodo glasovanja, ki je opisana v nadaljevanju. V

praktični uporabi se ICR pojavlja pri prepoznavi obrazcev kot so npr.:

anketni vprašalniki,

vloge za državne dokumente.

ICR tehnologija načeloma prepoznava izključno tiskane črke in številke v navadno prej

definiranih okencih na obrazcu. V primerjavi s klasičnim človeškim pretipkavanjem dosega

optimalna raba tehnologija enke odstotke pravilne prepoznave v drastično krajšem času.

(Wikipedia, 2013a)

Page 23: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

9

2.4 IWR

Tehnologija inteligentnega prepoznavanja besed (IWR, angl. intelligent word recognition) je

zelo sorodna tehnologij ICR s ključno razliko. Razlika je, da namesto posameznih znakov

IWR v bazo shranjuje celotne besede. To dejstvo omogoča višjo natančnost pri ročno pisani

pisavi, kjer je največja težava zaznavanje presledka med znaki. Pri svojem delovanju IWR

tehnologije uporabljajo nevronske mreže, ki imitirajo delovanje človeških možganov. V

praksi lahko srečamo IWR tehnologijo pri:

ročnem pisanju na mobilnih napravah,

avtomatizaciji pretipkavanja pisanega besedila.

Tehnologija IWR zaradi svoje specifičnosti ne konkurira OCR ali ICR tehnologijama, ki pri

tipkanem besedilu ali tiskanih črkah dosegata zadovoljive rezultate. (Wikipedia, 2013b)

2.5 Koraki OCR obdelave

Grobo opisano, povprečni OCR sistem deluje po naslednjem postopku (Slika 2.2). Prvi korak

je optično branje ali v izjemnem primeru fotografiranje želenega dokumenta. Navadno so

nastavitve branja v ločljivosti najmanj 300 dpi (dots per inch) ali 118 dpcm (dots per

centimetre), v sivinskem načinu z 256 odtenki sive ali črno-belem načinu. Izhod je sivinski ali

črno-beli slikovni dokument, navadno shranjen v formatu TIFF (angl. tagged image file

format).

Naslednji korak je predprocesiranje slik oz. slikovna obdelava dokumentov. Cilj postopka je

optimalno pripraviti sliko za OCR obdelavo z odstranjevanjem šumov, normalizacijo,

povečavo kontrasta, itd. Pogoste so sledeče metode:

Binarizacija – postopno pretvarjanje barvne ali sivinske slike v binarno.

Najpreprostejša oblika segmentacije.

Segmentacija – je ponavljanje normalizacije slike, dokler ni dosežen želen

učinek.

Uravnavanje zamaknjenosti posnetkov (angl. Deskew) – poravnava teksta

zaradi poševne slike.

Page 24: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

10

Odstranjevanje šumov (angl. Despeckle) – odstranjevanje šumov v obliki

majhnih slikovnih pik na sliki

Z uporabo nekaterih metod lahko drastično izboljšamo končno kvaliteto prepoznanega teksta.

Metode predprocesiranja pa so skoraj obvezne pri prepoznavanju starejše ali poškodovane

dokumentacije.

Ekstrakcija se opravi na predprocesirani sliki. Namesto osredotočanja na celoten tekst se

algoritmi osredotočajo na posamezni znak ali le nekaj znakov. Na tak način razdrobimo

proces na več manjših procesov, ki se lažje izvedejo. Izhod so navadno pomembne interne

OCR informacije oz. rezultati metod ekstrakcije, ki služijo za prepoznavo znakov v

naslednjem koraku. Nekatere metode, ki se uporabljajo pri ekstrakciji teksta, so:

Ujemanje predlog – sliko izbranega znaka poskušamo upariti z eno izmed

predhodno shranjenih slik. Ob pozitivnem ujemanju se znak določen ujemajoči

se sliki izbere za prepoznani znak. Podobna tehnologija se uporablja na

področju prepoznavanja biometričnih lastnosti kot so npr. oblika obraza.

Zernike trenutki – po izračunu zernike polinomov za izbrani znak poiščemo

približek rezultata v predhodno izračunani bazi rezultatov. Vrednost v bazi, ki

se z rezultatom najbolj ujema, nam poda prepoznani znak.

Metoda kukala – izbrani znak postavimo na opazovano področje, kjer so

predhodno definirane točke. Na podlagi točk, ki jih znak zakrije, lahko po

predhodni definiciji ugotovimo, kakšen znak se nahaja na opazovanem

področju (Slika 2.3).

Na splošno se algoritmi ekstrakcije delijo na dve večji skupini. Prva skupina algoritmov

deluje po principu matričnega ujemanja. V to skupino spadajo metode, ki prepoznavajo znak

na podlagi primerjave izbranega znaka s prej definirano obliko znaka. Metoda ni učinkovita,

dokler ni ustvarjena primerna baza definiranih oblik. Težave zaradi tega nastopijo, če se na

dokumentaciji pojavi nedefiniran tip pisave. Bolj napredna skupina metod uporablja princip

ekstrakcije oblik. Metode iz te skupine pred prepoznavo izbrani znak pretvorijo v bolj splošno

vektorsko obliko. Te oblike so sestavljene iz črt, presečišč in zank ter predstavljajo

poenostavljeno podobo izbranega znaka. Naslednji del metode je identičen matričnemu

ujemanju, poenostavljena podoba znaka se primerja s prej definiranimi oblikami in predlaga

najbolj primeren znak. (Wikipedia, 2013c)

Page 25: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

11

S pomočjo informacij pridobljenih v postopku ekstrakcije se izvede klasifikacija znakov. Oba

postopka ste tesno prepletena in občasno v literaturi nista opisana kot ločena postopka.

Medtem ko je proces ekstrakcije odgovoren za izolacijo znaka in nadaljnjo obdelavo znaka, se

proces klasifikacije znakov osredotoča na samo primerjavo med ekstrahiranim znakom in

definiranimi zapisi v bazi. Na podlagi statističnih metod ali algoritmov, ki se lahko pri

novejših OCR sistemih dinamično spreminjajo, postopek prepozna posamezne znake.

Uporabljene metode ali algoritmi so lahko:

Algoritem k najbližjih sosedov – algoritem primerja številske lastnosti znakov,

preprost primer lastnosti je vsota črnih slikovnih pik na ekstrahiranim znaku. V

naslednjem koraku poišče znake, ki se najbolj prilegajo iskanemu na podlagi

omenjene številske lastnosti. Število k nam pove, koliko lastnosti znaka opazujemo.

»Algoritem najbližjih sosedov vsebuje cenjeno teoretično lastnost: z višanjem vzorca

za treniranje, se stopnja napak približuje stopnji napake Bayesovega algoritma, ki je

najnižja možna napaka ob uporabi enakega vzorca.« (Baird in Casey 2006)

Bayesov klasifikator – ena izmed velikih prednosti naivnega Bayesovega

klasifikatorja je ta, da ga ni potrebno učiti vedno od začetka, ampak ga učimo sproti,

tako da popravljamo njegove napake. S tem korigiramo učno množico in zmanjšamo

verjetnost napak pri naslednjih klasifikacijah. (Čuček, 2010)

Pogosto se naenkrat uporablja več pravil ali statističnih metod, s katerimi se izbere najbolj

primeren znak od vseh predlaganih.

Po končani obdelavi lahko zvišamo odstotek pravilno prepoznanih znakov z različnimi

postopki. Pogost primer je združevanje znakov v besede, ki jih nato preverimo v slovarju

besed. OCR sistem ob nizki gotovosti prepoznanega znaka sestavi celotno besedo, v kateri se

nahaja znak in v slovarju poišče besedo, ki se najbolj ujema. V naslednjem koraku se

primerjata znak v sestavljeni besedi in znak v besedi iz slovarja. Ob zadovoljivem ujemanju

se znak potrdi z višjo gotovostjo ali pa se ga zavrne in predlaga drugačen znak. Uporaba

slovarja je odvisna od dokumentacije, ki jo želimo obdelati. V primeru dokumentacije, ki

vsebuje izključno slovenski jezik, lahko uporabimo slovar z izključno slovenskimi besedami

in tako izboljšamo kvaliteto prepoznave. Poleg preverjanja s slovarjem lahko slabo

prepoznane znake iz tega koraka pošljemo v predhodne faze, ki pa v drugem krogu

Page 26: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

12

prepoznave uporabljajo alternativne metode. Če ima ponovno izbrani znak večjo verjetnost

pravilnosti, ga zamenjamo s predhodno izbranim.

Najbolj preprost izhod iz OCR postopka je tekstovni zapis znakov, ki so prisotni na vhodni

sliki. Poleg osnovnega tekstovnega zapisa nekateri OCR programi omogočajo še množico

dodatnih izhodov kot so npr.:

lokacija prepoznanih znakov,

stopnja verjetnosti prepoznanih znakov,

tip, velikost in stil pisave,

razporeditev tabel, slik in teksta.

Dodatni izhodi so izjemno koristi pri izdelavi PDF datotek, po katerih lahko iščemo. Nekatere

rešitve lahko namreč z zgoraj omenjenimi izhodi kreirajo tekstovno plast v PDF dokumentu in

jo na podlagi lokacije prepoznanih znakov povežejo s slikovno plastjo. Na tak način lahko

prikazujemo optično prebrane slike dokumentov, na katerih lahko izberemo želeni tekst.

Slika 2.2: Koraki optične prepoznave znakov

Vir: prirejeno po Trier in drugi (1995, str. 2)

Za uspešno prepoznavo teksta potrebujemo vse zgoraj naštete metode, a na akademskem

področju se največ raziskav osredotoča posveča fazi ekstrakcije in klasifikacije. Razlog za to

je, da procesa ponujata največ matematičnih, statističnih in logičnih izzivov. Prvi OCR

sistemi so uporabljali osnovno metodo ekstrakcije poimenovano kukalo (angl. peephole). Pri

Fizična dokumentacija

Optično branje

Sivinska/črnobela slika

Samostojni znak

Poenostavljena podoba

Prepoznan znak

Prepoznan tekst

Predprocesiranja slike

Ekstrakcija

Klasifikacija

Končana obdelava

Page 27: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

13

metodi opazujemo prej definirane točke (Slika 2.3). Ob pogoju, da je znak vedno na enakem

mestu, lahko določimo, katere točke vsebujejo črnino in na katerih je belo ozadje. Posledično

ustvarimo algoritem, ki nam pove, kateremu znaku pripada kombinacija zaznanih točk.

Težava nastopi, ko želimo prepoznati znake, ki uporabljajo drugačno pisavo, so rotirani ali

slabo natisnjeni. Takšna osnovna metoda se še vedno uporablja pri OMR tehnologiji, na

področju OCR, ICR in IWR pa se razvijajo nove, pogosto zelo kompleksne metode.

Slika 2.3: Metoda kukala

Vir: Shunji in drugi (1992, str. 3)

2.6 Metoda glasovanja

V praksi se pogosto pojavi metoda glasovanja (angl. voting). Dejstvo je, da je 100 % pravilna

prepoznava pri dokumentih slabše kakovosti nemogoča, z metodo glasovanja pa se lahko tej

meji vsaj približamo. Metoda načeloma podpira več različnih OCR sistemov ali različne

variante enega in s kombinacijo posameznih rezultatov v končni fazi pridobi bolj kvaliteten

končni rezultat. Za vsak dodaten OCR pogon se čas obdelave podaljša, zato je potrebno

poiskati pravilno razmerje med hitrostjo in kvaliteto.

Metoda glasovanja obljublja potencialni pristop do bolj zanesljivih rezultatov, kar je potrjeno

tudi s strani mnogih raziskovalcev. Rice in ostali so pri uporabi glasovanja ugotovili možnost

znižanja napak prepoznave za približno 40 %. (Rice in drugi, 1994)

Zanimivo je tudi opaženo dejstvo, da postopek glasovanja postane drastično manj

efektiven ob uporabi enega neprimernega OCR sistema oz. variante OCR sistema. Preveč

Page 28: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

14

drastične razlike med rezultati glasov botrujejo slabim končnim rezultatom glasovanja.

Čeprav glasovanje OCR sistemov ni čudežno zdravilo, pa vseeno ponuja zadovoljive

rezultate, še posebej na področju OCR tehnologije. (Bunke in drugi 1997, str. 237)

Glasovanje je torej smiselno uporabiti ob slabši kvaliteti dokumentacije, a le z OCR pogoni,

ki so za takšne dokumente primerni. Slabost glasovanja je dejstvo, da je potrebno za uspešno

nastavitev pogosto porabiti večjo količino časa. Potrebno je namreč preizkusiti več različnih

OCR sistemov in se prepričati, da rezultati posameznih želenih sistemov drastično ne

odstopajo. Končni rezultat je znižanje napak za približno 40 %, kar pri 96 % pravilno

prepoznanih znakov prinese le odstotek ali dva več. Odstotek več pri pravilni prepoznavi

teksta ni drastična izboljšava, a vseeno lahko prinese konkretno znižanje stroškov pri ročnem

preverjanju rezultatov na dolgi rok.

2.7 Optimizacija OCR postopka

Pogost podporni proces je optimizacija ali treniranje (angl. training) OCR postopka.

Optimizacija OCR je bolj splošen pojem, postopek se lahko uporablja pri metodah ekstrakcije

ali slovarjih. Izraz trening pa se uporablja izključno za izboljšavo metod ekstrakcije.

Nekateri OCR programi imajo zmožnost treniranja. ABBYY ponuja vmesnik, ki omogoča

uporabniku potrditev ali popravek prepoznanih znakov. Na podlagi rezultatov, ki jih

uporabnik podaja, se OCR postopek avtomatično izboljšuje z dodajanjem oblik v bazo.

Ta postopek je izjemno uporaben predvsem za starejše pisave, dokumentacijo slabše

kakovosti ali dokumentacijo s poškodovanimi znaki v celotnem besedilu. Po treniranju si

program zapomni popravke uporabnika in jih aplicira na podobne primere

dokumentacije v prihodnosti. Treniranje je lahko učinkovito vendar je obenem časovno

zahtevno in se iz tega razloga ni uporabljalo za večje projekte digitalizacije. (Rose,

2009)

V obeh primerih optimizacije je v ozadju vzpostavljena baza. V primeru optimizacije metod

prepoznave se v bazo shranjujejo vzorci značilni za specifično dokumentacijo katero želimo

obdelati. Pri optimizaciji slovarjev v bazo dopolnjujemo besede, ki se pogosto pojavljajo in

jih slovar še ne vsebuje. Nasprotno pa lahko iz slovarja brišemo besede, ki se v besedilu ne

Page 29: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

15

smejo pojavljati. Obe optimizaciji se navadno izvajata po končani obdelavi in uporabljata v

naslednjem postopku OCR obdelave.

2.8 Tipi dokumentacije

Na področju implementacije SDK OCR je zagotovo pomembna tudi lastnost dokumentacije,

katere tekst pretvarjamo v digitalno obliko. Ponudniki celovitih plačljivih produktov se

pogosto specializirajo na posamezen tip dokumentov. Pri nekaterih OCR SDK rešitvah je

možno enako kakor pri plačljivih produktih upoštevati lastnosti različnih tipov dokumentacije

in tako izboljšati kvaliteto izhoda. Klasična delitev tipa dokumentov je sledeča:

Strukturirani dokumenti so obrazci. Zanje je značilno, da so podatki, ki jih

želimo zajeti, vedno na istem mestu. Rezultati strojnega zajema so zato pri

obrazcih najboljši, saj natanko vemo, kateri podatek iščemo in kje na

dokumentu ga najdemo. Primeri strukturiranih dokumentov so plačilni nalogi,

obrazci za DDV in dohodninski obrazci.

Polstrukturirani dokumenti so tisti dokumenti, pri katerih vemo, katere podatke

iščemo, ti pa so lahko kjerkoli na dokumentu. Najpogostejši polstrukturirani

dokumenti so računi. Niti dva prejeta računa različnih dobaviteljev nista

enaka, čeprav prav vsak vsebuje enake podatke: datum, številko računa,

davčno številko, znesek. Podatki so pri različnih izdajateljih računov na

različnih mestih. Preden lahko strojno zajamemo vsebino takšnega dokumenta,

moramo z uporabo ustreznih programskih orodij poiskati mesto na računu,

kjer je podatek. Primeri polstrukturiranih dokumentov so poleg računov

dobaviteljev še naročilnice, dobavnice, tovorni listi idr.

Nestrukturirani so tisti dokumenti, pri katerih je uspešna strojna prepoznava

najtežja, saj ne vemo, kateri podatki so pomembni za zajem, niti kje so. Med

take spada večina poslovne korespondence. (Dobrovoljc 2012, str. 12)

V praksi je pred začetkom digitalizacije dokumentov potrebno le-te vsaj osnovno analizirati.

Na podlagi tipa dokumentov se odločimo za najbolj primeren način digitalizacije in zajema

vsebine. V primeru strukturiranih dokumentov je zajem želenih podatkov najlažji, OCR

preprosto usmerimo na definirane lokacije in razberemo želeni podatek. Pri polstrukturiranih

Page 30: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

16

dokumentih se načeloma najprej izvede OCR postopek na celotnem dokumentu. Po

izvedenem OCR procesu v prepoznanem besedilu iščemo ključne besede, ki so lahko

»skupaj«, »€ za plačilo« ali »TRR:«. Program nato zazna znake poleg ključnih besed in tako

pridobi želeni podatek. Pri nestrukturiranih dokumentih navadno izvedemo postopek OCR in

nato uporabljamo izhodni tekst za namene iskanja po dokumentu.

2.9 Implementacija OCR

Izdelati samostojne programe za optično prepoznavo znakov je zelo zahtevna naloga na kar

nakazuje tudi zelo majhno število podjetij, ki delujejo na področju razvoja OCR. Ta podjetja

načeloma ponujajo celovitejše produkte in podporo pri implementaciji v poslovne procese,

redkeje pa ponujajo ogrodje OCR, na katerem stoji celovitejši produkt. Kljub temu se

nekatera podjetja posvečajo tudi razvoju rešitev, ki jih je možno implementirati lastnoročno.

SDK, razvojno orodje ali knjižnica je pojem, s katerim označujemo takšne rešitve. S takšnimi

rešitvami se pokrije t.i. dolgi rep trga, v katerega spadajo majhna in srednja podjetja, ki si

dražjih celovitih produktov nočejo oz. ne morejo privoščiti.

Posamezni uporabniki imajo le redko želje ali znanje po urejanju izvorne kode, ki

poganja programe. Kljub temu morajo biti programi prilagodljivi, načeloma potrebuje

tipični končni uporabnik specifičen nabor funkcionalnosti, ki pogosto odstopajo od

potreb drugega končnega uporabnika. Obstaja torej potreba za razvoj sistema, ki skrbi

za pretvorbo dokumentov, deluje po principu črne škatlice in obenem vsebuje možnosti

prilagajanja nastavitev funkcionalnosti. Navdih lahko črpamo iz ostalih podobnih

primerov, npr. uporaba Excelovih makrojev za prilagajanje obnašanja preglednic.

(Blostein in Nagy 2012, str. 6)

Po implementaciji OCR tehnologije v naš program so za implementacijo zaželeni še podporni

procesi digitalizacije. Funkcijo optičnega branja neposredno v program lahko omogoča

uporaba dodatne TWAIN, WIA (angl. Windows Image Acquisition) ali ISIS (angl. Image and

Scanner Interface Specification) SDK knjižnice. TWAIN, WIA ali ISIS so protokoli, ki

skrbijo za komunikacijo z optičnim čitalnikom oz. drugo slikovno strojno opremo.

Page 31: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

17

3 PRIMERNE OCR SDK REŠITVE

3.1 Argumentacija za izbor rešitev

Produkti izbrani za primerjalno analizo morajo ustrezati osnovnim pogojem, na podlagi

katerih bo lahko primerjava sploh izvedena.

Glavni pogoj za izbor je možnost implementacije v lastne rešitve, kar pomeni, da mora biti

produkt samostojna OCR knjižnica (SDK, angl. Software Development Kit). Takšne knjižnice

lahko uporabimo kot alternativo uporabi dražjih izdelanih produktov ali razvoju lastnih

knjižnic. Primer izdelanega produkta je lahko program FlexiCapture 10 proizvajalca ABBYY,

ki nudi celovito rešitev za zajem in obdelavo dokumentov. Na žalost produkt ni najbolj

primeren za srednja in mala podjetja zaradi svoje okornosti in cene. V končni fazi tako

nastanejo nepotrebni stroški za funkcionalnosti, ki jih sploh ne uporabljamo. Iz tega razloga je

diplomsko delo omejeno na OCR SDK produkte in ne vključuje izdelanih celovitih rešitev.

V primeru prevelikega števila primernih rešitev, se le-te omeji še glede na spodnje

sekundarne pogoje.

Zaželen je izbor tako lastniških OCR SDK kot tudi odprtokodnih knjižnic. Razlog je testiranje

hipoteze, da so odprtokodni produkti zaradi manjšega obsega dokumentacije in podpore manj

primerni kot lastniški produkti. Kljub očitnim razlikam med obema vrstama knjižnic sta le-ti

na trgu konkurenca, kar pomeni, da je med njima mogoča primerjava.

Možnost uporabe programskega jezika, ki je uveljavljen in dobro dokumentiran. Prednost

imajo knjižnice, ki uporabljajo C#, C++ in jih je možno implementirati v .NET okolje.

Področje operacijskega sistema je za OCR knjižnice težko omejiti, implementacija je namreč

na strani uporabnika SDK.

Podpora za več jezikov in pisav je naslednji logični kriterij. Knjižnice brez podpore za

slovenski jezik v prvem koraku ne bodo izključene, bo pa podpora slovenskemu jeziku močan

kriterij pri ocenjevanju produktov. Po mnenju naročnika raziskave je poslovna programska

rešitev brez podpore za slovenske znake v Sloveniji nezanimiva. Pogoj deluje po principu več

Page 32: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

18

je bolje. Knjižnice, ki podpirajo za naše področje izključno eksotične jezike in pisave, kot so

npr. japonščina, devangerska pisava, bengalska pisava itd. se v ocenjevanje ne vključi.

3.2 Komercialni ponudniki

Pregled ponudbe komercialnih podjetij na OCR področju je prvi korak pri iskanju primernih

OCR SDK rešitev. Zanimive informacije bi podala analiza trga na področju programske

opreme namenjene prepoznavi znakov, a takšne raziskave nismo našli. Za potrebe grobe

ocene priljubljenosti ponudnikov OCR rešitev je v nadaljevanju prikazan graf (Graf 3.1)

iskanja poznanih podjetij s področja OCR v iskalniku Google. Na grafu ni prikazanih manj

znanih ponudnikov.

Graf 3.1: Google smernice iskanja OCR ponudnikov

Vir: Google trends (2013)

Na grafu je moč opaziti indeks iskanja ključne besede Abbyy in Naunce ter rešitev Tesseract,

ostali podjetji se glede na iskalni indeks omenjenim niti ne približata.

3.2.1 Abbyy

Abbyy je eno izmed vodilnih evropskih podjetij na področju razvoja OCR rešitev s kar 1250

zaposlenimi. Poleg OCR se osredotočajo na razvoj jezikoslovja ter s pridobljenim znanjem

izboljšujejo odstotek pravilno prepoznanih besed v svojem OCR sistemu. Skupaj s celovitimi

rešitvami za delo z dokumenti nudijo še samostojno OCR knjižnico in programsko opremo

namenjeno prevajanju in pretvarjanju dokumentov. Zanimiva je tudi njihova usmeritev na

mobilne naprave. Dejstvo namreč je, da v zadnjih letih fotoaparati v mobilnih napravah

kreirajo dovolj kvalitetne slike za izvedbo OCR obdelave.

Page 33: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

19

3.2.2 Nuance Communications

Leta 2005 sta se združili podjetji ScanSoft in Nuance ter nadaljevali skupno pot pod imenom

Nuance Communications. Scansoft je bilo uspešno podjetje na področju OCR, podjetje

Nuance pa je delovalo predvsem na področju prepoznave govora. Njihov ključni produkt na

področju OCR je celovita rešitev OmniPage, za katero pa nudijo tudi SDK verzijo. Poleg

OCR se ukvarjajo še s prepoznavo govora, tukaj izstopa rešitev prepoznave govora v

Applovih telefonih poimenovana Siri. Delno se osredotočajo tudi na področje mobilne

tehnologije s priljubljeno aplikacijo Swype in slovarji T9.

3.2.3 ExpertVision

Podjetje se za razliko od konkurence osredotoča izključno na razvoj OCR in svetovalne

storitve s tega področja. Na neodvisnih testih univerze v Nevadi pod okriljem Information

Science Research Institute (ISRI) je bilo s svojim produktom ExpertVision Recognition

Toolkit na vodilnem mestu med leti 1992–1994. Žal deset let stari testi ne povedo mnogo o

trenutnem stanju OCR sistema, trdimo pa lahko, da je podjetje razvijalo OCR na zelo uspešni

osnovi.

3.2.4 LeadTools

Ameriško podjetje z dvajsetletno tradicijo na področju slikovne manipulacije in pretvarjanja

dokumentov. Razvoj in implementacija OCR je sicer ozek del tržne ponudbe, a zaradi

velikega poudarka na predprocesiranju po mnenju podjetja dosega zavidljive rezultate.

Page 34: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

20

3.2.5 Transym

Malo manj znano angleško podjetje, katerega lastnost je, da svoje rešitve ponuja za nizko

ceno. Njihova OCR rešitev se osredotoča ravno na SDK implementacije. Konkurenčna

prednost rešitve je poleg cene še poudarek na evropskih jezikih in branje slabo berljivega

teksta.

3.2.6 Dynamsoft

Mlajše podjetje iz Kanade, poudarja delo z dokumenti revizijo le-teh. Poleg osnovne

dejavnosti ponuja še OCR SDK, ki ga je mogoče implementirati tudi v spletne aplikacije. V

osnovi je njihova OCR rešitev odprtokodni Tesseract OCR sistem.

3.2.7 Aquaforest

Britansko podjetje, ustanovljeno leta 2001, se ukvarja s tokokrogom dokumentov.

Najpomembnejši produkt podjetja je OCR knjižnica, ki poudarja pretvarjanje dokumentov z

možnostjo branja teksta ter črtnih kod.

3.2.8 Nicomsoft

Manjše rusko podjetje, ki ponuja izključno kompakten in preprost OCR SDK. Podjetje je eno

redkih, ki sprejema enkratno plačilo za svoj produkt namesto obračunavanja uporabe. V

primeru interne uporabe je cena še nižja.

Page 35: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

21

3.2.9 Accusoft

Ameriško podjetje ustanovljeno leta 1991. Podjetje je dejavno na različnih področjih:

obdelava dokumentov, razvoj aplikacij za mobilne naprave, razvoj upravljanja z

elektronskimi poslovnimi vsebinami (ECM, angl. Enterprise content management) in

kompresija dokumentov.

3.2.10 Atalasoft

Izdelava knjižnic je glavni trg tega ameriškega podjetja. Glavni produkt, imenovan DotImage,

je OCR SDK z možnostjo integracije v spletne aplikacije ali programske rešitve. Atalasoft je

del bolj prepoznavnega globalnega podjetja Kofax.

3.3 Opis izbranih rešitev

Na podlagi pogojev, opisanih v poglavju 3.1, so v tem poglavju predstavljene knjižnice, ki se

najbolj optimalno prilegajo tem kriterijem. Za nadaljnjo primerjavo je izbranih dvanajst OCR

knjižnic, ki jih je možno implementirati ali okoli njih zgraditi lastno rešitev. Od dvanajstih

knjižnic sta na seznamu dve z odprtokodno licenco.

Vir za opis OCR SDK rešitev so spletne strani ponudnikov rešitev med 1. 5. 2013 in 1. 7.

2013. V primeru navajanja neresničnih dejstev na spletni strani ponudnika so lahko opisi in

ocenjevanje za to rešitev napačni.

Lastniške rešitve so zaradi večje preglednosti razdeljene v tri cenovne razrede:

višji cenovni razred nad 3.000,00 €,

srednji razred med 1.000,00 in 3.000,00 €,

nižji razred pod 1.000,00 €.

Page 36: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

22

3.3.1 Abbyy OCR SDK

Rešitev enega izmed vodilnih podjetij na evropskem področju uporablja OCR knjižnice, ki so

bile razvite za njihov lastniški produkt Abbyy FineReader. Podjetje opisuje svoj SDK kot

izjemno natančno in večkrat nagrajeno rešitev. Cena rešitve na spletni strani ni objavljena, ker

si ceno lahko popolnoma prilagodimo glede na količino prepoznanih znakov, strani oz. število

procesorskih jeder. Po grobi oceni pa lahko rešitev uvrščamo v višji cenovni razred.

Na jezikovnem področju nam ponujajo:

OCR je omogočen za 198 jezikov, od tega jih je 113 podprtih tudi za ICR;

podpora slovenskemu jeziku za OCR, ICR in možnost uporabe slovenskega slovarja;

možnost prilagajanja jezika z optimizacijo slovarja;

podpora nekaterim starejšim jezikom kot je npr. stara angleščina.

Vhodni dokumenti so lahko v formatih: PDF, BMP, PCX, DCX, JPEG, GIF, TIFF, PNG in

DjVu. Po obdelavi lahko shranimo prepoznan tekst v formate DOC, RTF, TXT, XML, XLS,

PPT, DOCX, XLSX, PPTX, PDF, PDF/A. Ob izvozu v DOC, PDF ali RTF se ohrani tekst v

obliki izvornega dokumenta. V izhodni dokument se prenesejo elementi kot so npr. glava,

noga, št. strani, stolpci, tabele … Poleg zaznave osnovnih elementov dokumenta je možna še

zaznava tipa pisave, smeri pisave, slik in tabel skupaj s podnaslovitvijo.

Poleg OCR knjižnice nam nudijo tudi podporo pri delu z datotekami PDF (PDF, angl.

Portable Document Format). V PDF datotekah lahko manipuliramo s t.i. metapodatki, tipi

pisav, tokom vsebine, hiperpovezavami. Omogočeno nam je tudi šifriranje, zaklepanje in

omejevanje nekaterih funkcionalnosti PDF datotek.

Poleg podpore predprocesiranju optično branih dokumentov ponujajo tudi podporo

fotografijam zajetim z digitalnimi fotoaparati. Oba tipa vhodov lahko popravljamo s

funkcionalnostmi predprocesiranja:

avtomatično popravljanje ločljivosti,

ravnanje zamaknjenih posnetkov,

popravljanje zamegljenih posnetkov.

Page 37: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

23

Podpora .NET okolju z možnostjo uporabe sledečih programskih jezikov, za katere so

izdelani testni primeri:

C#,

Visual basic,

Visual C++,

VB script,

Borland Delphi,

Java.

Omogočen je dostop do hipotez oz. verjetnosti prepoznanih znakov, ki se lahko skupaj z

izhodi iz drugih OCR SDK rešitev uporabijo za t.i. glasovanje prepoznanih znakov. Takšna

metoda lahko zviša natančnost prepoznave v našem programu, ker se prepoznava znakov

normalizira. Odstranijo se namreč očitni napačno prepoznani znaki, za pravilnega pa se

vzame največkrat zastopani znak. (Abbyy OCR SDK, 2013)

3.3.2 ExpertVision

ExpertVision ponuja rešitev OpenRTK 7.0, ki je med leti 1992–1994 v Annual Test of OCR

Accuracy izkazovala najboljše rezultate. »Na splošno se je rešitev ExpertVision RTK v

letošnjem testu odrezal najbolje. Konsistentno je prikazovala visoko natančnost. Posebno

dobro se je rešitev obnesla na delno zamaknjenem tekstu, obenem pa ponuja zanesljivost tudi

ob nizki resoluciji skenogramov (200 dpi). Rešitev premore dobre rezultate tudi na področju

zaznavanja oblike dokumenta.« (Rice in drugi 1994, str. 7).

Cena rešitve se prilagaja glede na namen uporabe. Za najnižjo ceno rešitve smo upravičeni do

uporabe našega programa z enim uporabnikom naenkrat in brez možnosti množične

pretvorbe. Za manjše ali srednje veliko podjetje bi bila najbolj primerna verzija za enega

uporabnika z možnostjo množične pretvorbe, ki po pomanjkljivih podatkih s spletne strani

spada v srednji cenovni razred.

SDK nam ponuja delo z vsemi priljubljenimi slikovnimi formati z možnostjo prepoznave

usmeritve in avtomatično rotacijo slike, če je to potrebno.

Page 38: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

24

Področje za OCR prepoznavo se lahko natančno določi. Pri strukturiranih dokumentih, kjer je

podatek vedno na istem mestu, nam to dejstvo prinese pospešen čas obdelave. Nepotrebnega

teksta na tak način ne prepoznavamo, bolj pa se lahko osredotočimo na ključne podatke.

OCR podpira 14 jezikov, med katerimi pa ni slovenščine. Posledično lahko to pomeni, da

znake značilne za slovensko pisavo ta rešitev prepoznava manj optimalno ali sploh ne. Možen

je prenos izvorne pisave, velikosti, tipa in sloga pisave iz izvornega dokumenta. Poleg

naštetih funkcionalnosti je možna ohranitev postavitve teksta.

Vhodni dokumenti so lahko v formatih: PCX, DCX, PDF, BMP, TIFF in JPEG. Izhodni

dokumenti so lahko shranjeni v različnih formatih:

TXT,

HTML,

PDF,

RTF,

XML.

OpenRTK nam za integracijo nudi vmesnik za programiranje (API, angl. application

programming interface), kjer lahko uporabljamo programska jezika C/C++. Pregled

dokumentacije nam je ponujen šele po nakupu rešitve. (ExpertVision OpenRTK, 2013)

3.3.3 OmniPage

OmniPage SDK poleg osnovne OCR, OMR in ICR prepoznave ponuja tudi predprocesiranje

in možnosti za delo s PDF datotekami. Poleg omenjenih funkcij nam ponujajo že

sprogramirane komponente z grafičnim vmesnikom, ki jih lahko preprosto vključimo v naš

program. Omenjena je le najnižja možna cena rešitve, 3.731,00 €, kar rešitev postavi v

kategorijo višjega cenovnega razreda.

Jezikovna podpora obsega 123 svetovnih jezikov. Azijski jeziki so vključeni v tem številu,

vendar jih je potrebno dokupiti. Zanimiva je funkcionalnost dinamičnega prilagajanja jezika.

V primeru spremembe jezika na dokumentih se OCR prilagodi temu jeziku. Posledično nam

programa ni potrebno zaustavljati in prilagajati med delom, kar pomeni, da procesa

prepoznave ni potrebno nadzirati.

Page 39: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

25

OmniPage podpira .NET okolje in predvideva uporabo jezikov C/C++ ali C# in VB.NET.

Ponuja dva vmesnika za programiranje, v katerih nadzorujemo slikovne vhode, prepoznavo in

izhode. Izvajanje je podprto na 64-bitni različici operacijskega sistema Windows in na

večjedrnih procesorjih.

Predviden vhodni format je lahko: TIFF, JPG, BMP, PNG ali PDF. Pri slikovnih formatih je

možna prepoznava barvnih in sivinskih datotek. Kot izhod prepoznave lahko dobimo najbolj

pogost navadni tekstovni zapis, PDF, slikovni zapis, XML, HTML, PDF z možnostjo iskanja

ali PDF z deli neprepoznanega teksta pretvorjenimi v slike.

Na področju predprocesiranja so ponujene naslednje funkcionalnosti:

obračanje slike,

uravnavanje poševne slike,

zrcaljenje slike,

uravnavanje šumov,

spreminjanje ločljivosti.

Unikatna funkcionalnost OmniPage SDK je možnost pretvarjanja prepoznanega teksta v

sintetičen glas. Kot izhod dobimo zvočno datoteko, ki lahko olajša delo z dokumenti za slepe

in slabovidne. Ta funkcionalnost pa nam omogoča tudi branje klasičnih dokumentov na

napravah brez zaslona. (Nuance Communications OmniPage, 2013)

3.3.4 LeadTools

Zelo dobro podprta rešitev imenovana Recognition Imaging Developer Toolkit prihaja izpod

rok podjetja LeadTools. Videovodiči, ki jih ponujajo brezplačno, pomagajo neizkušenim

programerjem razumeti delovanje SDK in olajšajo kreiranje lastnega programa. Rešitev je na

spletni strani proizvajalca zelo dobro in logično predstavljena, kar je pogosto pomanjkljivost

pri ostalih lastniških OCR SDK. Produkt vsebuje več modulov, ki skupaj sestavljajo

Recognition Imaging Developer Toolkit. Poleg omenjene rešitve obstaja možnost nakupa

osem različnih rešitev, ki vsebujejo določene module ali nakup posameznih večjih modulov.

Če želimo razviti rešitev za interno uporabo, spada cena v višji cenovni razred. Najprej je

Page 40: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

26

potrebno kupiti razvojno licenco v vrednosti 3.045,00 €, nato pa še dodatnih 400,00 €/na

uporabnika za uporabo končne rešitve.

Rešitev omogoča uporabo OCR, ICR, OMR, MICR in prilagajanje za prepoznavo podatkov s

strukturiranih obrazcev. OCR omogoča 30 različnih jezikov med katerimi slovenščine ni

omenjene. Mogoča je prepoznava več jezikov na enakem dokumentu zaradi delne prepoznave

dokumenta. Dokument se namreč najprej prepozna v celoti, nato pa se razdeli na več delov za

katere lahko določimo nadaljnje korake pri obdelavi. OCR omogoča sistem glasovanja za

višjo stopnjo pravilne prepoznave ter delno učenje na podlagi prejšnjih primerov. Zanimiva

funkcionalnost je izklop dodatnih funkcionalnosti, ki drastično pospešijo prepoznavo za ceno

kakovosti prepoznave.

Predprocesiranje dokumenta omogoča:

čiščenje šumov,

popravek tiska iz matričnih tiskalnikov,

odstranjevanje črt,

obračanje slik,

uravnavanje poševne slike,

zrcaljenje slike.

Natančen podatek o vhodnih formatih ni znan, modul za delo z datotekami pa podpira 150

različnih formatov. Z uporabo modula je možno pretvarjati vektorske ali nekatere

dokumentne datoteke v rastrski format. Za obdelavo lahko uporabimo le rastrske slike,

predvidevamo lahko torej, da so podprti formati vsaj BMP, TIFF in JPEG.

Izhod prepoznave z lastnostmi izvornega dokumenta je mogoče shraniti v naslednje formate:

PDF, PDF/A,

DOC,

XLS,

XPS,

RTF, TXT,

HTML.

Dodatno je podprto delo z datotekami PDF, kjer lahko urejamo metapodatke, zaščito

dokumentov in ostale lastnosti dokumentov.

Page 41: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

27

V primeru večjega števila dokumentov lahko uporabimo omrežje računalnikov za t.i.

delovanje v oblaku ali pa uporabljamo klasično strežnik-odjemalec strukturo. Uporaba enega

izmed omenjenih načinov pospeši delovanje našega končnega programa ob večjih količinah

vhodnih dokumentov, saj se procesorska moč porazdeli na vse procesorje vključene v

omrežje.

Programska jezika namenjena programiranju v API, sta C in C++. Poleg API lahko

uporabljamo .NET okolje (C#, VB, C++/CLI, XAML), kjer kličemo funkcionalnosti iz

knjižnice. Nekateri moduli podpirajo spletne rešitve, kjer se uporablja JavaScript. (LeadTools

Recognition Imaging Developer Toolkit, 2013)

3.3.5 Transym

TOCR 4.0 je rešitev, predvidena izključno za izdelavo lastnih programov ali integracijo v

obstoječ program. Poleg omenjenega je rešitev osredotočena na kakovost in ne na hitrost, kar

zmanjša potrebo po preverjanju obdelanih dokumentov. Za uporabnike je najbrž zanimiva

nizka cena rešitve SDK. Cena rešitve je 70,00 €, kar je v primerjavi z nekaterimi ostalimi

lastniškimi rešitvami drastično nižje in tako spada v nižji cenovni razred.

Rešitev ne razlikuje tipov pisave na vhodu (izjema je OCR-B) in ponuja izhod v enotnem tipu

pisave. OCR podpira enajst različnih jezikov, med katerimi ni slovenščine. Predogled tabele

znakov, ki jih rešitev lahko prepozna, pokaže možnost prepoznave vseh šumnikov z izjemo č

in Č. Obdelava je možna z ali brez tabele verjetnosti oz. frekvenc, ki poveča kvaliteto

prepoznave glede na sosednje znake.

Vhod sta lahko samo BMP ali TIFF, po obdelavi pa je možno prepoznani tekst izvoziti v

tekstovni zapis. Rešitev vsebuje vmesnik TWAIN za optično branje, s katerim lahko optično

preberemo dokument neposredno v naš program.

Podprta sta programska jezika Visual Basic in C++, možno je prilagoditi strukturo za uporabo

v ostalih jezikih. Dokumentacija je dostopna samo za programski jezik VB.NET, testni

primeri so dostopni za naslednje jezike:

VB.NET,

VB6,

Page 42: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

28

C#,

C/C++,

Delphi,

Python.

(Transym TOCR 4.0, 2013)

3.3.6 Dynamsoft OCR

Vmesnik imenovan Dynamic .NET Twain je komercialna rešitev, v katero lahko vključimo

Tesseract OCR knjižnico. Rešitev je predvidena za programerje, knjižnice pa lahko prek

vmesnika kličemo v programskem jeziku C++. Cena rešitve spada v srednji razred s

preračunanimi 2.890,00 € za osnovno rešitev optičnega branja, modul prepoznave črtnih kod

in modul OCR prepoznave.

Za vhod so predvidene rastrske slike v formatih: TIFF, JPG, GIF, PNG, BMP. Slike lahko

zajemamo neposredno iz optičnega bralnika, digitalnega fotoaparata ali spletne kamere.

Trenutno je možno uporabiti 40 različnih jezikov, spisek jezikov pa se širi zaradi

konstantnega razvoja Tesseract knjižnice. Kakovost branja različnih jezikov se razlikuje

zaradi boljše optimizacije bolj zastopanih jezikov. Uporabniki lahko namreč sami prispevajo

svojo optimizacijo (angl. training). Poleg OCR je podprt tudi ICR za prepoznavo ročno

pisanega besedila.

V izhodu lahko ohranimo pisavo, velikost in položaj teksta. Zanimiva je lastnost slike nad

tekstom (angl. Image-Over-Text), kar omogoča ogled izvornega dokumenta z možnostjo

iskanja, kopiranja ali izbiro po tekstu.

Več informacij o samem OCR sistemu se nahaja pri opisu rešitve Tesseract. (Dynamsoft

Dynamic .NET Twain, 2013)

Page 43: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

29

3.3.7 Aquaforest

Aquaforest OCR SDK je rešitev srednjega cenovnega razreda, ki opravičuje svoj cenovni

razred z dodatnimi lastnostmi na področju predprocesiranja vhodov v OCR sistem. Ponujene

so tri različice rešitve; osnovna verzija stane 1.144,00 €, standardna različica 2.292,00 €,

napredna različica pa 3.057,00 €. Standardna različica nam nudi delo z več procesorskimi

jedri in vhod ali izhod prepoznave v PDF formatu. Napredna verzija pa nam ponuja

neomejeno uporabo procesorja, algoritem stiskanja za PDF format in optimizacijo OCR

sistema. V nadaljevanju predvidevamo uporabo napredne verzije, kar pomeni, da rešitev

spada v višji cenovni razred.

Vhodi v rešitev so lahko v formatu TIFF, BMP ali PDF. Izhodi pa so možni v formatu PDF,

RTF in TXT. Vhode lahko optimiziramo z različnimi funkcijami predprocesiranja:

čiščenje šumov,

uravnavanje poševne slike,

odstranjevanje črt,

avtomatično obračanje slik.

Omogočena je uporaba .NET okolja, v katerem so testnimi primeri in dokumentacijo podprti

naslednji programski jeziki:

C#,

VB.NET,

ASP.NET.

Za uporabo je optimiziranih 40 jezikov, žal pa je spletna stran ponudnika skopa s podatki,

zato ni znano, če je slovenščina v ta seznam vključena. (Aquaforest OCR SDK 2013)

Page 44: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

30

3.3.8 Nicomsoft

Rešitev v primeru interne uporabe, kjer je dovoljena uporaba le za interni razvoj in uporabo,

spada v nižji cenovni razred s preračunano ceno 304,00 €. Osnovno verzijo, s katero smo

upravičeni do preprodaje našega programa, lahko kupimo za 1.068,00 €. V ceno je vključena

še podpora za šest mesecev in dostop do posodobitev. Predvidevamo uporabo napredne

licence, zato rešitev spada v srednji cenovni razred.

Med 26 podprtimi jeziki se nahaja tudi slovenščina, možna pa je uporaba ICR za numerične

znake in OMR za črtne kode. Za obdelavo na celotni strani ali specifičnem področju lahko

uporabimo več jezikov naenkrat, kar je koristno pri dokumentih, na katerih je uporabljenih

več jezikov. Dodatne funkcionalnosti, ki lahko dvignejo kvaliteto prepoznave:

uporaba slovarjev,

prilagajanje slovarjev,

uporaba regularnih izrazov,

izključitev želenih znakov iz prepoznave,

prilagajanje lastnosti za specifičen del slike.

Vhodi in izhodi so standardni slikovni formati BMP, JPG, PNG, TIFF, GIF izhod pa je

mogoč v formatu PDF, RTF in TXT. Izvoz v PDF omogoča ohranitev postavitve identične

izvornemu dokumentu. Za vhod lahko uporabimo dokument neposredno iz optičnega čitalnika

zaradi podpore vmesnikov TWAIN in WIA.

Kot funkcije predprocesiranja so navedene:

avtomatično obračanje slik,

obračanje in zrcaljenje dela oz. celotne slike,

uravnavanje poševne slike,

binarizacija.

Podprto je okolje .NET s testnimi primeri za naslednje jezike:

C#,

C/C++,

Page 45: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

31

VB.NET,

Delphi,

Visual Basic,

VBScript,

JScript.

(Nicomsoft OCR SDK, 2013)

3.3.9 ImageGear

Podjetje Accusoft nudi celovitejšo rešitev, ki poleg OCR podpira še napredno delo z

datotekami in vektorskimi slikami, napredno predprocesiranje rastrskih slik, tiskanje,

dodajanje opomb dokumentom, delo v oblaku in integracije v spletno okolje. Zaradi dodatnih

funkcionalnosti se rešitev uvršča v višji cenovni razred. Za SDK, ki je predviden za interno

uporabo, moramo odšteti 4.200,00 €.

Rešitev podpira delo z več kot 100 različnimi formati datotek, s katerimi lahko manipuliramo

pred in po OCR obdelavi. Slednjo lahko izvedemo samo za rastrske slike, ki jih lahko

uvozimo neposredno iz optičnega čitalnika. Format izhodnih datotek je lahko PDF, TXT,

RTF, HTML ali XML. V izhod lahko izvozimo še pisavo in postavitev identično izvornemu

dokumentu.

OCR podpira več kot 100 jezikov, med katerimi je navedena tudi slovenščina. Črtne kode

lahko prepoznavamo (in zapisujemo) z ločenim modulom za OMR tehnologijo.

Okolje .NET je podprto skupaj z obsežno dokumentacijo in primeri v programskem jeziku

C#. (Accusoft ImageGear, 2013)

3.3.10 DotImage

Atalasoft ponuja rešitev, ki se osredotoča predvsem na predprocesiranje in za OCR postopke

ne uporablja lastnih OCR knjižnic. Ponujena nam je izbira:

Tesseract OCR – 1.140,00 €,

Page 46: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

32

GlyphReader OCR – 1.600,00 €,

RecoStar ICR/OCR – 4.573,00 €.

Poleg osnovne različice uporabimo brezplačno knjižnico za predprocesiranje slik. Brezplačno

različico lahko uporabimo kot dopolnitev nekaterim drugim OCR SDK rešitvam, ki ne

podpirajo predprocesiranja, tako ekonomično pridobimo dodatne funkcionalnosti za naš

program. Cena za osnovno rešitev DotImage Document Imaging je 2.302,00 €, poleg osnovne

rešitve predvidevamo še nakup RecoStar ICR/OCR modula. Končna cena je torej 6.875,00 €,

kar uvrsti rešitev v višji cenovni razred.

Kot vhode v rešitev lahko uporabljamo rastrske slike, ki jih lahko pred OCR postopki

obdelamo z naslednjimi funkcionalnostmi:

obrezovanje slike,

obračanje,

stiskanje slik,

urejanje metapodatkov,

odstranjevanje šumov,

odstranjevanje robov.

Osnovna rešitev omogoča še uporabo vmesnika TWAIN, ki omogoča neposredno optično

branje v program.

Tehnologija OMR namenjena branju črtnih kod je v rešitev že vključena, za namene OCR pa

izberemo še želen modul. RecoStar modul podpira:

prepoznavo 32 jezikov,

uporabo slovarjev,

TIFF, JPG, JFIF, BMP in PCX kot vhod,

OCR ali ICR prepoznavo,

izhod v tekstovnem ali PDF formatu,

ohranjanje postavitve izvornega dokumenta,

izhod internih OCR podatkov,

C++, C ali Visual C za programiranje.

(Accusoft DotImage, 2013)

Page 47: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

33

3.3.11 Puma.NET

Jedro programa CuneiForm je podjetje Cognitive Technologies izdalo kot odprtokodno po več

letih stagnacije na področju razvoja. Maxim Saplin je knjižnico prilagodil za potrebe

svetovnega trga tako, da jo je možno uporabljati v .NET okolju. Obenem je napisal osnovno

dokumentacijo v angleškem jeziku. Svojo iteracijo knjižnice je Maxim poimenoval Puma.net

Knjižnica je zelo osnovna in osredotočena le na prepoznavo znakov z rastrskih slik.

Pomanjkljivost rešitve je, da ne podpira predprocesiranja ali dela z množično obdelavo.

Rešitev je optimizirana za prepoznavanje dokumentov s slabšo kvaliteto. Podpira 27 jezikov

med katerimi je tudi slovenščina. Omogoča preverjanje črkovanja in avtomatično popravljanje

napak. OCR lahko zazna velikost, stil in obliko pisave in nato vse lastnosti skupaj s

postavitvijo besedila shrani v formate TXT, RTF ali HTML.

Vhodi so lahko BMP, GIF, EXIG, JPG, PNG ali TIFF.

Že iz imena rešitve vidimo, da Puma.Net podpira .NET okolje. Poleg izvorne kode lahko

brezplačno prenesemo še dokumentacijo in primere v programskem jeziku C#.

Kot zanimivost, CuneiForm je pred odprtokodno izdajo konkuriralo podjetju Abbyy, ki je

trenutno eno večjih podjetij na področju OCR tehnologij. (Puma.NET, 2013)

3.3.12 Tesseract

Jedro rešitve prihaja iz laboratorijev podjetja Hewlett Packard, ki je po opustitvi razvoja

skupaj z Univerzo v Nevadi izdalo odprtokodno različico v letu 2005. Razvoj odprtokodne

rešitve od leta 2006 dalje sponzorira Google, glavni razvijalec pa je Ray Smith.

Knjižnica ne podpira predprocesiranja slik, uporabniki rešitve Tesseract zaradi tega pogosto

uporabljajo še ostale knjižnice, ki omogočajo funkcionalnosti predprocesiranja slik. Rešitev

obljublja kar 98 % natančnost pri prepoznavi angleškega jezika. Z dostopom do internih

podatkov zanesljivosti prepoznanih znakov lahko uporabljamo Tesseract skupaj z drugimi

rešitvami v metodi glasovanja. Optimizacija za ostale jezike, med katerimi je tudi slovenščina,

je dostopna za prenos, možno pa je kreirati lastno optimizacijo z želenimi znaki. Optimizacija

Page 48: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

34

se shrani v datoteko, ki jo nato preberemo med izvajanjem OCR postopka. Optimiziranih je

63 jezikov, med njimi so tudi nekateri starejši jeziki npr. srednja angleščina (12–15 stol.),

stara grščina …

Obdelati je možno le slike v formatu TIFF. Knjižnica omogoča tekstovni izhod, skupnost pa s

svojim prostovoljnim delom izdaja različne rešitve s katerimi lahko implementiramo dodatne

funkcionalnosti, kot je npr. izdelava PDF datotek. Rešitev nam poleg karakteristik

prepoznanega teksta ponuja še prepoznavo postavitve in umestitve teksta na dokumentu.

Izvorna koda rešitve je zapisana v programskem jeziku VC++, knjižnico pa je možno

implementirati v .NET okolje, kjer lahko uporabimo ostale programske jezike. Dokumentacija

in primeri uporabe so dostopni na spletu, kjer jih dopolnjujejo uporabniki rešitve. (Tesseract

OCR engine, 2013)

4 KRITERIJI OCENJEVANJA

Za potrebe lažjega ocenjevanja predstavljenih rešitev so v nadaljevanju postavljeni kriteriji, ki

bodo služili kot izhodišče za pripravo preglednice rešitev. Kriteriji imajo v nadaljevanju poleg

opisa določeno tudi utež, s pomočjo katere lahko pripišem večji pomen nekaterim kriterijem.

Utež se v poglavju ocenjevanje produkta uporabi za izračun ocene OCR SDK rešitev, na

podlagi katere bomo lahko izbrali najprimernejše rešitve. Najnižja možna utež ima negativno

stopnjo –10, najvišja utež pa ima stopnjo 7.

Določanje kriterijev ocenjevanja je sovpadalo s prvim raziskovalnim vprašanjem, ki se glasi:

»Kakšne funkcionalnosti potrebuje dobra OCR SDK rešitev?« Najprej so bili izbrani splošni

kriteriji, ki se tičejo OCR SDK rešitev:

cena rešitve,

natančnost prepoznave OCR procesa,

število podprtih jezikov v OCR procesu,

podpora ICR in OMR,

Page 49: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

35

podpora .NET okolju.

Zgoraj našteti kriteriji se nanašajo predvsem na samo OCR tehnologijo in implementacijo le-

te v naš program. Poleg OCR tehnologije sta omenjeni še tehnologiji OMR in ICR, ki

omogočata obdelavo dokumentacije, kjer nam izključno tekst z dokumenta ne pomeni veliko.

V nadaljnjem koraku so bili določeni bolj specifični kriteriji. Določene funkcionalnosti so se

ob pregledovanju rešitev pogosto pojavljale in so bile zato vključene kot kriteriji ocenjevanja:

uporaba slovarjev in optimizacija OCR jezikov;

podpora optičnim čitalnikom;

predprocesiranje vhodnih skenogramov;

število različnih vhodnih in izhodnih formatov v postopku OCR obdelave;

prepoznava lastnosti pisave in ohranjanje teh lastnosti v izhodu OCR;

ohranjanje oblike dokumenta;

število različnih programskih jezikov, s katerimi lahko knjižnico uporabljamo;

dostop do internih podatkov OCR obdelave.

Omenjeni kriteriji označujejo podporne procese OCR tehnologije. Ti procesi vključujejo

optično branje dokumentacije ter napredne funkcionalnosti, ki pripomorejo h kvaliteti OCR

procesa.

V zadnjem koraku sta bila določena še kriterija, ki upoštevata uporabo knjižnic v manjših ali

srednje velikih slovenskih podjetjih:

prepoznava specifičnih lastnosti slovenskega jezika,

dostop do dokumentacije in primerov uporabe rešitev.

Kriterija se osredotočata na dejstvo, da naročnik analize prisoten na slovenskem trgu in z

implementacijo OCR SDK rešitve v lastnem programu cilja na potrebe malih in srednje

velikih podjetij.

4.1 Optimalna rešitev

Želja naročnika, ki je podal predlog za raziskavo OCR SDK rešitev, je poiskati najbolj

optimalno rešitev na trgu. Podjetje želi rešitev, ki jo bo možno implementirati v samostojni

Page 50: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

36

program namenjen zajemu podatkov z dokumentacije polstrukturiranega tipa. Najbolj

zaželena je prepoznava podatkov s prejetih računov. Za takšen tip dokumentov je najbolj

smiselno izvesti OCR postopek na dokumentih in nato z lastnim razvojem in uporabo internih

OCR podatkov o postavitvi znakov zaznati ključne podatke v prepoznanem tekstu. Močan

poudarek je namenjen podpori slovenskega jezika v OCR postopku in dostopu do

dokumentacije skupaj s primeri uporabe, ki bi drastično olajšali začetno implementacijo

rešitve v program.

4.2 Opis izbranih kriterijev

4.2.1 Cena rešitve

Cena je zagotovo eden izmed najbolj pomembnih faktorjev pri iskanju primerne rešitve.

Zaradi lažje preglednosti in pomanjkljivega podatka o ceni pri nekaterih rešitvah je poleg

specifične cene rešitve postavljen tudi cenovni razred rešitve. Omeniti je vredno, da lahko pri

večini rešitev prilagodimo licenco glede na število obdelanih strani, prepoznanih znakov,

procesorskih jeder ipd., kar lahko drastično spremeni ceno. V diplomski nalogi se navaja cena

licenc brez omejitve števila obdelanih strani ali znakov. Utež kriterija je negativno

predznačena, ker je višja cena negativna lastnost rešitve. Utež kriterija je postavljena tako, da

rešitve iz najvišjega cenovnega razreda zgubijo večje število točk. Razlog za to odločitev je

prilagajanje končnim uporabnikom naročnika, ki se osredotoča na srednja in majhna podjetja.

Utež kriterija: –10 (minus 10)

4.2.2 Natančnost prepoznave

Kakovost OCR obdelave je naslednja pomembna lastnost OCR SDK rešitve. Zaradi časovne

omejenosti se v diplomski nalogi testiranje ne bo izvajalo, predvidena pa je izbira najbolj

primernih rešitev za izvedbo dotičnega testiranja izven sklopa diplomske naloge. Za namene

testiranja so na voljo skenogrami, ki jih je Information Science Research Institute uporabljal

za testiranje OCR rešitev med leti 1992 do 1996. Skenograme lahko prenesemo s spletne

Page 51: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

37

strani: https://code.google.com/p/isri-ocr-evaluation-tools/. Testiranje se bo izvajalo na

prototipnih implementacijah rešitev.

Utež kriterija: / (kriterij se ne uporabi)

4.2.3 Podpora slovenskemu jeziku

Zaradi specifičnih znakov v slovenski abecedi je eden izmed pomembnejših kriterijev tudi

uspešnost OCR sistema pri prepoznavi šumnikov. Poleg branja specifičnih znakov je

pozitivna lastnost tudi optimizacija za slovenski jezik s prej pripravljenimi slovarji. Dejstvo,

da je končni program namenjen slovenskemu trgu, daje kriteriju močno pomembnost.

Utež kriterija: 7

4.2.4 Podpora jezikom

Širša izbira jezikov je za OCR rešitev dodatna vrednost. Pogosto se pri poslovanju s tujimi

partnerji pojavlja dokumentacija, ki ni v slovenskem jeziku. Kakovost prepoznave je navadno

višja, če OCR rešitev uspešno prepozna tudi specifične znake za tuje jezike, kakor je npr. ß v

nemškem jeziku. V kategorijo spada tudi optimizacija specifičnih lastnosti, ki se pojavljajo pri

ročno pisanem besedilu. Slog pisanja se namreč med različnimi jeziki zaradi različnih

dejavnikov lahko očitno razlikuje. Zaradi velikega števila podprtih jezikov pri nekaterih

rešitvah se kriterij ocenjuje z 0.05 točk na jezik. Na ta način se skupna ocena s 100 podprtimi

jeziki zviša le za 5 točk, kar ne vpliva drastično na skupno oceno.

Utež kriterija: 0.05/jezik

4.2.5 Uporaba slovarjev in optimizacija OCR jezikov

Optimizacija se pri OCR rešitvah pojavlja v obliki uporabe slovarjev, ki omogočajo višjo

kvaliteto prepoznave teksta. V slovarju so navadno navedene pogosto uporabljene besede, na

Page 52: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

38

katere se sklicuje OCR pri slabo prepoznanem znaku. Primer: OCR prepozna sledeč niz:

»k*jiga«. Po iskanju v slovarju se najde primerna beseda: »knjiga«. Sistem nato primerja oba

znaka na enakem mestu in ob dovolj visoki gotovosti zamenja neprepoznan znak »*« z »n«.

Alternativa optimizaciji s slovarji ne vključuje zbirke besed, na katero se sistem sklicuje,

ampak samo posamezne znake. Tako lahko v primeru večkratne napačne prepoznave

zamenjamo določene nize ali znake z drugačnim znakom. Primer: niz »r ' n« je pogosto

prepoznan namesto znaka »m«, ta niz lahko v sistemu zamenjamo z znakom »m«. Če se niz

pojavi dovolj redko ali sploh ne, nam kakovost prepoznave zraste. Omenjene funkcionalnosti

so zelo koristen podporni proces OCR tehnologije, ki kljub časovni zahtevnosti prinaša

konkretne rezultate.

Utež kriterija: 5

4.2.6 Podpora optičnim čitalnikom

Pretvarjanje dokumentov iz fizične v digitalno obliko načeloma poteka s pomočjo optičnih

čitalnikov. Nekatere OCR rešitve omogočajo podporo neposrednemu zajemu dokumentov s

pomočjo standardov TWAIN, WIA ali ISIS. S to funkcionalnostjo se izognemo potrebi po

uporabi specifične programske opreme namenjene optičnemu branju in dodatnemu koraku

shranjevanja ter dostopa do datoteke s sliko dokumenta. Kljub priročnosti je ta

funkcionalnosti manj pomembna, predvsem pri večji količini dokumentacije. V praksi

navadno optično preberemo množico dokumentov in nato z OCR tehnologijo obdelujemo več

dokumentov naenkrat.

Utež kriterija: 3

4.2.7 Predprocesiranje

Pomembna funkcionalnost za zagotavljanje kvalitetne OCR prepoznave je tudi priprava slik

za obdelavo. V skupino predprocesiranje spadajo sledeče funkcionalnosti:

obrezovanje,

Page 53: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

39

obračanje,

stiskanje,

odstranjevanje šumov,

odstranjevanje robov,

binarizacija,

segmentacija.

S spleta je možno prenesti brezplačne knjižnice, ki omogočajo izvedbo zgoraj naštetih

funkcionalnosti, vendar možnost predprocesiranja v OCR rešitvi olajša izdelavo lastnega

programa. Optimiziran postopek funkcionalnosti lahko zviša kvaliteto prepoznanega teksta

oz. omogoči prepoznavo teksta tudi pri dokumentaciji v slabši kvaliteti.

Utež kriterija: 5

4.2.8 Formati vhodov

Širok nabor formatov datotek, ki jih lahko uporabimo v OCR sistemu, je manj pomemben

kriterij. Razlog je, da v praksi večinoma uporablja le formata TIFF in JPG. Oba formata

namreč pogosto podpirajo tako optični čitalniki, kot tudi ostale naprave za pretvarjanje fizične

dokumentacije. Formata sta postala nekakšen nenapisan standard za vhod procesa OCR

obdelave. Format TIFF uporabljajo vse rešitve medtem ko format JPG uporablja velika večina

rešitev. Poleg odličnih kompresijskih lastnosti je možno v eno datoteko TIF zapisati več slik

naenkrat. Takšne datoteke se imenujejo večstranske datoteke TIF in se pogosto uporabljajo

zaradi svoje priročnosti.

Utež kriterija: 0,5

4.2.9 Prepoznava in izhod lastnosti pisave

Nekatere rešitve lahko zaznajo različne karakteristike prepoznanega teksta, kot so:

velikost pisave;

slog pisave: krepko, podčrtano ali ležeče;

Page 54: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

40

tip pisave: Times New Roman, Arial …

Glavna prednost takšne zaznave je možnost izvoza karakteristik v izhod OCR sistema.

Izhodno besedilo je posledično bolj podobno izvornemu, kar pa pri nekaterih tipih

dokumentacije ni glavni cilj.

Utež kriterija: 4

4.2.10 Ohranjanje oblike dokumenta

Nekatere rešitve lahko zaznajo obliko dokumenta, kot so npr. stolpci. V končni fazi je zaradi

te lastnosti izhod OCR sistema bolj podoben izvornemu dokumentu. Lastnost je koristna

predvsem, ko imamo dokumentacijo v več vzporednih stolpcih in ne želimo prepoznavati

teksta čez celotno stran. Na tak način namreč popolnoma izgubimo kontekst besedila.

Priljubljena alternativa tej funkcionalnosti je zapis položaja teksta skupaj s prepoznanim

tekstom in sliko dokumenta v iskalno PDF datoteko. Vhodni in izhodni dokument sta na tak

način popolnoma identična, razlika je edino v možnosti tekstovnega iskanja ali kopiranja

besedila iz izhodnega dokumenta. Pomembnost funkcionalnosti je popolnoma odvisna od tipa

dokumentacije in naših potreb, zato je utež kriterija srednje visoka.

Utež kriterija: 5

4.2.11 Formati izhodov

Širok nabor formatov datotek, ki jih OCR sistem kreira kot svoj izhod je pomembna lastnost

za OCR SDK rešitve. Medtem ko so vhodni formati v praksi večinoma podobni, se izhodni

formati pogosto razlikujejo glede na različne potrebe uporabnikov rešitve. Najpogostejša sta

preprost tekstovni izhod in priljubljeni format PDF. Poleg omenjenih pa poznamo še množico

drugačnih formatov, najbolj pogosti so:

XML,

XPS,

RTF,

Page 55: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

41

DOCX.

Utež je zaradi tega razloga višja kakor pri kriteriju vhodnih formatov.

Utež kriterija: 1

4.2.12 Podpora ICR

Prepoznava ročno pisanega besedila prinaša rešitvi visoko dodano vrednost, čeprav je splošna

uporaba te funkcionalnosti zaradi nizke natančnosti manj pogosta. ICR sistemi se načeloma

pojavljajo pri prepoznavanju vsebine strukturiranih obrazcev, kjer se izpolnjuje prej določena

polja. Če je lastnost polja že vnaprej znana, lahko ICR dosega zadovoljive rezultate. Uporaba

ICR tehnologije je še posebno pogosta pri prepoznavi ročno pisanih števil, zato nekatere

rešitve z ICR podpirajo samo arabska numerična števila. Kriterij ima zelo visoko utež, ker je

tehnologija ICR že sama po sebi uporabna v skoraj enaki meri kakor OCR.

Utež kriterija: 7

4.2.13 Podpora OMR

Prepoznava vzorcev je pogosto sestavni del OCR SDK rešitve. Predvsem črtne kode so na

področju pretvarjanja dokumentacije zelo pogoste. Pogosto namreč črtne kode označujejo

vodilni dokument v seriji dokumentov, kar nam omogoča izdelavo avtomatičnih tokokrogov

za ločevanje dokumentacije. Zaradi visoke uporabnosti OMR tehnologije nekatere rešitve

ponujajo možnost zakupa dodatnega OMR modula. Kljub dodatnem doplačilu pri nekaterih

ocenjevanih rešitvah, je OMR modul vedno, kadar je to bilo možno, vključen v rešitev. Zaradi

visoke priljubljenosti črtnih ali kod QR na dokumentaciji je podpora OMR tehnologiji

pomembnejši kriterij.

Utež kriterija: 7

Page 56: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

42

4.2.14 Podpora .NET okolju

Uporaba .NET okolja prinaša mnogo prednosti, ki omogočajo lažjo implementacijo OCR

SDK v naš progam. Uporaba različnih programskih jezikov, učinkovit vmesnik za

programiranje, podpora namiznim ali spletnim aplikacijam in preprosto vključevanje knjižnic

so glavne prednosti. Podpora .NET okolju v kombinaciji s primeri za uporabo knjižnice OCR

lahko drastično zmanjšajo čas in zahtevnost izdelave lastnega programa.

Utež kriterija: 7

4.2.15 Podprti programski jeziki

Širši nabor programskih jezikov namenjenih implementaciji knjižnice v končni program je

manj pomemben kriterij. Dodatna izbira je sicer prednost, ampak obenem kakovost

dokumentacije in primerov z večjim številom programskih jezikov pada.

Utež kriterija: 1

4.2.16 Dokumentacija in primeri

Dobro dokumentiran in s primeri podprt postopek uporabe OCR knjižnice olajša delo tako

manj izkušenim kakor tudi izkušenim programerjem. Iz tega preprostega razloga je ta kriterij

dokaj pomemben pri ocenjevanju. Kriterij je izpolnjen, če je dokumentacija omenjena na

spletni strani produkta. Omeniti pa je potrebno, da se kakovost dokumentacije in primerov ne

preverja zaradi časovne omejitve.

Utež kriterija: 7

Page 57: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

43

4.2.17 Dostop do internih OCR podatkov

Ob izdelavi bolj naprednih programov, ki uporabljajo metodo glasovanja in tako zvišujejo

kvaliteto OCR prepoznave, je podatek o verjetnosti pravilno prepoznanega znaka obvezen.

Prednost rešitve je torej možnost dostopa do vseh podatkov, s katerimi OCR sistem operira.

Kriterij je težko merljiv, ker se podatki med rešitvami drastično razlikujejo, zaradi tega je

manj pomemben. Poleg tega se lahko kriterij zadostno preveri šele po implementaciji v

prototipni program.

Utež kriterija: 2

5 OCENJEVANJE OCR SDK REŠITEV

V poglavju je najprej prikazano pridobljeno znanje o rešitvah OCR SDK. V nadaljevanju so te

informacije uporabljene za izračun ocene rešitve, glede na kriterije ocenjevanja

5.1 Preglednica OCR SDK rešitev

V preglednici so združene vse opisane rešitve skupaj s predvidenimi kriteriji za ocenjevanje

ter navedenimi rezultati. Pri cenovnem kriteriju je naveden cenovni razred v katerega se

rešitev uvršča, v primeru odprtokodnih rešitev pa trga kriterija ne upoštevamo. Naslednji tip

kriterija je številski, kjer se navede količina, s katero je kriteriju zadoščeno. Pri ostalih

kriterijih se navede ali rešitev izpolnjuje pogoje kriterija, kar je označeno z »✓«, ob

neizpolnjevanju se uporabi znak »X«.

Page 58: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

44

Tabela 5.1: Prikaz funkcionalnosti

Kriterij \ Rešitev

AB

BY

Y

ExpertV

ision

Om

niPage

Lead T

ools

Transym

Dynam

soft

Aquaforest

Nicom

soft

ImageG

ear

DotIm

age

Pum

a.net

Tesseract

Cena rešitve

3 2 3 3 1 2 3 2 3 3 / /

Podpora slovenskemu

jeziku ✓ X ✓ X X ✓ X ✓ ✓ ✓ ✓ ✓

Podpora jezikom

198 14 123 30 12 40 20 26 100 32 27 63

Uporaba slovarjev in

optimizacija OCR

jezikov

✓ ✓ X ✓ ✓ ✓ X ✓ X ✓ X ✓

Podpora optičnim

čitalnikom ✓ X ✓ ✓ ✓ ✓ X ✓ ✓ ✓ X X

Predprocesiranje

✓ X ✓ ✓ X X ✓ ✓ ✓ ✓ X X

Formati vhodov

8 6 5 3 2 5 3 5 2 5 6 1

Prepoznava in izhod

lastnosti pisave ✓ ✓ X ✓ X ✓ X X ✓ X ✓ ✓

Ohranjanje oblike

dokumenta ✓ X X ✓ X ✓ ✓ ✓ ✓ ✓ ✓ ✓

Formati izhodov

11 5 6 7 1 2 3 3 5 2 3 1

Page 59: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

45

Podpora ICR

✓ X ✓ ✓ X ✓ X ✓/2 X ✓ X X

Podpora OMR

✓ X ✓ ✓ X ✓ X ✓ ✓ ✓ X X

Podpora .NET okolju

✓ X ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

Podprti programski jeziki

6 2 4 6 6 2 3 7 1 3 1 1

Dokumentacija in

primeri ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

Dostop do internih OCR

podatkov ✓ X X ✓ X ✓ ✓ ✓ ✓ ✓ X ✓

Vir: Kegljevič, lastna raziskava (2013)

5.2 Ocenjevanje rešitev

V preglednici 5.2 so navedeni rezultati ocenjevanja. V primeru številskega kriterija je ocena

rešitve zmnožek uteži in količine, ki jo je rešitev dosegla. Pri ostalih kriterijih je v primeru

izpolnitve kriterija ocena kar utež sama, v nasprotnem primeru pa je ocena enaka nič. V zadnji

vrstici je naveden in na eno decimalno vejico zaokrožen seštevek vseh ocen za posamezno

rešitev. Do skupnega seštevka posamezne rešitve pridemo po naslednji enačbi:

� = (�� ∗ ��) + (�� ∗ ��) … + (��� ∗ ���)

Kjer je:

� … ���ž ���������

� … �������� ��� ��� ��š���� ��� ��������� (������ 5.1)

� … ������ ��š����� ��������ℎ ����������

Page 60: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

46

Tabela 5.2: Rezultati ocenjevanja

UT

I

AB

BY

Y

Ex

pertV

ision

Om

niP

age

Lead

To

ols

Tran

sym

Dy

nam

soft

Aq

uafo

rest

Nico

mso

ft

Imag

eGear

Do

tImag

e

Pu

ma.n

et

Tesseract

Cena rešitve

-10 -30 -20 -30 -30 -10 -20 -30 -20 -30 -30 0 0

Podpora

slovenskemu

jeziku

7 7 0 7 0 0 7 0 7 7 7 7 7

Podpora

jezikom 0,05 9,9 0,7 6,15 1,5 0,6 2 1 1,3 5 1,6 1,35 3,15

Uporaba

slovarjev in

optimizacija

OCR jezikov

5 5 5 0 5 5 5 0 5 0 5 0 5

Podpora

optičnim

čitalnikom

3 3 0 3 3 3 3 0 3 3 3 0 0

Predprocesiran

je 5 5 0 5 5 0 0 5 5 5 5 0 0

Formati

vhodov 0,5 4 3 2,5 1,5 1 2,5 1,5 2,5 1 2,5 3 0,5

Prepoznava in

izhod lastnosti

pisave

4 4 4 0 4 0 4 0 0 4 0 4 4

Ohranjanje

oblike

dokumenta

5 5 0 0 5 0 5 5 5 5 5 5 5

Page 61: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

47

Formati

izhodov 1 11 5 6 7 1 2 3 3 5 2 3 1

Podpora ICR

7 7 0 7 7 0 7 0 3,5 0 7 0 0

Podpora OMR

7 7 0 7 7 0 7 0 7 7 7 0 0

Podpora .NET

okolju 7 7 0 7 7 7 7 7 7 7 7 7 7

Podprti

programski

jeziki

1 6 2 4 6 6 2 3 7 1 3 1 1

Dokumentacija

in primeri 7 7 7 7 7 7 7 7 7 7 7 7 7

Dostop do

internih OCR

podatkov

2 2 0 0 2 0 2 2 2 2 2 0 2

Seštevek ocene

59,9 6,7 31,7 38 20,6 42,5 4,5 45,3 29 34,1 38,4 42,7

Vir: Kegljevič, lastna raziskava (2013)

5.3 Predstavitev rezultatov

V naslednjem poglavju so grafično predstavljeni in opisani rezultati ocenjevanja OCR SDK

rešitev. Graf (Graf 5.1) prikazuje skupno oceno posamezne rešitve. Z njega lahko razberemo

tri najbolje ocenjene rešitve, ki so:

ABBYY OCR SDK,

Nicomsoft OCR SDK,

Page 62: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

48

Tesseract.

Opazimo lahko še, da imajo nekatere rešitve zelo nizko skupno oceno. S svojo oceno vidno

izstopa ABBYY OCR SDK.

Graf 5.1: Skupna ocena OCR SDK rešitev

Vir: Kegljevič, lastna raziskava (2013)

Najbolj pomemben kriterij ocenjevanja (cena rešitve) je vizualno predstavljen v sledečem

grafu (Graf 5.2). Opazimo lahko, da cena nima negativnega vpliva na skupno oceno pri

odprtokodnih rešitvah. Opazni so tudi cenovni razredi, pri katerih prevladuje višji cenovni

razred.

0

10

20

30

40

50

60

70

Sku

pn

a o

cen

a

OCR SDK rešitev

Page 63: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

49

Graf 5.2: Cena OCR SDK rešitev

Vir: Kegljevič, lastna raziskava (2013)

V naslednjem grafu (Graf 5.3) sta skupaj predstavljeni ocena cenovnega kriterija in skupna

ocena brez prištetega cenovnega kriterija. Opazimo lahko, da pri nekaterih rešitvah cenovni

kriterij skoraj izniči preostalo oceno rešitve. V praksi to pomeni, da rešitev kljub višjemu

cenovnemu razredu ne zagotavlja dodatnih funkcionalnosti.

Naslednje opažanje je, da odprtokodni rešitvi glede na oceno lahko konkurirata tudi nekaterim

lastniškim rešitvam. Nevtralna ocena pri cenovnem kriteriju še dodatno pripomore k višji

skupni oceni odprtokodnih rešitev. S tem dejstvom lahko ovržem prvo hipotezo diplomske

naloge. Odprtokodne rešitve so torej enako ali celo bolj primerne kakor lastniški produkti.

-35

-30

-25

-20

-15

-10

-5

0

Ce

na

reši

tve

OCR SDK rešitev

Page 64: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

50

Graf 5.3: Skupna ocena z ločeno oceno cene

Vir: Kegljevič, lastna raziskava (2013)

V bližini aritmetične sredine vseh skupnih ocen (Graf 5.4) je v zelo ozkem intervalu prisotnih

več rešitev. Razlika med OCR produktom na drugem mestu in produktom na šestem mestu je

le 6 točk, medtem ko je razlika med najbolje in najslabše ocenjenim kar 55,4 točk. To dejstvo

nam pove, da bi bile potencialno tržno zanimive tudi ostale rešitve v bližini aritmetične

sredine. Navkljub temu dejstvu se bomo v nadaljevanju osredotočil le na tri najbolje ocenjene

rešitve.

-40

-20

0

20

40

60

80

100

Oce

na

OCR SDK rešitev

Cenovni kriterij

Skupna ocena (brez cenovnega kriterija)

Page 65: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

51

Graf 5.4: Prikaz aritmetične sredine

Vir: Kegljevič, lastna raziskava (2013)

5.4 Izbor končnih produktov

Na podlagi ocenjevanja je seznam rešitev, ki jih bomo predlagali za nadaljnje testiranje,

naslednji:

ABBYY OCR SDK,

Nicomsoft OCR SDK,

Tesseract.

ABBYY OCR SDK je kljub višjem cenovnem razredu zaradi širokega nabora funkcionalnosti

visoko nad povprečno oceno. Visoka ocena tudi delno pritrdilno odgovarja na raziskovalno

vprašanje, ki se glasi: »Je najbolj prepoznaven produkt nujno najboljši?«. ABBYY OCR SDK

je od evropskih rešitev med najbolj prepoznavnimi, kar pritrjuje raziskovalnemu vprašanju.

Bolj prepoznavne rešitve z ameriškega tržišča so pri ocenjevanju dosegale le povprečne

0

10

20

30

40

50

60

70Skupna ocena Aritmetična sredina

Page 66: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

52

rezultate, kar raziskovalnemu vprašanju nasprotuje. Za popolnoma natančen odgovor na

raziskovalno vprašanje bi bilo potrebno pridobiti raziskavo tržnega deleža ocenjenih rešitev in

tako nedvoumno določiti prepoznavne produkte.

Nicomsoft OCR SDK se s kombinacijo srednjega cenovnega razreda in z zadovoljivimi

funkcionalnostmi uvršča na tretje mesto po skupni oceni rešitve. Rešitev je trenutno še

relativno nova, zato lahko v prihodnosti pričakujemo intenziven razvoj.

Odprtokodna rešitev Tesseract je, samo glede na funkcionalnosti sodeč, celo boljša od

nekaterih lastniških rešitev. Dejstvo, da je rešitev odprtokodnega tipa, pa lahko prinese

nekatere omejitve pri distribuciji našega programa končnim uporabnikom. Program lahko v

končni fazi omejimo le z licenco, ki je enaka vključeni odprtokodni knjižnici. Hipotezo o

manjši primernosti odprtokodnih rešitev lahko tako še enkrat zavrnemo, ob pogoju, da nas

odprtokodno licenciranje našega končnega programa ne moti.

Glavni pogoj za izbiro rešitev je bila možnost implementacije OCR SDK knjižnice v lastni

program, namenjen slovenskem trgu. Omenjenemu pogoju je teoretično zadostilo osem od

dvanajstih ocenjevanih rešitev. Štiri rešitve za namene OCR postopka ne podpirajo

slovenskega jezika, zato jih ne prištejemo k primernim rešitvam. S tem dejstvom je potrjena

druga hipoteza: »Obstajajo OCR SDK rešitve, ki nudijo osnovne funkcionalnosti za uspešno

implementacijo v srednja in mala podjetja. Za namene naročnika bodo primerne več kakor tri

rešitve.«. Tri izbrane rešitve nudijo najbolj optimalno mešanico OCR funkcionalnosti, ki so

primerne za majhna in srednja podjetja na slovenskem trgu. Omenjene tri rešitve so bile

izbrane izključno na podlagi ocenjevanja.

5.5 Opis in SWOT analiza izbranih produktov

Analiza SWOT izbranih rešitev je izdelana z vidika našega naročnika, ki želi implementirati

eno izmed izbranih optimalnih rešitev v svojem programu. Namen bodočega programa je

OCR prepoznava dokumentov in zajem ključnih metapodatkov.

Page 67: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

53

Tabela 5.3: SWOT analiza ABBYY OCR SDK

PREDNOSTI SLABOSTI

Možen širok nabor funkcionalnosti končnega produkta.

Uveljavljeno ime rešitve. Stabilno in prepoznavno podjetje

rešitev razvija. Največ podprtih jezikov v OCR. Brezplačna tehnična pomoč.

Višja cena OCR SDK rešitve v primerjavi z ostalimi.

Zakup nepotrebnih funkcionalnosti.

PRILOŽNOSTI NEVARNOSTI

Prilagajanje cene glede na uporabo v končnem programu.

Uporaba v načinu glasovanja skupaj z ostalimi rešitvami za višjo kakovost OCR branja.

Višja tržna cena končnega programa zaradi uporabe prepoznavne rešitve.

Razvoj končnega programskega orodja je brezplačen, rešitev je možno implementirati v preizkusnem načinu.

Omejitve distribucije s strani ABBYY Hiter tehnološki razvoj zahteva nova

vlaganja. ABBYY izda novo ločeno verzijo

rešitve.

Vir: Kegljevič, lastna raziskava (2013)

Rešitev ABBYY OCR SDK omogoča v primerjavi z ostalimi opisanimi rešitvami največji

obseg funkcionalnosti, ki zajema celotni postopek obdelave OCR skupaj s podpornimi

procesi. Podpora optičnim čitalnikom nam omogoča neposreden vnos dokumenta v končni

program, kar negira potrebo po dodatnih knjižnicah, s katerimi lahko dosežemo enako

funkcionalnost. Različne možnosti predprocesiranja omogočajo obdelavo pridobljene slike,

kar v končni fazi pripomore k zmanjševanju napak med samo ekstrakcijo in klasifikacijo

znakov. Podpora OMR poleg navadne pisarniške dokumentacije dovoljuje tudi obdelovanje

dokumentacije strukturiranega tipa, kot je npr. izpitni vprašalnik na maturi. Na podlagi tega

dejstva je možno prilagoditi končni program za končne uporabnike s področja šolstva.

Tehnologija ICR omogoča podporo pri zajemanju ročno pisanega besedila, ki se pogosto

pojavlja tudi pri poslovni dokumentaciji.

Page 68: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

54

Ravno dejstvo, da je dostopen tako širok nabor funkcionalnosti, pa s sabo prinese očitno

slabost. Naročnik tako širokega nabora funkcionalnosti ne potrebuje, kar pomeni, da plačuje

tudi nepotrebne funkcionalnosti. Rešitev se v tem smislu približa celovitim lastniškim

rešitvam, ki premorejo enako slabost. Smiselno bi bilo primerjati ceno in funkcionalnosti

rešitve ABBYY OCR SDK z nekaterimi celovitimi OCR rešitvami. Podjetje ABBYY ponuja

porazdelitev stroškov uporabe glede na količino, kar zaradi manjšega obsega dokumentacije

zniža potencialno zniža končne stroške uporabe predvsem v manjših in srednjih podjetjih.

Stroške zniža tudi možnost brezplačne uporabe OCR knjižnice v fazi implementacije ter

brezplačna osnovna podpora pri implementaciji. Rešitev je možno uporabiti v načinu

glasovanja (angl. voting) skupaj z ostalimi rešitvami, ponuja namreč dostop do stopnje

verjetnosti prepoznanega znaka. Omenjena možnost potencialno pripomore k izboljšavi

prepoznave, vendar je potrebno za implementacijo porabiti več časa. Nevarnosti, ki jih

predstavlja uporaba omenjene rešitve se osredotočajo na izdajo nove ločene verzije rešitve,

kar navadno povzroči zmanjšanje podpore prejšnjim verzijam. Posledica omenjenega

scenarija je lahko uporaba nove verzije, kar s sabo prinese nenapovedane stroške.

Tabela 5.4: SWOT analiza Nicomsoft OCR SDK

PREDNOSTI SLABOSTI

Enkratno plačilo brez licenčnin. Srednji cenovni razred. Vse osnovne funkcionalnosti. Brezplačna tehnična pomoč za

obdobje 6 mesecev.

Nepoznana rešitev. Neuveljavljen ponudnik rešitve.

PRILOŽNOSTI NEVARNOSTI

Razvoj končnega programskega orodja je brezplačen, rešitev je možno implementirati v preizkusnem načinu.

Uporaba v načinu glasovanja skupaj z ostalimi rešitvami za višjo kvaliteto OCR branja.

Upočasnjen ali prekinjen razvoj rešitve.

Vir: Kegljevič, lastna raziskava (2013)

Nicomsoft je v primerjavi z bolj uveljavljenimi imeni na področju OCR tehnologije mlajše

podjetje, ki je na trg vstopilo šele v letu 1999. Ta manjša količina izkušenj se izkazuje v nižji

ceni njihove OCR SDK rešitve. Poleg nizke cene je možno pridobiti verzijo rešitve, ki jo je

Page 69: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

55

možno tržiti končnim uporabnikom brez licenčnin ali plačila glede na uporabo. To dejstvo se

izkaže za izjemno prednost ravno pri ciljnih končnih uporabnikih našega naročnika. Naročnik

namreč predvideva prodajo programa majhnim in srednje velikim podjetjem, ki so na

slovenskem trgu prisotna v večjem številu. Predvidevamo tudi, da so majhna in srednja

podjetja zaradi svoje dinamičnosti pripravljena preizkusiti tudi manj poznane rešitve. Dejstvo,

da je rešitev nepoznana kljub temu ostaja glavna slabost. Priložnosti, ki jih ponuja uporaba

Nicomsoft OCR SDK, so podobne rešitvi ABBYY OCR SDK. Pri obeh je faza

implementacije rešitve brezplačna, kar pomeni, da lahko v tem obdobju rešitev testiramo in

prilagodimo končnemu uporabniku. Obstaja možnost implementacije glasovanja, rešitev nam

namreč ponuja dostop do podatka o kvaliteti prepoznanih znakov. Nevarnost rešitve je propad

oz. preusmeritev podjetja Nicomsoft, ki bi lahko pripeljal do popolne opustitve nadaljnjega

razvoja.

Tabela 5.5: SWOT analiza Tesseract

PREDNOSTI SLABOSTI

Brezplačna odprtokodna rešitev. Minimalni stroški vstopa na tržišče. Najbolj prepoznavna odprtokodna

OCR SDK rešitev. Uporaba programa z implementirano

Tesseract knjižnico ima manj omejitev od lastniških OCR rešitev.

Pomanjkanje predprocesiranja slik. ICR tehnologija ni prisotna. OMR tehnologija ni prisotna. Omejitve odprtokodnega licenciranja.

PRILOŽNOSTI NEVARNOSTI

Možno množično zunanje izvajanje (angl. crowdsourcing).

Nezaupanje končnih uporabnikov zaradi uporabe odprtokodne rešitve.

Zaustavitev razvoja rešitve v prihodnosti.

Vir: Kegljevič, lastna raziskava (2013)

Ena izmed glavnih prednosti, ki se je izkazala kot ključna pri ocenjevanju, je cena rešitve

Tesseract. Rešitev je namreč brezplačna zaradi svoje odprtokodne licence, kar posledično

pomeni minimalne stroške pri prodaji programa z implementiranimi OCR funkcionalnostmi.

Rešitev je od vseh odprtokodnih najbolj poznana, predvsem zaradi delnega sodelovanja

računalniškega giganta Google pri samem razvoju rešitve. Odprtokodna licenca prinaša še

manjše omejitve glede licenciranja rešitve v končnem produktu, ponujenem na trgu. Po drugi

Page 70: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

56

strani je zaradi odprtokodnega licenciranja potrebno posredovati spremembe v programski

kodi komurkoli, ki to želi. Slaba stran rešitve Tesseract je tudi pomanjkanje nekaterih

funkcionalnosti, ki so samoumevne za lastniške rešitve. Pomanjkanje predprocesiranja slik,

ICR in OMR tehnologij nam odpira dve poti. Lahko se zadovoljimo le z OCR tehnologijo in

končni program specializiramo. Alternativna možnost je uporaba drugih odprtokodnih

knjižnic, ki nam omenjene funkcionalnosti ponujajo.

Obstaja potencialna možnost t.i. množičnega zunanjega izvajanja (angl. crowdsourcing). S to

metodo, ki je priljubljena na področju oglaševanja, lahko brez lastnega razvoja pridemo do

končnega programa. Pri tem nam lahko pomaga skupnost Tesseract ali izobraževalne

inštitucije v Sloveniji. Najprej objavimo seznam želenih funkcionalnosti in počakamo na

programe z implementirano Tesseract rešitvijo. V naslednji fazi izberemo najbolj primerne

implementacije, nagradimo razvijalca in tržimo programsko rešitev. Omenjena metoda bi

lahko delovala tudi z ostalimi rešitvami vendar je množično zunanje izvajanje bolj v duhu

odprte kode. Nezaupanje majhnih in srednjih podjetij do odprtokodnih rešitev lahko

primerjamo z nezaupanjem nepoznani rešitvi Nicomsoft. Nevarnost se namreč delno negira

zaradi dinamičnosti majhnih in srednjih podjetij. Zaustavitev razvoja je nevarnost identična

vsem rešitvam, ki je v primeru rešitve Tesseract manj pomembna. Velika verjetnost namreč

je, da bodo tudi v primeru opustitve razvoja, le-tega nadaljevali sami uporabniki odprtokodne

rešitve.

5.6 Ugotovitve hipotez in raziskovalnih vprašanj

Med opravljanjem raziskave smo poskusili odgovoriti na naslednji dve raziskovalni vprašanji.

Prvo vprašanje se je nanašalo na funkcionalnosti dobrih OCR SDK rešitev. S pomočjo tega

vprašanja smo lažje določili kriterije, na podlagi katerih se je izvedlo ocenjevanje rešitev.

Glavno in prvo funkcionalnost je določil naročnik. Možnost obdelave dokumentacije v

slovenščini oz. podpora slovenskemu jeziku je to zelo pomemben kriterij, ki znaša 7 točk.

Naslednja pomembna funkcionalnost je dostop do dokumentacije in primerov uporabe.

Pomanjkanje kakršnekoli dokumentacije namreč drastično otežuje končni cilj, ki v našem

primeru pomeni razvoj programa na osnovi OCR SDK rešitve. Pomembna kriterija sta bila še

možnost uporabe OMR in ICR tehnologije. Uporaba črtnih kod na dokumentaciji se pogosto

pojavi že pri manjšem obsegu dokumentacije. OMR tehnologija prinese prednost

Page 71: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

57

avtomatičnega ločevanja dokumentov na podlagi črtne kode vodilnega dokumenta. Ta lastnost

je sicer bolj koristna za velika podjetja, kjer je zagotovljen večji obseg dokumentacije, a

slednja značilnost ni izključena za srednja in majhna podjetja. ICR tehnologija je še posebno

koristna pri obdelavi strukturiranega tipa dokumentacije, ki se tudi pogosto pojavi pri manjših

in srednjih podjetjih. Dejstvo, da je program z implementirano OCR rešitvijo namenjen

majhnim in srednjim podjetjem, pa poda izjemno visoko pomembnost cenovnemu kriteriju.

Za razliko od velikih podjetij si srednja in majhna podjetja težko privoščijo večje naložbe v

digitalizacijo dokumentov. Predvsem v manjših podjetjih je zaradi manjšega obsega

dokumentacije bolj ekonomično ročno vnašati ključne podatke. Zadnji pomembni kriterij je še

podpora .NET okolju. Programiranje v omenjenem okolju prinaša učinkovit vmesnik za

programiranje, možnost uporabe različnih programskih jezikov, podporo namiznim in

spletnim aplikacijam in preprosto vključevanje knjižnic v naš program.

Drugo vprašanje se navezuje na mnenje naročnika, ki je predlagal, da med ocenjevane rešitve

vključim ABBYY OCR SDK zaradi prepoznavnosti rešitve. Vprašanje se glasi: »Je najbolj

prepoznaven produkt nujno najboljši?«. Na mnenje naročnika so rezultati ocenjevanja OCR

SDK rešitev pritrdilno odgovorili. ABBYY OCR SDK ima namreč izmed vseh ocenjevanih

rešitev najboljšo oceno. To dejstvo sicer potrdi mnenje naročnika, ne odgovori pa pritrdilno

na drugo vprašanje moje diplomske naloge. Med prepoznaven produkt namreč vključujem

tudi rešitev podjetja Nuance Communications imenovano OmniPage SDK. Nuance

Communications je na področju OCR tehnologije eno izmed najbolj prepoznavnih podjetij na

ameriškem tržišču (Graf 3.1). Kljub dejstvu, da je rešitev dobro poznana, je skupna ocena

rešitve le 24,7 točk. Rešitev ABBYY OCR SDK je dosegla 59,9 točk, kar prikazuje očitno

razliko pri obsegu funkcionalnosti. Najbolj prepoznavna rešitev je torej najboljša le, če se

osredotočimo na evropsko tržišče OCR SDK rešitev.

Prva hipoteza deloma izhaja iz drugega raziskovalnega vprašanja, a se za razliko od vprašanja

bolj osredotoča na splošen problem nezaupanja odprtokodnim rešitvam. Za namen hipoteze

predvidevamo, da se odprtokodne rešitve v primerjavi z licenčnimi produkti manj pogosto

uporabljajo v praksi. Razlog za manjši obseg uporabe je pomanjkanje dokumentacije in

manjša zanesljivost odprtokodnih rešitev. Hipoteza se zavrže v primeru izbire odprtokodne

rešitve v skupino treh najbolj optimalnih rešitev. Na podlagi ocenjevanja lahko ovržem

hipotezo, med izbranimi rezultati je namreč OCR SDK rešitev Tesseract, ki je odprtokodnega

tipa. Razlog za drugo mesto rešitve glede na skupno število točk, je dejstvo, da rešitev pri

cenovnem kriteriju ni izgubila točk. Če zanemarimo cenovni kriterij in se osredotočimo le na

Page 72: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

58

funkcionalnosti, Tesseract vseeno dosega povprečne rezultate. Rešitev torej s svojimi

funkcionalnostmi konkurira celo nekaterim rešitvam iz visokega cenovnega razreda.

Hipoteza: »Odprtokodne rešitve so zaradi manjšega obsega dokumentacije in podpore manj

primerne kot lastniški produkti. Med najbolj primernimi produkti tako ne bo odprtokodne

rešitve.« se zavrne.

Druga hipoteza se navezuje na število primernih OCR SDK rešitev. Naročnik pričakuje vsaj

tri potencialno zanimive rešitve, po našem mnenju pa je takšnih rešitev več. Ker je naročnik

večkrat poudaril podporo OCR tehnologije slovenskemu jeziku, se rešitve, ki te

funkcionalnosti ne podpirajo, smatra kot neprimerne. Od dvanajstih rešitev jih temu pogoju

zadostuje osem. Osem rešitev torej podpira izvajanje osnovnega OCR postopka in obenem v

tem postopku podpira dokumentacijo v slovenskem jeziku. Hipoteza: »Obstajajo OCR SDK

rešitve, ki nudijo osnovne funkcionalnosti za uspešno implementacijo v srednja in mala

podjetja. Za namene naročnika bodo primerne več kakor tri rešitve.« se potrdi.

Zadnja hipoteza se osredotoča na pomen tehnične dokumentacije in primerov uporabe rešitev

OCR SDK. Pogoj potrditve hipoteze je, da vsaka rešitev vključuje vsaj osnovno

dokumentacijo in primere uporabe. Od dvanajstih rešitev je temu pogoju zadostilo vseh

dvanajst rešitev, kar hipotezo potrjuje (Tabela 5.1). Omeniti je vredno, da kakovost

dokumentacije variira od rešitve do rešitve, enako velja tudi pri primerih uporabe. Hipoteza:

»Tehnična dokumentacija skupaj s testnimi primeri je ključnega pomena za uspešno

implementacijo OCR SDK rešitve. Vse rešitve ponujajo vsaj osnovno dokumentacijo in testne

primere.« se potrdi.

6 ZAKLJUČEK

Gonilo diplomske naloge sta bila dva razloga. Prvi razlog je bil lastna želja po dopolnjevanju

znanj s področja digitalizacije in optičnega prepoznavanja znakov. Naslednji razlog je bil

potreba naročnika po zelo specifični raziskavi OCR SDK rešitev.

Page 73: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

59

V prvem koraku smo preučili teorijo s širšega OCR področja. V nadaljevanju smo se

osredotočili na iskanje OCR SDK rešitev, ki so ustrezale osnovnemu pogoju naročnika. Pogoj

za izbiro je bila možnost implementacije OCR rešitve v lastni program, namenjen majhnim in

srednje velikim podjetjem na slovenskem trgu. Izbrali smo dvanajst različnih rešitev, od tega

sta bili dve odprtokodni. Naslednji korak je bil izbira obteženih kriterijev, na podlagi katerih

smo ocenili prej izbrane rešitve. Izbrali smo šestnajst različnih kriterijev ocenjevanja, ki

predstavljajo različne funkcionalnosti in podporne procese OCR tehnologije. Kriterije smo

obtežili, saj so nekateri bolj pomembni od drugih. Preglednico OCR SDK rešitev (Tabela 5.1)

smo izpolnili s podatki o funkcionalnostih s spletnih strani ponudnikov posamezne rešitve. V

naslednji tabeli (Tabela 5.2) smo izračunali število točk, ki jih je rešitev dosegla pri vsakem

kriteriju. V zadnjem stolpcu tabele je bila navedena skupna ocena za vsako rešitev. Na

podlagi tabele je bil izpeljan še grafični prikaz rezultatov in podrobna razlaga le-teh.

Na podlagi rezultatov ocenjevanja smo ugotovili naslednje. Od dvanajstih OCR SDK rešitev

jih osem izpolnjuje pogoj naročnika. Naročnik je izrazil željo po izboru treh najbolj

optimalnih rešitev. Seznam rešitev, ki smo jih predlagali za nadaljnje testiranje, je naslednji:

ABBYY OCR SDK – 59,9 točk,

Nicomsoft OCR SDK – 45,3 točk,

Tesseract – 42,7 točk.

Za testiranje bi bile zanimive tudi ostale rešitve, ki imajo skupno oceno v bližini aritmetične

sredine skupnih ocen. Rešitev ABBYY OCR SDK je dosegla najboljšo oceno. Vsebuje

najširši obseg funkcionalnosti in s tem dejstvom opravičuje visoki cenovni razred. Nicomsoft

OCR SDK ponuja osnovne funkcionalnosti OCR skupaj z nekaterimi podpornimi procesi, ki

dvigujejo kvaliteto prepoznave. Rešitev spada v srednji cenovni razred, licenca pa omogoča

distribucijo končnim uporabnikom brez plačevanja licenčnin. Odprtokodna rešitev Tesseract

premore le osnovno OCR procesiranje, vendar je uporaba vseh funkcionalnosti rešitve

popolnoma brezplačna. Odprtokodni rešitvi sta na ocenjevanju, v primerjavi z lastniškimi,

dosegali primerljive ali celo boljše rezultate.

Page 74: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

60

Page 75: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

61

7 LITERATURA IN VIRI

1. ABBYY OCR SDK. Dostopno prek: http://www.abbyy.com/ocr_sdk/ (10. 03. 2013).

2. ACCUSOFT IMAGEGEAR. Dostopno prek: http://www.accusoft.com/igocr.htm (15. 03.

2013).

3. ATALASOFT DOTIMAGE. Dostopno prek: http://www.atalasoft.com/products/

dotimage/ (22. 03. 2013).

4. AQUAFOREST OCR SDK. Dostopno prek: http://www.aquaforest.com/en/ocrsdk.asp

(22. 03. 2013).

5. BAIRD S., HENRY in CASEY, MATTHEW (2006) Towards Versatile Document

Analysis Systems. Lehigh University: Computer Science & Engineering Dept. Dostopno

prek: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.6579&rep=

rep1&type=pdf (24. 02. 2013).

6. BLOSTEIN, DOROTHEA in NAGY, GEORGE (2012) Asymptotic cost in document

conversion. Ontario: School of Computing. Dostopno prek:

http://www.ecse.rpi.edu/homepages/nagy/PDF_chrono/2012_Blostein_Asymptotic_Costs

_DRR.pdf (24. 02. 2013).

7. BUNKE, HORST in WANG S. P., PATRICK (1997) Handbook of Character

Recognition and Document Image Analysis. Singapur: World Scientific. Dostopno prek:

http://www.google.si/books?id=yn6DN5hAPywC&lpg=PA1&ots=QEgn5GdKH1&dq=O

CR%20analysis&lr&hl=sl&pg=PR5#v=onepage&q&f=false (15. 02. 2013).

8. ČUČEK, IVAN (2010) Filtriranje elektronske pošte z bayesovim klasifikatorjem.

Maribor: Fakulteta za elektrotehniko, računalništvo in informatiko. Dostopno prek:

http://dkum.uni-mb.si/Dokument.php?id=19636 (27. 07. 2013).

9. DOBROVOLJC, ANDREJ (2012) Osnove dokumentnih sistemov. Novo mesto: Fakulteta

za informacijske študije.

10. DYNAMSOFT DYNAMIC .NET Twain. Dostopno prek:

http://www.dynamsoft.com/Products/Optical-Character-Recognition-OCR.aspx (22. 03.

2013).

11. EXPERTVISON OPENRTK. Dostopno prek: http://www.expervision.com/ocr-sdk-

toolkit/openrtk-ocr-toolkit-sdk (15. 03. 2013).

12. GOOGLE TRENDS. Dostopno prek: http://www.google.com/trends/ (23. 07. 2013)

Page 76: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

62

Page 77: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

63

13. HOLLEY, ROSE (2009) Analysing and Improving OCR Accuracy in Large Scale

Historic Newspaper Digitisation Programs. D-Lib Magazine. Dostopno prek:

http://www.dlib.org/dlib/march09/holley/03holley.html (20. 02. 2013).

14. IMPEDOVO, SEBASTIANO, OTTAVIANO, LUCA in OCCHINEGRO, SILVIA

(1991) Optical character recognition - a survey. Bari: Università degli Studi di Bari.

Dostopno prek: http://www.worldscientific.com/doi/pdf/10.1142/S0218001491000041

(15. 02. 2013).

15. LEADTOOLS RECOGNITION IMAGING DEVELOPER TOOLKIT. Dostopno prek:

http://www.leadtools.com/sdk/recognition-imaging.htm (15. 03. 2013).

16. NICOMSOFT OCR SDK. Dostopno prek:

http://www.nicomsoft.com/products/ocr/download/ (15. 03. 2013).

17. NUANCE COMMUNICATIONS OMNIPAGE. Dostopno prek:

http://www.nuance.com/for-business/by-product/omnipage/csdk/index.htm (15. 03.

2013).

18. PUMA.NET. Dostopno prek: http://pumanet.codeplex.com/ (20. 02. 2013).

19. RICE V., STEPHEN, KANAI, JUNICHI in NARTKER A., THOMAS (1994) The Third

Annual Test of OCR Accuracy. Information Science Research Institute. Dostopno prek:

http://www.stephenvrice.com/images/AT-1994.pdf (28. 02. 2013).

20. RICE V., STEPHEN , JENKINS R., FRANK in NARTKER A., THOMAS (1995) The

Fourth Annual Test of OCR Accuracy. Information Science Research Institute. Dostopno

prek: http://stephenvrice.com/images/AT-1995.pdf (28. 02. 2013).

21. RICE V., STEPHEN , JENKINS R., FRANK in NARTKER A., THOMAS (1996) The

Fifth Annual Test of OCR Accuracy. Information Science Research Institute. Dostopno

prek: http://www.stephenvrice.com/images/AT-1996.pdf (28. 02. 2013).

22. SHUNJI, MORI, CHING Y., SUEN in YAMAMOTO, KAZUHIKO (1992) Historical

Review of OCR Research and Development. Proceedings of the IEEE. Dostopno prek:

http://www.handwritten.net/mv/papers/mori92historical_review_of_ocr_research_and_de

velopment.pdf (25. 03. 2013).

23. TRIER D., ØIVIND, TAXTT, TORFINN in JAIN K., ANIL (1995) Feature extraction

methods for character recognition-a survey. Oslo: Department of Informatics, University

of Oslo. Dostopno prek: http://citeseerx.ist.psu.edu/viewdoc/download?doi=

10.1.1.51.7439&rep=rep1&type=pdf (24. 02. 2013).

24. TESSERACT OCR ENGINE. Dostopno prek: http://code.google.com/p/tesseract-ocr/

(20. 02. 2013).

Page 78: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

64

Page 79: DIPLOMSKA NALOGA - dk.fis.unm.sidk.fis.unm.si/dip/VS_2013_Simon_Kegljevic.pdf · 4.2.13 Podpora OMR ... najbolje ocenjene OCR SDK rešitve, ki odgovarjajo željam našega naročnika

65

25. TRANSYM TOCR 4.0. Dostopno prek: http://www.transym.com/download-sample-

source-code.htm (15. 03. 2013).

26. WIKIPEDIA (2013) Comparison of optical character recognition software. Dostopno

prek: http://en.wikipedia.org/wiki/Comparison_of_optical_character_recognition

_software (20. 02. 2013).

27. WIKIPEDIA (2013a) Intelligent character recognition. Dostopno prek:

http://en.wikipedia.org/wiki/Intelligent_character_recognition (4. 05. 2013).

28. WIKIPEDIA (2013b) Intelligent word recognition. Dostopno prek:

http://en.wikipedia.org/wiki/Intelligent_word_recognition (4. 05. 2013).

29. WIKIPEDIA (2013c) Optical character recognition. Dostopno prek:

http://en.wikipedia.org/wiki/Character_recognition (4. 05. 2013).