ROZPOZNÁVÁNÍ TEXTU Z OBRAZOVÝCH DAT
|
|
- Dominik Staněk
- před 8 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS ROZPOZNÁVÁNÍ TEXTU Z OBRAZOVÝCH DAT OPTICAL CHARACTER RECOGNITION FROM IMAGE DATA DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR Bc. MICHAL MARINIČ Ing. RADIM BURGET, Ph.D. BRNO 2014
2 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Diplomová práce magisterský navazující studijní obor Telekomunikační a informační technika Student: Bc. Michal Marinič ID: Ročník: 2 Akademický rok: 2013/2014 NÁZEV TÉMATU: Rozpoznávání textu z obrazových dat POKYNY PRO VYPRACOVÁNÍ: Seznamte se s problematikou rozpoznávání textu z obrazových dat, navrhněte metodu rozpoznávání textu a demonstrujte dosaženou přesnost na vybraných příkladech. DOPORUČENÁ LITERATURA: [1] Rafael C. Gonzalez and Richard E. Woods Digital Image Processing (3rd Edition). Prentice-Hall, Inc., Upper Saddle River, NJ, USA. [2] Milan Sonka, Vaclav Hlavac, and Roger Boyle. Image Processing: Analysis and Machine Vision. CL-Engineering, 2 edition, September Termín zadání: Termín odevzdání: Vedoucí práce: Ing. Radim Burget, Ph.D. Konzultanti diplomové práce: doc. Ing. Jiří Mišurec, CSc. Předseda oborové rady UPOZORNĚNÍ: Autor diplomové práce nesmí při vytváření diplomové práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č.40/2009 Sb.
3 ABSTRAKT Tato práce se zabývá rozpoznáváním textu v obrazových datech s pomocí různých metod, které jsou využity ke klasifikaci neznámých objektů v obraze. V první teoretické části se práce zaměřuje na vysvětlení všech důležitých částí systému pro optické rozpoznávání znaků. Praktická část práce popisuje ukázku segmentace obrazu, realizaci umělé neuronové sítě pro rozpoznávání obrazových dat a vytvoření jednoduché trénovací množiny dat pro vyhodnocení této sítě. Rovněž popisuje proces trénování nástroje Tesseract a jeho implementaci v jednoduché aplikaci EasyTessOCR pro rozpoznávání znaků. KLÍČOVÁ SLOVA Umělá inteligence, počítačové vidění, optické rozpoznávaní, segmentace obrazu, popis obrazu, klasifikace obrazových dat, umělé neuronové sítě, Tesseract ABSTRACT The thesis is concerned with optical character recognition from image data with different methods used for character classification. In the first theoretical part it focuses on explanation of all important parts of system for optical character recognition. The latter practical part of the thesis describes an example of image segmentation, the implementation of artificial neural networks for image recognition and create simple training set of data for the evaluation of the network. It also describes the process of training Tesseract tool and its implementation in a simple application EasyTessOCR for character recognition. KEYWORDS Artificial intelligence, computer vision, optical recognition, image segmentation, image description, classification of image data, artificial neural networks, Tesseract
4 MARINIČ, M. Rozpoznávání textu z obrazových dat. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, s. Vedoucí diplomové práce Ing. Radim Burget, Ph.D.
5 PROHLÁŠENÍ Prohlašuji, že svou diplomovou práci na téma Rozpoznávání textu z obrazových dat jsem vypracoval samostatně pod vedením vedoucího diplomové práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené diplomové práce dále prohlašuji, že v souvislosti s vytvořením této diplomové práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních nebo majetkových a jsem si plně vědom následků porušení ustanovení 11 a následujících zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon), ve znění pozdějších předpisů, včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č. 40/2009 Sb. V Brně dne podpis autora PODĚKOVÁNÍ Děkuji vedoucímu diplomové práce Ing. Radimovi Burgetovi, Ph.D. za pedagogickou a odbornou pomoc a další velmi cenné rady při zpracování mé diplomové práce. V Brně dne podpis autora
6 Faculty of Electrical Engineering and Communication Brno University of Technology Technicka 12, CZ Brno Czech Republic PODĚKOVÁNÍ Výzkum popsaný v této diplomové práci byl realizován v laboratořích podpořených z projektu SIX; registrační číslo CZ.1.05/2.1.00/ , operační program Výzkum a vývoj pro inovace. Brno (podpis autora)
7 OBSAH ÚVOD AUTOMATICKÁ DETEKCE OBJEKTŮ V OBRAZOVÝCH DATECH Čárové kódy QR kódy Optické rozpoznávaní značek OMR Optické rozpoznávaní znaků OCR HISTORIE OCR Počátky OCR První generace OCR Druhá generace OCR Třetí generace OCR Aktuální generace OCR PRINCIP OPTICKÉHO ROZPOZNÁVÁNÍ ZNAKŮ Komponenty OCR systému Předzpracování vstupního obrazu Mediánový filtr Gaussův filtr SEGMENTACE OBRAZU Prahování Morfologické operace Dilatace Eroze POPIS OBRAZU Vektor příznaků Rozdělení příznaků Popis hranice oblastí Skalární popis oblastí Velikost Obvod... 25
8 5.4.3 Hlavní a vedlejší osa Eulerovo číslo Projekce Pravoúhlost Podlouhlost Výstřednost Směr Nekompaktnost Konvexnost Momentový popis oblastí KLASIFIKACE ZNAKŮ Metoda nalezení shody Statistická klasifikace Umělé neuronové sítě Struktura umělých neuronových sítí Vícevrstvá perceptronová síť Učení umělé neuronové sítě IMPLEMENTACE DETEKCE ZNAKŮ V JAZYCE JAVA Postup segmentace obrazu Úprava aplikace pro detekci znaků v obraze Platforma Neuroph pro vývoj neuronových sítí Tvorba jednoduché trénovací množiny vzorových znaků Vytvoření neuronové sítě pro rozpoznávání obrazových dat Natrénování a vyhodnocení vytvořené neuronové sítě NÁSTROJ TESSERACT OCR Architektura nástroje Tesseract Proces trénování nástroje Tesseract Vytvoření BOX souboru Editace BOX souboru Proces trénování Vytvoření znakové sady... 52
9 8.2.5 Popis nově vytvořeného fontu Seskupení Kombinace získaných dat Rozpoznávání znaků Implementace nástroje Tesseract v aplikaci EasyTessOCR Instalace aplikace EasyTessOCR Uživatelské rozhraní aplikace EasyTessOCR Testování přesnosti nástroje Tesseract OCR ZÁVĚR LITERATURA SEZNAM POUŽITÝCH ZKRATEK OBSAH DVD PŘÍLOHY... 66
10 SEZNAM OBRÁZKŮ Obr. 1.1: Ukázka čárového kódu typu EAN (převzato z [6]) Obr. 1.2: Ukázka QR kódu, který obsahuje URL (převzato z [6]) Obr. 1.3: Ukázka vstupního formuláře pro systém OMR Obr. 2.1: OCR systém firmy Recognition Equipment pro zpracování šeků (převzato z [3]) Obr. 2.2: Americká znaková sada OCR-A (převzato z [1]) Obr. 2.3: Evropská znaková sada OCR-B (převzato z [1]) Obr. 3.1: Jednotlivé komponenty OCR systému Obr. 3.2: Vlevo obraz zatížený šumem "pepř a sůl", vpravo obraz po aplikaci mediánového filtru (původní obraz vlevo převzat z [7]) Obr. 3.3: Vlevo obraz znehodnocený šumem, vpravo obraz po aplikaci Gaussova filtru (původní obraz vlevo převzat z [7]) Obr. 4.1: Operace - dilatace (původní obraz vlevo převzat z [7]) Obr. 4.2: Operace - eroze (vlevo původní obraz) Obr. 5.1: Hranice objektu definována řetězovým kódem pro 4 okolí Obr. 5.2: Hranice objektu definována řetězovým kódem pro 8 okolí Obr. 5.3: Popis objektu pomocí obvodu Obr. 5.4: Hlavní (A) a vedlejší osa elipsy (B) Obr. 5.5: Horizontální a vertikální projekce objektu (převzato z [12]) Obr. 5.6: Podlouhlost objektu Obr. 5.7: Výstřednost objektu Obr. 5.8: Příklad kompaktního a nekompaktního objektu Obr. 5.9: Příklad konvexní a konkávní oblasti Obr. 5.10: Příklad konvexního obalu Obr. 6.1: Šablona znaku rozdělená do čtyřech menších celků Obr. 6.2: Struktura přírodního neuronu (převzato z [16]) Obr. 6.3: Struktura perceptronu Obr. 6.4: Vícevrstvá perceptronová síť Obr. 6.5: Graf parametrů neuronové sítě (převzato z [14]) Obr. 7.1: Vstupní obraz, na kterém se nachází znaky Obr. 7.2: Obraz převedený do odstínu šedi Obr. 7.3: Substrakce pozadí obrazu Obr. 7.4: Prahování pomocí Otsuho metody Obr. 7.5: Morfologická operace - dilatace Obr. 7.6: Aplikace mediánového filtru Obr. 7.7: Detekce znaků před modifikací Obr. 7.8: Detekce znaků po modifikaci Obr. 7.9: Základní prvky platformy Neuroph (převzato z [21])... 40
11 Obr. 7.10: Vytvořená trénovací množina dat ve formě číslic Obr. 7.11: Vytvořená testovací množina dat Obr. 7.12: Vytvoření nového projektu Neuroph Obr. 7.13: Vytvoření neuronové sítě pro rozpoznávání obrazových dat Obr. 7.14: Výběr trénovací množiny dat Obr. 7.15: Nastavení parametrů pro trénovací množinu dat Obr. 7.16: Nastavení parametrů neuronové sítě Obr. 7.17: Vytvořená neuronová síť Obr. 7.18: Graf chyby neuronové sítě Obr. 8.1: Schéma architektury nástroje Tesseract Obr. 8.2: Schéma procesu trénování Tesseract OCR Obr. 8.3: Ukázka prostředí programu jtessboxeditor pro snadnou editaci BOX souborů Obr. 8.4: Výpis z konzole Tesseract po ukončení procesu trénování Obr. 8.5: Ukázka prototypu znaku a hledání shody dle extrahovaných příznaků (převzato z [24]) Obr. 8.6: Úprava systémové proměnné Path Obr. 8.7: Uživatelské rozhraní aplikace EasyTessOCR Obr. 8.8: Ukázka obrázků použitých pro otestování přesnosti nástroje Tesseract OCR... 59
12 SEZNAM TABULEK Tab. 7.1: Přehled nastavení parametru pro učení neuronové sítě Tab. 7.2: Přehled dosažených výsledků Tab. 7.3: Přehled úspěšnosti rozpoznání neznámých znaků Tab. 8.1: Přehled úspěšnosti rozpoznání použité sady štítků Tab. 8.2: Přehled úspěšnosti rozpoznání použité sady značek, cedulí a SPZ... 61
13 ÚVOD Detekce objektů v obrazových datech je jednou z mnoha oblastí počítačového vidění, jehož cílem je simulovat schopnost lidského oka. Nejdůležitější částí je pochopení obsahu obrazu, které je běžně prováděno automaticky mozkem člověka, na základě naučených znalostí získaných v průběhu života. Detekce objektů v obrazových datech má široké možnosti uplatnění v průmyslu nebo také v běžném životě člověka. Tato práce se zabývá detekcí textu v obrazových datech s pomocí různých metod, které jsou využity ke klasifikaci neznámých objektů v obraze v podobě číselných znaků a písmen. Hlavní přínos této práce je úprava aplikace pro detekci znaků v obrazových datech dodané školitelem. Díky této modifikaci se snížil počet nesprávně detekovaných znaků v případech, kdy je segmentace obrazu nedokonalá a obraz obsahuje například shluky pixelů, které nepatří ke znakům. Dále byla provedena podrobná ukázka segmentace fotografie štítku, na kterém se nachází objekty v podobě číselných znaků. Pomocí volně dostupné platformy Neuroph, byla vytvořena umělá neuronová síť, sloužící k rozpoznávání obrazových dat. Rovněž byla navržená jednoduchá databáze znaků v podobě číslic, která sloužila jako trénovací množina pro tuto vytvořenou neuronovou síť. Vytvořená aplikace EasyTessOCR slouží jako ukázka implementace nástroje Tesseract a jeho možností využití pro rozpoznávání textu z obrazových dat. Pro aplikaci EasyTessOCR byl natrénován jazyk, který umožňuje rozpoznávání znaků z dodaných štítků. První část diplomové práce pojednává a různých možnostech využití automatické detekce informací v obrazových datech. Obsahuje stručný popis vývoje optického rozpoznávání znaků a aktuální možnosti této metody. Třetí kapitola popisuje základní komponenty OCR systému a předzpracování vstupního obrazu jako je například redukce šumu. Čtvrtá kapitola obsahuje popis segmentace obrazu a základních morfologických operací. Pátá kapitola přibližuje popis detekovaných objektů v obraze, který je jednou z nejdůležitějších částí OCR systému. Další kapitola se zabývá možností klasifikace znaků pomocí různých dostupných metod a podrobněji popisuje strukturu umělých neuronových sítí včetně procesu učení. Druhá část je zaměřena na praktickou ukázku popisu segmentace obrazu s využitím funkcí, které poskytuje program ImageJ a knihovna OpenCV. Následně je zmíněná úprava aplikace pro detekci znaků v obraze. Obsahuje ukázku detekce před a po modifikaci, která demonstruje zvýšení přesnosti detekce. Dále popisuje vytvoření a otestování umělé neuronové sítě, sloužící k rozpoznávání obrazových dat. Proces trénování nástroje Tesseract detailně popisuje vytvoření nového jazyka použitého k rozpoznání nestandardních číslic z dodaných štítků. V poslední částí práce se nachází popis instalace a použití vytvořené aplikace EasyTessOCR. 13
14 1 AUTOMATICKÁ DETEKCE OBJEKTŮ V OBRAZOVÝCH DATECH Optické rozpoznávání znaků patří mezi jednu z technik automatické detekce informací. Tradičním způsobem zadávání dat do počítače je za pomocí klávesnice, případně jiných periferních zařízení. Tento způsob je ale v některých případech neefektivní a vyžaduje interakci člověka. Existuje mnoho technik pro automatickou detekci určitého druhu užitečné informace. 1.1 Čárové kódy Čárové kódy jsou jedním z nejrozšířenějších prostředků automatické identifikace. Jejich použití snižuje výskyt chyb oproti ručnímu zadávání dat na naprosté minimum. Čárový kód je tvořen sekvencí čar a mezer s definovanou šířkou. Tyto geometrické prvky jsou při čtení převáděny na posloupnost elektrických impulzů různé šířky a porovnávány s tabulkou přípustných kombinací. Čárové kódy mají několik druhů a velikostí [4]. Obr. 1.1: Ukázka čárového kódu typu EAN (převzato z [6]) 1.2 QR kódy QR kód na rozdíl od čárového kódu může obsahovat podstatně více informací. Je tvořen černými a bílými bloky, které tvoří obrazce nesoucí určitý druh zprávy jako například URL adresa, , telefonní číslo nebo prostý popis výrobku. Obsahuje geometrickou vrstvu pro lokalizaci informačních bitů a informační vrstvu obsahující zprávu. Jeho velkou výhodou je značná odolnost vůči chybám. Samotný kód je nečitelný až při poškození jeho větší části [5]. Obr. 1.2: Ukázka QR kódu, který obsahuje URL (převzato z [6]) 14
15 1.3 Optické rozpoznávaní značek OMR OMR metoda slouží k rozpoznávání značek, které se mohou nacházet na předem definovaných místech formuláře. Digitalizace je potřebná zejména kvůli dalšímu zpracování. Detekuje se přítomnost nebo nepřítomnost značky, ale již ne její tvar [1]. Samotná značka je většinou vytvořena pomocí tužky nebo kuličkového pera do vyznačených míst formuláře ve tvaru čtverce nebo kruhu. Tato metoda se používá pro rychlé zpracování velkého množství různých druhu dotazníků nebo formulářů. Výhodou je vysoká přesnost a jednoduchost systému. JMENO : PRIJMENI : POHLAVI : MUZ ZENA Obr. 1.3: Ukázka vstupního formuláře pro systém OMR 1.4 Optické rozpoznávaní znaků OCR OCR se zabývá problematikou opticky zpracovaných znaků. Používá se v případech, pokud je nutné, aby byla informace čitelná jak pro člověka, tak pro stroj. Ve srovnání s ostatními metodami automatického rozpoznávání, OCR nevyžaduje speciální úpravu pro vstupní data. Provádí se off-line po vytištění nebo napsání dokumentu, na rozdíl od online rozpoznávaní, kde počítač, tablet nebo mobilní telefon rozpoznává znaky tak, jak jsou zadávány například kreslením na dotykovou vrstvu displeje. OCR umožňuje rozpoznávat znaky vytištěné tiskárnou nebo psané rukou, ale výsledek je přímo závislý od kvality vstupního dokumentu. Čím více omezení bude platit pro vstup, tím větší přesnosti a výkonu OCR systému bude dosaženo. V případě naprosto neomezeného rukopisu jsou OCR stroje v porovnání s lidským čtením pořád omezené [1]. 15
16 2 HISTORIE OCR Schopnost napodobit základní lidské dovednosti jako je čtení a psaní pomocí strojů je historickým snem mnoha odborníků. Počátky rozpoznávání znaků se datují do roku 1870, kdy byl vynalezen speciální skener, jehož přenosovou soustavu tvořila mozaika fotobuněk. Dvě dekády poté byl představen takzvaný sekvenční skener, který byl hlavním průlomem v oblasti moderní televize a čtecích strojů. Počátkem 19. století také proběhlo několik pokusů o vytvoření zařízení na základě OCR pro pomoc nevidomým lidem. Největší motivací pro neustálý vývoj OCR systému byla ale možnost jejich nasazení v obchodních aplikacích [1]. 2.1 Počátky OCR Od roku 1950 postupovala technologická revoluce velmi rychlým tempem a elektronické zpracování dat se stávalo pořád důležitější oblastí. Jejich zadávání se provádělo pomocí děrných štítků a bylo potřeba najít efektivní způsob jak tato data při jejich nárůstu objemu dokázat zpracovat. Současně se v této době technologie strojového čtení dostala do stádia, jenž umožňovalo použití pro běžné aplikace. Docházelo tak ke vzniku komerčně nabízených OCR systémů. První reálně fungující OCR systém byl nasazen ve firmě Reader s Digest v roce Byl použit pro převod finančních zpráv napsaných tiskacími stroji na děrné štítky umožňující zpracování pomocí počítače [1]. Obr. 2.1: OCR systém firmy Recognition Equipment pro zpracování šeků (převzato z [3]) 16
17 2.2 První generace OCR Komerční OCR systémy, které se poprvé objevily v letech 1960 až 1965, se nazývají první generací OCR. Tato generace strojů pro optické rozpoznávaní, se vyznačovala čtením pouze tvarově omezených znaků. Rozpoznávané znaky musely být přímo navržené pro strojové čtení a jejich tvar byl vůči běžně používaným znakům nepřirozený. Postupně se začaly objevovat stroje, které umožnily rozpoznat znaky s různými fonty. Počet povolených fontů byl omezen použitou metodou pro rozpoznávání znaků. Ta byla založena na srovnání obrazu detekovaného znaku s databází, která obsahovala předem definovaný vzor pro každý znak [1]. 2.3 Druhá generace OCR Stroje pro optické rozpoznávání znaků druhé generace se začaly vyrábět počátkem roku Tyto OCR systémy umožnily rozpoznávat znaky v běžně tištěném textu a také znaky psané rukou. U ručně psaných znaků byla detekce omezena pouze na čísla, několik slov a symbolů. Prvním a zároveň nejznámějším zástupcem systémů druhé generace byl IBM 1287 [1]. V této době proběhl velký posun také v oblasti normalizace. V roce 1966 byl definován americký standard OCR, který přinesl znakovou sadu OCR-A (Obr. 2.2). Tento font byl navržen tak, aby usnadnil optické rozpoznávání a zároveň byl bezproblémově čitelný pro člověka. Vznikl také evropský standard obsahující znakovou sadou OCR-B (Obr. 2.3), která byla ještě více podobná běžně používanému písmu než americký standard [1]. Tyto znakové sady byly přijaty mezinárodní organizaci pro normalizaci (ISO) [2]. Obr. 2.2: Americká znaková sada OCR-A (převzato z [1]) Obr. 2.3: Evropská znaková sada OCR-B (převzato z [1]) 17
18 2.4 Třetí generace OCR Úkolem třetí generace OCR systémů, která se objevila v roce 1970, bylo vylepšení čtení dokumentů v nízké kvalitě a zejména čtení ručně psaných znaků. Dalším úkolem bylo snížení ceny těchto systému a zvýšení výkonu [1]. I když se na trhu postupně začaly objevovat více sofistikované OCR systémy, jednoduchá OCR zařízení byla pořád užitečná k detekci znaků psaných psacími stroji. Výhodou při čtení byla konstantní vzdálenost mezi jednotlivými znaky a velmi malý počet fontů. Koncepty dokumentů se vytvářely na psacím stroji a poté byly převedeny pomocí OCR do počítače k finální úpravě. Díky tomu docházelo k velkým finančním úsporám [1]. Tato třetí generace našla uplatnění v různých aplikacích pro zpracování vytištěných dokumentů, jako jsou banky, nemocnice, pošty, vydavatelé novin ale i v průmyslových odvětvích [2]. 2.5 Aktuální generace OCR OCR stroje byly komerčně dostupné již v roce 1950, ale až do roku 1986 se jich prodalo pouze několik tisíc kusů. Hlavním důvodem byla extrémně vysoká cena těchto systémů. K nárůstu prodejů došlo zejména při poklesu ceny hardwaru a vzniku OCR systému v podobě softwarových balíčků [1]. V dnešní době je základním softwarovým OCR balíčkem vybavena většina prodávaných skenerů a multifunkčních zařízení. Také kancelářské balíky a programy pro práci s textovými dokumenty obsahují alespoň jednoduchou funkci pro rozpoznávání znaků z obrázků. Mezi nejznámější a nejpropracovanější softwarové OCR balíčky patří program ABBYY Finereader. Tento program nabízí velice pokročilou detekci znaků až 189 různých jazyků, detekci ručně psaných znaků, vizitek a je dostupný pro většinu dnes běžně používaných operačních systému. Díky neustálému pokroku na poli mobilních zařízení, dnešní telefony obsahují výkonné procesory a špičkové fotoaparáty srovnatelné s běžnými digitálními fotoaparáty. Program TextGrabber obsahující ABBYY Mobile OCR Engine umožňuje převod fotografií obsahujících text přímo v mobilním telefonu. Je dostupný pro mobilní platformy Apple ios, Android a díky jeho nízké ceně je tedy dostupný pro každého kdo vlastní moderní telefon. 18
19 3 PRINCIP OPTICKÉHO ROZPOZNÁVÁNÍ ZNAKŮ 3.1 Komponenty OCR systému Získání obrazu Předzpracování obrazu Segmentace Popis obrazu Klasifikace Rozpoznané znaky Obr. 3.1: Jednotlivé komponenty OCR systému Získání obrazu je provedeno například pomocí skeneru, digitálního fotoaparátu nebo videokamery. Předzpracování obrazu se provádí z důvodu možného výskytu šumu, který může vznikat například při snímání obrazu z důvodu špatných světelných podmínek. Segmentace provádí extrakci objektů v obraze, které mají podobné vlastnosti (například znaky v obraze). Popis obrazu je velice důležitou částí celého procesu. Objekty, které se získají segmentací obrazu je nutno určitým způsobem popsat, aby je bylo následně možné klasifikovat. Klasifikace je identifikace samotných znaků, získaných po segmentaci obrazu a jejich přiřazení k odpovídajícímu vzoru. 19
20 3.2 Předzpracování vstupního obrazu Předzpracování obrazu se provádí z důvodu možného výskytu šumu, který může vznikat například při snímání obrazu z důvodu špatných světelných podmínek Mediánový filtr Mediánový filtr je příkladem nelineárního filtru, který se používá k odstranění náhodného šumu. Tento filtr stanovuje hodnotu mediánu z hodnot okolních pixelů. Obr. 3.2: Vlevo obraz zatížený šumem "pepř a sůl", vpravo obraz po aplikaci mediánového filtru (původní obraz vlevo převzat z [7]) Gaussův filtr Využívá odstranění šumu konvolucí s maskou, která je definována elementy Gaussovy funkce. Nevýhodou tohoto filtru je rozmazání obrazu, které může znemožnit další zpracování, např. detekci hran v případě segmentace. Obr. 3.3: Vlevo obraz znehodnocený šumem, vpravo obraz po aplikaci Gaussova filtru (původní obraz vlevo převzat z [7]) 20
21 4 SEGMENTACE OBRAZU Segmentace je jedním z nejdůležitějších kroků při rozpoznávání objektů v obraze. Hlavním cílem je extrakce důležitých objektů, které se nacházejí v popředí oddělením od pozadí obrazu. Jednou z metod segmentace je detekce oblastí v obraze. Oblasti jsou vyhledávány na základě určitého kritéria, kterým se definuje homogenita oblasti. Příkladem takového kritéria může být konstantní nebo podobná hodnota jasu oblasti [8]. 4.1 Prahování Prahování je nejjednodušší metoda, která slouží k detekci celých oblastí v obraze. Ve většině případů se jedná o spolehlivou a rychlou metodu. Výsledkem prahování je binární obraz, ve kterém je černým pixelům přirazena hodnota 0 (popředí) a zbývajícím bodům (pozadí obrazu) je přirazená hodnota 1. Při prahování se vychází z předpokladu, že body hledaných oblastí mají stejnou nebo podobnou úroveň jasu [8]. Jako rozhodovací kritérium je použita hodnota t, která se nazývá práh. Body, jejichž jas je vyšší než hodnota prahu, jsou detekovány jako body hledaných oblastí a body, jejichž práh je nižší jako body pozadí. Prahování se provádí na základě předpisu [8]: g(x, y) = { 1, f(x, y) t 0, jinak (4.1) V některých případech, kdy obraz obsahuje pozadí s velmi nehomogenním jasem, je stanovení jediné prahové hodnoty prakticky nemožné. V těchto případech se používá adaptivní prahování, při kterém se obraz rozdělí na menší počet podoblastí, pro které je samostatně stanovena hodnota prahu. 21
22 4.2 Morfologické operace Matematická morfologie je založena na předpokladu, že objekty v obraze si je možné představit jako množinu bodů. Cílem morfologických operací je kvantitativní analýza a zpracování obrazu, která spočívá například v potlačení šumu, odstranění chyb v obraze, oddělení slitých objektů nebo naopak vyplnění děr. Morfologické operace se provádí zejména s binárními obrazy, ale lze je rozšířit také na šedotónové obrazy [9] Dilatace Tato morfologická operace provádí nezvratné změny v obraze. Dilatace se používá k zaplnění malých otvorů v objektech, propojuje a zvětšuje objekty. Také přidává pruhy podél hranic objektů [10]. Obr. 4.1: Operace - dilatace (původní obraz vlevo převzat z [7]) Eroze Eroze se používá ke zjednodušení struktury objektů v obraze. Díky tomu dojde k jejich rozložení na jednodušší části. Odstraňuje malé izolované objekty a také rozděluje nežádoucí propojení. Stejně jako u dilatace jsou provedené změny v obraze nezvratné [10]. Obr. 4.2: Operace - eroze (vlevo původní obraz) 22
23 5 POPIS OBRAZU Objekty, které jsou získány segmentací obrazu je nutno určitým způsobem popsat, aby je bylo následně možné klasifikovat. Pro popis objektů slouží příznaky. Kvalita a vhodná volba příznaků značně ovlivňuje celkový výsledek zpracovávané úlohy. 5.1 Vektor příznaků Z obrazu segmentovaných objektů se získávají příznaky, ze kterých je následně možné uspořádat vektor příznaků. Tento vektor často obsahuje neúměrně vysoký počet příznaků a je nutné provádět redukci příznakového prostoru. Extrakce příznaků transformuje vektor příznaků na vektor s nižším počtem členů, kde nově vybrané příznaky mají odlišný význam od původních [11]. Selekce příznaků slouží k výběru podmnožiny z vektoru příznaků, které vykazují nejvyšší diskriminabilitu. Vybraným příznakům zůstává jejich původní význam, ale ztrácí informace o objektu vlivem nevyužitých příznaků [11]. 5.2 Rozdělení příznaků Podle oblasti, kterou příznaky popisují, se rozdělují na lokální příznaky objektu a globální příznaky objektu resp. obrazu. Lokální příznaky objektu jsou získané pouze z lokální části objektu bez nutnosti předchozí segmentace. Tyto příznaky se používají pro popis význačných bodů, jako jsou rohy, struktury, přímost nebo zakřivení objektu [11]. Globální příznaky objektu jsou získané z celého objektu. Jedná se o jednoduché skalární příznaky, jako například velikost, konvexnost, podlouhlost, geometrické momenty a jiné. Jejich nevýhodou je nutnost precizní segmentace objektu a značná citlivost na aditivní šum [11]. Globální příznaky obrazu jsou získané pomocí lineárních integrálních transformací, jako je Fourierova transformace, diskrétní kosinová transformace nebo vlnková transformace [11]. Podle oblasti výpočtu, z které se příznaky získávají, se rozdělují na příznaky založené na popise oblastí a hranic těchto oblastí. V prvním případě je nutná znalost jasových hodnot pixelů popisovaného objektu. Příznaky, které jsou založené na popise hranic oblastí, vyžadují znalost hranice objektu, která může být definována implicitně seznamem hraničních pixelů nebo explicitně pomocí geometrických útvarů [11]. 23
24 5.3 Popis hranice oblastí Příznaky, které jsou založené na hranicích, popisují metrické vlastnosti objektů. Výpočet příznaku se provádí na základě znalosti hranice objektu, která může být definována implicitně seznamem hraničních pixelů nebo explicitně pomocí geometrických útvarů [11]. Mezi základní příznaky založené na hranicích oblastí patří Freemanův řetězový kód, který popisuje hranici objektu řetězcem symbolů s určenými směry. Definuje se čtyři nebo osm symbolů pro čtyř resp. osmi okolí [11]. Pokud se řetězový kód používá pro porovnávání, tak musí být nezávislý na volbě počátečního pixelu v sekvenci. Možné řešení je například určení počátečního bodu tak, aby kód odpovídal co nejmenšímu číslu v osmičkové resp. čtyřkové soustavě [12]. Freemanův řetězový kód definující hranici objektu na Obr. 5.1 je Obr. 5.1: Hranice objektu definována řetězovým kódem pro 4 okolí Freemanův řetězový kód definující hranici objektu na Obr. 5.2 odpovídá Obr. 5.2: Hranice objektu definována řetězovým kódem pro 8 okolí Pomocí řetězového kódu je možné určit délku hranice definováním počtu symbolů kódu. V případě osmi okolí je následně nutné použít normalizační koeficient 2 u směrů 1, 3, 5 a 7 [11]. 24
25 5.4 Skalární popis oblastí Jednoduché skalární příznaky oblastí popisují metrické vlastnosti objektů, které jsou vypočítané z plošného rozložení pixelů [11]. Používají se k příznakovému popisu jednoduchých objektů, ale mohou se využít i pro složitější úlohy, například pro popis jednotlivých dekomponovaných částí objektu [13] Velikost Velikost je nejjednodušší a základní vlastností pro popis objektů, která je definována počtem obrazových elementů (pixelů) daného objektu. V případě známé velkosti pixelu je možné zjistit i skutečnou velikost objektu [12]. Velikost bodu ale v některých případech nemusí být stejná pro všechny body v obraze, příkladem u družicových snímků [13] Obvod Obvod je definován počtem hraničních pixelů daného objektu. Lze jej stanovit ve smyslu čtyř nebo osmi okolí. Pro zrovnoprávnění míry čtyř a osmi okolí lze použít koeficient 2 u osmi okolí. Hodnota obvodu závisí na rozlišení obrazu, a proto se vzrůstajícím rozlišením roste obvod k nekonečnu [11]. Obr. 5.3: Popis objektu pomocí obvodu Hlavní a vedlejší osa Hlavní a vedlejší osa odpovídá délce hlavní resp. vedlejší osy elipsy v pixelech. Jejich centrální moment druhého řádu má stejnou hodnotu jako centrální moment druhého řádu popisovaného objektu [11]. B A Obr. 5.4: Hlavní (A) a vedlejší osa elipsy (B) 25
26 5.4.4 Eulerovo číslo Eulerovo číslo θ popisuje jednoduchou, topologicky invariantní vlastnost objektu, která se nemění s geometrickými transformacemi obrazu [12]. Je definováno jako: θ = S N (5.1) kde S odpovídá počtu souvislých částí objektu a N počtu děr objektu Projekce Popis objektů pomocí projekce se často používá při zpracování binárních obrazů. Například šířka (výška) objektu bez děr je definována jako maximální hodnota horizontální (vertikální) projekce objektu binárního obrazu [12]. Šířka Vertikální projekce Horizontální projekce Výška Obr. 5.5: Horizontální a vertikální projekce objektu (převzato z [12]) Horizontální projekce ph a vertikální projekce pv je definována jako: p h (i) = f(i, j) j (5.2) p v (j) = f(i, j) i (5.3) kde i, j odpovídají souřadnicím pixelů objektu. 26
27 5.4.6 Pravoúhlost Pravoúhlost nabývá hodnot z intervalu (0, 1, kde hodnota 1 odpovídá dokonale pravoúhlému objektu [12]. Je definována vztahem [12] pravoúhlost = max F k k (5.4) kde Fk odpovídá poměru mezi velikosti objektu a plochou opsaného trojúhelníka, k udává směr natočení, který nabývá diskrétních hodnot z intervalu 0 až Podlouhlost Podlouhlost udává poměr mezi délkou (a) a šířkou (b) obdélníku opsaného objektu, který má nejmenší plochu z obdélníků, kterými lze opsat daný objekt [12]. a Obr. 5.6: Podlouhlost objektu b Výstřednost Výstřednost udává poměr mezi nejdelší délkou tětivy A k ní kolmé nejdelší délce tětivy B [12]. B A Obr. 5.7: Výstřednost objektu Směr Směr je vlastnost sloužící k popisu podlouhlých objektů, která je invariantní vůči všem lineárním transformacím kromě rotace. Je definována směrem delší strany opsaného obdélníku použitého pro výpočet podlouhlosti [12]. 27
28 Nekompaktnost Nekompaktnost je často používána vlastnost pro popis objektu, která je invariantní vůči změně velikosti, rotaci a posunutí. Nejkompaktnějším objektem v Euklidově prostoru je kruh [12]. Nekompaktnost je definována vztahem [12] nekompaktnost = (délka hranice objektu)2 plocha objektu (5.5) Kompaktní objekt Nekompaktní objekt Obr. 5.8: Příklad kompaktního a nekompaktního objektu Konvexnost Oblast R je konvexní právě tehdy, když pro jakékoliv dva body x 1, x 2 R platí, že všechny body úsečky x1 x2 také patří do oblasti R. X 1 X 1 X 2 X 2 Konvexní oblast Konkávní oblast Obr. 5.9: Příklad konvexní a konkávní oblasti Konvexní obal je nejmenší konvexní oblast H, pro kterou platí, že R H. Konvexní obal se používá k definici tvaru objektu, ale není invariantní vůči natočení [12]. Konvexní obal H Oblast R Obr. 5.10: Příklad konvexního obalu 28
29 5.5 Momentový popis oblastí Jasová funkce, která definuje hodnoty pixelů v obraze, se může považovat za náhodnou veličinu pro klasifikaci statistických veličin v binárních a šedotónových obrazech [12]. Vlastnosti této veličiny lze vyjádřit pomocí statistických vlastností, které se nazývají momenty. Momentů je možné pro každý objekt sestavit nekonečně mnoho a čím více momentů popisuje daný objekt, tím je popsán věrněji a je přesněji rekonstruovatelný [11]. Obecný moment řádu p+q, který není invariantní vůči změně velikosti, natočení, posunutí ani šedotónovým operacím je definován vztahem [12] v digitálních obrazech m pq = x p y q f(x, y) dx dy m pq = i p j q f(i, j) (5.7) i = j = kde x, y, i, j odpovídají souřadnicím oblasti resp. souřadnicím pixelů digitálního obrazu. Centrální moment, který je nezávislý na jasových zkresleních a posunutí je definován vztahem [12] v digitálních obrazech μ pq = (x x c ) p (y y c ) q f(x, y) dx dy (5.6) (5.8) μ pq = (i x c ) p (j y c ) q f(i, j) i = j = (5.9) kde xc, yc odpovídají souřadnicím těžiště objektu určeného pomocí obecných momentů nultého a prvního řádu dle vztahů [12] x c = m 10 m 00 y c = m 01 m 00 (5.10) (5.11) Moment nultého stupně m00 odpovídá součtu jasových hodnot objektu, jehož mocnina slouží jako normalizační konstanta pro ostatní momenty. Momenty prvního stupně definují souřadnice těžiště objektu [11]. 29
30 6 KLASIFIKACE ZNAKŮ Klasifikace se používá k přirazení odpovídající úrovně, která slouží v případě skupiny objektů s homogenními vlastnostmi k jejich vzájemnému rozlišení. Tato úroveň se také nazývá jako třída [14]. Klasifikace je tedy identifikace samotných znaků, získaných po segmentaci obrazu a jejich přiřazení k odpovídajícímu vzoru [1]. Tato práce pojednává o klasifikaci pomocí metody nalezení shody, statistické klasifikaci a také o klasifikaci s využitím umělých neuronových sítí. Všechny uvedené metody se používají, pokud je popis znaku možné numericky vyjádřit pomocí vektoru příznaků. 6.1 Metoda nalezení shody Patří mezi nejstarší a nejjednodušší metody pro klasifikaci znaků. Každý známý symbol, který může být rozpoznán, je reprezentován ve formě binární šablony. Neznámý znak v černobílé podobě, který je potřeba rozpoznat, se postupně srovnává s různými šablonami a ukládá se hodnota, která vyjadřuje úroveň shody. Šablona, u které byla hodnota shody největší, odpovídá rozpoznanému znaku. Hodnota, která odpovídá úrovni shody, se může vypočítat pomocí více metod. Nejjednodušší z nich je procházení všech pixelů rozpoznávaného objektu. Hodnota úrovně shody se inkrementuje vždy, když dojde k nalezení pixelu v popředí objektu, který se nachází jak v rozpoznávaném znaku, tak v binární šabloně [15]. Srovnávaní šablony se znakem, je relativně pomalý proces kvůli procházení a srovnávání všech pixelů rozpoznávaného znaku a šablony. Další nevýhodou je nízká flexibilita metody v případech, kdy se rozpoznává i mírně odlišný znak, než ten který odpovídá šabloně. Zvýšení flexibility je možné provést přidáním více variant šablon pro každý znak, ale díky tomu lineárně stoupá časová náročnost srovnání se všemi šablonami [15]. Pro zrychlení celého procesu se šablona odpovídající jednomu znaku rozdělí na více samostatných částí (Obr. 6.1). Pokud dojde při srovnání rozpoznávaného znaku a první části šablony k neshodě, další části se přeskočí a následuje srovnávání s jinou šablonou [15]. Obr. 6.1: Šablona znaku rozdělená do čtyřech menších celků 30
31 6.2 Statistická klasifikace V případě statistické klasifikace se k rozpoznávání znaků používá pravděpodobnostní metoda. Hlavní myšlenkou je použít takové klasifikační schéma, které je optimální v tom smyslu, že jeho použití dosahuje v průměru nejnižší pravděpodobnost výskytu chyby při klasifikaci [1]. Klasifikátor, který minimalizuje celkovou průměrnou chybu, se nazývá Bayesův klasifikátor. Pro neznámý znak, který je popsaný vektorem příznaků, je spočítána pravděpodobnost, že tento znak patří do určité třídy stejně jako pro všechny ostatní třídy. Znak je poté přirazen do třídy, která odpovídá nejvyšší pravděpodobnosti výskytu [1]. Pro funkčnost této metody musí být známa funkce hustoty pravděpodobnosti znaků, společně s pravděpodobností výskytu znaků v rámci všech tříd. Bayesův klasifikátor je specifikován pomocí průměrného vektoru a kovarianční matice každé třídy [1]. 6.3 Umělé neuronové sítě Pro klasifikaci znaků se velice často používá umělá neuronová síť, která je jedním z nejpoužívanějších výpočetních modelů v umělé inteligenci. Jako celek tvoří distribuovaný výpočetní systém, který se skládá z jednotlivých podsystémů, takzvaných neuronů. Samotný umělý neuron je inspirován poznatky o struktuře a činnosti neuronů živých organizmů v přírodě. Umělé neuronové sítě (ANN) mají za úkol napodobit funkci biologické mozkové tkáně v přírodě [16]. Přírodní neuron (Obr. 6.2) je základním prvkem mozku, který umožňuje vést signály a reagovat na ně. Neurony obsahují velký počet vstupů, dendritů, které zachytávají signál z okolí a jeden výstup axon, který se může na konci rozvětvovat do terminálů. Ty se připojují na dendrity pomoci synapsí [17]. Obr. 6.2: Struktura přírodního neuronu (převzato z [16]) 31
32 6.3.1 Struktura umělých neuronových sítí Nejjednodušším modelem umělé neuronové sítě je perceptron, který je tvořen pouze jedním neuronem (Obr. 6.3). Každý perceptron obsahuje určitý počet vstupů s odpovídajícími hodnotami vah, aktivační funkci a výstup, který může být připojen k dalším vstupům jiných perceptronů [15]. Když perceptron obdrží hodnoty na vstupu, vynásobí je odpovídající váhou, která reprezentuje sílu signálu a přičte výsledek do hodnoty pro aktivaci. Tato hodnota je následně použitá jako vstup pro nelineární přenosovou funkci, často také nazývanou jako aktivační, která převádí vnitřní potenciál do definovaného oboru výstupních hodnot. V případě, že je vyšší než práh neuronu, na výstupu se objeví signál. Obor výstupních hodnot je nejčastěji omezený intervalem [0, 1] případně [-1, 1] [18]. Váhy vstupů Vstupy neuronu x 1 x 2 x 3 w 1 w 2 w 3 Výstup neuronu y Přenosová funkce x n w n Θ Práh neuronu Obr. 6.3: Struktura perceptronu Neuron lze obecně popsat pomocí vztahu: N y = S( w i x i + θ ) i=1 (6.1) kde wi odpovídá hodnotě i-té synaptické váhy, xi hodnotě i-tého vstupu neuronu, S je nelineární přenosová funkce, θ odpovídá úrovní prahu neuronu a y výstupní aktivitě neuronu. 32
33 6.3.2 Vícevrstvá perceptronová síť Kapacita samotného perceptronu pro řešení komplexních problémů je velice omezená, protože dokáže klasifikovat pouze body, které leží v konvexní oblasti [15]. V případě řešení složitějších problémů je to nedostatečné a je nutno sestavit celou síť umělých neuronů. Nejrozšířenější a nejpoužívanější umělou neuronovou sítí je vícevrstvá perceptronová síť (MLP), kterou tvoří určitý počet neuronů vzájemně propojených každý s každým. Příkladem je tzv. síť s dopředným sířením, která má vrstvenou strukturu. Jednotlivé vrstvy se skládají z neuronů, jejichž vstupy jsou spojeny s vstupy celé sítě nebo s výstupy předchozí vrstvy. Výstupy směřují pouze do následující vrstvy [19]. Každý neuron této sítě řeší pouze část komplexního problému a výsledek je tvořen kompozicí příspěvků od všech neuronů v síti [20]. Vícevrstvá perceptronová síť uvedená níže (Obr. 6.4) obsahuje vstupní vrstvu, dvě skryté vrstvy a výstupní vrstvu. Vstupní vrstva má za úkol pouze přeposílat signály na všechny neurony a neprovádí žádný výpočet [20]. Vrstvy, které se nacházejí mezi vstupní a výstupní vrstvou se nazývají skryté, protože výstup neovlivňují přímo ale přes další neurony [19]. Počet neuronů ve výstupní vrstvě odpovídá počtu tříd, které potřebujeme rozlišit. V případě klasifikace čísel 0 až 9 bude výstupní vrstva obsahovat deset neuronů [20]. Vstupní vrstva První skrytá vrstva Druhá skrytá vrstva Výstupní vrstva Obr. 6.4: Vícevrstvá perceptronová síť Umělá neuronová síť, která je složená ze dvou vrstev dokáže klasifikovat také body, které leží mimo konvexní oblast. Při dostatečném navýšení počtu vrstev dokáže podobná síť řešit problémy libovolného typu. Umělá neuronová síť s nelineární aktivační funkcí, která je složená ze tří vrstev, dokáže s libovolnou přesností aproximovat jakoukoliv nelineární funkci [15]. 33
34 6.3.3 Učení umělé neuronové sítě Učení neuronové sítě je proces, jehož cílem je nalézt hodnoty synaptických vah jednotlivých neuronů tak, aby se minimalizovala chyba na trénovací množině [19]. Učení neuronové sítě rozdělujeme na učení s učitelem a učení bez učitele. V prvním případě je k dispozici vzor výsledku, v druhém případě se výstup nevyhodnocuje. Nejpoužívanějším algoritmem, který slouží k učení umělé neuronové sítě s učitelem je algoritmus zpětného šíření. Chyba neuronové sítě se zjišťuje srovnáním dosažného řešení s očekáváným a zpětně se na základě toho vypočte, o kolik se mají změnit váhy neuronů, aby se odchylka od správného řešení co nejvíce snížila [20]. Velikost chyby Parametry neuronové sítě Obr. 6.5: Graf parametrů neuronové sítě (převzato z [14]) Počáteční nastavení parametrů neuronové sítě na začátku učení je náhodné. Podobnou síť představuje bod v grafu na obrázku (Obr. 6.5) uvedeném výše. Výpočtem lze zjistit směr, ve kterém chyba klesá nejrychleji. Směr nejstrmějšího klesání reprezentuje vektor, který se nazývá gradient (v grafu zobrazen jako červená šipka). Poté se ve směru gradientu mění nastavení neuronové sítě, až dokud se nedostane do místa s nejnižší chybou [20]. Nevýhodou této gradientní metody je možnost uváznutí v lokálním minimu. Chybová funkce je plná lokálních minim a maxim, síť tedy může uvíznout v lokálním minimu, i když se blízko může nacházet minimum mnohem výraznější. Pro zabránění uvíznutí sítě v tomto bodě se používá například simplexová metoda. Principem této metody je to, že si pamatuje hodnoty vah ve vrcholech nejjednoduššího mnohostěnu v prostoru určité dimenze a posouvá pouze ten vrchol, který odpovídá největší ztrátové funkci [19]. 34
35 7 IMPLEMENTACE DETEKCE ZNAKŮ V JAZYCE JAVA Implementace probíhala v jazyce JAVA ve vývojovém prostředí Eclipse. Vedoucím práce byl dodán základ aplikace pro detekci znaků v obraze, který byl následně upraven a rozšířen. Kvůli zpracování obrazu, které bylo nutné při segmentaci, byly do vývojového prostředí Eclipse importovány balíčky knihoven ImageJ a OpenCV, jenž jsou volně dostupné. Tyto balíčky obsahují velký počet pokročilých funkcí zaměřujících se na zpracování obrazu a počítačové vidění. 7.1 Postup segmentace obrazu Segmentace obrazu v případě vytištěných textových dokumentů je relativně nenáročná a pro rozpoznání znaků v obraze je možné použít dostupné komerční aplikace. Pokud vstupní obraz k rozpoznání neobsahuje konzistentní pozadí a kontrastní objekty v popředí, je segmentace mnohem složitější a běžně dostupné aplikace nástroje selhávají. Tato část popisuje postup segmentace v případě obrázků štítku, na kterých se nacházejí číslice. Všechny operace byly provedeny pomocí dostupných funkcí programu ImageJ. Vstupním obrazem je 24 bitový barevný obraz, na kterém se nachází znaky v podobě číslic, které je nutno detektovat. Obr. 7.1: Vstupní obraz, na kterém se nachází znaky 35
36 Z důvodu zjednodušení dalšího zpracování je obraz nejprve převeden na šedotónový (8 bitový), který poskytuje 256 odstínů šedi. Obr. 7.2: Obraz převedený do odstínu šedi Následně je pomocí funkce substrakce pozadí, která je součástí ImageJ potlačeno pozadí a díky tomu jsou objekty v popředí lépe rozeznatelné. Díky tomu je následná segmentace obrazu pomocí prahování mnohem přesnější. Obr. 7.3: Substrakce pozadí obrazu 36
37 Segmentace obrazu je provedená pomocí prahování s použitím Otsuho metody pro automatický výběr prahové hodnoty. Výsledkem operace je monochromatický obraz, kde 0 odpovídá černé (objekty v popředí) a 1 bílé barvě (pozadí). Obr. 7.4: Prahování pomocí Otsuho metody V dalším kroku jsou pomocí morfologické operace - dilatace vyplněny mezery v základní kostře znaků. Tato operace zvětší všechny objekty v obraze, tedy i menší samostatné shluky pixelů, které se poté musí odstranit. Obr. 7.5: Morfologická operace - dilatace 37
38 Následně se na obraz aplikuje mediánový filtr ve dvou krocích, kdy se z obrazu odstraní menší samostatné shluky pixelů, které nepatří ke znakům. Detekce znaků je v tomto případě až na jednu výjimku, v podobě nesprávného označení shluku pixelů jako znak, prakticky bezchybná. Obr. 7.6: Aplikace mediánového filtru 7.2 Úprava aplikace pro detekci znaků v obraze V některých případech, kdy je vstupní obraz silně zatížený šumem nebo jsou objekty tvořící popředí velice nevýrazné, může být výsledek segmentace značně nedokonalý. Jako detekované znaky jsou pak označené i větší shluky černých pixelů, případně jsou dva samostatné znaky nesprávně detekovány jako jeden. Obr. 7.7: Detekce znaků před modifikací 38
39 Úprava aplikace spočívala v popise parametrů detekovaných znaků v obraze, díky čemuž došlo k následnému snížení počtu objektů, které byly nesprávně detekovány jako znak. Průměrná šířka znaku je vypočítána ze šířky detekovaných oblastí v prvním a druhém řádku. K uvedenému průměru je připočtena odchylka, která byla stanovena na základě testování pro danou sadu obrázků. Pokud je znak širší než vypočtený průměr, tak dojde k jeho rozpůlení. Tím se zamezí nesprávné detekci dvou samostatných znaků jako jednoho. Průměrná plocha detekované oblasti je vypočítána z plochy detekovaných oblastí v prvním a druhém řádku. K uvedenému průměru je připočtena odchylka, která byla stanovena na základě testování pro danou sadu obrázků. Je možné odstranit velmi malé detekované plochy, které tvoří shluky pixelů. Poměr šířky a výšky znaku je definován jako poměr stran detekované oblasti. Pokud je tento poměr nestandartní, například pokud je v případě shluků pixelů, detekována oblast velice nízká a široká, tak je z detekovaných oblastí odstraněná. Poměr černých pixelů detekované oblasti je definován jako poměr počtu černých pixelů k celkovému počtu pixelů detekované oblasti. Z detekce jsou odstraněny detekované oblasti, které splňují výše uvedené kritéria ale počet černých pixelů je vůči velikosti této oblasti nízký. Modifikovaná detekce znaků v obraze, na kterou byly aplikovány všechny výše uvedené úpravy, dosahuje v případě nedokonalé segmentace vyšší přesnost. Obr. 7.8: Detekce znaků po modifikaci 39
40 7.3 Platforma Neuroph pro vývoj neuronových sítí Neuroph je platforma pro vývoj a simulaci běžně používaných architektur umělých neuronových sítí. Obsahuje pokročilé volně dostupné Java knihovny s malým počtem základních tříd, které reprezentují základy umělých neuronových sítí. Základní struktura platformy Neuroph je zobrazena na obr Celá platforma je prezentována jako software s otevřeným zdrojovým kódem pod licencí Apache 2.0 a je tedy použitelná zdarma pro soukromé i komerční účely. Platforma Neuroph obsahuje také aplikaci NeurophStudio s propracovaným GUI pro jednoduché vytváření umělých neuronových sítí a jejich simulaci. Obr. 7.9: Základní prvky platformy Neuroph (převzato z [21]) Vytvořenou a natrénovanou neuronovou síť v programu NeurophStudio je možné uložit ve formě souboru a použít přímo v aplikaci napsané v jazyce JAVA. V případě prostředí Eclipse je nutno importovat balíčky neuroph-core-2.8.jar a neuroph-imgrec-2.8.jar, které umožní vytvářet a simulovat neuronové sítě přímo ve vývojovém prostředí. Pro účely otestování funkčnosti a seznámení se s platformou byla v programu NeurophStudio vytvořená neuronová síť pro rozpoznáváních obrazových dat. 40
41 7.3.1 Tvorba jednoduché trénovací množiny vzorových znaků Pro účely trénování umělé neuronové sítě byla vytvořená jednoduchá trénovací množina dat v podobě číslic 0 až 9 (viz obr. 7.10). Jednotlivé číslice tvoří šedotónové obrazy v rozlišení 60 x 60 pixelů. Obr. 7.10: Vytvořená trénovací množina dat ve formě číslic Úpravou dat z trénovací množiny byla vytvořená sada neznámých číslic (viz obr. 7.11) pro vyhodnocování umělé neuronové sítě. Obr. 7.11: Vytvořená testovací množina dat 41
42 7.3.2 Vytvoření neuronové sítě pro rozpoznávání obrazových dat Základním bodem je vytvoření nového Neuroph projektu, který bude následně obsahovat neuronovou síť a trénovací množinu dat. Obr. 7.12: Vytvoření nového projektu Neuroph Po vytvoření nového projektu se přistoupí k vytvoření neuronové sítě, která je přizpůsobená k rozpoznávání obrazových dat. Obr. 7.13: Vytvoření neuronové sítě pro rozpoznávání obrazových dat 42
43 Následně se jednotlivě specifikují soubory s obrázky pro rozpoznání, případně je možné vybrat celé složky. V tomto kroku je možné provádět základní úpravy obrázku, jako je např. změna velikosti a jiné (viz obr. 7.14). Obr. 7.14: Výběr trénovací množiny dat Pro rozpoznávání je možné použít barevné obrázky nebo jejich variantu v binární podobě. Binární podoba je v případě rozpoznávání znaků nejvhodnější, protože snižuje potřebný počet vstupních neuronů. V dalším kroku se vybírají obrázky, které by neměly být rozpoznávány, čímž se sníží pravděpodobnost nesprávné detekce. Často tyto obrázky tvoří bloky červené, modré a zelené barvy. 43
44 Následně je vhodné zadat název trénovací množiny pro případ, že vytvořený projekt bude těchto množin obsahovat více. V tomto kroku se také specifikuje rozlišení pro vzorkování obrazu (viz obr. 7.15). Nižší rozlišení vstupních obrázků sníží velikost vstupního vektoru a počet neuronů ve vstupní vrstvě. Obr. 7.15: Nastavení parametrů pro trénovací množinu dat Dalším krokem je nastavení parametrů neuronové sítě, jako je její název, typ přenosové funkce a počet neuronů ve skrytých vrstvách (viz obr. 7.16). Pro přenosovou funkci se nejčastěji používá sigmoida nebo hyperbolický tangens. Neuronová síť bude obsahovat jednu skrytou vrstvu, ve které se bude nacházet dvanáct neuronů. Obr. 7.16: Nastavení parametrů neuronové sítě 44
45 Na obr je zobrazena vygenerována neuronová síť programem NeurophStudio dle zadaných parametrů. Obsahuje dvanáct neuronů ve skryté vrstvě a deset neuronů ve výstupní vrstvě, které odpovídají jednotlivým číslicím. Obr. 7.17: Vytvořená neuronová síť Natrénování a vyhodnocení vytvořené neuronové sítě Po vytvoření neuronové sítě je možné danou síť natrénovat na množině vstupních dat, v tomto případě obrázků číslic 0 až 9. Parametry nastavené pro učení jsou zobrazeny v tabulce Tab Dosažené výsledky jsou uvedeny v tabulce Tab Tab. 7.1: Přehled nastavení parametru pro učení neuronové sítě Rychlost učení 0,5 Moment 0,1 Max. chyba sítě 0,01 Max. počet iterací Bez omezení Tab. 7.2: Přehled dosažených výsledků Celková chyba sítě 0,00962 Celková MSE 0,01 Počet iterací 89 45
46 CELKOVÁ CHYBA SÍTĚ Na obrázku 7.18 je zobrazen graf závislosti celkové chyby sítě na provedeném počtu iterací při učení. ITERACE Obr. 7.18: Graf chyby neuronové sítě NeurophStudio obsahuje aplikaci pro otestování vytvořené neuronové sítě pro rozpoznávání obrazových dat. Jako trénovací data pro rozpoznání byla vybrána vytvořená sada číslic z obr Neznámý znak odpovídá neuronu s nejvyšší hodnotou na výstupu, který reprezentuje naučený znak. V tabulce 7.3 tedy pravděpodobnost rozpoznání odpovídá výstupu konkrétního neuronu. Znaky označené hvězdičkou reprezentují ručně psané znaky. Tab. 7.3: Přehled úspěšnosti rozpoznání neznámých znaků Znak Pravděpodobnost rozpoznání 1 0,9401 1* 0, ,9480 2* 0, ,8381 3* 0, ,8085 4* 0, ,8727 5* 0, ,8614 6* 0,
47 8 NÁSTROJ TESSERACT OCR Tesseract je velice přesný nástroj pro optické rozpoznávání znaků, který byl původně vyvíjen společností Hewlett-Packard v letech 1984 až První oficiální zmínka o tomto nástroji byla veřejnosti prezentována až v roce 1995, kdy byl zastoupen v rozsáhlém testu OCR nástrojů na Nevadské univerzitě. Tesseract byl publikován jako hlavní část vědeckého výzkumu v rámci doktorského studia v laboratořích Hewlett-Packard ve městě Bristol. Měl sloužit jako doplňkový programový balíček ke skenerům vyráběným touto společností. Motivací pro vývoj byla skutečnost, že existující OCR nástroje byly v té době schopny pracovat pouze s perfektně vytištěným textem. Tesseract na konci vývoje dosahoval mnohem vyšší přesnosti než dostupné OCR nástroje, ale nikdy nebyl prezentován jako komerční produkt. Koncem roku 2005 společnost Hewlett-Packard uvolnila Tesseract jako open-source nástroj pro optické rozpoznávání znaků [22]. Aktuálně je za další vývoj Tesseractu zodpovědná společnost Google, která rovněž zajišťuje základní podporu pro uživatele. Samotný Tesseract je pouze nástrojem, neobsahuje tedy grafické rozhraní jako běžné komerční produkty. V dnešní době je velice oblíben díky své vysoké přesnosti a licenční politice. V době tvorby této diplomové práce byla dostupná oficiální verze , která byla rovněž použita k demonstraci funkčnosti a k ukázce trénování. 8.1 Architektura nástroje Tesseract Proces optického rozpoznávání znaků nástroje Tesseract byl v době jeho vývoje unikátní a jako první umožňoval také čtení textu bílé barvy na černém podkladu. Jednotlivé částí tohoto procesu blokově popisuje schéma na obrázku 8.1. Prvním krokem je segmentace obrazu pomocí adaptivního prahování, které oddělí popředí obrazu ve formě znaků od pozadí. Výstupem je monochromatický obraz, který obsahuje pouze bílou a černou barvu. Dalším krokem je analýza spojitých objektů, tedy samotných slov a vět, zatím ve formě pixelů. V tomto kroku se rovněž ukládají informace o obrysech jednotlivých znaků. Tato operace je výpočetně náročná, ale přináší výhodu v podobě výše zmíněné možnosti čtení bílého textu na černém pozadí bez nutných dodatečných úprav. Následně se obrysy objektů seskupují do menších celků [22]. Tyto menší části jsou organizovány do textových řádků, u kterých se následně analyzuje, jestli se mezi znaky nachází pevná mezera, nebo je použito proporcionální písmo. Podle typu mezery se tak řádky rozdělí na samotná slova [22]. 47
48 VSTUPNÍ OBRAZ ABC EXTRAHOVANÝ TEXT ABC ADAPTIVNÍ PRAHOVÁNÍ ROZPOZNÁVÁNÍ SLOV 2/2 BINÁRNÍ OBRAZ SPOJITÉ OBJEKTY NALEZENÍ ŘÁDKŮ/SLOV ROZPOZNÁVÁNÍ SLOV 1/2 OBRYSY ZNAKŮ OBRYSY ZNAKŮ SOUSTŘEDĚNY DO SLOV Obr. 8.1: Schéma architektury nástroje Tesseract Samotný proces rozpoznávání textu se provádí ve dvou průchodech. V prvním průchodu se pokusně provede rozpoznání všech slov a každé, které je vyhovující se předá adaptivnímu klasifikátoru jako část trénovacích dat. Ten má následně šanci s vyšší přesností klasifikovat znaky, které se nacházejí na stránce níže [22]. Ve druhém průchodu se znovu provádí rozpoznávání celého textu. V tomto případě mohou být díky adaptivnímu klasifikátoru rozpoznány také neznámá slova z prvního průchodu [22]. 8.2 Proces trénování nástroje Tesseract Tesseract v základním balíčku obsahuje více než 60 jazyků v standardních fontech. V případě, že potřebujeme rozpoznávat znaky, které jsou nestandardní např. z důvodů nedokonalé segmentace, umožňuje Tesseract díky procesu trénování vytvořit nový jazyk. Tato diplomová práce popisuje kompletní postup trénování nástroje Tesseract verze pro účely rozpoznání štítků z kapitoly 7. Všechny příkazy, které jsou popsány níže, byly zadány do příkazové řádky konzoly Tesseractu. Samotný proces trénování zjednodušeně popisuje blokové schéma na obrázku
49 VSTUPNÍ OBRAZ OBSAHUJÍCÍ NEZNÁMÝ FONT jtessboxeditor ABC TVORBA BOX SOUBORŮ EDITACE BOX SOUBORŮ SOUBOR.TR TRÉNOVÁNÍ SOUBOR UNICHARSET VYTVOŘENÍ ZNAKOVÉ SADY SOUBOR FONT PROPERTIES POPIS FONTU NOVĚ VYTVOŘENÝ JAZYK SOUBOR LANG.TRAINEDDATA SOUBORY SHAPETABLE INTTEMP PFFMTABLE NORMPROTO SHAPECLUSTERING + MFTRAINING + CNTRAINING KOMBINACE VYTVOŘENÍ JAZYKA KOMBINACÍ ZÍSKANÝCH SOUBORŮ Obr. 8.2: Schéma procesu trénování Tesseract OCR Vytvoření BOX souboru Prvním krokem v procesu trénování nového jazyka je vytvoření tzv. BOX souboru. Jedná se o jednoduchý textový dokument, který obsahuje souřadnice všech objektů a jejich odpovídající význam, které Tesseract při rozpoznávání označil jako určitý znak. BOX souborů je možné vytvořit více, například pro různé fonty stejného jazyka [23]. 49
50 Syntaxe příkazu: tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox Příklad: tesseract num.nums.exp0.jpg num.nums.exp0 batch.nochop makebox Výstupem je soubor BOX, který obsahuje data v tomto formátu: První číslice 4 odpovídá významu znaku, který se nachází v obdélníku daném souřadnicemi x = 58, y = 95, šířkou 31 a výškou 49 pixelů ve vstupním obrázku Editace BOX souboru V dalším kroku je nutno vytvořený BOX soubor upravit, protože Tesseract s vysokou pravděpodobností nerozeznal všechny znaky z testovacího obrázku korektně. Editaci je možné provést ručně úpravou textového souboru, avšak tato metoda je velice náročná. Pro účely této diplomové práce, byl pro editaci BOX souboru použit volně dostupný program jtessboxeditor, který nabízí široké možnosti úpravy těchto souborů. Ukázka prostředí programu při úpravě BOX souboru se nachází na obrázku
51 Obr. 8.3: Ukázka prostředí programu jtessboxeditor pro snadnou editaci BOX souborů Proces trénování V tomto kroku se provede proces učení, kdy na základě námi upraveného BOX souboru Tesseract upraví rozpoznávání testovaných znaků. V případě více fontů se musí trénování provést pro všechny BOX soubory a vstupní obrázky [23]. Syntaxe příkazu: Tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] box.train Příklad: Tesseract num.nums.exp0.jpg num.nums.exp0 box.train Výstupem této operace je soubor fontfile.tr, který obsahuje popis příznaků všech znaků, které se nacházeli v testovacím obrázku [23]. Rovněž se vytvoří prázdný textový soubor ve formátu [lang].[fontname].exp[num].txt. Na obrázku 8.4 se nachází ukázka informací z konzole po ukončení procesu trénování. 51
52 Obr. 8.4: Výpis z konzole Tesseract po ukončení procesu trénování Z výpisu je patrné, že pří trénování Tesseract zpracoval všechny upravené znaky Vytvoření znakové sady Pro dosažení vyšší přesnosti potřebuje Tesseract znát řadu možných znaků, které se mohou objevit na výstupu. Vytváří se tedy jednoduchá znaková sada z naučených dat vstupního obrázku s neznámým fontem nebo jazykem. Pro vygenerování souboru s těmito znaky slouží program unicharset_extractor, který je součástí základního balíčku Tesseract [23]. Syntaxe příkazu: unicharset_extractor lang.fontname.exp0.box Příklad: unicharset_extractor num.nums.exp0.box Výstupem této operace je soubor unicharset, který na každém řádku obsahuje popis vlastností jednoho ze znaků. Na první pozici se nachází znak odpovídající kódování UTF-8. Dále se nachází číslo v šestnáctkové soustavě, které reprezentuje binární masku popisující vlastnosti znaku. Každý z bitů odpovídá určité vlastnosti a v případě, že je nastaven na hodnotu jedna, tak je daná vlastnost pravdivá [23]. Pořadí bitů od nejméně významného po nejvýznamnější bit odpovídá vlastnostem: alfanumerický znak, malé písmeno, velké písmeno, číslice, interpunkční znaménko. Pro znak c odpovídá vlastnost alfanumerický znak a malé písmeno. Vlastnost je tedy reprezentována jako binární číslice (3 v šestnáctkové soustavě). Pro znak 7 odpovídá pouze vlastnost číslice. Vlastnost znaku je poté popsána binární číslicí (8 v šestnáctkové soustavě). 52
53 8.2.5 Popis nově vytvořeného fontu Dalším krokem v procesu trénování je vytvoření souboru font_properties, který bude obsahovat popis vlastností samotného fontu. V případě vlastnosti italic bude ve výstupním souboru extrahovaný text z obrázku zobrazen kurzívou [23]. Syntaxe příkazu: <fontname> <italic> <bold> <fixed> <serif> <fraktur> Příklad: echo nums > font_properties Pomocí příkazu uvedeného výše se do nově vytvořeného souboru font_properties zapíše informace o použití tučného písma pro font nums. Tento soubor musí obsahovat informace o všech natrénovaných fontech Seskupení V tomto bodě je nutné všechny získané vlastnosti seskupit a vytvořit prototypy znaků. Tvarové vlastnosti znaku mohou být seskupeny pomocí programů shapeclustering, mftraining a cntraining, které jsou obsaženy v základním balíčku Tesseractu [23]. Shapeclustering vytvoří tabulku master shape seskupením informací o tvaru znaků a zapíše ji do souboru shapetable. Syntaxe příkazu: shapeclustering -F font_properties -U unicharset lang.fontname.exp0.tr Příklad: shapeclustering -F font_properties -U unicharset num.nums.exp0.tr Výstupem programu mftraining je soubor inttemp, který obsahuje prototypy tvarů a soubor pffmtable, který obsahuje počet očekáváných vlastností pro každý znak. V příkazu uvedený soubor -U odpovídá znakové sadě vygenerované programem unicharset_extractor. Soubor lang.unicharset je výstupem této sady, který se použije v posledním kroku při kombinaci všech souborů [23]. Syntaxe příkazu: mftraining -F font_properties -U unicharset -O lang.unicharset lang.fontname.exp0.tr 53
54 Příklad: mftraining -F font_properties -U unicharset -O num.unicharset num.nums.exp0.tr Obr. 8.5: Ukázka prototypu znaku a hledání shody dle extrahovaných příznaků (převzato z [24]) Na obrázku 8.5 se nachází ukázka prototypu znaku (a) a neznámý znak, který je nutné klasifikovat (b). Poté dojde k extrakci příznaků (c), které se otestují na shodu s prototypem znaku. V poslední částí obrázku je možné vidět aplikaci příznaků na prototyp znaku (e). Program cntraining vytvoří z trénovacích dat soubor normproto, který obsahuje informace o vlastnostech, které jsou použity k normalizaci znaků. Syntaxe příkazu: cntraining lang.fontname.exp0.tr Příklad: cntraining num.nums.exp0.tr Klastrování je nutno provádět pro všechny fonty, které bude nový jazyk obsahovat. V případě změny BOX souboru se musí soubory získané pomocí programů cntraining a 54
55 mftraining vytvořit znovu. Rovněž se musí obnovit znaková sada v souboru unicharset. Důvodem ze zachování synchronizace všech těchto souborů [23] Kombinace získaných dat V poslední části je potřebné seskupit všechny soubory, které vznikly během procesu trénování. Souborům shapetable, normproto, inttemp a pffmtable je v názvu nutno přidat prefix jazyka. Tento prefix by měl obsahovat tři písmena identifikující použitý jazyk dle normy ISO [23]. V případě trénovaných dat v této práci se jednalo o číslice, proto byl zvolen prefix num. Syntaxe příkazu: combine_tessdata lang. Příklad: combine_tessdata num. Výstupem této operace je soubor num.traineddata, který musí být pro správnou funkci Tesseractu umístěn ve složce tessdata Rozpoznávání znaků S natrénovanými daty je možné nechat Tesseract rozpoznat štítek z obr. 7.6, který obsahuje číslice v nestandartním fontu. Syntaxe příkazu: tesseract <source picture> <textdocument> -l <language prefix> Příklad: tesseract num.nums.exp0.jpg output -l num Ve výstupním textovém souboru output.txt se nachází extrahovaný text z daného obrázku: Tesseract rozpoznal většinu znaků až na číslici 1 v druhém řádku, kterou nesprávně klasifikoval jako číslici 9. Úspěšnost klasifikace byla v tomto případě přibližně 88,89%. 55
56 V případě použití trénovacích dat eng.traineddata, které obsahuje Tesseract v základním balíčku je rozpoznávání zcela nepřesné. Ve výstupním souboru se nacházel text: *i3e_ '~fl { gun 8.3 Implementace nástroje Tesseract v aplikaci EasyTessOCR Pro účely této diplomové práce, byla vytvořená aplikace EasyTessOCR s jednoduchým grafickým rozhraním v jazyku Visual Basic, která slouží jako ukázka implementace nástroje Tesseract. Aplikace využívá knihovny pro zpracování obrazu, které jsou součástí balíčku OpenCV. Funkčnost těchto knihoven zajištuje platforma EmguCV, která slouží jako wrapper umožňující volat funkce OpenCV z programovacího jazyka skupiny.net. Všechny použité aplikace a knihovny jsou součástí DVD přílohy této diplomové práce Instalace aplikace EasyTessOCR Aplikace pro svůj správný běh vyžaduje nainstalovanou platformu EmguCV ve verzi V době psaní této diplomové práce, obsahovala poslední oficiální verze chybu, která vyžadovala použití grafické karty s podporou technologie Cuda od společnosti nvidia. Poslední neoficiální verze (Alpha, Beta) při testování vykazovala značnou nestabilitu a způsobovala pády aplikace. EasyTessOCR rovněž vyžaduje instalaci rozhraní.net Framework Po nainstalování platformy EmguCV, je nutné přidat do systémové proměnné Path cestu k adresáři x86, který obsahuje nezbytné knihovny pro běh aplikace. Ukázka nastavení systémové proměnné se nachází na obrázku 8.6. Příkladem C:\Emgu\emgucv-windows-x \bin\x86. Při instalaci programu Tesseract-OCR, který byl použit pro trénování nového jazyka v kapitole 8, se vytváří systémová proměnná TESSDATA_PREFIX. Tato proměnná obsahuje cestu ke složce tessdata obsahující jazykové soubory, které využívá při svém běhu nástroj Tesseract. Cestu obsaženou v této proměnné je nutné po nainstalování aplikace EasyTessOCR změnit. Výsledná cesta musí odpovídat umístění složky tessdata v adresáři aplikace EasyTessOCR. Příkladem C:\Program Files (x86)\vut\easytessocr\. 56
57 Obr. 8.6: Úprava systémové proměnné Path Všechny nově vytvořené jazykové soubory lang.traineddata, je nutno ukládat do této složky, která bude po úpravě proměnné TESSDATA_PREFIX společná pro aplikaci Tesseract- OCR a EasyTessOCR. Výše uvedený postup je nutné aplikovat vždy při instalaci aplikace Tesseract-OCR Uživatelské rozhraní aplikace EasyTessOCR Samotné uživatelské rozhraní vytvořené aplikace obsahuje čtyři funkční tlačítka a část, ve které se zobrazuje rozpoznaný text a obrázek. Prvním krokem je načtení vstupního obrázku s textem k rozpoznání, který se rovněž zobrazí ve spodní částí okna. Aplikace podporuje práci s obrázky v běžně používaných formátech jpg/jpeg, png, bmp a tif/tiff. 57
58 Obr. 8.7: Uživatelské rozhraní aplikace EasyTessOCR Následně po načtení obrázku se pomocí tlačítka Recognize provede rozpoznání textu, který daný obrázek obsahuje. Rozpoznaný text je možné zkopírovat do schránky nebo uložit do textového souboru pomocí tlačítka Save text to file. Při spuštění aplikace EasyTessOCR je implicitně načten jazyk s prefixem eng, který se zobrazuje v textovém poli vedle popisku Language :. V případě potřeby změny jazyka pro rozpoznávání, je možné pomocí tlačítka Choose trained data vybrat soubor lang.traineddata, jehož prefix se zobrazí ve zmíněném textovém poli. Na stránkách věnovaných vývoji nástroje Tesseract, je v sekci Downloads možné stáhnout data pro 60 nejpoužívanějších jazyků v běžných fontech. Všechny jazykové soubory se musí nacházet ve složce tessdata v adresáři aplikace EasyTessOCR. 58
Popis objektů. Karel Horák. Rozvrh přednášky:
1 / 41 Popis objektů Karel Horák Rozvrh přednášky: 1. Úvod.. Příznakový vektor. 3. Příznakový prostor. 4. Členění příznaků. 5. Identifikace oblastí. 6. Radiometrické deskriptory. 7. Fotometrické deskriptory.
Operace s obrazem II
Operace s obrazem II Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 Osnova Matematická morfologie Segmentace obrazu Klasifikace objektů
DETEKCE HRAN V BIOMEDICÍNSKÝCH OBRAZECH
DETEKCE HRAN V BIOMEDICÍNSKÝCH OBRAZECH Viktor Haškovec, Martina Mudrová Vysoká škola chemicko-technologická v Praze, Ústav počítačové a řídicí techniky Abstrakt Příspěvek je věnován zpracování biomedicínských
Vytěžování znalostí z dat
Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 8 1/26 Vytěžování znalostí z dat Pavel Kordík, Josef Borkovec Department of Computer Systems Faculty of Information
Jasové transformace. Karel Horák. Rozvrh přednášky:
1 / 23 Jasové transformace Karel Horák Rozvrh přednášky: 1. Úvod. 2. Histogram obrazu. 3. Globální jasová transformace. 4. Lokální jasová transformace. 5. Bodová jasová transformace. 2 / 23 Jasové transformace
OCR systémy. Semestrální práce z předmětu Kartografická polygrafie a reprografie. Jakub Žlábek, Zdeněk Švec. Editor: Věra Peterová. Praha, květen 2010
Nejznámější Semestrální práce z předmětu Kartografická polygrafie a reprografie Autor: Editor: Věra Peterová Praha, květen 2010 Katedra mapování a kartografie Fakulta stavební ČVUT v Praze Nejznámější
Algoritmy a struktury neuropočítačů ASN - P11
Aplikace UNS při rozpoznání obrazů Základní úloha segmentace obrazu rozdělení obrazu do několika významných oblastí klasifikační úloha, clusterová analýza target Metody Kohonenova metoda KSOM Kohonenova
OCR (Optical Character Recognition) metoda optického rozpoznávání znaků
OCR (Optical Character Recognition) metoda optického rozpoznávání znaků - 1 - Úvod OCR neboli optické rozpoznávání znaků (z anglického Optical Character Recognition) je metoda, která pomocí scanneru umožňuje
Úloha - rozpoznávání číslic
Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání
5. Umělé neuronové sítě. Neuronové sítě
Neuronové sítě Přesný algoritmus práce přírodních neuronových systémů není doposud znám. Přesto experimentální výsledky na modelech těchto systémů dávají dnes velmi slibné výsledky. Tyto systémy, včetně
Analýza a zpracování digitálního obrazu
Analýza a zpracování digitálního obrazu Úlohy strojového vidění lze přibližně rozdělit do sekvence čtyř funkčních bloků: Předzpracování veškerých obrazových dat pomocí filtrací (tj. transformací obrazové
Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)
Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Autor: Vladimir Vapnik Vapnik, V. The Nature of Statistical Learning Theory.
Neuronové sítě v DPZ
Univerzita J. E. Purkyně v Ústí nad Labem Fakulta životního prostředí Neuronové sítě v DPZ Seminární práce z předmětu Dálkový průzkum Země Vypracovali: Jan Lantora Rok: 2006 Zuzana Vašková Neuronové sítě
13 Barvy a úpravy rastrového
13 Barvy a úpravy rastrového Studijní cíl Tento blok je věnován základním metodám pro úpravu rastrového obrazu, jako je např. otočení, horizontální a vertikální překlopení. Dále budo vysvětleny různé metody
Úvod do zpracování signálů
1 / 25 Úvod do zpracování signálů Karel Horák Rozvrh přednášky: 1. Spojitý a diskrétní signál. 2. Spektrum signálu. 3. Vzorkovací věta. 4. Konvoluce signálů. 5. Korelace signálů. 2 / 25 Úvod do zpracování
Kybernetika a umělá inteligence, cvičení 10/11
Kybernetika a umělá inteligence, cvičení 10/11 Program 1. seminární cvičení: základní typy klasifikátorů a jejich princip 2. počítačové cvičení: procvičení na problému rozpoznávání číslic... body za aktivitu
Trénování sítě pomocí učení s učitelem
Trénování sítě pomocí učení s učitelem! předpokládá se, že máme k dispozici trénovací množinu, tj. množinu P dvojic [vstup x p, požadovaný výstup u p ]! chceme nastavit váhy a prahy sítě tak, aby výstup
Využití neuronové sítě pro identifikaci realného systému
1 Portál pre odborné publikovanie ISSN 1338-0087 Využití neuronové sítě pro identifikaci realného systému Pišan Radim Elektrotechnika 20.06.2011 Identifikace systémů je proces, kdy z naměřených dat můžeme
Algoritmy a struktury neuropočítačů ASN P4. Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby
Algoritmy a struktury neuropočítačů ASN P4 Vícevrstvé sítě dopředné a Elmanovy MLNN s učením zpětného šíření chyby Vrstevnatá struktura - vícevrstvé NN (Multilayer NN, MLNN) vstupní vrstva (input layer)
Automatické rozpoznávání dopravních značek
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA DOPRAVNÍ Jiří Hofman Automatické rozpoznávání dopravních značek Semestrální práce z předmětu ITS 2012 Obsah 1. Automatické rozpoznávání dopravních značek (ATSR)...
Matematická morfologie
/ 35 Matematická morfologie Karel Horák Rozvrh přednášky:. Úvod. 2. Dilatace. 3. Eroze. 4. Uzavření. 5. Otevření. 6. Skelet. 7. Tref či miň. 8. Ztenčování. 9. Zesilování..Golayova abeceda. 2 / 35 Matematická
Fiala P., Karhan P., Ptáček J. Oddělení lékařské fyziky a radiační ochrany Fakultní nemocnice Olomouc
Neuronové sítě a možnosti jejich využití Fiala P., Karhan P., Ptáček J. Oddělení lékařské fyziky a radiační ochrany Fakultní nemocnice Olomouc 1. Biologický neuron Osnova 2. Neuronové sítě Umělý neuron
ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 13 0:40 Implementace Umělá inteligence (UI) Umělá inteligence
ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE
TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky a mezioborových inženýrských studií ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE AUTOREFERÁT DISERTAČNÍ PRÁCE 2005 JOSEF CHALOUPKA
2010 Josef Pelikán, CGG MFF UK Praha
Filtrace obrazu 21 Josef Pelikán, CGG MFF UK Praha http://cgg.mff.cuni.cz/~pepca/ 1 / 32 Histogram obrázku tabulka četností jednotlivých jasových (barevných) hodnot spojitý případ hustota pravděpodobnosti
Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně
Aplikace UNS v biomedicíně aplikace v medicíně postup při zpracování úloh Aplikace UNS v medicíně Důvod: nalezení exaktnějších, levnějších a snadnějších metod určování diagnóz pro lékaře nalezení šetrnějších
7. Rozdělení pravděpodobnosti ve statistice
7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,
ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT. Institut biostatistiky a analýz
ANALÝZA A KLASIFIKACE BIOMEDICÍNSKÝCH DAT prof. Ing. Jiří Holčík,, CSc. NEURONOVÉ SÍTĚ otázky a odpovědi 1 AKD_predn4, slide 8: Hodnota výstupu závisí na znaménku funkce net i, tedy na tom, zda bude suma
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ
VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
K možnostem krátkodobé předpovědi úrovně znečištění ovzduší statistickými metodami. Josef Keder
K možnostem krátkodobé předpovědi úrovně znečištění ovzduší statistickými metodami Josef Keder Motivace Předpověď budoucí úrovně znečištění ovzduší s předstihem v řádu alespoň několika hodin má význam
3. Vícevrstvé dopředné sítě
3. Vícevrstvé dopředné sítě! Jsou tvořeny jednou nebo více vrstvami neuronů (perceptronů). Výstup jedné vrstvy je přitom připojen na vstup následující vrstvy a signál se v pracovní fázi sítě šíří pouze
Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze
Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Pravděpodobnost a učení Doc. RNDr. Iveta Mrázová,
Úvod do optimalizace, metody hladké optimalizace
Evropský sociální fond Investujeme do vaší budoucnosti Úvod do optimalizace, metody hladké optimalizace Matematika pro informatiky, FIT ČVUT Martin Holeňa, 13. týden LS 2010/2011 O čem to bude? Příklady
Umělé neuronové sítě
Umělé neuronové sítě 17. 3. 2018 5-1 Model umělého neuronu y výstup neuronu u vnitřní potenciál neuronu w i váhy neuronu x i vstupy neuronu Θ práh neuronu f neuronová aktivační funkce 5-2 Neuronové aktivační
Gymnázium Jiřího Ortena, Kutná Hora
Předmět: Náplň: Cvičení z matematiky geometrie (CZMg) Systematizace a prohloubení učiva matematiky Planimetrie, Stereometrie, Analytická geometrie, Kombinatorika, Pravděpodobnost a statistika Třída: 4.
Rosenblattův perceptron
Perceptron Přenosové funkce Rosenblattův perceptron Rosenblatt r. 1958. Inspirace lidským okem Podle fyziologického vzoru je třívrstvá: Vstupní vrstva rozvětvovací jejím úkolem je mapování dvourozměrného
12 Metody snižování barevného prostoru
12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů
Neuronové sítě. Vlasta Radová Západočeská univerzita v Plzni katedra kybernetiky
Neuronové sítě Vlasta Radová Západočeská univerzita v Plzni katedra kybernetiky Motivace pro výzkum umělých neuronových sítí lidský mozek pracuje jiným způsobem než běžné číslicové počítače počítače přesně
Operace s obrazem. Biofyzikální ústav LF MU. Projekt FRVŠ 911/2013
Operace s obrazem Biofyzikální ústav LF MU Obraz definujeme jako zrakový vjem, který vzniká po dopadu světla na sítnici oka. Matematicky lze obraz chápat jako vícerozměrný signál (tzv. obrazová funkce)
ZÁKLADNÍ METODY REFLEKTOMETRIE
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF
2. RBF neuronové sítě
2. RBF neuronové sítě Kapitola pojednává o neuronových sítích typu RBF. V kapitole je popsána základní struktura tohoto typu neuronové sítě. Poté následuje definice a charakteristika jednotlivých radiálně
Pokročilé operace s obrazem
Získávání a analýza obrazové informace Pokročilé operace s obrazem Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 (BFÚ LF MU) Získávání
Zobrazte si svazy a uspořádané množiny! Jan Outrata
LatVis Zobrazte si svazy a uspořádané množiny! Jan Outrata Motivace potřeba visualizovat matematické (algebraické) struktury rychle, přehledně a automaticky počítačovými prostředky ruční kreslení je zdlouhavé
Středoškolská technika SCI-Lab
Středoškolská technika 2016 Setkání a prezentace prací středoškolských studentů na ČVUT SCI-Lab Kamil Mudruňka Gymnázium Dašická 1083 Dašická 1083, Pardubice O projektu SCI-Lab je program napsaný v jazyce
Rozpoznávání písmen. Jiří Šejnoha Rudolf Kadlec (c) 2005
Rozpoznávání písmen Jiří Šejnoha Rudolf Kadlec (c) 2005 Osnova Motivace Popis problému Povaha dat Neuronová síť Architektura Výsledky Zhodnocení a závěr Popis problému Jedná se o praktický problém, kdy
Neuronové časové řady (ANN-TS)
Neuronové časové řady (ANN-TS) Menu: QCExpert Prediktivní metody Neuronové časové řady Tento modul (Artificial Neural Network Time Series ANN-TS) využívá modelovacího potenciálu neuronové sítě k predikci
Klasifikace předmětů a jevů
Klasifikace předmětů a jevů 1. Úvod Rozpoznávání neboli klasifikace je základní znak lidské činnosti. Rozpoznávání (klasifikace) předmětů a jevů spočívá v jejich zařazování do jednotlivých tříd. Třídou
Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)
Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného) 1 Obecný popis metody Particle Image Velocimetry, nebo-li zkráceně PIV, je měřící
Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence
APLIKACE UMĚLÉ INTELIGENCE Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence Aplikace umělé inteligence - seminář ING. PETR HÁJEK, PH.D. ÚSTAV SYSTÉMOVÉHO INŽENÝRSTVÍ A INFORMATIKY
Aplikovaná numerická matematika
Aplikovaná numerická matematika 6. Metoda nejmenších čtverců doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních
Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma
Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky
MATEMATIKA Maturitní témata společná část MZ základní úroveň (vychází z Katalogu požadavků MŠMT)
MATEMATIKA Maturitní témata společná část MZ základní úroveň (vychází z Katalogu požadavků MŠMT) 1. Číselné obory 1.1 Přirozená čísla provádět aritmetické operace s přirozenými čísly rozlišit prvočíslo
Grafika na počítači. Bc. Veronika Tomsová
Grafika na počítači Bc. Veronika Tomsová Proces zpracování obrazu Proces zpracování obrazu 1. Snímání obrazu 2. Digitalizace obrazu převod spojitého signálu na matici čísel reprezentující obraz 3. Předzpracování
MATURITNÍ TÉMATA Z MATEMATIKY
MATURITNÍ TÉMATA Z MATEMATIKY 1. Základní poznatky z logiky a teorie množin Pojem konstanty a proměnné. Obor proměnné. Pojem výroku a jeho pravdivostní hodnota. Operace s výroky, složené výroky, logické
TSO NEBO A INVARIANTNÍ ROZPOZNÁVACÍ SYSTÉMY
TSO NEBO A INVARIANTNÍ ROZPOZNÁVACÍ SYSTÉMY V PROSTŘEDÍ MATLAB K. Nováková, J. Kukal FJFI, ČVUT v Praze ÚPŘT, VŠCHT Praha Abstrakt Při rozpoznávání D binárních objektů z jejich diskrétní realizace se využívají
Teorie systémů TES 3. Sběr dat, vzorkování
Evropský sociální fond. Praha & EU: Investujeme do vaší budoucnosti. Teorie systémů TES 3. Sběr dat, vzorkování ZS 2011/2012 prof. Ing. Petr Moos, CSc. Ústav informatiky a telekomunikací Fakulta dopravní
Ambasadoři přírodovědných a technických oborů. Ing. Michal Řepka Březen - duben 2013
Ambasadoři přírodovědných a technických oborů Ing. Michal Řepka Březen - duben 2013 Umělé neuronové sítě Proč právě Neuronové sítě? K čemu je to dobré? Používá se to někde v praxi? Úvod Umělé neuronové
U Úvod do modelování a simulace systémů
U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení
Přednáška 13 Redukce dimenzionality
Vytěžování Dat Přednáška 13 Redukce dimenzionality Miroslav Čepek Fakulta Elektrotechnická, ČVUT Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti ČVUT (FEL) Redukce dimenzionality 1 /
III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT
Metodický list k didaktickému materiálu Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací
ELIMINACE VLIVU DRUHÉ ROTACE PŘI AFINNĚ INVARIANTNÍM 2D ROZPOZNÁVÁNÍ
ELIMINACE VLIVU DRUHÉ ROTACE PŘI AFINNĚ INVARIANTNÍM 2D ROZPOZNÁVÁNÍ K. Nováková 1, J. Kukal 1,2 1 Fakulta jaderná a fyzikálně inženýrská, ČVUT v Praze 2 Ústav počítačové a řídicí techniky, VŠCHT Praha
REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB
62 REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB BEZOUŠKA VLADISLAV Abstrakt: Text se zabývá jednoduchým řešením metody nejmenších čtverců v prostředí Matlab pro obecné víceparametrové aproximační funkce. Celý postup
Zadejte ručně název první kapitoly. Manuál. Rozhraní pro program ETABS
Zadejte ručně název první kapitoly Manuál Rozhraní pro program ETABS Všechny informace uvedené v tomto dokumentu mohou být změněny bez předchozího upozornění. Žádnou část tohoto dokumentu není dovoleno
Zpracování digitalizovaného obrazu (ZDO) - Popisy I
Zpracování digitalizovaného obrazu (ZDO) - Popisy I Úvod Ing. Zdeněk Krňoul, Ph.D. Katedra Kybernetiky Fakulta aplikovaných věd Západočeská univerzita v Plzni Zpracování digitalizovaného obrazu (ZDO) -
Chyby měření 210DPSM
Chyby měření 210DPSM Jan Zatloukal Stručný přehled Zdroje a druhy chyb Systematické chyby měření Náhodné chyby měření Spojité a diskrétní náhodné veličiny Normální rozdělení a jeho vlastnosti Odhad parametrů
Moderní systémy pro získávání znalostí z informací a dat
Moderní systémy pro získávání znalostí z informací a dat Jan Žižka IBA Institut biostatistiky a analýz PřF & LF, Masarykova universita Kamenice 126/3, 625 00 Brno Email: zizka@iba.muni.cz Bioinformatika:
Operace s obrazem I. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.
Operace s obrazem I Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 Osnova 1 Filtrování obrazu 2 Lineární a nelineární filtry 3 Fourierova
GIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
Metoda Monte Carlo a její aplikace v problematice oceňování technologií. Manuál k programu
Metoda Monte Carlo a její aplikace v problematice oceňování technologií Manuál k programu This software was created under the state subsidy of the Czech Republic within the research and development project
PROJEKT 3 2D TRAJEKTORIE KAMERY SEMESTRÁLNÍ PRÁCE DO PŘEDMĚTU MAPV
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION
Rozvoj tepla v betonových konstrukcích
Úvod do problematiky K novinkám v požární odolnosti nosných konstrukcí Praha, 11. září 2012 Ing. Radek Štefan prof. Ing. Jaroslav Procházka, CSc. Znalost rozložení teploty v betonové konstrukci nebo její
Požadavky na konkrétní dovednosti a znalosti z jednotlivých tematických celků
Maturitní zkouška z matematiky 2012 požadované znalosti Zkouška z matematiky ověřuje matematické základy formou didaktického testu. Test obsahuje uzavřené i otevřené úlohy. V uzavřených úlohách je vždy
Neuronové sítě Ladislav Horký Karel Břinda
Neuronové sítě Ladislav Horký Karel Břinda Obsah Úvod, historie Modely neuronu, aktivační funkce Topologie sítí Principy učení Konkrétní typy sítí s ukázkami v prostředí Wolfram Mathematica Praktické aplikace
Digitalizace a zpracování obrazu
Digitalizace a zpracování obrazu Jaroslav Fiřt a), Radek Holota b) a) Nové technologie výzkumné centrum Sedláčkova 15 306 14 Plzeň tel. (+420) 377236881, kl. 237 e-mail: firt@kae.zcu.cz b) Nové technologie
PŘEDNÁŠKA KURZU MPOV
1 PŘEDNÁŠKA KURZU MPOV Strojové rozpoznávání kódů a znaků P. Petyovský (email: petyovsky@feec.vutbr.cz) kancelář SD3.152, Technická 12 2 rev. 2015.3 Pojmy a opakování Strojové čtení Braillova písma Popis
Zpracování digitalizovaného obrazu (ZDO) - Segmentace II
Zpracování digitalizovaného obrazu (ZDO) - Segmentace II Další metody segmentace Ing. Zdeněk Krňoul, Ph.D. Katedra Kybernetiky Fakulta aplikovaných věd Západočeská univerzita v Plzni Zpracování digitalizovaného
DOKUMENTACE Identifikace pomocí otisků prstů
DOKUMENTACE Identifikace pomocí otisků prstů Lukáš Rajský, RAJ029 Aleš Seifert, SEI041 1. února 2003 1 1 Úvod První známý systém klasifikace otisku prstů byl zaveden v Indii na počátku minulého století
NPGR032 CVIČENÍ III. Šum a jeho odstranění teorie&praxe. Adam Novozámský (novozamsky@utia.cas.cz)
NPGR032 CVIČENÍ III. Šum a jeho odstranění teorie&praxe Adam Novozámský (novozamsky@utia.cas.cz) TEORIE Šum a jeho odstranění ŠUM Co je to šum v obrázku a jak vzniká? Jaké známe typy šumu? ŠUM V obrázku
Zpracování digitalizovaného obrazu (ZDO) - Popisy III
Zpracování digitalizovaného obrazu (ZDO) - Popisy III Statistické popisy tvaru a vzhledu Ing. Zdeněk Krňoul, Ph.D. Katedra Kybernetiky Fakulta aplikovaných věd Západočeská univerzita v Plzni Zpracování
A1 Marketingové minimum pro posílení výchovy k podnikavosti (8h)
A1 Marketingové minimum pro posílení výchovy k podnikavosti (8h) 2.1 Základy marketingové strategie (2,5h) Učitelé se seznámí se základní marketingovou terminologií a s možnými cestami rozvoje firmy. V
Restaurace (obnovení) obrazu při známé degradaci
Restaurace (obnovení) obrazu při známé degradaci Václav Hlaváč České vysoké učení technické v Praze Centrum strojového vnímání (přemosťuje skupiny z) Český institut informatiky, robotiky a kybernetiky
aneb jiný úhel pohledu na prvák
Účelná matematika aneb jiný úhel pohledu na prvák Jan Hejtmánek FEL, ČVUT v Praze 24. června 2015 Jan Hejtmánek (FEL, ČVUT v Praze) Technokrati 2015 24. června 2015 1 / 18 Outline 1 Motivace 2 Proč tolik
Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group
Vytěžování dat Miroslav Čepek, Filip Železný Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group Evropský sociální fond Praha & EU: Investujeme
Omezení barevného prostoru
Úpravy obrazu Omezení barevného prostoru Omezení počtu barev v obraze při zachování obrazového vjemu z obrazu Vytváření barevné palety v některých souborových formátech Různé filtry v grafických programech
ANALÝZA BIOLOGICKÝCH A KLINICKÝCH DAT V MEZIOBOROVÉM POJETÍ
ANALÝZA BIOLOGICKÝCH A KLINICKÝCH DAT V MEZIOBOROVÉM POJETÍ INVESTICE Institut DO biostatistiky ROZVOJE VZDĚLÁVÁNÍ a analýz 5. LETNÍ ŠKOLA MATEMATICKÉ BIOLOGIE ANALÝZA BIOLOGICKÝCH A KLINICKÝCH DAT V MEZIOBOROVÉM
Úvod do zpracování obrazů. Petr Petyovský Miloslav Richter
Úvod do zpracování obrazů Petr Petyovský Miloslav Richter 1 OBSAH Motivace, prvky a základní problémy počítačového vidění, pojem scéna Terminologie, obraz, zpracování a analýza obrazu, počítačové vidění,
Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1
Kapitola 4 Rasterizace objektů Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na rastrově definované obrazy. Při zobrazení reálného modelu ve světových souřadnicích na výstupní
Počítače a grafika. Ing. Radek Poliščuk, Ph.D. Přednáška č.7. z předmětu
Ústav automatizace a informatiky Fakulta strojního inženýrství Vysoké učení technické v Brně Přednáška č.7. z předmětu Počítače a grafika Ing. Radek Poliščuk, Ph.D. 1/14 Obsahy přednášek Přednáška 7 Zpracování
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014
Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2014 Zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia
Jana Dannhoferová Ústav informatiky, PEF MZLU
Počítačová grafika 1. Definice oblasti souvisí: a) s definováním množiny všech bodů, které náleží do hranice a zároveň do jejího vnitřku b) s popisem její hranice c) s definováním množiny všech bodů, které
ROZ1 - Cv. 3 - Šum a jeho odstranění ÚTIA - ZOI
Šum Co je to šum v obrázku? Šum Co je to šum v obrázku? V obrázku je přidaná falešná informace nahodilého původu Jak vzniká v digitální fotografii? Šum Co je to šum v obrázku? V obrázku je přidaná falešná
VYHODNOCENÍ TESTOVÝCH FORMULÁŘŮ POMOCÍ OCR
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF
Kalibrační proces ve 3D
Kalibrační proces ve 3D FCC průmyslové systémy společnost byla založena v roce 1995 jako součást holdingu FCC dodávky komponent pro průmyslovou automatizaci integrace systémů kontroly výroby, strojového
Teorie náhodných matic aneb tak trochu jiná statistika
Teorie náhodných matic aneb tak trochu jiná statistika B. Vlková 1, M.Berg 2, B. Martínek 3, O. Švec 4, M. Neumann 5 Gymnázium Uničov 1, Gymnázium Václava Hraběte Hořovice 2, Mendelovo gymnázium Opava
Roman Juránek. Fakulta informačních technologíı. Extrakce obrazových příznaků 1 / 30
Extrakce obrazových příznaků Roman Juránek Ústav počítačové grafiky a multimédíı Fakulta informačních technologíı Vysoké Učení technické v Brně Extrakce obrazových příznaků 1 / 30 Motivace Účelem extrakce
Lineární klasifikátory
Lineární klasifikátory Lineární klasifikátory obsah: perceptronový algoritmus základní verze varianta perceptronového algoritmu přihrádkový algoritmus podpůrné vektorové stroje Lineární klasifikátor navrhnout
Diskrétní 2D konvoluce
ČVUT FEL v Praze 6ACS. prosince 2006 Martin BruXy Bruchanov bruxy@regnet.cz Diracův impuls jednotkový impulz, δ-impulz, δ-funkce; speciální signál s nulovou šířkou impulzu a nekonečnou amplitudou; platí
Zpracování digitalizovaného obrazu (ZDO) - Segmentace
Zpracování digitalizovaného obrazu (ZDO) - Segmentace úvod, prahování Ing. Zdeněk Krňoul, Ph.D. Katedra Kybernetiky Fakulta aplikovaných věd Západočeská univerzita v Plzni Zpracování digitalizovaného obrazu
1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15
Úvodní poznámky... 11 1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15 1.1 Základní pojmy... 15 1.2 Aplikační oblasti a etapy zpracování signálů... 17 1.3 Klasifikace diskretních