Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Vyšší odborná škola informačních služeb v Praze
Jan Šlajchrt
Technologie převodu textu z tištěné podoby do elektronické Bakalářská práce
2009
Poděkování Děkuji vedoucímu práce Ing. Davidu Klimánkovi, Ph.D. za jeho podporu a vlídný přístup během tvorby práce. Také bych rád poděkoval celé rodině, partnerce a zvláště pak bratru Petrovi za jeho podporu a pomoc při řešení nejrůznějších problému.
Prohlášení Prohlašuji, že jsem bakalářskou práci na téma „Technologie převodu textu z tištěné podoby do elektronické“ zpracoval samostatně a použil pouze zdrojů, které cituji a uvádím v seznamu použité literatury.
V Praze dne 11.srpna 2009
podpis...........................................
Obsah Anotace...............................................................................................................................................10 Úvod...................................................................................................................................................11 Kapitola 1: Rozpoznávací aplikace.......................................................................................................................12 1.1 OCR – Optical Character Recognition ...................................................................................12 1.2 ICR – Intelligent Character Recognition ................................................................................12 1.3 HCR – Handwritten Character Recognition ...........................................................................13 1.4 OMR – Optical Mark Recognition..........................................................................................13 Kapitola 2: Historie OCR......................................................................................................................................15 2.1 Počátky OCR...........................................................................................................................15 2.1.1 První generace OCR....................................................................................................................15 2.1.2 Druhá generace OCR...................................................................................................................16 2.1.3 Třetí generace OCR.....................................................................................................................16
2.2 Současnost a budoucnost ........................................................................................................16 Kapitola 3: OCR podrobně....................................................................................................................................18 3.1 Fáze procesu OCR...................................................................................................................18 3.1.1 Optické skenování ......................................................................................................................20 3.1.2 Preprocessing...............................................................................................................................21 3.1.3 Lokace a segmentace...................................................................................................................22 3.1.4 Znaková extrakce.........................................................................................................................22 3.1.5 Lexikální postprocessing.............................................................................................................23
3.2 Digitální dokument .................................................................................................................24 3.3 Uplatnění technologií OCR/OMR v IS....................................................................................24 Kapitola 4: Přehled OCR aplikací ........................................................................................................................26 4.1 Komerční software...................................................................................................................26 4.1.1 ReadirisPro 11 ...........................................................................................................................27 4.1.2 FineReader OCR 9.0 ..................................................................................................................28 4.1.3 OmniPage 16 .............................................................................................................................29
4.2 Nekomerční software...............................................................................................................30 4.3 OpenSource řešení - Tesseract ................................................................................................31 4.4 Zajímavé OCR aplikace..........................................................................................................32 Kapitola 5: Test OCR aplikací...............................................................................................................................35 5.1 Stanovení kriterií pro testovaný software................................................................................35 5.1.1 Licence........................................................................................................................................36 5.1.2 Hodnocení uživatelů....................................................................................................................36
5.2 Výběr softwaru........................................................................................................................36 5.2.1 FreeOCR.net ..............................................................................................................................37 5.2.2 TopOCR ......................................................................................................................................38 5.2.3 SimpleOCR .................................................................................................................................38
5.3 Test softwaru 1. část - testování uživatelského rozhraní..........................................................38 5.3.1 Testovací scénář...........................................................................................................................39 5.3.2 Dodatečné funkce aplikací...........................................................................................................39 5.3.3 Výběr testerů................................................................................................................................40 5.3.4 Formulář......................................................................................................................................41 5.3.4 Vyhodnocení první části testu......................................................................................................41
5.4 Test softwaru 2. část – nadstandardní služby aplikací.............................................................41 5.4.1 Jazykové moduly ........................................................................................................................42 5.4.2 Dodatečné úpravy předloh...........................................................................................................42 5.4.3 Nároky na hardware.....................................................................................................................43 5.4.4 Vyhodnocení druhé části testu......................................................................................................43
5.5 Test softwaru 3. část – rozpoznávání textu..............................................................................44 5.5.1 Přesnost překladu.........................................................................................................................45 5.5.2 FreeOCR......................................................................................................................................46 5.5.3 Simple OCR.................................................................................................................................46 5.5.4 TopOCR.......................................................................................................................................47 5.5.6 Přesnost překladu – optimální předloha.......................................................................................48 5.5.7 Simple OCR.................................................................................................................................48 5.5.8 FreeOCR.net................................................................................................................................49 5.5.9 TopOCR.......................................................................................................................................50 5.5.10 Vyhodnocení třetí části testu......................................................................................................51
5.6 Celkové vyhodnocení..............................................................................................................51 Kapitola 6: Ukázka praktického užití OCR...........................................................................................................53 6.1 Abby FineReader – digitalizace učebních textů......................................................................53 6.2 Návod pro jednoduchou digitalizaci........................................................................................54 Kapitola 7: Vlastní přínos......................................................................................................................................56 Kapitola 8: Závěr...................................................................................................................................................58 Seznam použité literatury...................................................................................................................59 Seznam příloh.....................................................................................................................................62
Seznam ilustrací Ilustrace 1: Příklad formuláře pro learningový modul HCR..............................................................13 Ilustrace 2: Diagram návaznosti modulů OCR softwaru....................................................................18 Ilustrace 3: Příklad GUI aplikace pro skenování obrazu – EPSON Scan.........................................20 Ilustrace 4: Ukázka znakové extrakce metodou statistického výskytu bodů......................................22 Ilustrace 5: Návaznost procesů OCR aplikací....................................................................................23 Ilustrace 6: UI webové aplikace onlineOCR.net................................................................................32 Ilustrace 7: Uživatelské rozhraní aplikace SharpEye 2......................................................................33 Ilustrace 8: Ukázka statistiky na serveru Alexa.com..........................................................................36 Ilustrace 9: Testovací scénář...............................................................................................................38 Ilustrace 10: Pokročilý testovací scénář.............................................................................................39 Ilustrace 11: Ukázka výstupu programu accsum.exe.........................................................................44 Ilustrace 12: Podíl jednotlivých částí testu na celkovém hodnocen..................................................51 Ilustrace 13: ukázka digitalizace v programu Abby Fine Reader 6.0 sprint.......................................53
Seznam zkratek GUI....................................................................................................................Graphic User Interface OCR......................................................................................................Optical Character Recognition HCR..............................................................................................Handwriting Character Recognition ICR....................................................................................................Inteligent Character Recognition OMR.............................................................................................................Optical Mark Recognition DPI...................................................................................................................................Dots Per Inch HTML....................................................................................................HyperText Markup Language RTF............................................................................................................................Rich Text Format IS...............................................................................................................................Informační systém ADRT............................................................................ Adaptive Document Recognition Technology XPS...............................................................................................................XML Paper Specification PDF............................................................................................................Portable Document Format TIFF............................................................................................................Tagged Image File Format UML.........................................................................................................Unified Modeling Language
Seznam tabulek Tabulka 1: Generační vývoj OCR aplikací.........................................................................................15 Tabulka 2: Srovnání komerčních OCR produktů...............................................................................29 Tabulka 3: Popis hodnocených aplikací ............................................................................................36 Tabulka 4: Výsledky aplikací v první části testu................................................................................40 Tabulka 5: Výsledky aplikací z části testu zaměřené na jazykové moduly........................................41 Tabulka 6: Funkce aplikací a jejich bodování....................................................................................42 Tabulka 7: Celkové vyhodnocení druhé části testu............................................................................43 Tabulka 8: Vyhodnocení přesnosti překladu za použití různých předloh...........................................44 Tabulka 9: Přesnost překladu př použití optimální předlohy a její hodnocení...................................47 Tabulka 10: Celkové vyhodnocení třetí části testu.............................................................................50 Tabulka 11: Celkové závěrečné vyhodnocení....................................................................................50
Anotace Technologie převodu textu z tištěné podoby do elektronické Tato práce se věnuje problematice technologie OCR. Popisuje základní typy rozpoznávacích aplikací, jejich metody převodu textu a uvádí příklady dnes používaných aplikací z komerční i nekomerční sféry. V její druhé části je vytvořen vícekriteriální test OCR aplikací. Jsou jím otestovány tři freeware aplikace a výsledky testu odpovídají na otázku která z testovaných aplikací je nejvhodnější k domácímu užití OCR.
Technology of text transfer from print to electronic form This work approaches problem of OCR technology. It describes basic types of recognition software, methods used for text recognition and gives examples of today used commercial and free software. In the second part there is multi-criteria test of OCR applications performed. There are three free-ware applications tested, and the test results answers the question which of the tested application is best suited for home use of OCR technology.
Úvod Jako cíl své bakalářské práce jsem si stanovil seznámení případného čtenáře s současnými technologiemi OCR, ICR, HCR. Lidská společnost v současné době dospěla do stupně vývoje, ve kterém je pro další růst naprosto nezbytné, co nejefektivněji získávat a zpracovávat informace. Proto bych ve své práci čtenáře chtěl uvést do možnosti využití výše zmiňovaných technologii a pracovních postupů právě v tomto procesu. Dále hodlám zpracovat přehled dostupných OCR aplikací, které lze v současnosti využít jak pro komerční, tak i pro domácí použití. Tento průřez by měl čtenáři posloužit k lepší orientaci v současných trendech využívání OCR technologie. Zaměřil jsem se zvláště na aplikace, které jsou svou povahou vhodné k domácímu použití a pro vybrané jsem zpracoval krátký vícekriteriální test, jenž porovnával funkčnost těchto programů. Jeho výsledkem by měla být odpověď na otázku, který z těchto programů je nejvhodnější k domácímu použití, tj. k používání běžným uživatelem pro nekomerční účely a zpracování menšího obsahu dat.
- 11 -
Kapitola 1: Rozpoznávací aplikace Metody rozpoznávání znaků vycházejí z technologie číslicového zpracování obrazu. Tyto metody digitalizace obrazu vychází ze stejného základu - vždy se jedná o formu zpracování signálu z optických senzorů. Metody využití takto interpretovaných dat jsou různé. Zahrnují oblasti jako je zdravotnictví (počet krvinek v krevním obrazu), zemědělství (analýza úrodnosti na základě digitálního zpracování leteckých snímků), astronomie (určení rozlohy, teploty a složení těles na základě různých typů snímkování) a jiné. [12],[13] Já se však ve své práci zaměřuji na technologie zpracování vzorů, tedy na techniky pracující s interpretací skutečností popsaných symbolicky. Zvláštní pozornost pak věnuji technologiím OCR, které se specializují přímo na rozpoznávání znakových sad, tedy abeced různých jazyků.
1.1 OCR – Optical Character Recognition Optical Character Recognition (OCR) se do češtiny překládá jako optické rozpoznávání znaků a jedná se o komplexní metodu pro převod tištěných výstupů na digitální. V praxi se tento převod nejčastěji používá k zálohování a sestavování přehledných bází dat s reálným základem v tištěných mediích, při snaze zachovat rozsáhlé sbírky tištěných dokumentů, (například knihovní sbírky). Tato metoda je založena na principu sejmutí znaků a porovnání jejich bitmapového obrazu s databází, v které je zaznamenán a doplněn o význam. [2]
1.2 ICR – Intelligent Character Recognition Jedná se o OCR aplikace rozšířené self-learningový proces získávání nových znakových sad. V podstatě jsou tyto aplikace schopny na základě předloženého znaku a jeho charakteris-
- 12 -
tik tento znak zahrnout do své znalostní báze a dále jej v procesu rozpoznávání standardně používat.
1.3 HCR – Handwritten Character Recognition Handwritten Character Recognition vychází z OCR a jde o optimalizovanou metodu určenou pro rozpoznávání ručně psaných znaků. Je zde kladen větší důraz na kvalitu rozpoznávaného textu, hlavně pak na segmentaci jednotlivých znaků. Nezbytností je i learningový modul, který aplikaci prostřednictvím speciálních formulářů pomáhá naučit se rukopis jeho autora. [3]
Ilustrace 1: Příklad formuláře pro learningový modul HCR
1.4 OMR – Optical Mark Recognition Jedná se o metody rozpoznání značek, které jsou využívány k automatickému vyhodnocování speciálních formulářů. Pracují na principu prosvícení papírového podkladu přetištěné-
- 13 -
ho formuláře. Tam, kde je formulář vyplněn (tj. začerněn), je průchod světla menší. Tmavší části jsou pak rozpoznány detekcí a vyhodnoceny. Tato metoda je používána i k automatickému rozřazování dokumentů za použití čárových kódů.[1]
- 14 -
Kapitola 2: Historie OCR Techniky rozpoznávání se začaly hojněji využívat v době technologické revoluce kolem roku 1950. Průkopníkem této technologie byl David Shepard, který si na začátku 50. letech nechal pod číslem 2 663 758 na patentovém úřadě Spojených států zapsat patent na první stroj, který překládal tištěné materiály do strojového jazyka. [2]
2.1 Počátky OCR. Techniky OCR se staly velmi důležitým z hlediska zpracování informačních toků. Komerčně dostupnými se ale první OCR systémy stávají až počátkem 60. let. První skutečný OCR systém byl instalován Reader’s Digest v roce 1955. Toto zařízení bylo užíváno pro převod ručně psaných obchodních reportů na děrné štítky. Tyto výstupy pak sloužily k dalšímu zpracování v počítačích.
2.1.1 První generace OCR. První generací OCR nazýváme komerční systémy z let 1960–965 (např. systém OCR používaný od roku 1965 americkým poštovním úřadem). Charakteristickými rysy těchto systémů byla schopnost analyzovat jen jednoduché znaky. Zprvu tak byly některé znakové sady vytvořeny speciálně pro další zpracování v OCR systémech. Tyto sady znaků však působí velmi uměle. Poprvé se také začínají objevovat systémy s víceznakovou zásobou. Ty už dokáží rozpoznávat více znakových sad a jejich znalost je limitována typem aplikované rozpoznávací metody. Důležitou roli hrál i rozpoznávací vzor, který porovnával znak s sadou prototypů příslušné sady fontů.
- 15 -
2.1.2 Druhá generace OCR Jako druhou generaci OCR označujeme systémy, které se začaly objevovat v polovině 60. let a na počátku 70. let. Tyto systémy již rozpoznávaly větší množství fontů a s ohledem na kvalitu provedení dokázaly obstojně překládat i ruční texty. Jako první systém z této generace vešel v povědomí systém IBM 1287, představený v roce 1965 na World Fair v New Yorku. Přibližně ve stejnou dobu přichází společnost Toshiba s prvním automatickým třídičem dopisů. Tento stroj rozřazoval poštovní obálky na základě rozpoznání jejich směrovacích čísel. V roce 1966 byl uveřejněn standard OCR-A. Jednalo se o standardizovanou americkou fontovou sadu určenou speciálně k optickému rozpoznávání. Společně s ní vyšel i font vytvořen pro evropský kontinent, OCR-B. Tato znaková sada byla obecně brána jako lépe čitelná pro lidi. Postupem času se začaly objevovat systémy, které zvládaly oba typy fontů.
2.1.3 Třetí generace OCR Takto označujeme systémy z poloviny 70. let, které již dokázaly rozpoznávat i předlohy nižší kvality a ručně psané texty. Vyznačovaly se především nižší kvalitou výstupů, zato zvládaly zpracovávat větší objem dokumentů, k čemuž významně přispěl pokrok v oblasti hardwaru. Generace
Technologický postup
První gen. OCR Vývoj speciálních fonů pro OCR, Systémy víceznakové zásoby. Druhá gen. OCR Počátek rozpoznávání ručně psaných znaků, znakové sady OCR-A a OCRB. Třetí gen. OCR
Rozvoj výpočetních algoritmů, rozpoznávání velkého množství dokumentů menší kvality. Tabulka 1: Generační vývoj OCR aplikací
2.2 Současnost a budoucnost Přestože systémy optického rozpoznávání jsou dostupné již od 50. let, nárůst jejich využití se začal plně projevovat až počátkem 21. století.
- 16 -
Jejich služby dnes využívá v podstatě každý střední a velký podnik, což souvisí se zpracováním podnikových dokumentů. Objem prodaných OCR systémů každým rokem stoupá a ceny těchto systémů klesají. Dá se proto předpokládat, že význam OCR v budoucnu ještě poroste a tato technologie se stane běžnou součástí systému pro správu dat v tištěné podobě. K tomu jistě přispěje i současný trend v jejich vývoji, který se zaměřuje především na rozšíření slovníků a jazykových modulů tak, aby pokryly pokud možno veškeré světové jazyky. Problémem jsou samozřejmě zvláště kaligrafická písma, kde každý znak je unikátem a tyto abecedy obsahují tisíce znaků. Dalším trendem je také zapojení neuronových sítí do selflearningových OCR procesů, což by v budoucnu mohlo odstranit problém s použitím různých fontů a formátováním.
- 17 -
Kapitola 3: OCR podrobně Celý proces OCR je velmi složitý. Tvoří ho sledy algoritmů pro stanovení struktury dokumentu, pro rozložení textu do sloupců, řádků, slov a znaků, pro klasifikaci těchto znaků a pro následné sestavení digitálního dokumentu co nejvěrněji kopírujícího vlastnosti předlohy. Cílem mé práce není co nejpodrobněji popsat celý tento proces, ale pouze čtenáři nastínit jeho jednotlivé fáze a popsat, co se v nich odehrává. Pokud však čtenář uzná, že předložené formulace pro něj nejsou dostačující, má možnost získat více informací z literatury, z níž jsem při psaní této kapitoly vycházel. [8],[7]
3.1 Fáze procesu OCR Programy na převod textů jsou tvořeny několika moduly. Tyto moduly tvoří ucelené funkční jednoty pracující s daty, jenž si mezi sebou navzájem předávají. Nejdůležitější modul a zároveň jádro programu tvoří báze znalostí, která slouží jako komunikační kanál mezi jednotlivými moduly. Tato databáze představuje úložiště dat, které předává jednotlivým modulům během celého procesu rozpoznávání. První modul „získání obrazu“ slouží ke vstupu dat do programu. Získávání dat probíhá dvěma způsoby: vstupní obraz získáme buď jako výstup ze zařízení připojených k počítači (skener, fotoaparát, kamera) nebo jako obrazový soubor, který jsme získali nepřímo, například stažením z internetu nebo převzetím z jiných zdrojů. Tento modul nemusí být přímo implementován a často je zastoupen formou samostatné aplikace. Pro proces OCR je zásadní kvalita zpracovávaného obrazu. Ta může být různá. Obraz může obsahovat nepřesnosti v podobě šumu, rotace nebo pokřivení. Zlepšení kvality vstupních dat je úkolem modulu „předzpracování obrazu“. Tento modul obsahuje funkce, jako rotovat, zesvětlit, ztmavit, potlačit šum v obraze a další.
- 18 -
Dalším modulem je „segmentace“. Jejím úkolem je nalézt v obraze souvislé oblasti pixelů, tzv. komponenty. Ty jsou vyhledávány na základě odlišení barevnosti podkladu od barevnosti znaků. V dalším kroku je zapotřebí rozpoznané komponenty rozčlenit na znaky, slova, řádky a celé bloky textu. Touto částí procesu OCR se zabývá modul „znaková extrakce“. Poté je rozčleněný text předán k dalšímu zpracování. V dalším zpracování hraje roli i to, jak program dokáže identifikovat vlastnosti textu. Modul pro „rozpoznání vlastností znakových sad“ porovnává vstupní data a zjišťuje například to, jaký byl pro text použit font, zda byl text formátován jako tučný, kurziva nebo kapitálky, zda je font proporcionální, patkový, bezpatkový apod. Tento postup podstatně pomáhá poslednímu modulu a poskytuje mu řadu údajů, které napomáhají znak správně zařadit. Poslední modul „klasifikace znaků“ přebírá vstupní data od předešlých modulů a na jejich základě vytváří pro každý jednotlivý znak vektor, který vhodně reprezentuje jeho charakteristiky. Na základě porovnání tohoto vektoru se znalostní bází pak určí, o jaký znak se jedná. Poté aplikace lexikální metodou porovná soubory znaků představující slova se svým jazykovým slovníkem a vytváří hypotézu, která reprezentuje dané slovo. Tato hypotéza nebo více hypotéz jsou na základě statistických funkcí převedeny na dané slovo. Tento proces se nazývá „lexikální postprocessing“.
Ilustrace 2: Diagram návaznosti modulů OCR softwaru
- 19 -
3.1.1 Optické skenování V této fázi dochází k digitalizaci obrazu původního dokumentu. Dokument může být naskenován optickým skenerem nebo vyfocen. Další postupy OCR programů jsou přímo závislé na kvalitě tohoto digitálního obrazu, proto bychom, pokud obraz snímáme za účelem zpracování dokumentu OCR softwarem, měli pořizovat obraz v co nejlepší kvalitě. Důležitým pro nás bude hodnota DPI – tedy kolik pixelů se vejde do délky jednoho palce (2,54 cm). Jedná-li se o převážně textový dokument skenovaný za účelem OCR, obecně se doporučuje rezoluce DPI mezi 200 – 400. Dalším důležitým faktorem je kontrast. Skenovací aplikace mají různé přednastavené mody pro snímání odlišných typů dokumentů. Základní volby jsou:
typ dokumentu (fotografie, ilustrace, časopis, noviny, text-perokresba)
typ obrazu (barevně, stupně šedi, černobíle)
Tyto volby pomáhají uživateli rozhodnout se pro nejvhodnější režim, ve kterém by se měl dokument snímat. Například volby text-perokresba způsobují, že naskenovaný dokument bude díky vysokému kontrastu ideálně segmentovaný pro OCR software. Volba „černobíle“ zajistí ideální obraz z hlediska barevnosti, neboť většina aplikací podává nejlepší výsledky při binární podobě, tedy v černobílé podobě. [9]
- 20 -
Ilustrace 3: Příklad GUI aplikace pro skenování obrazu – EPSON Scan
3.1.2 Preprocessing Jedná se o modul, který se stará o kvalitu vstupního dokumentu. Může, ale nemusí být součástí aplikace. Obsahuje algoritmy, které na základě poznatků z porovnávání různých předloh upravují předlohu na parametry dokumentů s největší úspěšností. Většina aplikací pracuje s binárním digitálním obrazem dokumentu. Ne vždy však předloha odpovídá tomuto formátu. Proces preprocessingu je v podstatě rozdělen do dvou částí. První část plně ovládá uživatel a jedná se o funkce, které pracují s předlohou jako obrázkový editor. Uživatel má možnost změnit původní orientaci obrazu ze šířky na výšku a obráceně, náklon předlohy v úhlech, jas a kontrast předlohy, případně může oříznout předlohu, čímž zúží oblast rozpoznávání na požadovanou velikost. Druhá část tohoto modulu je plně automatizovaná a převádí dokument na požadovaný formát. Nejedná se o změny komprese obrazu, ale o převod předlohy na binární obraz.
- 21 -
3.1.3 Lokace a segmentace Tento proces stanovuje, kde se v dokumentu nachází oblast s tištěnými daty. Proces pracuje s bitmapovou podobou stránky a zjišťuje, kde je dokument nejvíce tmavý, tj. která jeho část obsahuje nejvíce textu. Poté se už stránka rozvrhne na jednotlivé textové a grafické bloky a bloky se postupně rozřadí a oddělí na segmenty/zóny. Tento postup se často nazývá zónování. Program takto určí nejvhodnější plochy pro rozpoznávání. Nejprve proběhne segmentace jednotlivých řádků a jako poslední program provádí segmentaci jednotlivých znaků v řádcích. Problémy v segmentaci:
fragmentace znaků (špatná čitelnost)
rozeznání šumu od textu (tečky mohou být rozeznány jako šum)
grafika rozeznána jako text
text rozeznán jako grafika
Výstupem procesu jsou data pro další procesy. Jejich obsahem jsou informace o digitálním obrazu dokumentu. Pojem digitální obraz chápeme jako matici hodnot, které určují například výšku a šířku znaku a jeho umístění v obrazu. Dále je také velmi důležitá intenzita obrazových bodů, čili barva. Právě barva pomáhá programu odlišit pozadí dokumentu od samotných znaků. Pomocí sledu dalších metod dokáže program určit pixely přináležící danému znaku. S těmito informacemi následně pracují další moduly.
3.1.4 Znaková extrakce Poté co program sledem algoritmů určí v dokumentu bloky textu, řádky, slova neboli sledy znaků a samostatné znaky, začne proces znakové extrakce. Na základě dat z předchozích modulů a dalším sledem algoritmů získá aplikace tzv. příznaky pro jednotlivé znaky. Příznaky můžeme chápat jako charakter křivky, která opisuje daný znak, nebo například číslo, jenž udává plochu, kterou znak vyplňuje. Příznakem tedy nazýváme charakteristiku, jenž popisuje nějakou vlastnost, která je pro znak typická. Pro znakovou extrakci se těchto příznaků používá vícero. Kvalita rozpoznání znaků je tedy přímo úměrná množství použitých příznaků. Jednoduchý závěr tedy zní, že čím více charakte-
- 22 -
ristických vlastností znaku jsme schopni popsat, tím větší je šance, že znak bude správně rozpoznán. Po nashromáždění dostatečného množství příznaků je aplikace porovnává se svojí bází dat, v níž jsou uloženy obrazy znaků a jim přidělené charakteristiky. Na základě shody pak program znaky vyhodnotí a dosadí do digitálního dokumentu.
3.1.5 Lexikální postprocessing Po fázi znakové extrakce přichází na řadu tento modul. Je založen a lexikálních pravidlech a tak je přímo závisí na jazyku dokumentu a na tom, jak daná aplikace daný jazyk podporuje slovníkem. Jelikož tento modul pracuje se statistickými modely výskytu slov, nedá se použít jako primární ukazatel povahy znaků. Jeho práce s výstupem z předcházejícího modulu přesto pomáhá zlepšit celkový výstup. Některá slova a slovní spojení se prostě v jazyku vyskytují častěji než jiná. Je také logické že s ohledem na gramatická pravidla například češtiny je pravděpodobnější výskyt dvojice samohláska + souhláska než dvojic souhláska + souhláska, samohláska + samohláska apod. Když pak po samotném převodu textu aplikace některé znaky označí jako špatně rozpoznatelné přijde řada na uplatnění těchto modelů. Jejich aplikace obecně není nutná, poslední vývoj však ukázal že tyto modely u většiny jazyků citelně zlepšují výstupy OCR až o 5%.
- 23 -
Ilustrace 5: Návaznost procesů OCR aplikací
3.2 Digitální dokument Když už je překlad zcela hotov, nastává fáze, v níž program předkládá výstup rozpoznání uživateli. Tato prezentace probíhá často formou vygenerovaného textu v samostatném okně. Uživatel tak má možnost vizuální kontroly. Pak už zbývá jen zvolit formát uložení a dokument v jeho nové podobě vhodně umístit. Právě možnost ukládání výstupů v různých formátech je pro tento krok klíčová. Ne všechny aplikace totiž mají tak velkou nabídku výstupních formátů jako dnešní komerční software, který podporuje i přímou konverzi do formátů jako HTML, DOC, XML a jiné. Přesto však můžeme výstupy, i když je aplikace poskytuje jen například ve formátu RFT, dále editovat. Formu digitálního dokumentu už tak plně ovlivňuje uživatel a je jen na jeho volbě, jak s výstupem OCR naloží.
3.3 Uplatnění technologií OCR/OMR v IS Základem každého informačního systému (IS) je práce s daty. U většiny systémů, sloužících ke komerčním účelům, můžeme předpokládat, že data, které bude tento IS zpracovávat, - 24 -
budou z jisté části tvořit podklady pro účetní operace, dokumentace k podnikovým aktivitám a jiné zdroje informací v tištěné podobě. Vzhledem k potřebě tyto data nejen kvalitně zpracovávat, ale i archivovat a efektivně zpětně dohledávat či s nimi jinak manipulovat v čase, se pro tyto dokumenty jeví jako nejlepší volba digitalizace. S virtuálním obrazem se mnohem lépe manipuluje a také se dá mnohem snáze archivovat a dohledávat. K těmto účelům poslouží obě zvolené technologie. Technologií OMR se dnes běžně využívá jako standardu ve správě podnikového obsahu jednak k značkování dokumentů a jejich roztřídění, ale především k automatickému vyhodnocování formulářů. OCR se pak v podnikových systémech používá především jako převaděč na požadovaný formát dokumentu. Také však může posloužit při analyzování podnikových dokumentů a jejich obsahu, neboť analýza dat v podobě textu je mnohem jednodušší než zpracování obrazových formátů.
- 25 -
Kapitola 4: Přehled OCR aplikací S ohledem na vývoj OCR technologie v průběhu času je celkem logické, že s jejím vylepšováním a vývojem v množství rozpoznávaných jazyků dále stoupá i poptávka po těchto systémech. Nové trendy velí producentům těchto aplikací, aby zaváděli na trh stále lepší software, který je schopen pracovat efektivněji, s menší spotřebou strojového času a s lepšími výsledky ve finálních výstupech. Jak se ale má uživatel, případně firma, orientovat v tak široké nabídce produktů? Do roku 1996 americká společnost IRIS, která je dodnes přední institucí na poli informačních věd, vydávala výroční test aplikací z dílen předních producentů OCR softwaru. Tyto testy a publikace, které k nim vycházely, byly považovány za měřítko kvality testovaných systémů v nadnárodním měřítku. Dnes už bohužel žádná významná instituce software této třídy netestuje. Uživateli se tak musí spolehnout na vlastní intuici a nabídku poskytovatelů. V této části práce jsem proto vycházel z přehledů na stránkách výrobců softwaru a popsal jsem malý zlomek jejich nabídky. Přesněji řečeno popsal jsem tři ze velké škály produktů, o kterých se domnívám, že dostatečně popisují dnešní nabídku těchto produktů.
4.1 Komerční software Komerční software se zaměřuje na komplexní serverové vybavení podniků, ve kterých je zpracovávání velkého objemu dat na denním pořádku. Tyto sady nástrojů většinou spojují více aplikací pro operační jednotky v podniku. Tyto pracovní týmy se vždy zabývají vyhrazenou částí procesu. Jedna pracovní skupina připravuje dokumenty ke skenování a značkuje jejich sady (batche), zatímco další skupina už připravené sady skenuje. Další jednotky se zabývají kontrolou kvality vstupních dokumentů. Dále jsou dokumenty rozpoznány a spolu s obrazovou naskenovanou předlohou archivovány na operačním serveru, aby později mohly být pověřeným pracovníkem trvale umístěny na stanovenou pozici do příslušné databáze.
- 26 -
Aplikace, které budu níže popisovat, jsou plně kompatibilní s tímto procesem. Nedá se říct, že by jejich producenti stavěli software přímo pro tento proces, přesto jsou hojně využívány a podle nároků klientů upravovány pro konkrétní provozy. Jádra programu a OCR engine zůstávají stejné. Tyto aplikace jsou však na trhu k dispozici hlavně v podobě verzí pro běžné uživatele. Jejich uživatelská rozhraní jsou konstruována tak, aby jejich užití bylo s ohledem na zkušenosti uživatelů co nejjednodušší. V následujících kapitolách popisuji tři z těchto aplikací v podobě jejich současných verzí.
4.1.1 ReadirisPro 11 Aplikace společnosti I.R.I.S jsou stálicí na poli této třídy produktů. První OCR aplikací této společnosti byl program Texiris, který vstoupil na trh jako revoluční softwarový nástroj pro převod textů téměř před dvaceti lety. Postupem času byl Texiris přejmenován na Readiris a jeho rozpoznávací algoritmy prošly značným vývojem. Pozadu nezůstala ani podpora rozpoznávaných jazyků. Dnešní, v pořadí jedenáctá, verze programu je na trhu dostupná ve dvou verzích. Jedná se o produkty ReadirisPro 11 a ReadirisPro 11 Corporate. Tyto produkty se liší v několika základních aspektech. Prvním je cena. Readiris Pro 11 je na evropském trhu k dostání za částku 132 EUR, na rozdíl od verze určené k podnikovému použití Readiris Pro 11 Corporate, kde cena dosahuje částky 400 EUR. Dále jsou dostání i verze pro asijský trh - Readiris Pro 11 Asian a Readiris Pro 11 Corporate Asian, které se zaměřují na převod asijských jazyků. S podporou více než 120 jazyků včetně hebrejštiny a procesem rozpoznávání zprava doleva je tato aplikace pro tyto trhy plně vybavena. Z dokumentace a stránek producenta vyplývá, že procentuální úspěšnost překladu a podpora 126 jazyků je u všech verzí programu shodná. Verze Corporate obsahuje funkci pro dávkové zpracování dokumentu s neomezeným počtem stran. Pro české uživatele je navíc menu aplikace lokalizováno do mateřštiny. Některé složitější funkce jsou sice sále popsány ang- 27 -
licky, to však uživatelům, kteří tyto funkce používají, jistě nebude vadit. Dále je program vybaven slovníkem pro každý jazykový modul, který obsahuje. Samozřejmostí je schopnost aplikace rozšiřovat tyto slovníky o nedostatečně rozpoznané nebo chybně rozpoznané znaky. Další funkce programu umožňují například rozpoznávání několika desítek typů čárových kódů, převod rozpoznaných znaků do formátu XML, rozpoznávání a převod grafických prvků, sledování zvolených složek a automatizovaný převod daného typu dokumentu na předem stanovený formát a jiné.
4.1.2 FineReader OCR 9.0 Společnost ABBYY byla založena v roce 1989 Davidem Yangem v Moskvě. V roce 2006 už měla společnost 600 zaměstnanců a pobočky v USA, Anglii, Ukrajině, Japonsku a Německu. Aplikace FineReader je jedním z řady produktů, který tento producent poskytuje. Od první verze prošel tento program značným vývojem. Jeho současná podoba vyniká množstvím jazykových modulů. Přesněji řečeno jejích 179 jazykových modulů z ní činí opravdovou jedničku na poli OCR. Aplikace obsahuje i 40 modulů pro opravu pravopisu v různých jazycích. Mezi těmito jazyky je i čeština a slovenština. Program je k dostání ve verzích pro operační systémy Windows 2000/XP/2003/Vista. Tato verze je k pořízení jako upgrade předešlých verzí za 99 EUR. Dále je k dostání i verze FineReader 9 Corporate Edition za cenu 999 EUR. Součástí této licence je neomezený počet instalací a možnost současné práce až tří pracovníků v rámci sítě. Lokalizace menu je pro tuto verzi bohužel v češtině nedostupná, ale jinak je celý program koncipován tak, aby byl pro uživatele co nejpřehlednější. Samozřejmostí je i propracovaný systém náhledu na původní dokument i zpracovaný text. Prakticky a přehledně je zpracovaná i nabídka dodatečných úprav zdrojového dokumentu.
- 28 -
U programu je použita technologie ADRT (Adaptive Document Recognition Technology), která je součástí všech dnešních předních OCR aplikací a která zajišťuje automatické rozležení sloupců textu a zachování grafiky ze zdrojového dokumentu. Tyto volby lze nastavit i ručně prostřednictvím vyznačení zón s grafikou nebo tabulkami. Zajímavostí je i podpora formátu XPS (XML Paper Specification), který byl navržen společností Microsoft jako alternativní formát k PDF. Podpora dalších formátů jako PDF/A, DOC/X, XLS/X a HTML je též implementována. Celkově se jedná o velmi zajímavou a světově úspěšnou aplikaci, jenž obdržela již řadu ocenění. Její spojení intuitivního uživatelského rozhraní a kvalitních výsledků při práci s dokumenty z ní dělají velmi zajímavou a propracovanou možnost pro podniky s vysokými nároky.
4.1.3 OmniPage 16 Šestnáctá verze aplikace OmniPage od společnosti Nuance Communications je dalším zajímavým produktem na trhu s OCR programy. OmniPage, jak vypovídá číslo verze. má za sebou taktéž kus historie a prošla značným vývojem. Aplikace je k dostání ve dvou základních balíčcích. První OmniPage 16, jehož cena je stanovena na 150 dolarů, je bohužel kompatibilní pouze s operačním systémem MS Windows. Druhá verze OmniPage 16 Professional stojí 500 dolarů a je kompatibilní jak s MS Windows tak se systémem Mac OS X. Dalším rozdílem i obsažení technologie LFR (Logical Form Recognition), která zajišťuje přesnější rozvržení sloupců a grafických prvků ve výstupním textu v porovnání se vstupním dokumentem. Jazykové moduly obou verzí jsou nastaveny na rozpoznání 119 jazyků včetně češtiny a slovenštiny a veškeré slovníky v aplikaci byly dle výrobce i s přesností překladu vylepšeny až o 25 % oproti předešlé verzi. Dalšími „lahůdkami“ jsou speciální slovníky - například finanční slovník, který ale bohužel stejně jako ostatní speciální slovníky nepodporuje češtinu.
- 29 -
Podpora velkého spektra vstupních i výstupních formátů je samozřejmostí. Soubory s příponami XML/X, DOC/X, TXT, PDF, CSV, HTML a další jsou obsaženy u obou verzí stejně jako konverze do různých formátů v rámci nástrojových řad MS Windows. Stejně jako předešlé programy i OmniPage dokáže v průběhu času řídit a spravovat obsah přidělených adresářů a složek. K tomuto používá speciální nástroje Workflow Manager a Batch Manager. Ty dokáží v předem stanovený čas a datum převádět nadefinované soubory dat nebo za pomocí funkce sledování převádět předefinované soubory z emailu ihned po jeho obdržení. Samozřejmostí jsou i funkce učení nových nebo špatně převedených písmen. Všechno běžná patková i bezpatková písma jsou sice v programu již nastavena, tuto funkci lze však použít pro nové znakové sady, které jsou svou povahou nestandardní a proto ne příliš vhodná k procesu rozpoznávání. Závěrem se sluší říci, že i OmniPage dosahuje vynikajících výsledkú. Její autoři uvádějí, že v současné době se jedná o nejrychlejší OCR aplikaci na trhu. Společně s propracovaným GUI a množstvím nadstandardních funkcí je tak OmniPage další hvězdou v současném OCR. Zřejmě jedinou vadou na kráse může být pro českého uživatele menu, které není lokalizováno do češtiny. Název softwaru
Cena licence (běžný uživatel / společnost)
Vydáno
ReadirisPro 11
132,- eur / 400,- eur
2006
FineReader OCR 9.0
99,- eur / 999,- eur
2007
OmniPage 16
150,- dolarů / 500,- dolarů
2007
Tabulka 2: Srovnání komerčních OCR produktů
4.2 Nekomerční software V dnešní době, kdy internet jako medium pro přenos a sdílení informací naprosto převládá a jeho obsah je tak mohutný, že zahrnuje snad všechny obory lidské činnosti, je celkem zřejmé, že uživatel hledající softwarové řešení svého problému, se nejdříve poohlédne právě zde. Snad právě rozvoj internetu způsobil, že řada nástrojů byla různými organizacemi nebo i jedinci převedena, zkopírována nebo od základu sestavena za účelem jejich dalšího bezplatného využití jinými uživateli. Tato třída softwaru je i přesto, že často nemůže nabídnout stejné funkce a ani pohodlí jako komerční aplikace, stále více využívána. Je to bezpochyby způso-
- 30 -
beno právě tím, že její využívání je bezplatné a nezahrnuje možnost právního postihu ze strany producenta. V oblasti rozpoznávání vzorů se již od počátku tohoto vědního oboru objevuje právě tato třída aplikací. Bohužel až v poslední době dospěl vývoj tak daleko, že přesnost rozpoznávání může alespoň částečně konkurovat kvalitě, jakou nabízejí prodejci komerčního softwaru. Kvalitě překladu, kterou mohou poskytnout některé nekomerční aplikace, se věnuji v 5. kapitole své práce.
4.3 OpenSource řešení - Tesseract Jako řešení a zároveň kompromis mezi kvalitou rozpoznávání a bezplatným užíváním bych rád uvedl volně dostupný OCR engine Tesseract. Tento software byl v letech 1985 a 1995 vlastnictvím společností Hewlett-Packard, která jej vyvíjela pro komerční užití. Během těchto let však konstrukce algoritmů pro převod textu nedosáhla žádných závratných výsledků. HP se jej proto rozhodl v roce 2005 pod licencí třídy OpenSource vypustit k volnému užívání. V současné době na dalším vývoji enginu spolupracuje společnost Google, která ho vydává jako hotový produkt k volnému odběru pod licencí třídy Apatche 2.0. Tento engine byl v roce 1995 v testech University of Nevada Las Vegas hodnocen jako jeden ze tří nejúspěšnějších rozpoznávacích software řešení vůbec. Části jeho kódu jsou programované v jazyce C a C++. Vzhledem k charakteru programu a povaze spíše testovací aplikace jeho obsluha postrádá grafické rozhraní. Aplikaci tak lze řídit jen prostřednictvím příkazové řádky. Zároveň nepodporuje rozložení textu a grafiku v textech. Aplikace se tak stává použitelnou jen pro předlohy s jednoduchou strukturou textu. Po propojení jádra programu s dalšími systémy podpory OCR procesů, jako je například OCRopus, který slouží k analýze rozložení předloh, se však Tesseract stává plnohodnotnou aplikací. Dalším znakem tohoto software řešení je neschopnost zpracovávat předlohy v jiném formátu než TIFF. Toto tedy předpokládá konverzi předloh na požadovaný formát ještě před samotným procesem převodu na text. Ač by se mohlo zdát, že výše popsané charakteristiky vybízejí spíše pro užití jiného řešení, stává se Tesseract stále používanějším jádrem freeware aplikací. Pro jeho použití mluví především volná možnost rozšiřování kódu a jeho užití. Dále je tu zřetelný neustálý posun a vý- 31 -
voj aplikace ze strany sponzorů a vývojového týmu a v neposlední řadě v jeho prospěch hovoří i distribuční kanály společnosti Google, která projekt vzhledem k svému sponzorství patřičně podporuje. Již dnes je na tomto enginu založeno větší množství aplikací s freeware licencí, například aplikace FreeOCR, která je součástí testu v 5. kapitole, a tak není pochyb. že s dalším vývojem kódu přibude i aplikací na něm založených. Poslední verze enginu vyšla 30. 6. 2009 a nese označení 2.04. Její užití je možné v operačních systémech MS Windows, Linux a neoficiálně i v MAC OS X.
4.4 Zajímavé OCR aplikace Vývoj technologických řešení se většinou odvíjí od problému, který je třeba řešit. U technologie OCR byla tímto primárním problémem potřeba převodu z tištěné formy dokumentů do její digitální podoby. Jak proces vývoje řešení pokračuje, začínají se zásluhou inovativních myšlenek konstruktérů objevovat i vedlejší cesty využití technologií. Ač se může zdát, že tyto vedlejší produkty mohou být krokem stranou, který jen brzdí další pokrok, většinou tomu tak není. V procesu vývoje OCR se začalo ukazovat, že její využití doznalo mnohem širší význam. Jakmile se proces rozpoznávání přestal omezovat jen na písma a číslice, bylo jasné, že se dá použít jako součást komplexních řešení úkolů, které by bez něj vyžadovaly přímou účast člověka. Samozřejmě mám na mysli především procesy, kdy vstupní data zadával člověk. Kvůli velikosti vstupních souborů nebo jejich složitému převodu tak bylo zpracování většího množství těchto údajů nemožné. Když jsem pátral po OCR aplikacích pro svoji práci, narazil jsem i na několik velmi zajímavých projektů, které právě s touto technologií pracují. Jako příklad využití proto uvádím dva projekty, které mě hned na první pohled zaujaly a v nichž do budoucna spatřuji velký potenciál. Prvním z nich je projekt onlineocr.net. Tato webová aplikace pracuje jako on-line OCR server, který je možno využívat bez poplatku. Výstupy jsou k dispozici po bezplatné registraci ve všech standardních formátech, jako je tomu u běžných OCR aplikací. Navíc schopnost rozpoznávat v 28 jazycích včetně češtiny dělá tuto webovou aplikaci ještě zajímavější. Jedinou
- 32 -
nevýhodou je, že po registraci je uživatel omezen počtem 5 bezplatných předloh. Poté si může možnost dalšího zpracovávání dokoupit. Více informací je k dispozici na www.onlineocr.net.
Ilustrace 6: UI webové aplikace onlineOCR.net Druhým projektem je aplikace, která si pohrává s převodem notových záznamů do formátu midi SharpEye 2. Tato aplikace používá základů OCR technologie a rozeznává z naskenovaných předloh notové záznamy. Tyto pak převede a dokáže je i editovat, například měnit jejich tóninu, zaměňovat tóny atd. Bezpochyby se také jedná o velmi zajímavou aplikaci.
- 33 -
Ilustrace 7: Uživatelské rozhraní aplikace SharpEye 2
- 34 -
Kapitola 5: Test OCR aplikací V této části práce jsem se rozhodl porovnat mezi sebou volně šiřitelné OCR programy. Test je koncipován tak, aby uživatel pomohl při rozhodování o tom, kterou OCR aplikaci použít pro domácí použití. Budu porovnávat programy volně dostupné na internetu, a to s licencí třídy freeware, tedy s volnou licencí. Tento mnou zvolený postup má simulovat výběr uživatele, který na internetu hledá program a neví, podle čeho má mezi více možnými programi volit. Aplikace budu testovat pouze metodou černé skřínky (black box testing). Na základě jejich dokumentace budu aplikacím postupně předkládat testovací příklady (skupiny vstupních dat) a sledovat výstupy aplikací. V další části testu se zaměřím na UI (user interface) aplikaci. V této části mě bude zajímat, zda aplikace splňují základní předpoklady dobrého uživatelského rozhraní: mezinárodní standardy, intuitivnost, konzistentnost, flexibilitu, uživatelskou přátelskost a užitečnost.[11] Test je rozdělen na tři části. První dvě jsou bodovány každá maximem 10 bodů, což plyne z podstaty těchto částí, a poslední, pro OCR aplikace zásadní část, kdy je hodnocena přesnost převodu znaků, je hodnocena počtem maximálně 40 dosažitelných bodů.
5.1 Stanovení kriterií pro testovaný software Pokud má být jakýkoli test směrodatný, musí být vždy předem stanovina kriteria, která stanoví rozpětí testovaných produktů. Tyto požadavky zároveň pomohou přesněji formulovat závěry testu. Vždy bychom měli vycházet z příkladu softwaru, který bereme jako ideální, a to bez ohledu na to, zda takový software máme k dispozici, nebo si jeho parametry jen představujeme. Vycházel jsem ze svých dřívějších zkušeností s využíváním aplikací pro vlastní potřebu a pro svůj test jsem pro testované aplikace formuloval základní požadavky.
- 35 -
5.1.1 Licence Předmětem testu budou výhradně ty aplikace, jejichž autoři se rozhodli svůj software poskytovat uživatelům zcela bez poplatků, omezení, nežádoucích reklamních ploch a sdělení a omezení času využívání softwaru [17] tedy jen aplikace s tzv. freeware licencí. Toto omezení jsem v testu zavedl po předchozích zkušenostech s aplikacemi, které tuto třídu licence neměly. Tyto programy jsou sice zpravidla vybaveny větší škálou nástrojů pro zpracování a správu souborů, často jsou však právě tyto nadstandardní funkce v souvislosti s licencí omezeny. Dalším hlediskem pro mě byla stránka časového omezení užívání aplikace. Právě časová omezení některých aplikací, které by bez nich byly vhodnými kandidáty na test, se ukázala být překážkou. V neposlední řadě jsem bral v potaz obraz uživatele, který na internetu vyhledává aplikace pro domácí použití. Jistě dá přednost právě aplikacím typu freeware, u nichž nehrozí žádný právní postih, z jejichž užívání aplikace neplyne žádný závazek k autorovi a využívání aplikace není časově omezeno.
5.1.2 Hodnocení uživatelů Další omezení plyne z podstaty testu. Abych dostatečně věrně simuloval běžného uživatele, který se na internetu snaží sehnat požadovaný program, rozhodl jsem se, že při výběru konkrétních programů pro mě bude řídícím znakem hodnocení uživatelů a diskuze k danému produktu přímo na serveru, odkud budu software stahovat.
5.2 Výběr softwaru Jednotlivé aplikace jsem vybral podle následujícího klíče: do vyhledávače jsem zadal internetový rozcestník, ve kterém jsem jako klíčová slovo zvolil „OCR software zdarma“. Zobrazilo se mi velké množství stránek. Jako klíč k výběru k tomu, z které stránky budu jednotlivé aplikace stahovat, jsem zvolil množství relevantních odkazů k tématu. Vybral jsem dva servery s volně stažitelným softwarem a to stahuj.cz a slunecnice.cz, které nabízely nejvíce relevantních odkazů na software pro OCR (bral jsem v potaz česky mluvícího uživatele, který bude preferovat české servery před zahraničními). Svou hypotézu o navštěvovanosti stránek jsem si potvrdil přezkoumáním
- 36 -
počtu přístupů na stránky na serveru Alexa.com, který se od roku 1996 specializuje na statistiky přístupů pomocí technologie Google Analytics. [19]
Na těchto serverech jsem potom do řádku pro rychlé vyhledávání napsal heslo „OCR“. U obou serverů se mi zobrazila poměrně omezená nabídka aplikací (13–18) a ne všechny se týkaly přímo rozpoznávání textu. Navíc jen malá skupina z odpovídajících aplikací splňovala mnou stanovené požadavky na formu licencování produktu. U produktů, které prošly licenční podmínkou, jsem dále zkoumal ohlasy uživatelů na tyto aplikace. Na obou serverech se nabídka produktů celkem shodovala. Hodnotící škály pro software se na obou serverech taktéž shodují. Porovnat hodnocení uživateli tedy nebylo těžké. Nakonec z tohoto výběru do testu postoupily tyto tři freeware aplikace: FreeOCR.net, Top, OCR a Simple OCR. Označení sofwaru Verze produktu Rok uvedení Hodnocení uživatelů Staženo z FreeOCR.net
2.6
2008
4/5
slunecnice.cz
TopOCR
3.1
2008
4/5
slunecnice.cz
Simple OCR
3.1
2001
4/5
stahuj.cz
Tabulka 3: Popis hodnocených aplikací
5.2.1 FreeOCR.net Aplikace FreeOCR.net je určena pro platformu Windows. Je založená na open source enginu Tesseract společnosti Google. Aplikace sama sebe prezentuje jako uživatelsky nenáročný program podporující například vícestránkové rozpoznávání. Její autoři uvádějí, že jejich dalším cílem je aplikaci v další verzi rozšířit o funkce podporující práci s formátem PDF. [27]
5.2.2 TopOCR Aplikace TopOCR je poněkud netradiční zástupce této třídy softwaru. Jedná se o program navržený společností TopSoft tak, aby byl schopen rozpoznávat i z předloh zachycených digi- 37 -
tálním fotoaparátem,nebo mobilním telefonem (smartphonem). Jeho autoři přiznávají, že rozpoznávání z předloh pořízených tímto způsobem je poněkud náročnější a komplexnější. Přesto je TopOCR aplikací vhodnou i pro předlohy s vyšší kvalitou např. ze skeneru. [26]
5.2.3 SimpleOCR Aplikace SimpleOCR je komplexním nástrojem od společnosti Simple, Jedná se o software pro nekomerční užití, který zahrnuje ucelený balík nejrůznějších funkcí spojených s OCR analýzou. Poskytovatel tohoto nástroje jej vyvinul jako alternativu k nekomerčnímu využití a mohu říct, že jde o velmi propracovaný nástroj. [25]
5.3 Test softwaru 1. část - testování uživatelského rozhraní První část testu spočívá v porovnání uživatelského rozhraní aplikací. Jejím cílem není nalézt chyby v UI aplikací, ale zjistit, která z aplikací svým uživatelským rozhraním nejvíce napomáhá uživateli, aby se v programu orientoval. Nejprve sestavím testovací scénář. Tento scénář pak předložím třem uživatelům, kteří tvoří průřez různě zkušených skupin uživatelů, aby dle něj v aplikacích prováděli předepsané úkoly. Jednotlivé bloky úloh jsou bodově hodnoceny. Na základě toho, jak moc složitý bude uživatelům připadat průchod jednotlivými etapami, aplikaci ohodnotí na škále nula až pět bodů. Z průměru hodnocení jednotlivých uživatelů pak vznikne vlastní hodnocení pro daný program. Škála hodnocení byla stanovena na 10 bodů pro aplikaci, která dosáhne nejvyššího hodnocení, 5 bodů pro druhou v pořadí a 1 bod pro aplikaci poslední.
5.3.1 Testovací scénář Abych otestoval, jak je daná aplikace uživatelsky přátelská, sepsal jsem jednoduchý postup kroků, které budeme v programu provádět. Jedná se o užití základních funkcí, jež jsou nezbytně obsaženy v každé aplikaci OCR. Jejich použití tak tvoří základ aplikací. Tento postup je také znám jako useability test. Pro zjednodušení průchodu testem jsem namísto formy předpisu kroků, které mají po spuštění aplikace následovat ,zvolil formu UML2 activity diagramu. - 38 -
[14] Tato forma mi zároveň dovolila jednoduše přerozdělit bodová ohodnocení podle toho, kde se uživatel v diagramu právě nachází.
I lustrace 9: Testovací scénář
5.3.2 Dodatečné funkce aplikací Abych posoudil, zda software svým UI pomáhá uživateli orientovat se i ve složitějších funkcích spojených se sejmutím a rozpoznáváním obrazu, rozšířil jsem diagram o další část, která reprezentuje průchod uživatele dalšími funkcemi. Bodové hodnocení je opět zřejmé a vyplývá z pokynů v přiloženém formuláři.
- 39 -
Ilustrace 10: Pokročilý testovací scénář
5.3.3 Výběr testerů Aby tato část testu byla věrohodná, vybral jsem pro její vyhotovení zástupce různě pokročilých tříd uživatelů. Vzhledem k povaze tohoto UI testu však byly vybráni pouze tři zástupci. Tento krok jsem byl nucen učinit proto, že k průchodu testem je u testera nutná znalost jazyka UML.2 a základy ovládání aplikací, které pracují s obrazovými soubory. Přesto se domnívám, že zvolený vzorek uživatelů je dostatečný na to, aby u testovaných aplikací dokázal nezávisle posoudit kvalitu uživatelských rozhraní. Jména testerů a jejich zkušenosti s užíváním softwaru jsou součástí formulářů. Tyto fomuláře uvádím v příloze.
- 40 -
5.3.4 Formulář Samotnému testu předcházelo ze strany testerů vyplnění krátkého formuláře, který jsem sám sestavil. V tomto dokumentu testeři uvádějí svojí iniciále, datum, kdy test probíhal, svoje uživatelské zkušenosti a podpis, kterým stvrzují, že byli seznámeni s podstatou testu a souhlasí se zveřejněním výsledků testu v mé práci. Součástí tohoto formuláře je také hodnotící tabulka pro testované aplikace a jednotlivé testovací okruhy, digram znázorňující průchod testem a prostor pro komentář testera k jednotlivým částem testu nebo samotným aplikacím. Vyplněné formuláře jsem pro účely testu naskenoval a jejich obrazy přikládám v příloze.
5.3.4 Vyhodnocení první části testu Všechny aplikace byly testery hodnoceny celkem pozitivně. Žádná z nich se neukázala být nevhodná pro standardního uživatele. Zajímavé bylo hodnocení funkcí pro označení oblasti dokumentu s grafikou. Tato funkce je na první pohled zřetelná pouze v programu Simple OCR. Funkce pro volbu jazyku dokumentu byla ve dvou ze tří aplikací popsána jako špatně dohledatelná. Celkově si však všechny testované aplikace stojí poměrně stejně, což se odrazilo i v celkovém hodnocení, kdy dvě ze tří aplikací obdržely v testu nezávisle na sobě stejný počet bodů. Tento výsledek je jistě i důsledkem volby vzorku uživatelů, kdy každý uživatel hodnotil danou aplikaci také na základě svých předešlých zkušeností. Celkové výsledky uvádím v tabulce níže a naskenované formuláře jsou k nahlédnutí v příloze. Název softwaru Dosaženo bodů v testu
Obodováno
FreeOCR.net
47
10
TopOCR
45
5
Simple OCR
45
5
Tabulka 4: Výsledky aplikací v první části testu
5.4 Test softwaru 2. část – nadstandardní služby aplikací Tato část testu se zaměřuje na doplňkové funkce aplikací. Tyto rozšiřují základní funkce programu o další možnosti úpravy před i po procesu rozpoznávání. Jejich cílem je buď zlepšit - 41 -
kvalitu původního souboru, z kterého bude rozpoznávání prováděno, nebo vhodným jazykovým filtrem předcházet nesrovnalostem v překladu, způsobeným například diakritikou, která je pro každý jazyk odlišná.
5.4.1 Jazykové moduly V případě jazykových modulů se jedná se o zásuvné moduly, které u programů OCR rozšiřují základní sady znaků o speciální symboly. Ty jsou spojeny především s používáním diakritických znamének u různých jazyků. Pokud je software vybaven tímto modulem pro příslušný jazyk, znamená to, že by měl být schopen vyvarovat se záměny například znaku „ú“ za kombinaci znaku „u“ a „-“ nebo tento znak vůbec nerozpoznat. V této části testu jsem v dokumentaci k dané aplikaci zjišťoval, kolik jazykových modulů obsahuje základní instalace současné verze dané aplikace. Na stránkách poskytovatele softwaru jsem pak dohledával možnosti rozšíření těchto modulů. Množství zjištěných dosažitelných modulů uvádím v tabulce níže. Aplikace jsem obodoval pěti body pro software s největším množstvím modulů, třemi body pro druhou a jedním bodem pro poslední aplikaci. Název softwaru Modulů k dispozici Dosaženo bodů FreeOCR.net
11
1
TopOCR
11
5
Simple OCR
4
3
Tabulka 5: Výsledky aplikací z části testu zaměřené na jazykové moduly
5.4.2 Dodatečné úpravy předloh V této části testu jsem každé z hodnocených aplikací předložil stejný soubor a něm jsem zkoumal možnosti dodatečných úprav obrázku před vlastním procesem OCR. Cílem těchto úprav je zvýšit obecnou kvalitu dokumentu pro rozpoznávání. Jedná se o možnosti typu: rotace, úprava barevnosti, rozlišení, světelnost, kontrast, invertování barvy, úprava perspektivu aj.
1 Tento produkt převzal během práce na testu jiný poskytovatel. Produkt je v základní verzi poskytován jen s jazykovým modulem pro Anglický jazyk a nový poskytovatel zatím nepodporuje rozšíření o další moduly.
- 42 -
Tato část testu je hodnocena nízkým počtem bodů, jelikož některé aplikace jsou vytvořeny jako uživatelsky zjednodušené a postrádají tak některé funkce naprosto záměrně. Bodovací škálu jsem stanovil takto: pět bodů pro aplikaci s největším množstvím dodatečných úprav, tři body pro druhou v pořadí a jeden bod pro aplikaci s nejmenším počtem úprav. Název softwaru Možnosti dodatečných úprav 2 Obodováno FreeOCR.net
ROT, SV, KO
3
TopOCR
ROT, UB, ROZ, SV, KO, IB
5
Simple OCR
ROT
1
Tabulka 6: Funkce aplikací a jejich bodování
5.4.3 Nároky na hardware Původně jsem chtěl tuto kategorii také zahrnout jako součást testu, po bližším prostudování dokumentace k jednotlivým programům jsem však dospěl k závěru, že všechny testované aplikace nepřesahují v žádném směru nároky na hardware či software vybavení současných osobních počítačů. Otázka jejich použitelnosti je tím vyřešena a jediným aspektem, který konfigurace PC, na kterém je aplikace spouštěna. ovlivňuje se stává výpočetní čas, který převod zabere. Test však nebyl zaměřen na batchové zpracování velkého množství podkladů a tak i tento je z hlediska testovaní aplikace zanedbatelný.
5.4.4 Vyhodnocení druhé části testu V této části testu, která měla za úkol prozkoumat škálu nadstandardních funkcí služeb, jež programy poskytují, získala nejvíce bodů aplikace TopOCR. Z toho je zřejmé, že právě tato aplikace disponuje největším množstvím nadstandardních funkcí. Jejich rozmanitost dovoluje uživatelům dle potřeby upravit jak vstupy OCR programů, tak i jejich výstupy. Název softwaru Dosaženo bodů FreeOCR.net
4
TopOCR
10
Simple OCR
4
Tabulka 7: Celkové vyhodnocení druhé části testu
2 ROT = rotovat, UB = úprava barevnosti, ROZ = změna rozlišení, SV = světelnost, KO = kontrast, IB = invertovat barvy.
- 43 -
5.5 Test softwaru 3. část – rozpoznávání textu Poslední část testu považuji za stěžejní. Během studia materiálů k tématu jsem objevil balík nástrojů vydávaný Institutem informačních studií University v Nevadě, Las Vegas. Tento věhlasný institut se již od roku 1992 zabývá testováním OCR softwaru. Na jeho stránkách je k dispozici The OCR Frontioners Toolkit [20]. Jedná se o komplexní sadu nástrojů pro analýzu výstupů OCR aplikací. Pro prostudování podkladů jsem se rozhodl, že tuto část testu rozdělím na dvě podčásti. V první jsem prověřil schopnost aplikací rozpoznávat znaky v jejich různých obměnách. Jako vzorky k porovnání jsem použil data, která byla součástí testovacího balíčku. Vybral jsem předlohy s různým formátováním a s proporcionálními i neproporcionálními typy písma. Tyto předlohy obsahovaly útržky textů z monografií, výstřižky z novin i úřední písemnosti. Vzhledem k povaze testu jsem vybíral dokumenty s jednoduše strukturovaným textem, ve kterém nebyly umístěny grafické prvky nebo ručně psané znaky. Tyto prvky bez předem aplikovaného zónování by mohly negativně ovlivnit výsledek testu, a proto předlohy, jež je obsahovaly, nebyly zahrnuty do této části testu. V druhé části, která měla prověřit schopnost aplikací vypořádat se s uceleným textem, kde je na všech předkládaných vzorcích zachováno formátování, jsem použil vlastní podklady. Škálu pro tuto část testu jsem obě jeho podčásti stanovil následovně: 20 bodů pro nejúspěšnější aplikaci, 10 bodů pro druhou v pořadí a 5 bodů pro poslední v pořadí. Objektem hodnocení byla procentuální úspěšnost překladu vycházející ze souhrnných reportů.
- 44 -
Ilustrace 11: Ukázka výstupu programu accsum.exe
5.5.1 Přesnost překladu Základem této části je, jak jsem již uvedl, soubor vzorků s různým formátováním a rozložením textu skenovaným na 200 dpi a módu stupně šedi, což je standard popsaný v dokumentaci k většině aplikací. Aplikacím bylo postupně předloženo deset vzorových stran s 25 949 znaky. Postup aplikací byl následující: otevření cílového dokumentu, provedení OCR analýzy, uložení textového výstupu. Výstupy jsem pomocí programu accuary.exe, který je určen k analýze přesnosti OCR překladu, porovnal s truetext soubory. Výsledné reporty jsem sumarizoval pomocí programů accsum.exe a accci.exe [20]. Tyto programy slouží k poskytnutí komplexních souhrnných statistik, z kterých lze vyčíst například celkovou úspěšnost rozpoznávání, počet měření, počty chybně rozpoznaných znaků a další poznatky. Výsledky této části uvádím níže, komentář k výsledkům aplikací tamtéž. Souhrnné reporty z jednotlivých aplikací pak naleznete v přílohách. Název softwaru
Počet chybně rozpoznaných znaků
Procentuální úspěšnost překladu
Obodováno
FreeOCR.net
6516
74.89%
5
TopOCR
1786
93.12%
20
Simple OCR
3369
87.02%
10
Tabulka 8: Vyhodnocení přesnosti překladu za použití různých předloh
- 45 -
5.5.2 FreeOCR Když jsem hledal příčiny vysoké neúspěšnosti aplikace FreeOCR, zjistil jsem, že byla způsobena především vzorky 02 a 05, ve kterých je text řazen do dvou sloupců a je formátován v neproporcionálním fontu. Úspěšnost v těchto vzorcích dosáhla 38,64 % u vzorku 02 a pouze 23,56 % u vzorku 05. Dále se ukázalo, že aplikace špatně pracuje s číslicemi a speciálními symboly. Pro lepší přehlednost uvádím statistiku chybně rozpoznaných znaků pro celý soubor vzorků, kde jsou červeně označeny znaky, u nichž přesnost rozpoznávání nedosáhla ani hranice 70 %. Count 4065 845 328 904 19807 25949 Count 564 3501 4 30 1 1 3 36 53 53 207 152 268 4 61 56 18 53 31 17 34 16 22 20 19
Missed 512 203 94 169 3619 4597
%Right 87.40 75.98 71.34 81.31 81.73 82.28
ASCII ASCII ASCII ASCII ASCII Total
Missed %Right 159 71.81 {<\n>} 353 89.92 { } 0 100.00 {!} 3 90.00 {"} 0 100.00 {$} 1 0.00 {%} 1 66.67 {&} 33 8.33 {'} 3 94.34 {(} 3 94.34 {)} 27 86.96 {,} 77 49.34 {-} 55 79.48 {.} 0 100.00 {/} 10 83.61 {0} 15 73.21 {1} 7 61.11 {2} 19 64.15 {3} 13 58.06 {4} 5 70.59 {5} 13 61.76 {6} 5 68.75 {7} 4 81.82 {8} 3 85.00 {9} 0 100.00 {:}
Spacing Characters Special Symbols Digits Uppercase Letters Lowercase Letters 13 1 66 24 98 43 53 31 16 26 75 6 7 21 42 39 36 46 2 45 81 96 7 6 18 19 1
0 0 6 3 12 1 3 7 3 8 16 0 1 6 11 4 12 16 0 10 23 19 1 2 4 0 1
100.00 100.00 90.91 87.50 87.76 97.67 94.34 77.42 81.25 69.23 78.67 100.00 85.71 71.43 73.81 89.74 66.67 65.22 100.00 77.78 71.60 80.21 85.71 66.67 77.78 100.00 0.00
{;} {?} {A} {B} {C} {D} {E} {F} {G} {H} {I} {J} {K} {L} {M} {N} {O} {P} {Q} {R} {S} {T} {U} {V} {W} {Y} {Z}
1609 262 738 756 2506 417 376 693 1464 17 86 892 501 1355 569 525 24 1410 1381 1829 584 171 254 45 326 17
291 70 165 157 376 91 56 116 274 2 15 173 106 245 249 125 11 236 267 336 110 28 46 12 60 2
81.91 73.28 77.64 79.23 85.00 78.18 85.11 83.26 81.28 88.24 82.56 80.61 78.84 81.92 84.13 76.19 54.17 83.26 80.67 81.63 81.16 83.63 81.89 73.33 81.60 88.24
{a} {b} {c} {d} {e} {f} {g} {h} {i} {j} {k} {l} {m} {n} {o} {p} {q} {r} {s} {t} {u} {v} {w} {x} {y} {z}
5.5.3 Simple OCR Celková úspěšnost 87,02 % u této aplikace byla zapříčiněna slabou úspěšností aplikace při překladu. U vzorků 01 a 02 byla dosažena procentuální úspěšnost pouze 71,54 % a 70,40 %. Z celkového reportu pak vyplývá, že hlavním zdrojem nízké úspěšnosti je především chybné rozpoznávání speciálních znaků, číslic a malých písmen.
- 46 -
Dále uvádím statistiku chybně rozpoznaných znaků pro celý soubor vzorků. Červeně označené jsou znaky, u nichž procento úspěšnosti překladu nedosáhlo hranice 70% a jejich výskyt přesáhl statisticky významnou hranici dvaceti znaků. Tyto znaky nejsou zdrojem neúspěchu aplikace vzhledem k jejich nízkému výskytu v souboru, přesto je však zajímavé pozorovat, jak aplikace pracuje s danými znaky, a sledovat neúspěšnost v jejich rozpoznávání. Count 4065 845 328 904 19807 25949 Count 564 3501 4 30 1 1 3 36 53 53 207 152 268 4 61 56 18 53 31 17 34 16 22 20 19
Missed 256 205 84 222 1195 1962
%Right 93.70 75.74 74.39 75.44 93.97 92.44
ASCII ASCII ASCII ASCII ASCII Total
Missed %Right 86 84.75 {<\n>} 170 95.14 { } 1 75.00 {!} 30 0.00 {"} 0 100.00 {$} 1 0.00 {%} 1 66.67 {&} 2 94.44 {'} 1 98.11 {(} 1 98.11 {)} 32 84.54 {,} 83 45.39 {-} 40 85.07 {.} 1 75.00 {/} 12 80.33 {0} 9 83.93 {1} 7 61.11 {2} 16 69.81 {3} 11 64.52 {4} 5 70.59 {5} 12 64.71 {6} 5 68.75 {7} 5 77.27 {8} 2 90.00 {9} 1 94.74 {:}
Spacing Characters Special Symbols Digits Uppercase Letters Lowercase Letters 13 1 66 24 98 43 53 31 16 26 75 6 7 21 42 39 36 46 2 45 81 96 7 6 18 19 1
11 0 11 2 27 9 9 4 3 9 24 1 3 8 14 14 13 5 0 13 20 21 2 3 4 2 1
15.38 100.00 83.33 91.67 72.45 79.07 83.02 87.10 81.25 65.38 68.00 83.33 57.14 61.90 66.67 64.10 63.89 89.13 100.00 71.11 75.31 78.13 71.43 50.00 77.78 89.47 0.00
{;} {?} {A} {B} {C} {D} {E} {F} {G} {H} {I} {J} {K} {L} {M} {N} {O} {P} {Q} {R} {S} {T} {U} {V} {W} {Y} {Z}
1609 262 738 756 2506 417 376 693 1464 17 86 892 501 1355 1569 525 24 1410 1381 1829 584 171 254 45 326 17
86 24 40 48 125 21 26 29 151 0 6 65 38 69 102 44 1 81 101 79 23 6 15 1 8 6
94.66 90.84 94.58 93.65 95.01 94.96 93.09 95.82 89.69 100.00 93.02 92.71 92.42 94.91 93.50 91.62 95.83 94.26 92.69 95.68 96.06 96.49 94.09 97.78 97.55 64.71
{a} {b} {c} {d} {e} {f} {g} {h} {i} {j} {k} {l} {m} {n} {o} {p} {q} {r} {s} {t} {u} {v} {w} {x} {y} {z}
5.5.4 TopOCR Aplikace TopOCR byla v této podčásti testu nejúspěšnější. Celkový report ukazuje na vynikající práci aplikace s malými písmeny. Důkazem tohoto tvrzení je procentuální úspěšnost 98,15 % při práci s těmito znaky. Na druhou stranu se ukazuje, že aplikace nepracuje ideálně s číslicemi. V tomto případě úspěšnost překladu dosáhla hodnoty 78,66 %. Dále, stejně jako u předešlých aplikací, uvádím statistiku. Z ní vyplývá, že hlavním problémem aplikace je zalomení odstavců. Úspěšnost této části překladu dosahuje pouhých 21,63 %. Dalším znakem, který aplikace nepřekládá přesně je znak „-“. U tohoto znaku dosáhla přesnost překladu 36,84 %. Přesto se velmi dobrá práce s textem potvrdila dosažením více než 95% přesností u většiny písmen.
- 47 -
Count 4065 845 904 19807 25949
Missed 513 125 74 367 1149
Count 564 3501 4 30 1 1 3 36 53 53 207 152 268 4 61 56 18 53 31 17 34 16 22 20 19
%Right 87.38 85.21 91.81 98.15 95.57
ASCII ASCII ASCII ASCII Total
Missed %Right 442 21.63 {<\n>} 71 97.97 { } 0 100.00 {!} 4 86.67 {"} 0 100.00 {$} 1 0.00 {%} 1 66.67 {&} 2 94.44 {'} 0 100.00 {(} 0 100.00 {)} 1 99.52 {,} 96 36.84 {-} 20 92.54 {.} 0 100.00 {/} 10 83.61 {0} 10 82.14 {1} 6 66.67 {2} 13 75.47 {3} 7 77.42 {4} 4 76.47 {5} 11 67.65 {6} 2 87.50 {7} 4 81.82 {8} 3 85.00 {9} 0 100.00 {:}
Spacing Characters Special Symbols Uppercase Letters Lowercase Letters 13 1 66 24 98 43 53 31 16 26 75 6 7 21 42 39 36 46 2 45 81 96 7 6 18 19 1
0 0 2 3 0 0 5 3 0 4 8 0 1 5 7 5 0 3 0 4 15 6 0 1 1 0 1
328
100.00 100.00 96.97 87.50 100.00 100.00 90.57 90.32 100.00 84.62 89.33 100.00 85.71 76.19 83.33 87.18 100.00 93.48 100.00 91.11 81.48 93.75 100.00 83.33 94.44 100.00 0.00
70
{;} {?} {A} {B} {C} {D} {E} {F} {G} {H} {I} {J} {K} {L} {M} {N} {O} {P} {Q} {R} {S} {T} {U} {V} {W} {Y} {Z}
78.66
1609 262 738 756 2506 417 376 693 1464 17 86 892 501 1355 1569 525 24 1410 1381 1829 584 171 254 45 326 17
ASCII Digits
29 8 11 14 34 1 8 13 59 1 4 19 14 34 30 11 0 13 20 25 6 3 3 0 6 1
98.20 96.95 98.51 98.15 98.64 99.76 97.87 98.12 95.97 94.12 95.35 97.87 97.21 97.49 98.09 97.90 100.00 99.08 98.55 98.63 98.97 98.25 98.82 100.00 98.16 94.12
{a} {b} {c} {d} {e} {f} {g} {h} {i} {j} {k} {l} {m} {n} {o} {p} {q} {r} {s} {t} {u} {v} {w} {x} {y} {z}
5.5.6 Přesnost překladu – optimální předloha V této části testu měly aplikace za úkol stejným postupem projít soubor jedenácti vzorků s dobře strukturovaným textem, bez grafických prvků a se zachovaným formátováním v proporcionálním fontu. Postup aplikací byl zachován z předcházející části textu. Aplikace převáděly celkem 26 684 znaků. Výsledky této části a komentář uvádím níže a Jednotlivé reporty jsou k dispozici v příloze. Název softwaru Počet chybně rozpoznaných znaků
Procentuální úspěšnost Obodováno překladu
FreeOCR.net
493
98.15%
10
TopOCR
88
99.67%
20
2389
91.05%
5
Simple OCR
Tabulka 9: Přesnost překladu př použití optimální předlohy a její hodnocení
5.5.7 Simple OCR Tato aplikace dosáhla v této podčásti testu nejnižšího hodnocení. Jak vyplývá ze souhrnného reportu, aplikace obecně špatně pracuje se speciálními znaky. Ze statistiky výskytu chybně rozpoznaných znaků plyne, že další slabinou aplikace jsou písmena „I“, „J“, a „L“. Naprosto - 48 -
katastrofální je práce aplikace s znaky „[“ a „]“, které aplikace vůbec nerozpoznala. Statisticky však tento neúspěch celkové hodnocení příliš neovlivnil. Count Missed %Right 4321 486 88.75 ASCII 1330 425 68.05 ASCII 699 106 84.84 ASCII 703 126 82.08 ASCII 19631 848 95.68 ASCII 26684 1991 92.54 Total Count Missed %Right 113 13 88.50 {<\n>} 4208 473 88.76 { } 130 130 0.00 {"} 1 1 0.00 {$} 3 1 66.67 {%} 3 0 100.00 {&} 33 2 93.94 {'} 35 7 80.00 {(} 35 3 91.43 {)} 1 1 0.00 {+} 465 76 83.66 {,} 71 16 77.46 {-} 464 136 70.69 {.} 2 0 100.00 {/} 33 4 87.88 {0} 152 19 87.50 {1} 72 12 83.33 {2} 46 10 78.26 {3} 73 10 86.30 {4} 52 7 86.54 {5} 45 9 80.00 {6} 49 7 85.71 {7} 51 11 78.43 {8} 126 17 86.51 {9} 24 9 62.50 {:} 9 4 55.56 {;}
Spacing Characters Special Symbols Digits Uppercase Letters Lowercase Letters 20 64 35 44 20 39 26 12 24 47 23 13 34 26 17 14 29 17 36 50 63 27 10 26 1 6 17
5 6 2 2 3 2 4 2 6 25 20 3 11 1 2 2 5 11 3 8 2 1 0 4 0 1 17
75.00 90.63 94.29 95.45 85.00 94.87 84.62 83.33 75.00 46.81 13.04 76.92 67.65 96.15 88.24 85.71 82.76 35.29 91.67 84.00 96.83 96.30 100.00 84.62 100.00 83.33 0.00
{?} {A} {B} {C} {D} {E} {F} {G} {H} {I} {J} {K} {L} {M} {N} {O} {P} {Q} {R} {S} {T} {U} {V} {W} {X} {Y} {[}
17 1744 254 775 785 2371 452 295 814 607 8 74 910 495 1377 1543 336 19 1188 1363 1786 543 174 195 92 409 22
17 74 10 29 51 78 20 10 22 72 1 5 70 18 58 67 21 0 53 43 73 22 5 8 9 23 6
0.00 95.76 96.06 96.26 93.50 96.71 95.58 96.61 97.30 95.52 87.50 93.24 92.31 96.36 95.79 95.66 93.75 100.00 95.54 96.85 95.91 95.95 97.13 95.90 90.22 94.38 72.73
{]} {a} {b} {c} {d} {e} {f} {g} {h} {i} {j} {k} {l} {m} {n} {o} {p} {q} {r} {s} {t} {u} {v} {w} {x} {y} {z}
5.5.8 FreeOCR.net Druhou v této části testu skončila aplikace FreeOCR. Po přezkoumání statistiky jsem dospěl k závěru, že celkovou úspěšnost snižuje práce s mezerami v textu. Z další části statistických zkoumání jsem zjistil, že jediným opravdu často špatně rozpoznaným znakem je písmeno „I“. Jinak se nedá říct, že aplikace měla větší problém s nějakým znakem. Count Missed %Right 4321 287 93.36 ASCII 1330 13 99.02 ASCII 699 2 99.71 ASCII 703 34 95.16 ASCII 19631 32 99.84 ASCII 26684 368 98.62 Total Count Missed %Right 113 0 100.00 {<\n>} 4208 287 93.18 { } 130 0 100.00 {"} 1 0 100.00 {$} 3 0 100.00 {%} 3 0 100.00 {&} 33 5 84.85 {'} 35 0 100.00 {(} 35 0 100.00 {)} 1 0 100.00 {+} 465 0 100.00 {,} 71 5 92.96 {-}
Spacing Characters Special Symbols Digits Uppercase Letters Lowercase Letters 464 2 33 152 72 46 73 52 45 49 51 126 24
2 0 0 0 0 1 0 0 1 0 0 0 1
- 49 -
99.57 100.00 100.00 100.00 100.00 97.83 100.00 100.00 97.78 100.00 100.00 100.00 95.83
{.} {/} {0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {:}
9 20 64 35 44 20 39 26 12 24 47 23 13
0 0 0 0 0 0 0 0 0 3 15 0 0
100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 87.50 68.09 100.00 100.00
{;} {?} {A} {B} {C} {D} {E} {F} {G} {H} {I} {J} {K}
34 26 17 14 29 17 36 50 63 27 10 26 1 6
0 13 0 0 0 2 0 0 0 0 0 1 0 0
100.00 50.00 100.00 100.00 100.00 88.24 100.00 100.00 100.00 100.00 100.00 96.15 100.00 100.00
{L} {M} {N} {O} {P} {Q} {R} {S} {T} {U} {V} {W} {X} {Y}
17 17 1744 254 775 785 2371 452 295 814 1607 8 74 910
0 0 0 0 0 0 0 0 0 0 1 0 0 23
100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 99.94 100.00 100.00 97.47
{[} {]} {a} {b} {c} {d} {e} {f} {g} {h} {i} {j} {k} {l}
495 1377 1543 336 19 1188 1363 1786 543 174 195 92 409 22
0 2 0 0 0 4 0 0 0 0 2 0 0 0
100.00 99.85 100.00 100.00 100.00 99.66 100.00 100.00 100.00 100.00 98.97 100.00 100.00 100.00
{m} {n} {o} {p} {q} {r} {s} {t} {u} {v} {w} {x} {y} {z}
5.5.9 TopOCR Jasným vítězem v této podčásti je TopOCR. Přesnost převodu této části aplikace je až zarážející – dosáhla 99,67% úspěšnosti. Jak je vidět ze statistiky, aplikace z dané předlohy přeložila správně maximum znaků a výsledný poměr 88 chyb na 26 684 převáděných znaků z ní dělá naprostého favorita. Zajímavostí je i fakt, že aplikace zvládla bezchybně převod všech číslic v souboru vzorků. Jedinou vadou na kráse je už klasický problém s převodem písmene „iI. Zdá se, že tento znak je nejzaměňovanějším znakem vůbec. Count 4321 1330 699 703 19631 26684 113 4208 130 1 3 3 33 35 35 1 465 71 464 2 33 152 72 46 73 52 45 49 51 126 24 9 20
Missed 33 11 0 7 8 59 Count 4
%Right 99.24 99.17 100.00 99.00 99.96 99.78
ASCII ASCII ASCII ASCII ASCII Total
Missed %Right 96.46 {<\n>} 29 99.31 { } 1 99.23 {"} 0 100.00 {$} 0 100.00 {%} 0 100.00 {&} 0 100.00 {'} 0 100.00 {(} 0 100.00 {)} 0 100.00 {+} 1 99.78 {,} 8 88.73 {-} 1 99.78 {.} 0 100.00 {/} 0 100.00 {0} 0 100.00 {1} 0 100.00 {2} 0 100.00 {3} 0 100.00 {4} 0 100.00 {5} 0 100.00 {6} 0 100.00 {7} 0 100.00 {8} 0 100.00 {9} 0 100.00 {:} 0 100.00 {;} 0 100.00 {?}
Spacing Characters Special Symbols Digits Uppercase Letters Lowercase Letters 64 35 44 20 39 26 12 24 47 23 13 34 26 17 14 29 17 36 50 63 27 10 26 1 6 17 17 1744
0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
- 50 -
100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 87.23 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 98.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00 100.00
{A} {B} {C} {D} {E} {F} {G} {H} {I} {J} {K} {L} {M} {N} {O} {P} {Q} {R} {S} {T} {U} {V} {W} {X} {Y} {[} {]} {a}
254 775 785 2371 452 295 814 1607 8 74 910 495 1377 1543 336 19 1188 1363 1786 543 174 195 92 409 22
0 2 0 2 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0
100.00 99.74 100.00 99.92 100.00 100.00 100.00 99.94 100.00 100.00 100.00 100.00 99.93 100.00 100.00 100.00 100.00 99.93 100.00 100.00 100.00 99.49 100.00 100.00 100.00
{b} {c} {d} {e} {f} {g} {h} {i} {j} {k} {l} {m} {n} {o} {p} {q} {r} {s} {t} {u} {v} {w} {x} {y} {z}
5.5.10 Vyhodnocení třetí části testu V této části testu získala nejvíce bodů aplikace TopOCR, čímž dokázala, že je více než dobře vybavena i pro převod ne příliš dobře strukturovaných dokumentů. Zvládla překlad neproporcionálních i proporcionálních písem i různých kvalit předloh. Mohu konstatovat, že tato aplikace je nejlépe vybavena pro převod písma. Z přiložených statistik lze vyčíst, že obecně vzato mají všechny tři testované aplikace problém především s převodem číslic a speciálních znaků. Tyto symboly jsou technicky vzato nejméně přizpůsobivé k procesu OCR. Název softweru Dosaženo bodů TopOCR
40
FreeOCR.net
15
Simple OCR
15
Tabulka 10: Celkové vyhodnocení třetí části testu
5.6 Celkové vyhodnocení Po otestování všech aplikací v celé šířce jsem shrnul výsledky jednotlivých etap testu a celkové výsledky. Tyto výsledky jsou zaznamenány v tabulce níže. Přiložený graf znázorňuje podíl jednotlivých částí testu na celkovém hodnocení aplikace. Název softwaru 1. část testu 2. část testu 3. část testu Dosaženo bodů celkem TopOCR
5
10
40
55
FreeOCR.net
10
4
15
29
Simple OCR
5
4
15
24
Tabulka 11: Celkové závěrečné vyhodnocení
- 51 -
FreeOCR
2. čás t tes tu funkce aplik ací
TopOCR
3. čás t tes tu pře snos t rozpoznávání 1. čás t tes tu - UI
Simple OCR
0
10
20
30
40
50
60
Ilustrace 12: Podíl jednotlivých částí testu na celkovém hodnocen Vítězem testu se stala aplikace Top OCR. Jak můžeme vidět z grafu, na jejím úspěchu má největší podíl její schopnost kvalitně převádět text. Tato část testu byla hodnocena největším počtem bodů, a tak není divu, že měla tak zásadní dopad na výsledek. Tato aplikace však prokázala svoje kvality i v části, která hodnotila funkce aplikací. Na základě výsledků testu tak hodnotím tuto aplikaci jako nevhodnější k domácímu užití.
- 52 -
Kapitola 6: Ukázka praktického užití OCR Vzhledem k tomu, že mým primárním cílem bylo dokázat, že technologie OCR je již dnes běžně dosažitelná v různých obměnách i pro nezkušeného uživatele, rozhodl jsem se na závěr pro praktickou ukázku využití. V této ukázce digitalizuji český text, který následně převedu do .rtf dokumentu, čímž docílím částečného zachování formátování dokumentu.
6.1 Abby FineReader – digitalizace učebních textů Pro svou ukázku jsem si vybral text z učebnice statistiky. Její obsah je nanejvýš vhodný pro prezentování možností digitalizace, neboť její obsah je tvořen nejen textem, ale i množstvím tabulek, vzorců a grafů, na kterých je možno demonstrovat rozpoznávání a převod grafiky. V originální předloze pro moji ukázku se však vyskytují jen jednoduchá matematická znaménka, a to zcela záměrně, neboť software, kterým disponuji, nebyl primárně určen pro převod matematických textů, a není tak vhodný pro rozpoznávání dlouhých sad vzorců. I přesto, jak vidíte níže, si ale s předlohou poradil. Ukázku jsem pořídil v aplikaci AbbyFine Reader 6.0 v. Sprint, jehož licenci vlastním.[27] Originální dokument jsem skenoval v rezoluci 360 dpi a módu stupně šedi. Pro načtení .jpg souboru do aplikace AbbyFine Reader si program sám v rámci zpracování označí oblasti s textem. Dále jsem už jen ručně označil oblast, která zůstala nerozpoznána. Po rozeznání textu program v druhé části plochy zobrazí rozpoznaný text. Tento pak jen stačí uložit ve zvoleném formátu.
- 53 -
Ilustrace 13: ukázka digitalizace v programu Abby Fine Reader 6.0 sprint Tato cesta může nastínit především studentům nový směr ve sdílení informací v rámci kolektivu, neboť není lehčí cesty, jak sdílet data, než přes internet. Domnívám se, že takovýto druh rychlé digitalizace materiálu je velmi vhodný a v budoucnu se OCR aplikace stanou nedílnou součástí každého pracovního prostředí na PC.
6.2 Návod pro jednoduchou digitalizaci Úplným závěrem praktické části mé práce bych uživatelům, které moje práce inspirovala a kteří se rozhodli používat některou ze škály OCR aplikací, chtěl položit několik rad, jak docílit co nejlepších výsledků. Jedná se o triviální doporučení, která však ve výsledku mohou výrazně pomoci zlepšit proces rozpoznávání [9].
Zachovávejte přirozenou pozici písma. Pokud je stránka naskenována v jiném úhlu, upravte ji v jakékoli aplikaci, která dovede pracovat s polohou obrázku.
Zachovávejte čistou skleněnou plochu vašeho skeneru. Její znečištění, třeba i jen prachovými částicemi, způsobí, že software OCR zkreslí znaky.
Pro předlohy je vhodné vybírat texty s velikostí znaku větší než 8 bodů. S menšími se zvyšuje riziko, že aplikace text nerozpozná.
- 54 -
Stejně důležitá je kvalita tisku originálního dokumentu. Pokud je dokument vytištěn nekvalitně nebo se jedná a několikátou kopii, znaky jsou většinou velmi špatně rozpoznatelné.
Skenujete-li barevný text, učiňte tak v módu stupně šedi nebo černobíle. Barva textu v kombinaci s barevným pozadím bývá často nepřekonatelnou překážkou.
- 55 -
Kapitola 7: Vlastní přínos V této kapitole bych rád shrnul všechna úskalí, s nimiž jsem při sepisování této práce setkal. Musím přiznat, že už jen samotné téma práce pro mě bylo velmi záludné. Vybral jsem si jej sám jako reakci na svou pracovní zkušenost ve firmě, která se zabývala outsourcingovou digitalizací účetních podkladů. Když jsem pak viděl, jak mohou být technologie OCR a OMR v praxi přínosné a kolik pracovních sil ušetří, rozhodl jsem se o tyto své poznatky rozdělit s ostatními. Ti pak jistě tyto technologie ocení a sami rádi vyzkouší při řešení běžných pracovních úkonů. Abych docílil právě takového využití, musel jsem ale téma práce uchopit tak, aby potencionální uživatelé viděli, že tyto technologie jsou jim nejen dostupné, ale že se dají opravdu efektivně využívat i pro běžné úkony, jako je archivace korespondence v digitální podobě nebo digitalizace výukových materiálů. Naštěstí jsem při zpracovávání rešerše narazil na zajímavé zdroje z oblasti testování softwaru, a tak jsem získal způsob, jak docílit ilustrace využití této třídy aplikací i se zhodnocením efektivity aplikací a doporučením, jak technologii využívat bezplatně, tedy bez nutnosti zakoupit si licenci k softwaru. Další otázkou, kterou jsem řešil, byl způsob výběru vhodné aplikace k testu, který je obsahem kapitoly 4. Nakonec jsem díky přispění přítele, který se zabývá tvorbou webových stránek, objevil stránky se statistickými daty k různým serverům. Na základě těchto statistik už bylo jednoduché určit, který server s volně stažitelným softwarem je dostatečně frekventovaný, aby mohl sloužit jako zdroj podkladů k dalším pracím. Posledním velkým problémem pro mě bylo určení metody vhodné k testování procentuální úspěšnosti testovaného softwaru. Napřed jsem sám vytvářel balíky testovacích dat a jejich pravdivých obrazů, abych porovnal výstupy z OCR aplikací. Tato metoda se však ukázala jako velmi pracná a výstupy z ní nebyly v požadované kvalitě. Také jsem se použitím této metody vystavoval riziku, že výsledky testů budou ovlivněny chybou v mé interpretaci ne příliš dobře strukturovaných dat. V průběhu tvorby testu jsem ale vlastním přičiněním narazil na - 56 -
další významný zdroj, který mi nakonec velmi pomohl. Jednalo se o instituci University of Nevada Las Vegas, která na svých stránkách poskytuje testovací balíček k OCR softwaru. Tento nástroj jsem se naučil používat a musím konstatovat, že výstupy z práce s ním více než uspokojivé.
- 57 -
Kapitola 8: Závěr Na závěr uvádím souhrn výsledků své práce, ale i to, čeho se mi docílit nepodařilo. V teoretické části práce jsem podle plánu,popsal jednotlivé typy rozpoznávacích aplikací, historii OCR technologie, jednotlivé části procesu OCR, nastínil jsem možnosti využití těchto technologií v informačních systémech a uvedl jsem přehled některých současných komerčních i nekomerčních aplikací. Také jsem uvedl některé zajímavosti z využití OCR. Dále jsem pak v praktické části sestavil vícekriteriální test OCR aplikací, na základě kriterií testu jsem vybral tři aplikace a tyto jsem testu podrobil. Zaznamenal jsem a vyhodnotil výsledky jednotlivých částí testu a na základě těchto ukazatelů jsem stanovil nejvhodnější aplikaci k domácímu užití OCR technologie. V práci se mi bohužel nepodařilo dostatečně rozvést technologické základy OCR. To ovšem vzhledem k povaze práce, která má mít spíše informativní charakter, nepokládám za vážný nedostatek a pro případné upřesnění technologických postupů uvádím dostatečné množství zdrojů, z kterých je možné čerpat.
- 58 -
Seznam použité literatury [1] En.wikipedia.org. Optické rozpoznávání značek a kódů : článek v AJ [online]. 2009 [cit. 2009-06-30]. Dostupný z WWW:
[2] En.wikipedia.org. Optické rozpoznávání znaků : článek v AJ [online]. 2009 [cit. 2009-06-30]. Dostupný z WWW: [3] En.wikipedia.org. Optické rozpoznávání ručně psaného textu : článek v AJ [online]. 2009 [cit. 2009-06-30]. Dostupný z WWW: [4] ŠMEJKAL, Emanuel. Test programů OCR. COMPUTERWORLD. 1995, roč. 6, č. 34, s. 19-20. [5] BORECKÝ, Stanislav. Programy OCR pro každého. COMPUTERWORLD. 2002, roč. 9, č. 32, s. 17-21. [6] POLIŠENSKÝ, PhDr. Jiří. Současné trendy v digitalizaci novodobých dokumentů. Knihovny současnosti 2008 [online]. 2008 [cit. 2009-04-01]. Dostupný z WWW: [7] Computer Analysis of Images and Patterns [Počítačová analýza obrazů a vzorů]: 12th International Conference, CAIP 2007, Vienna, RAKOUSKO, září 27-29, 2007. [s.l.]: Springer, 2007. 1006 s. Illustrated. [8] FRANCIS T. S. YU, SUGANDA JUTAMULIA. Optical pattern recognition : optické rozpoznávání vzorů. 2006 [cit. 2009-06-29]. [9] PECINOVSKÝ, Josef. Skenery a skenování. Praha : Grada, 2003. Snadno a rychle (GRADA). ISBN 80-247-0544-3. [10] POSPÍŠIL, Jiří. Současné trendy skenování ve stavebnictví a v příbuzných oborech . Praha: České vysoké učení technické, 2007. 32 s. České vysoké učení technické v Praze. ISBN 978-80-01-03755-3. [11] PATTON, Ron. Testování softwaru. David Krásenský. 1. vyd. Praha : Computer Press, 2002. 313 s. ISBN 80-7226-636-5. [12] SOBOTKA, Zdeněk, SOBOTKA, Martin. Základy číslicového zpracování obrazu. Praha : Dům techniky ČSVTS, 1990. 360 s. ISBN 80-02-00736-0.
- 59 -
[13] SOBOTKA, Zdeněk, SOBOTKA, Martin. Počátačová analýza a rozpoznávání obrazu. Praha : Dům techniky ČSVTS, 1990. 280 s. ISBN 80-02-00739-5. [14] MARTIN, Fowler. Destilované UML. Martin Pavíček. 1. vyd. Praha : Grada, 2009. 176 s. ISBN 978-80-247-2062-3. [15] AUJEZDSKÝ, Josef. Právní aspekty volně šiřitelných počítačových programů. Root.cz [online]. 2009 [cit. 2009-07-07]. Dostupný z WWW: [16] Journal of Pattern Recognition Research : magazín výzkumu rozpoznávání vzorů [online]. c2005 [cit. 2009-06-29]. Dostupný z WWW: [17] The Enterprise Content Management Association (USA) : sdružení na podporu aktivit v oblasti vývoje systémů pro ukládání, vyhledávání, sdružování a správu věrných obrazů dokumentů (faksimilií) [online]. c2008 [cit. 2009-06-30]. Dostupný z WWW: [18] Workflow Management Coalition : asociace zabívající se work-flow (pracovnímy postupy) a to i v oblasti zpracování dokumentů [online]. c2009 [cit. 2009-06-30]. Dostupný z WWW: [19] Alexa the Web Information Company : Alexa - správa informací o webových stránkách [online]. 1996 [cit. 2009-07-19]. Dostupný z WWW: [20] I.S.R.I. - The Information Science Research Institute : Institut informačních věd University of Nevada, Las Vegas [online]. 2005 [cit. 2009-07-19]. Dostupný z WWW: [21] ISO 9144:1991 - Optical character recognition line Position and structure : Norma pro struktůrou a rozložení rozpoznávaného textu. ISO.org [online]. 2009 [cit. 2009-06-30] [22] ISO 1831:1980 - Printing specifications for optical character recognition : specifikace nastavení tisku pro optické rozpoznávání. ISO.org [online]. 2009 [cit. 2009-06-30] [23] Ministerstvo kultury ČR - Projekt "Národní digitální knihovna" : specifikace projektu [online]. c2009 [cit. 2009-06-30]. Dostupný z WWW: [24] Scanservice s.r.o. : Česká společnost zabívající se digitalizací materiálů na tuzemském i zahraničním trhu [online]. c2009 [cit. 2009-06-30]. Dostupný z WWW: [25] SimpleOCR manuál : uživatelská příručka k aplikaci simpleOCR. Simple software [online]. 2009 [cit. 2009-06-30]. Dostupný z WWW : [26] TopOCR users manual : uživatelská příručka k aplikaci TopOCR. TopSoft.Ltd. 2008. Dostupný z WWW: - 60 -
[27] FreeOCR.net manual : uživatelská příručka k aplikaci FreeOCR.net. Softi Software. 2008. Dostupný z WWW: [28] ABBYY FineReader 6.0 sprint users manual : uživatelská příručka k aplikaci FineReader 6.0 sprint . ABBYY software. 2007.
- 61 -
Seznam příloh A) Obsah CD Název adresáře Obsah /ftk1.0
Frontiers Toolkit 1.0 - sada testovacích nástrojů pro OCR aplikace
/testUI
Sada vlastních předloh použitých v části testu přesnosti překladu
/predlohy
Souhrnné reporty pro jednotlivé aplikace z části testu zaměřené na přesnost překladu
/reporty
Skenované vyplněné dotazníky testerů v části testu zaměřené na UI
- 62 -