Středoškolská technika 2017 OPTICKÉ ROZPOZNÁVÁNÍ RUČNĚ PSANÉHO TEXTU
|
|
- Bedřich Rohla
- před 6 lety
- Počet zobrazení:
Transkript
1 Středoškolská technika 2017 Setkání a prezentace prací středoškolských studentů na ČVUT OPTICKÉ ROZPOZNÁVÁNÍ RUČNĚ PSANÉHO TEXTU Břetislav Hájek Gymnázium Český Brod Vítězná 616, Český Brod
2 Anotace Tato práce se zabývá tvorbou programu pro optické rozpoznávání českého ručně psaného textu, kde jsou písmena navzájem spojena. Ručně psaný text má stále své místo v každodenním životě a přesto, že zde již existují programy pro rozpoznání některých stylů rukopisů, většina neumí rozpoznat vázané písmo. V práci je rozbíráno jedno z možných řešení tohoto problému využívající techniky strojového učení a počítačového vidění. Klíčová slova OCR (Optické rozpoznávání znaků); strojové učení; počítačové vidění; ručně psaný text
3 Obsah 1 Úvod Použité technologie Použité knihovny Numpy Matplotlib OpenCV Tensorflow Počítačové vidění Prahování Filtry Detekce hran Strojové učení Učení s učitelem Neuronová síť Konvoluční neuronová síť Přeučení Struktura programu Detekce stránky Detekce slov Normalizace dat Oddělení znaků Rozpoznání znaků Technické zpracování Detekce stránky Detekce slov Normalizace dat Oddělení znaků Rozpoznání znaků Závěr Použitá literatura Seznam obrázků a tabulek Příloha 1: Zdrojový kód
4 1 ÚVOD Nápad na tento projekt vznikl ve chvíli, kdy jsem byl nucen přepsat ručně psanou slohovou práci do digitální podoby a nemohl jsem nalézt jiný způsob než manuální přepsání celého textu. Ručně psaný text je stále neodmyslitelným nástrojem každého z nás a schopnost převést ho do digitální podoby by mohla ušetřit velké množství času nejen ve škole, ale i na úřadech, v archivech a mnohých dalších místech, protože na rozdíl od ručně psaného textu, je práce s digitálním textem značně automatizovaná a můžeme jej snadno upravovat, kopírovat nebo v něm vyhledávat. Tato práce se tedy zabývá tvorbou OCR (Optical Character Recognition) softwaru pro ručně psaný text. Vzhledem k rozsáhlosti tohoto problému (různým jazykům, rukopisům a stylům písma) je nemožné snažit se optimalizovat program pro všechny druhy textů, a proto je tento projekt zaměřen na převod česky psaného vázaného písma, především mého rukopisu, psaného na bílém papíře. Program tedy na vstup dostane fotografii stránky s ručně psaným textem a vrátí text v digitální podobě. I přes to, že tato omezení snižují praktické uplatnění tohoto programu, cílem je především nalézt spolehlivou metodu, kterou by bylo možné dále přizpůsobit pro konkrétní případy. Pro řešení tohoto problému byly využity algoritmy strojového učení (anglicky machine learning) a počítačového vidění (anglicky computer vision), které umožňují zpracování dat a obrazu. Klíčovou technikou pro tento projekt je strojové učení, neboť nám umožňuje rozdělovat vstupní data na základě již známých příkladů. 3
5 2 POUŽITÉ TECHNOLOGIE Pro vývoj programu byl zvolen jazyk Python 3, neboť se jedná o velmi rozšířený programovací jazyk, pro který existuje velké množství kvalitních knihoven implementujících funkce strojového učení a počítačového vidění. Tyto knihovny mají vysoce optimalizovaný kód, který umožňuje efektivní využití výkonu hardwaru. Knihovny byly vybrány především na základě poskytovaných funkcí a vzájemné kompatibilitě, zároveň byla snaha jejich počet minimalizovat. Pro vývoj softwaru byla využita webová aplikace Jupyter Notebook (dříve zvaná Ipython Notebook), která umožňuje rozdělit kód do bloků, které můžeme upravovat, spouštět a zároveň zobrazovat jejich výstup. Aplikace dále umožňuje zobrazovat grafy a obrázky a pomocí interaktivních prvků (widgetů) je upravovat. V aplikaci je také možné přidávat textová pole pro přehlednější členění a prezentaci celého kódu. Vzhledem k těmto funkcím, se jedná o populární nástroj pro analýzu dat a návrh algoritmů strojového učení. 2.1 Použité knihovny Numpy Numpy poskytuje efektivní datové struktury pro práci s vektory a maticemi, spolu se základními operacemi. Knihovna je také využívána knihovnou OpenCV. Ve zdrojovém kódu se používá pod zkratkou np Matplotlib Matplotlib poskytuje funkce pro vytváření grafů, které můžeme zobrazovat přímo v interaktivním prostředí aplikace Jupyter notebook OpenCV OpenCV (Open Source Computer Vision) je knihovna zaměřená především na počítačové vidění a jeho využití v reálném čase. Ve zdrojovém kódu se používá pod zkratkou cv Tensorflow Tensorflow je knihovna určená především pro strojové učení. Tensorflow umožňuje vytvářet grafy reprezentující matematické operace a pohyb dat mezi nimi. Zároveň poskytuje i komplexní funkce strojového učení. Ve zdrojovém kódu se používá pod zkratkou tf. 4
6 3 POČÍTAČOVÉ VIDĚNÍ Počítačové vidění je odvětví výpočetní techniky, které se zabývá zpracováním a získáváním informací z obrazových dat (obrázků nebo videa) [1]. Digitální obrázky rozlišujeme na vektorové (definované pomocí základních geometrických útvarů) a rastrové (definované pomocí hodnot jednotlivých barevných pixelů). Počítačové vidění se zaměřuje především na zpracování rastrového obrazu, který počítač chápe pouze jako pole hodnot udávajících barvu jednotlivých bodů. I přes to, že počítačové vidění je rozsáhlý obor, tato práce využívá pouze techniky zpracování statického obrazu poskytované knihovnou OpenCV. Knihovna OpenCV obsahuje jak funkce pro základní úpravy obrázků, tak i pokročilé metody počítačového vidění. 3.1 Prahování Prahování (anglicky thresholding) umožňuje změnit hodnotu všech pixelů přesahující danou hranici (prah) [2]. Tato jednoduchá metoda je často využívána k odstranění nepotřebných hodnot či vytvoření binárního obrázku. V OpenCV a v této práci se můžeme setkat se třemi základními typy prahování, podle určení hraniční hodnoty. První druh využívá ručně definovanou hranici, což je nevýhodné v případě velkých odlišností mezi vstupními obrázky. Druhý druh automaticky využívá střední hodnotu z histogramu obrázku. Poslední druh tzv. adaptivní prahování počítá a využívá odlišnou hranici pro jednotlivé regiony, to je výhodné například při nerovnoměrném nasvícení obrazu [3]. Dále je uveden příklad těchto funkcí aplikovaných na obrázek uložený v proměnné img. # Definovaná hranice na 127 ret,thresh1 = cv2.threshold(img, 127, 255, cv2.thresh_binary) # Adaptivní prahování th2 = cv2.adaptivethreshold(img, 255, cv2.adaptive_thresh_mean_c, cv2.thresh_binary, 11, 2) # Střední hodnotu z histogramu obrázku (Otsu) ret2,th2 = cv2.threshold(img, 0, 255, cv2.thresh_binary+cv2.thresh_otsu) 3.2 Filtry Filtry slouží ke zpracování rastrového obrazu (např.: rozmazání nebo zdůraznění kontur) pomocí tzv. konvoluce. Tato technika využívá konvoluční jádro (matici hodnot), někdy také nazýváno konvoluční maska, které je postupně aplikováno (hodnoty pixelů jsou vynásobeny hodnotami z matice) na každý pixel a pixely v dosahu jádra a výsledný součet je zapsán na místo zpracovávaného pixelu (viz obr. 1). Jednoduchým příkladem může být průměrový filtr, který hodnotu pixelu nahradí průměrem okolních pixelů a tím rozostří celý obraz [4]. Filtry mají rozsáhlé uplatnění a tato práce využívá celou řadu různých filtrů a jejich kombinací. 5
7 Obr. 1: Princip konvoluce Autor obrázku: Grt. Dostupné z: Detekce hran Detekce hran je jedním ze základních problémů počítačového vidění, neboť přesná detekce hran nám umožňuje rozlišovat jednotlivé objekty. Pro detekci hran je využito předpokladu, že v místě hrany dochází k velké změně jasu. I přes to, že existuje více druhů detekce hran, v této práci je využit pouze Cannyho hranový detektor a samostatný Sobelův operátor. Sobelův operátor se skládá ze dvou filtrů (funkce cv2.sobel), které rozpoznávají změnu jasu v daném směru, jeden ve vertikálním a druhý v horizontální směru. Pro každý pixel tak dostaneme dvě hodnoty, ze kterých můžeme vypočítat intenzitu a směr přechodu (vztah (1) a (2)). Vztah (1) je využit v naší implementaci Sobelova operátoru, protože OpenCV poskytuje pouze odpovídající filtr, nikoliv však kompletní implementaci [5]. 2 2 I = F x + F y (1) Fy Fx (2) θ=arctan ( ) Cannyho hranový detektor (funkce cv2.canny) vychází z Sobelova operátoru, který rozšiřuje o další kroky, a vrací tak přesnou polohu hran. Po provedení Sobelova operátoru následuje fáze ztenčení, během níž jsou ponechána pouze lokální maxima ve směru nalezeného přechodu. Závěrečná fáze prahování využívá dvou prahů (maximálního a minimálního) a tím rozdělí nalezené hrany do tří skupin. Nejvýraznější hrany (nad maximálním prahem) jsou ponechány, zatímco slabé hrany (pod minimálním prahem) jsou odstraněny. Zbylé hrany jsou ponechány pouze v případě, že jsou napojeny na některou z výrazných hran [6]. 6
8 4 STROJOVÉ UČENÍ Strojové učení můžeme rozdělit do několika kategorií: strojové učení s učitelem, učení bez učitele a učení posilováním (anglicky supervised learning, unsupervised learning a reinforcement learning) [7]. Učení s učitelem využívá známých dat pro vytvoření modelu, který dokáže predikovat cílovou veličinu (kategorii, hodnotu, atd.), zatímco učení bez učitele nevyužívá známých dat a slouží k hledání struktury dat (závislostí, skupin a anomálií). Pro řešení problému této práce bylo využito pouze učení s učitelem. 4.1 Učení s učitelem Úkolem učení s učitelem je pro vstupní data predikovat správnou hodnotu nebo kategorii, my ho budeme využívat pro rozdělování obrázků do kategorií (klasifikaci). Základní algoritmy klasifikace využívají vztahu (3), kde x značí j vstupních veličin a W, b značí hledané parametry (anglicky weights a bias). Funkce f značí aktivační funkci, která vrací hodnoty ve známém rozsahu. Příkladem aktivační funkce může být sigmoida (logistická funkce ze vztahu (4)), která se pohybuje v rozsahu od 0 do 1, což nám umožňuje rozdělovat data do dvou kategorií. y=f ( W x + b) j (3) 1 1 e z (4) j f ( z )= j Během procesu učení (trénování) jsou hledány takové parametry W a b, aby odchylka od očekávaného výsledku byla pokud možno co nejmenší, proto jsou potřeba již roztříděná data. Jedním ze základních způsobů hledání optimálních hodnot je tzv. klesání podle gradientu (anglicky gradient descent), které využívá derivace funkce hodnotící chybu predikce (anglicky cost function) na trénovacích datech a parametry upravuje tak, aby se chyba minimalizovala. Opakováním této metody se program dostane do lokálního minima a získáme tak predikční model. V praxi se pro zvýšení rychlosti používají komplexnější metody využívající dalších vlastností. Tensoflow poskytuje hned několik takových funkcí a tato práce využívá funkce tf.train.adamoptimizer. Fáze učení může být výkonnostně velmi náročná, a to především pro komplexní modely s velkým množstvím dat. V případě velké datové sady (především z důvodu omezené operační paměti) se obvykle v každém kroku (určení chyby a úpravení parametrů, dále jen krok) určuje chyba pouze na malé skupině náhodně vybraných dat. Ačkoli tento postup vyžaduje větší počet kroků k dosáhnutí minima, je efektivnější než načítání celé datové sady. Jednou z výhod využití specializovaných knihoven (např. Tensorflow) je paralelizace učení, což umožňuje využití všech dostupných procesorů a výrazně tak zvýšit výkon. 7
9 4.1.1 Neuronová síť Obr. 2: Grafické znázornění neuronu, který na vstup aplikuje aktivační funkci a dál předává její výsledek. Protože samotná aktivační funkce nemůže reprezentovat komplexní modely, byl vytvořen koncept neuronové sítě (inspirován biologickou strukturou mozku). Neuronová síť se skládá z mnoha navzájem propojených neuronů (obr. 2), které dohromady vytváří komplexní model (obr. 3). Neuronová síť se obvykle skládá z několika vrstev, první vrstvu nazýváme vstupní a poslední výstupní, vrstvy mezi nimi označujeme jako skryté. Neurony po sobě jdoucích vrstev jsou nejčastěji propojeny stylem každý s každým. Pro trénování neuronové sítě se využívá algoritmus zpětného šíření, který je založen na podobném principu jako klesání podle gradientu. Obr. 3: Znázornění jednoduché neuronové sítě 8
10 Při použití knihovny Tensorflow, vždy nejprve definujeme tzv. graf, který značí pohyb dat mezi jednotlivými vrstvami a následně ho využijeme pro trénování parametrů, čímž vytvoříme predikční model Konvoluční neuronová síť Konvoluční neuronové sítě vycházejí ze struktury neuronových síti a nejčastěji se využívají pro klasifikaci obrazu (popřípadě vícerozměrných dat). Konvoluční neuronové sítě se skládají z několika vrstev: konvoluční, škálovací a neuronové. Základem je konvoluční vrstva, která se skládá z několika trénovatelných filtrů, které jsou aplikovány na obrázek (vstupní data) a výsledek je předán další vrstvě. Konvoluční vrstva se definuje počtem filtrů, rozměrem a velikostí posunu filtru a aktivační funkcí. Rozšířenou aktivační funkcí pro konvoluční vrstvu je tzv. rectified linear unit (ReLU), doslovně přeloženo jako usměrněná lineární jednotka, vztah (5). F ( z )=max ( 0, z ) (5) Tato jednoduchá aktivační funkce umožňuje efektivnější učení modelu [8], a proto v tomto projektu je ReLU využita ve všech konvolučních vrstvách. Definování konvoluční vrstvy pomocí Tensorflow: # Parametry W a b pro konvoluční vrstvu 20 filtrů velikosti 5x5 W = tf.variable(tf.truncated_normal([5, 5, 1, 20], stddev=0.1), name="w") b = tf.variable(tf.constant(0.1, shape=[20]), name="b") # Definování konvoluční vrstvy (pro vstup image) conv = tf.nn.relu(tf.nn.conv2d(image, W, strides=[1, 1, 1, 1], padding='same') + b) Během fáze učení modelu se filtry z konvoluční vrstvy učí detekovat různé vizuální vlastnosti obrázku. To umožňuje efektivnější zpracování obrazových dat s menším počtem parametrů, než v případě samostatné neuronové sítě [9]. Vrstva škálování (anglicky pooling layer) slouží ke zmenšení obrázku (předávaných dat) a tím zvýšení výkonu aplikace. Pro zmenšování se využívají různé metody, příkladem je tzv. max pooling (Tensorflow ji poskytuje jako tf.nn.max_pool), filtr nejčastěji velikosti 2x2, který se vždy posouvá o 2 pixely a z každého regionu vybere nejvýraznější pixel. V důsledku aplikace filtru na každý druhý pixel se výška a šířka zmenší na polovinu a dochází tak k 75% redukci dat. Protože v této vrstvě dochází ke ztrátě dat na úkor výkonu, v některých moderních aplikacích je tato vrstva nahrazována odpovídající konvoluční vrstvou, která se naučí vhodný škálovací filtr [10]. 9
11 Obr. 4: Příklad konvoluční neuronové sítě Poslední vrstvou je vrstva klasické neuronové sítě využívající propojení každý s každým. Tato vrstva je obsažena téměř v každé architektuře a využívá se zejména na konci celé struktury pro získání finálního výstupu. Neuronová vrstva v Tensorflow: # Parametry W a b pro neuronovou vrstvu # Pro 100 vstupních hodnot vytvoří 50 neuronů W = tf.variable(tf.truncated_normal([100, 50], stddev=0.1), name="w") b = tf.variable(tf.constant(0.1, shape=[50]), name="b") # Neuronová vrstva vystup = tf.nn.relu(tf.matmul(vstup, W) + b) Přeučení Se schopností vytvářet komplexní modely se objevuje problém přeučení. Přeučení nastává v momentě, kdy je model příliš optimalizovaný pro trénovací data a není schopný generalizace pro zatím neznámá data [11]. Pro detekci tohoto problém se cvičná data rozdělují na dvě resp. tři skupiny, kdy první slouží k učení a další slouží k testování. Přeučení se projeví jako výrazný rozdíl mezi přesností predikce na trénovacích a testovacích datech. Přeučení lze předcházet využitím regularizace, jednoduššího modelu nebo větší a rozmanitější kolekce dat. V této práci je pro detekci přeučení využíváno grafu, ve kterém je na ose x počet trénovacích kroků a na ose y je přesnost predikce na trénovacích datech (zelená křivka) a testovacích datech (červená křivka). Obr. 5 značí několik typů grafů, které se mohou objevit při učení. Při dostatečném množství kroků predikční model obvykle dosahuje téměř stoprocentní úspěšnosti na trénovacích datech. V případě, že tomu tak není (typ grafu 4), model nemá dostatek 10
12 parametrů pro vytvoření komplexního modelu, a proto je nutné tento počet zvýšit např. přidáním neuronů. Pokud je počet parametrů naopak příliš velký, dochází k přeučení a graf značí velký rozdíl mezi trénovací a testovací přesností (typy 1 a 2), v extrémních případech dochází k poklesu testovací přesnosti. Ideální stav nastává, když obě křivky rostou podobným tempem a blíží se k hodnotě 100 %. Obr. 5: Typy průběhu učení modelu (1, 2 přeučení; 3 ideální stav; 4 nedostatečně komplexní model) 11
13 5 STRUKTURA PROGRAMU Celý program je rozdělen do několika modulů podle funkce. Tyto moduly jsou vzájemně nezávislé a sdílí mezi sebou pouze přesně stanovená data. Hlavní kostru programu tvoří pět modulů (detekce stránky, detekce slov, normalizace dat, oddělení znaků, rozpoznání znaků). Moduly využívající strojového učení jsou provázány s podpůrnými moduly, které slouží k vytváření trénovacích datových sad a trénování modelu. Výhodou této struktury je vysoká flexibilita a možnost moduly nezávisle upravovat. Zároveň umožňuje měřit úspěšnost jednotlivých modulů a optimalizovat nejslabší z nich. Tato struktura ovšem ztrácí svou flexibilitu v případě změny formátu předávaných dat. Taková změna může vyžadovat změnu všech následujících modulů. Tento program neřeší problém finálního uložení převedeného textu do odpovídajícího formátu. Pouze vytváří jednoduché rozhraní pro procházení detekovaných slov a zobrazování rozpoznaného slova. Vhodné postup pro zobrazování a ukládání není rozebírán, neboť závisí na typu textu a přesnosti modelu. 5.1 Detekce stránky První část programu slouží k načtení fotografie listu papíru s textem a odstranění nepotřebného pozadí. Pro odstranění pozadí je využito techniky počítačového vidění, pomocí které nalezneme okraje stránky a ořízneme okolní pozadí. Toto řešení je velmi triviální a v mnohých případech nedostačující (postup vyžaduje dostatečný kontrast mezi pozadím a stránkou). V praxi se očekává, že tento modul bude nahrazen metodou optimalizovanou pro daný formát vstupního obrazu. Odstranění přebytečného pozadí je ovšem nezbytné pro zvýšení přesnosti detekce slov a výkon programu. 5.2 Detekce slov Tento modul na vstupu dostane obraz již zbavený přebytečného pozadí a vyhledá v něm jednotlivá slova, která se dále zpracovávají. I přes to, že existují komplexní metody pro řešení podobných problémů, které mohou například využívat strojového učení (tzv. rekurentní neuronové sítě), v našem řešení bylo využito pouze metod počítačového vidění. Slova jsou vyhledávána na základě předpokladu, že v ideálním případě jsou od sebe slova oddělena mezerou a splňují velikostní kritéria. Podobně jako u detekce stránky, lze v praxi využít specifických vlastností stránky (např.: linkování) pro zlepšení tohoto postupu. 5.3 Normalizace dat Fáze normalizace má za cíl eliminovat nežádoucí odchylky v datech a je nezbytná pro správnou činnost modulů využívajících strojového učení. Mezi takové odchylky můžeme 12
14 zařadit odlišnou barvu, velikost či sklon písma, a proto jsou v tomto modulu jednotlivé obrazy slov zmenšeny na danou velikost a je provedena korekce barev a sklonu písma. Největším problémem tohoto modulu je právě korekce sklonu, pro kterou neexistuje spolehlivé řešení a v některých případech je zcela nemožná. 5.4 Oddělení znaků Protože se zatím nepodařilo nalézt žádný spolehlivý způsob na oddělování vázaných znaků pomocí technik počítačového vidění, muselo být využito strojového učení. Program nejprve na základě dříve klasifikovaných dat vytvoří model, pomocí kterého bude predikovat, zda je na obrázku písmeno nebo mezera mezi písmeny. Poté budeme jednotlivá slova procházet po malých výřezech a určovat zda se jedné o mezeru či nikoliv. Postupně tak rozdělíme celé slovo na jednotlivá písmena, která jsou dále zpracovávána. Tento modul je rozšířen o dva přídavné moduly, jeden pro vytvářené kolekce roztříděných dat a druhý pro trénování modelu. Nevýhodou tohoto řešení je především vysoká závislost na velikosti a kvalitě datové kolekce. 5.5 Rozpoznání znaků Tento modul také využívá strojového učení. Nejprve jsou obrázky jednotlivých písmen převedeny na danou velikost a následně jsou klasifikovány předem natrénovaným modelem. Tento modul spolu s dvěma přídavnými moduly je velmi podobný struktuře modulu pro oddělování znaků. Na rozdíl od předchozího modulu, kde se obrázky rozdělují na dva druhy, v tomto modulu rozdělujeme obrázky na 83 druhů (znaků), popřípadě 53 znaků bez interpunkce. Z toho vyplývá, že pro vytvoření kvalitního modelu je zapotřebí několika násobně více cvičných dat. Vzhledem ke komplexnosti tohoto problému ovšem jiné řešení zatím nepřipadá v úvahu. 13
15 6 TECHNICKÉ ZPRACOVÁNÍ 6.1 Detekce stránky Metoda pro detekci stránky vychází z článku publikovaném na pyimagesearch.com [12]. Podstatou této metody je využití jedné z funkcí knihovny OpenCV (cv2.warpperspective), která nám umožňuje vyříznout obrázek na základě čtyř bodů (přesněji přesunout čtyři body na jinou čtveřici bodů). Cílem tohoto modulu je nalezení rohových bodů stránky a aplikování této metody. Předpokladem pro úspěšné fungování této metody je fotka obsahující čtyřúhelníkovou stránku zabírající většinu fotky a dostatečný kontrast mezi pozadím a stránkou. Obr. 6: Postup detekce stránky. 1 - originální fotka; 2 filtrace, prahování a přidání rámečku; 3 detekované hrany; 4 nalezená kontura; 5 vyříznutá stránka Pro hledání rohů stránky je využito Cannyho detekce hran a následné aplikování funkce pro hledání kontur (funkce cv2.findcontours), kdy konturou se myslí nepřerušená uzavřená hrana. Ještě před provedením detekce hran je nutné provést odstranění šumu a rozostření obrazu, čímž se předejde detekci nevýznamných hran. Za tímto účelem je využit bilaterální filtr, který umožňuje rozostření a zároveň zachování hran [13], v kombinaci s adaptivním prahováním a přidáním rámečku pro případ, kdy se stránka dotýká okraje (funkce hledání kontur nenalezna kontury dotýkající se okraje obrazu). Po nalezení všech kontur, vybereme největší konvexní konturu, která má při jisté míře aproximace čtyři rohy (využitím funkcí OpenCV pro práci s konturami). V momentě získání kontury stránky, můžeme aplikovat na úvod zmíněnou funkci. Jednotlivé fáze jsou zachyceny na obr. 6. Tato metoda má vysokou úspěšnost v případě, kdy fotka stránky splňuje všechny předpoklady (dostatečný kontrast s jednotvárným pozadím a dostatečná velikost stránky). V opačném případě stránka obvykle není rozpoznána a to má za následek zhoršení přesnosti následujících částí programu. 14
16 6.2 Detekce slov Pro detekci slov je využito experimentálně získané metody vycházející z hledání kontur a čtyřúhelníků, které je ohraničují. Pro detekci textu je využita detekce hran (pouze Sobelův operátor) v kombinaci s prahováním, které předchází rozostření pomocí Gaussianova filtru. Následuje morfologická operace uzavření, která zacelí mezery mezi bílými pixely, pokud je jejich vzdálenost menší než je definováno. Poté obraz zmenšíme a vyhledáme kontury. Při hledání kontur je využito parametru hierarchie udávající vzájemnou polohu kontur. Námi využitá hierarchie (označená cv2.retr_ccomp) rozděluje kontury na ohraničující kontury a vnitřní kontury. Dále projdeme pouze ohraničující kontury a v případě, že splňují velikostní omezení, je označíme za slova a ponecháme pro další zpracování. Nedostatkem tohoto řešení je neschopnost oddělit slova, která se vzájemně dotýkají. Pro řešení tohoto problému byl také testován algoritmus nazvaný Watershed [14]. I přes správné oddělení některých slov, tento algoritmus nebyl využit, protože v mnohých případech výsledné ohraničení produkované tímto algoritmem nezabíralo celé slovo. Budoucím řešením tohoto problému by mohla být kombinace obou postupů. 6.3 Normalizace dat Normalizace můžeme rozdělit na normalizaci před rozdělováním slov na jednotlivé znaky a na normalizaci jednotlivých znaků. Tento proces je důležitý pro správnou funkci algoritmů strojového učení, které vyžadují standardizovaná data přesných rozměrů. Během normalizace obrázku slova, je nejprve provedeno zmenšení na standardizovanou výšku (60 pixelů), následuje rozostření bilaterálním filtrem v kombinaci s detekcí hran Sobelovým operátorem a prahováním. Výsledkem těchto kroků je černobílý obrázek pouze s hranami jednotlivých písmen (obr. 7). Cílem tohoto postupu je odstranění závislosti na barvě písma a podkladu. 15
17 Obr. 7: Normalizace normalizovaný obraz) barvy slova (původní a Následuje korekce náklonu písma, která je důležitá především proto, že jednotlivá písmena jsou oddělována svislou hranicí a bez korekce sklonu nelze písmena jednoznačně oddělit. Úspěšná korekce náklonu usnadňuje vytvoření datové kolekce a také zvyšuje přesnost predikčního modelu. Pro příklad je uvedeno oddělení písmen ve slově s korekcí náklonu a bez korekce (obr. 8). Náklon slova je detekován pomocí Houghovy transformace pro hledání přímek, která najde všechny přímky protínající zvolený minimální počet bílých bodů. Z těchto přímek vybereme pouze přímky s maximálním sklonem 40 úhlových stupňů od vertikální osy. Sklony přímek zprůměrujeme, a pokud se úhel nachází v daných mezích, obrázek o daný úhel nakloníme. Obr. 8: Oddělení písmen ve slově bez korekce (horní) a s korekcí (spodní) 16
18 Tato korekce funguje pouze při menších úhlech náklonu a pro přesnější korekci by bylo nutné využít odlišné metody detekce náklonu. Problém této funkce nastává v případě, kdy náklon písmen není jednotný, v takovém případě by zřejmě bylo nutné rozdělit slovo na menší úseky a provést pouze lokální korekci. Jelikož velká část normalizace proběhne během normalizace celého slova, tak pro normalizaci před rozpoznáváním jednotlivých písmen stačí pouze oříznout přebytečné volné místo a písmeno zmenšit nebo zvětšit na daný rozměr (64x64 pixelů) tak, aby byl zachován poměr stran (menší strana je rozšířena o černé pixely) a byl ponechán okraj 4 pixely. Tento postup normalizace byl převzat za světoznámé datové kolekce MNIST [15]. 6.4 Oddělení znaků Během oddělování znaků jsou jednotlivé obrazy slov procházeny po výřezech 30x60 pixelů (výška je stejná jako výška slova) a výřez se vždy posouvá o dva pixely doprava. Klasifikační model rozděluje výřezy na písmena a mezery mezi písmeny (podle umístění středu výřezu). V případě, že je detekováno více po sobě jdoucích mezer, je jako hranice využita prostřední z nich. Výsledkem této operace jsou hranice jednotlivých písmen, které umožní vyříznutí a další zpracování písmen. Obr. 9: Postup při oddělování písmen. 1 originální obraz, 2 rozdělení jednotlivých úseků (zelená=písmeno, červená=mezera), 3 určené mezery 17
19 Správné oddělení znaků závisí na úspěšném rozpoznání písmen a mezer. Za tímto účelem byla využita konvoluční neuronová síť naprogramovaná s využitím knihovny Tensorflow. Tensorflow dále poskytuje funkce pro výpočet nepřesnosti modelu, učení modelu a jeho ukládání. To nám umožňuje vytvoření modelu na několika málo řádcích a následně model jednoduše načíst a aplikovat. Struktura této sítě je založena na modelu zvaném LeNet-5 [16], který byl vytvořen pro klasifikaci datové kolekce MNIST. Níže je uveden kód vytvářející odpovídající graf v Tensorflow. # Pomocné funcke pro vytváření základních vrstev (konvoluce a škálování) def conv2d(x, W): return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='same') def max_pool_2x2(x): return tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='same') # Placeholder pro data (x) and třídy (y_) x = tf.placeholder(tf.float32, [None, 1800], name="x") y_ = tf.placeholder(tf.float32, [None, 2]) # Převedení dat na dvoj rozměrné pole hodnot (obrázek) x_image = tf.reshape(x, [-1, 30, 60, 1]) # K1 - Konvoluce, 20 filtrů 5x5 W_conv1 = tf.variable(tf.truncated_normal([5, 5, 1, 20], stddev=0.1), name="w_conv1") b_conv1 = tf.variable(tf.constant(0.1, shape=[20]), name="b_conv1") conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1) # S2 - Škálování pomocí maxima pool1 = max_pool_2x2(h_conv1) # K3 - Konvoluce, 50 filtrů 5x5 W_conv2 = tf.variable(tf.truncated_normal([5, 5, 20, 50], stddev=0.1), name="w_conv2") b_conv2 = tf.variable(tf.constant(0.1, shape=[50]), name="b_conv2") conv2 = tf.nn.relu(conv2d(pool1, W_conv2) + b_conv2) # S4 - Škálování pomocí maxima pool2 = max_pool_2x2(conv2) # N5 - Neuronová vrstva o 500 neuronech (anglicky fully connected layer) W_fc1 = tf.variable(tf.truncated_normal([8*15*50, 500], stddev=0.1), name="w_fc1") b_fc1 = tf.variable(tf.constant(0.1, shape=[500]), name="b_fc1") # Je nutné převést příznakové mapy na jednorozměrný seznam hodnot conv2_flat = tf.reshape(pool2, [-1, 8*15*50]) fc1 = tf.nn.relu(tf.matmul(conv2_flat, W_fc1) + b_fc1) # 6. Dropout - regularizace vynecháváním neuronů # pravděpodobnost vynechání uložena v keep_prob keep_prob = tf.placeholder(tf.float32) fc1_drop = tf.nn.dropout(fc1, keep_prob) 18
20 # 7. Výstup o 2 neuronech (Určený pro trénování) W_fc2 = tf.variable(tf.truncated_normal([500, 2],stddev=0.1), name="w_fc2") b_fc2 = tf.variable(tf.constant(0.1, shape=[2]), name="b_fc2") y_conv = tf.matmul(fc1_drop, W_fc2) + b_fc2 # Aktivační funkce, přidání kolekce pro snadný import a export # Určená pro reálné využití modelu activation = tf.argmax(tf.matmul(fc1, W_fc2) + b_fc2, 1) tf.add_to_collection("activation", activation) # Funkce počítající chybu + regularizace cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=y_conv, labels=y_) beta = # Kontrola intenzity regularizace regularizers = tf.nn.l2_loss(w_fc2) + tf.nn.l2_loss(w_fc1) cost = tf.reduce_mean(cross_entropy + beta * regularizers) # Tréninkový krok, definování komplexního optimalizačního algoritmu # a funkce, kterou minimalizuje train_step = tf.train.adamoptimizer(1e-4).minimize(cost) Struktura nejprve provede konvoluční vrstvu (K1) obsahující 20 filtrů 5x5. Následuje vrstva škálování (S2) velikosti 2x2 využívající metody max pooling. Tato posloupnost se znovu opakuje s konvoluční vrstvou (K3) o 50 filtrech 5x5 a stejné vrstvy škálování (S4). Tyto čtyři vrstvy produkují 50 tzv. příznakových map (anglicky feature map) velikosti 8x15 pixelů. Všechny tyto hodnoty jsou dále propojeny s neuronovou vrstvou (N5) o 500 neuronech, která je napojena na výstupní vrstvu (N6) o 2 neuronech. Důvodem využití dvou výstupních neuronů je aktivační funkce softmax, která je zobecněním funkce sigmoid. Softmax vrací pro každý výstup hodnotu mezi 0 a 1 tak, že součet všech hodnot se rovná jedné a zvolená třída odpovídá výstupu s největší hodnotou. Pro regularizaci byla využito metody zvané dropout [17], která s určitou pravděpodobností při učení vynechává náhodné neurony, a regularizace L2, která k funkci počítající chybu přičítá korekci vynásobenou kontrolním parametrem beta. 19
21 Obr. 10: Graf úspěšnosti na tréninkových datech (zeleně) a na testovacích datech (červeně) a trénovací chyba (modře) v závislosti na počtu iterací Datová sada v době trénování obsahovala obrázků, z toho bylo určeno k trénování a k testování. Tato struktura se ukázala jako nejúspěšnější a opakovaně dosáhla úspěšnosti okolo 91 %. Na grafu je vidět poslední učení sítě, kdy bylo dosaženo úspěšnosti 91,77 %. Rozdíl mezi testovací a trénovací úspěšností si lze vysvětlit tak, že v některých případech nelze jednoznačně určit začátek a konec písmena a datová sada není dostatečně rozsáhlá a rozmanitá pro pokrytí všech možných případů. Situaci lze označit za jistou míru přeučení a jako jediné řešení se ukazuje rozšíření datové sady, protože všechna ostatní opatření (vyšší regularizace, jednoduší model) vedla ke zhoršení úspěšnosti na testovacích datech. 6.5 Rozpoznání znaků Ještě před aplikací modelu pro predikci písmen jsou detekovaná písmena převedena na společnou velikost 64x64. Následně je z jednotlivých predikovaných písmen složeno celé slovo. Za účelem testování byli vytvořeny dvě datové sady jedna pouze pro anglickou abecedu (26 znaků, 52 včetně velkých písmen) a druhá pro českou abecedu bez CH včetně háčků a čárek (41 znaků, 82 včetně velkých písmen). Pro případ falešné detekce (oblasti neobsahující žádné písmeno) byla přidána jedna speciální třída ke každé sadě. Pro klasifikaci je opět využita konvoluční neuronová síť, která se svou strukturou podobá struktuře pro oddělení znaků, ale je rozšířena o jednu konvoluční vrstvu s vrstvou škálování. Struktura se tedy skládá z vrstvy K1 (konvoluční vrstva) z 10 filtrů 5x5 následované S2 (max pooling) 2x2. Dále je vrstva K3 obsahující 20 filtrů o velikosti 5x5 a S4 velikosti 2x2. Nová vrstva K5 se skládá z 40 filtrů 3x3 a škálováním 2x2 (S6). Po provedení těchto vrstev získáme 20
22 40 příznakových map velikosti 8x8, které jsou napojeny na vrstvu N7 skládající se z 80 neuronů napojených na 83 (popřípadě 53 pro anglickou abecedu) výstupních neuronů. Regularizaci provádí funkce dropout a L2. Síť byla trénována na datové sadě obsahující příkladů, z toho určených pro učení a 600 pro testování. Vzhledem k malému počtu dat, se často objevoval problém přeučení, a proto musely být testovány různé struktury a velikosti korekce L2. V závěru byla vybrána výše uvedená struktura spolu s korekcí L2 vynásobenou parametrem beta o velikosti 0.1 (obvykle se využívá hodnota okolo 0.001). Struktura k-nn (anglicky k-nearest neighbors) uvedená v tabulce 1 predikuje třídu neznámého písmene pouze na základě matematické podobnosti se známými daty (KNS označuje konvoluční neuronovou síť). Úspěšnost k-nn byla brána jako hraniční a od konvolučních sítí byla očekávána vyšší přesnost predikce. Tab. 1: Úspěšnost predikce odlišných struktur Struktura (abeceda) k-nn (CZ) KNS, beta = (CZ) KNS, beta = 0.1 (CZ) k-nn (EN) KNS, beta = (EN) KNS, beta = 0.1 (EN) Úspěšnost predikce 65,58 % 69,24 % 72,66 % 67,05 % 71,84 % 75,28 % Z tabulky je patrné, že největší úspěšnosti byly dosaženy využitím vyšší regularizace. Dále je patrné, že přesnost detekce je vždy vyšší pro anglickou abecedu než pro českou, především proto, že anglická abeceda obsahuje méně tříd pouze 53 na rozdíl od 83. Úspěšnost by jsme mohli zvýšit také tím, že bychom znali pozici písmena ve slově (zda se jedná o první písmeno nebo ne) a tím by jsme mohli zredukovat počet detekovaných tříd o velká písmena, která se nemohou nacházet uprostřed slova. Možností, jak zvýšit přesnost na českých znacích, by také bylo kombinované rozpoznání anglických znaků a následně českých, kdy by bylo prvně detekované písmeno změněno na české pouze v případě, že český znak je ekvivalentem anglického znaku rozšířeného o háček či čárku. Maximální dosažená úspěšnost byla 78,02 % na anglické abecedě, běžné hodnoty se ovšem pohybují okolo 76 %, a 73 % na české abecedě. Z níže uvedeného grafu je patrné, že dochází k výraznému přeučení, především z důvodu velkého počtu tříd a nedostatečné kolekce dat. Proto jedním z jednoduchých způsobů, jak zvýšit přesnost predikce, je rozšíření datové sady. Další možností by bylo využití programu pro automatické generování nečistot a malých změn do již známých obrázků a rozšířit tak datovou sadu. 21
23 Obr. 11: Graf úspěšnosti na anglických tréninkových datech (zeleně) a na testovacích datech (červeně) a trénovací chyba (modře) v závislosti na počtu kroků 22
24 7 ZÁVĚR I přes nedostatky v datové sadě, byl vytvořen fungující postup, který dokázal úspěšně rozpoznat 65 ± 10 % písmen z testovacího obrázku, který nikdy dříve neviděl (měřeno na 5 odlišných stránkách s textem o 200 znacích). Tento model byl trénován především na mém rukopisu, a proto je nepoužitelný pro odlišné rukopisy. Nicméně vytvoření programu pro rozpoznávání ručně psaného textu je možné a závisí především na dostatku kvalitních dat. Vytvoření takové datové sady rozhodně není nemožné, neboť již existuje datová sada zvaná NIST Special Database 19 [18], která byla vytvořena pomocí dotazníku a obsahuje přes roztříděných znaků od odlišných lidí. Tato datová sada se bohužel zaměřuje na odlišný styl písma. Dalším krokem by proto mělo být vytvoření dotazníku, který by byl automaticky zpracováván a umožňoval tak rychlé vytvoření rozsáhlé datové sady. Dále by bylo možné využít již roztříděných znaků a jejich kombinováním vytvářet data pro oddělování znaků a vyhnout se tak komplikovanému vytváření dvou odlišných datových sad. Kromě rozšiřování datové sady je možné zvyšovat přesnost i odlišnými způsoby jako například využíváním slovníků pro hledání překlepů, zlepšením metod normalizace či experimentováním s komplexnějšími predikčními modely, které pro své trénování vyžadují výkonné servery. Nabízí se také otázka, zda je tento postup optimální, protože pokud by jsme měli velmi přesnou metodu pro rozpoznávaní znaků, mohli bychom se ji pokusit aplikovat přímo na výřezy z nalezeného slova a vyhnout se tak oddělování písmen a vytváření dvou modelů a datových sad. Tato metoda nebyla rozebírána, neboť vyžaduje velmi přesné rozpoznávání znaků, kterého se nepodařilo dosáhnout. 23
25 8 POUŽITÁ LITERATURA [1] Počítačové vidění. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z: %C3%AD [2] Prahování. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z: [3] Image Thresholding. OpenCV: Open Source Computer Vision [online] [cit ]. Dostupné z: [4] PIKORA, Jan. Implementace grafických filtrů pro zpracování rastrového obrazu [online]. Brno, 2008 [cit ]. Dostupné z: Bakalářská práce. Masarykova univerzita, Fakulta informatiky. Vedoucí práce Tomáš Staudek. [5] Sobel Derivatives. OpenCV documentation: Open Source Computer Vision [online] [cit ]. Dostupné z: [6] Canny Edge Detection. OpenCV documentation: Open Source Computer Vision [online] [cit ]. Dostupné z: [7] Strojové učení. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z: [8] Rectifier (neural networks). In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z: [9] Convolutional Neural Networks. CS231n: Convolutional Neural Networks for Visual Recognition [online] [cit ]. Dostupné z: [10] DOSOVITSKIY, Alexey. Striving for Simplicity: The All Convolutional Net [online] 2015 [cit ]. Dostupné z: [11] Učení s učitelem. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z: [12] How to Build a Kick-Ass Mobile Document Scanner in Just 5 Minutes. Pyimagesearch [online] [cit ]. Dostupné z: [13] C. Tomasi and R. Manduchi, Bilateral filtering for gray and color images, Sixth International Conference on Computer Vision (IEEE Cat. No.98CH36271), Bombay, 1998, 24
26 pp Dostupné z: [14] Image Segmentation with Watershed Algorithm. OpenCV: Open Source Computer Vision [online] [cit ]. Dostupné z: [15] THE MNIST DATABASE of handwritten digits. THE MNIST DATABASE [online] [cit ]. Dostupné z: [16] Y. LeCun, L. Bottou, Y. Bengio and P. Haffner: Gradient-Based Learning Applied to Document Recognition [online]. Proceedings of the IEEE, 86(11): , Listopad 1998 [cit ]. Dostupné z: [17] Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, Ruslan Salakhutdinov: Dropout: A Simple Way to Prevent Neural Networks from Overfitting [online]. Toronto, 2014 [cit ]. Dostupné z: [18] NIST Special Database 19. NIST [online] [cit ]. Dostupné z: 25
27 9 SEZNAM OBRÁZKŮ A TABULEK Obr. 1: Princip konvoluce Autor obrázku: Grt. Dostupné z: Obr. 2: Grafické znázornění neuronu, který na vstup aplikuje aktivační funkci a dál předává její výsledek...10 Obr. 3: Znázornění jednoduché neuronové sítě...10 Obr. 4: Příklad konvoluční neuronové sítě...12 Obr. 5: Typy průběhu učení modelu (1, 2 přeučení; 3 ideální stav; 4 nedostatečně komplexní model)...13 Obr. 6: Postup detekce stránky. 1 - originální fotka; 2 filtrace, prahování a přidání rámečku; 3 detekované hrany; 4 nalezená kontura; 5 vyříznutá stránka...16 Obr. 7: Normalizace barvy slova (původní a normalizovaný obraz)...18 Obr. 8: Oddělení písmen ve slově bez korekce (horní) a s korekcí (spodní)...18 Obr. 9: Postup při oddělování písmen. 1 originální obraz, 2 rozdělení jednotlivých úseků (zelená=písmeno, červená=mezera), 3 určené mezery...19 Obr. 10: Graf úspěšnosti na tréninkových datech (zeleně) a na testovacích datech (červeně) a trénovací chyba (modře) v závislosti na počtu iterací...22 Obr. 11: Graf úspěšnosti na anglických tréninkových datech (zeleně) a na testovacích datech (červeně) a trénovací chyba (modře) v závislosti na počtu kroků...24 Tab. 1: Úspěšnost predikce odlišných struktur
28 10 PŘÍLOHA 1: ZDROJOVÝ KÓD Zdrojový kód lze nalézt na uložišti GitHub: Pro prohlížení doporučuji využit webové aplikace Jupyter nbviewer: Upozornění, kód je z praktických důvodů komentovaný anglicky. Pro spuštění souborů je nutný program Jupyter Notebook spolu s Pythonem 3 a odpovídajícími knihovnami (Numpy, Tensorflow 1.0, OpenCV 3.2,...) Hlavním souborem kombinujícím všechny částí je soubor OCR.ipynb. Struktura zdrojového kódu: Detekce stránky Detekce slov Normalizace Oddělení znaků model: tvorba dat: převod na CSV: 5. Rozpoznání znaků model: tvorba dat: převod na CSV: - PageDetection.ipynb - WordDetection.ipynb - ocr/normalization.py (nemá vlastní notebook) - GapClassification.ipynb GapClassifier.ipynb GapClassification.ipynb Gap-DataCSV.ipynb - OCR.ipynb CharClassifier.ipynb CharClassificationDM.ipynb Char-DataCSV.ipynb SLOŽKY: data/ - datové sady (dostupná z: usp=sharing) models/ - naučené modely ocr/ - notebooky převedené do čistého pythonu + pomocné funkce test/ - testovací obrázky 27
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
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.
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
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
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
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
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ů
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é
Zpracování obrazů. Honza Černocký, ÚPGM
Zpracování obrazů Honza Černocký, ÚPGM 1D signál 2 Obrázky 2D šedotónový obrázek (grayscale) Několikrát 2D barevné foto 3D lékařské zobrazování, vektorová grafika, point-clouds (hloubková mapa, Kinect)
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:
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 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
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ě
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í
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ů
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
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
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
SIFT: Scale Invariant Feature Transform Automatické nalezení korespondencí mezi dvojicí obrázků
SIFT: Scale Invariant Feature Transform Automatické nalezení korespondencí mezi dvojicí obrázků lukas.mach@gmail.com Přílohy (videa, zdrojáky, ) ke stažení na: http://mach.matfyz.cz/sift Korespondence
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
Ú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í
IVT. Rastrová grafika. 8. ročník
IVT Rastrová grafika 8. ročník listopad, prosinec 2013 Autor: Mgr. Dana Kaprálová Zpracováno v rámci projektu Krok za krokem na ZŠ Želatovská ve 21. století registrační číslo projektu: CZ.1.07/1.4.00/21.3443
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
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
Příprava dat v softwaru Statistica
Příprava dat v softwaru Statistica Software Statistica obsahuje pokročilé nástroje pro přípravu dat a tvorbu nových proměnných. Tyto funkcionality přinášejí značnou úsporu času při přípravě datového souboru,
Úvod do mobilní robotiky AIL028
md at robotika.cz http://robotika.cz/guide/umor07/cs 20. prosince 2007 1 2 3D model světa ProMIS Cvičení hledání domečku Model štěrbinové kamery Idealizovaný jednoduchý model kamery Paprsek světla vychází
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)
PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette
Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá
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í
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě
VY_32_INOVACE_INF_BU_01 Sada: Digitální fotografie Téma: Princip, kategorie digitálů Autor: Mgr. Miloš Bukáček Předmět: Informatika Ročník: 3. ročník osmiletého gymnázia, třída 3.A Využití: Prezentace
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 /
Ctislav Fiala: Optimalizace a multikriteriální hodnocení funkční způsobilosti pozemních staveb
16 Optimální hodnoty svázaných energií stropních konstrukcí (Graf. 6) zde je rozdíl materiálových konstant, tedy svázaných energií v 1 kg materiálu vložek nejmarkantnější, u polystyrénu je téměř 40krát
Deep learning v jazyku Python
Deep learning v jazyku Python Barevné obrázky 1 Deep learning v jazyku Python Barevné obrázky Deep learning v jazyku Python Barevné obrázky 2 Obrázek 2.12: Gradientní sestup po 2D ztrátové ploše (dva učební
NG C Implementace plně rekurentní
NG C Implementace plně rekurentní neuronové sítě v systému Mathematica Zdeněk Buk, Miroslav Šnorek {bukz1 snorek}@fel.cvut.cz Neural Computing Group Department of Computer Science and Engineering, Faculty
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
OBRAZOVÁ ANALÝZA. Speciální technika a měření v oděvní výrobě
OBRAZOVÁ ANALÝZA Speciální technika a měření v oděvní výrobě Prostředky pro snímání obrazu Speciální technika a měření v oděvní výrobě 2 Princip zpracování obrazu matice polovodičových součástek, buňky
M E T O D Y R O Z P O Z NÁNÍ OB J E K T Ů V O B R A Z U
M E T O D Y R O Z P O Z NÁNÍ OB J E K T Ů V O B R A Z U CÍLE LABORTATORNÍ ÚLOHY 1. Seznámení se s metodami rozpoznání objektů v obraze 2. Vyzkoušení detekce objektů na snímcích z kamery a MRI snímku ÚKOL
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
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í
Studentská tvůrčí a odborná činnost STOČ 2017
Studentská tvůrčí a odborná činnost STOČ 2017 Detekce a analýza pohybu osob založená na analýze obrazu Bc. Robin Antonič Mendelova univerzita v Brně, Zemědělská 1 20. dubna 2017 FAI UTB ve Zlíně Klíčová
INFORMATIKA. Grafické studio ve škole
INFORMATIKA Grafické studio ve škole LUKÁŠ RACHŮNEK Přírodovědecká fakulta UP, Olomouc V současné době školy všech typů často potřebují grafické práce. Jedná se například o prezentaci školy ve formě brožur,
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
Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:
Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém
5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA
5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA 5. 15. 1 Charakteristika předmětu A. Obsahové vymezení: IVT se na naší škole vyučuje od tercie, kdy je cílem zvládnutí základů hardwaru, softwaru a operačního systému,
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á
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě
VY_32_INOVACE_INF_BU_04 Sada: Digitální fotografie Téma: Další parametry snímku Autor: Mgr. Miloš Bukáček Předmět: Informatika Ročník: 3. ročník osmiletého gymnázia, třída 3.A Využití: Prezentace určená
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
Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.
Přehledy pro Tabulky V programu CONTACT Professional 5 naleznete u firem, osob a obchodních případů záložku Tabulka. Tuto záložku lze rozmnožit, přejmenovat a sloupce je možné definovat dle vlastních požadavků
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
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í
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_02 Škola Střední průmyslová škola Zlín Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Inovace výuky
Co je nového v aplikaci PaperPort 12?
Vítejte! Aplikace PaperPort společnosti Nuance je softwarový balíček pro správu dokumentů pracovní plochy, který vám usnadní skenování, uspořádání, sdílení, správu a přístup k papírovým a digitálním dokumentům
Angličtina program k procvičování slovní zásoby
Středoškolská technika 2011 Setkání a prezentace prací středoškolských studentů na ČVUT Angličtina program k procvičování slovní zásoby Kamil Hanus Střední průmyslová škola elektrotechniky a informačních
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
Obsah. Předmluva 13. O autorovi 15. Poděkování 16. O odborných korektorech 17. Úvod 19
Předmluva 13 O autorovi 15 Poděkování 16 O odborných korektorech 17 Úvod 19 Co kniha popisuje 19 Co budete potřebovat 20 Komu je kniha určena 20 Styly 21 Zpětná vazba od čtenářů 22 Errata 22 KAPITOLA 1
Obsah přednášky Jaká asi bude chyba modelu na nových datech?
Obsah přednášky Jaká asi bude chyba modelu na nových datech? Chyba modelu Bootstrap Cross Validation Vapnik-Chervonenkisova dimenze 2 Chyba skutečná a trénovací Máme 30 záznamů, rozhodli jsme se na jejich
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_33_02 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
KONVOLUČNÍ NEURONOVÉ SÍTĚ PRO BEZPEČNOSTNÍ APLIKACE CONVOLUTIONAL NEURAL NETWORKS FOR SECURITY APPLICATIONS
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND
Hardware Různé počítačové platformy (personální počítače, pracovní stanice, víceuživatelské systémy) Požadavek na konkrétní vstupní a výstupní zařízen
Základy teorie GIS Tomáš Řezník Vymezení pojmů Kartografie je věda, technologie a umění tvorby map, včetně jejich studia jako vědeckých dokumentů a uměleckých prací (International Cartographic Association,
Kompatibilita a import CAD
Kompatibilita a import CAD Import a automatické rozpoznání 3D vlastností CATIA V5 WorkNC nyní nabízí import a automatické rozpoznání vlastností vrtaných otvorů z CATIA V5. V modulu automatického vrtání
Experimentální systém pro WEB IR
Experimentální systém pro WEB IR Jiří Vraný Školitel: Doc. RNDr. Pavel Satrapa PhD. Problematika disertační práce velmi stručný úvod WEB IR information retrieval from WWW, vyhledávání na webu Vzhledem
Zobrazování barev. 1995-2015 Josef Pelikán CGG MFF UK Praha. pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/
Zobrazování barev 1995-2015 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ ColorRep 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 18 Barevné schopnosti HW True-color
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě
VY_32_INOVACE_INF_BU_03 Sada: Digitální fotografie Téma: Práce se světlem Autor: Mgr. Miloš Bukáček Předmět: Informatika Ročník: 3. ročník osmiletého gymnázia, třída 3.A Využití: Prezentace určená pro
Rozdělování dat do trénovacích a testovacích množin
Rozdělování dat do trénovacích a testovacích množin Marcel Jiřina Rozpoznávání je důležitou metodou při zpracování reálných úloh. Rozpoznávání je definováno dvěma kroky a to pořízením dat o reálném rozpoznávaném
Neuronové sítě (11. přednáška)
Neuronové sítě (11. přednáška) Machine Learning Naučit stroje se učit O co jde? Máme model výpočtu (t.j. výpočetní postup jednoznačně daný vstupy a nějakými parametry), chceme najít vhodné nastavení parametrů,
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ší
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_18 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
Meo S-H: software pro kompletní diagnostiku intenzity a vlnoplochy
Centrum Digitální Optiky Meo S-H: software pro kompletní diagnostiku intenzity a vlnoplochy Výzkumná zpráva projektu Identifikační čí slo výstupu: TE01020229DV003 Pracovní balíček: Zpracování dat S-H senzoru
Detekce a rozpoznávání mincí v obraze
POV prezentace projektu Projekt pro předmět POV, ZS 2012 Varianta projektu č. 12: Detekce a rozpoznávání mincí v obraze Autoři: Adam Crha, xcrhaa00 Jan Matyáš, xmatya02 Strana 1 z 11 Řešený problém a cíl
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ, OBOR GEODÉZIE A KARTOGRAFIE KATEDRA MAPOVÁNÍ A KARTOGRAFIE
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ, OBOR GEODÉZIE A KARTOGRAFIE KATEDRA MAPOVÁNÍ A KARTOGRAFIE název předmětu TOPOGRAFICKÁ A TEMATICKÁ KARTOGRAFIE číslo úlohy název úlohy 2 Tvorba tematických
Základy práce v programovém balíku Corel
Základy práce v programovém balíku Corel Mgr. Tomáš Pešina Výukový text vytvořený v rámci projektu DOPLNIT První jazyková základní škola v Praze 4, Horáčkova 1100, 140 00 Praha 4 - Krč Základy počítačové
scale n_width width center scale left center range right center range value weight_sum left right weight value weight value weight_sum weight pixel
Změna velikosti obrázku Převzorkování pomocí filtrů Ačkoliv jsou výše uvedené metody mnohdy dostačující pro běžné aplikace, občas je zapotřebí dosáhnout lepších výsledků. Pokud chceme obrázky zvětšovat
KRY. Projekt č. 2. Kamil Dudka xdudka00
KRY Projekt č. 2 Kamil Dudka xdudka00 1 Úvod Úkolem bylo vytvořit program, který do určeného obrázku umí schovat text a tento text z obrázku později vytáhnout. Schovaný text měl být zabezpečený pomocí
Hospodářská informatika
Hospodářská informatika HINFL, HINFK Vytvořeno s podporou projektu Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu reg.
Úpravy rastrového obrazu
Přednáška 11 Úpravy rastrového obrazu Geometrické trasformace Pro geometrické transformace rastrového obrazu se používá mapování dopředné prochází se pixely původního rastru a určuje se barva a poloha
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu
1 Základní funkce pro zpracování obrazových dat
1 Základní funkce pro zpracování obrazových dat 1.1 Teoretický rozbor 1.1.1 Úvod do zpracování obrazu v MATLABu MATLAB je primárně určen pro zpracování a analýzu numerických dat. Pro analýzu obrazových
IB112 Základy matematiky
IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic
Projekt do předmětu ZPO
Projekt do předmětu ZPO Sledování ruky pomocí aktivních kontur 13. května 2014 Autoři: Pavlík Vít, xpavli62@stud.fit.vutbr.cz Žerdík Jan, xzerdi00@stud.fit.vutbr.cz Doležal Pavel, xdolez08@stud.fit.vutbr.cz
GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím
GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz
Strojové učení se zaměřením na vliv vstupních dat
Strojové učení se zaměřením na vliv vstupních dat Irina Perfilieva, Petr Hurtík, Marek Vajgl Centre of excellence IT4Innovations Division of the University of Ostrava Institute for Research and Applications
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_15 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004
Dokumentace k projektu č. 2 do IZP Iterační výpočty 24. listopadu 2004 Autor: Kamil Dudka, xdudka00@stud.fit.vutbr.cz Fakulta Informačních Technologií Vysoké Učení Technické v Brně Obsah 1. Úvod...3 2.
Webové stránky. 16. Obrázky na webových stránkách, optimalizace GIF. Datum vytvoření: 12. 1. 2013. str ánk y. Vytvořil: Petr Lerch. www.isspolygr.
Webové stránky 16. Vytvořil: Petr Lerch www.isspolygr.cz Datum vytvoření: 12. 1. 2013 Webové Strana: 1/6 Škola Ročník Název projektu Číslo projektu Číslo a název šablony Autor Tématická oblast Název DUM
2C06028-00-Tisk-ePROJEKTY
Stránka. 27 z 50 3.2. ASOVÝ POSTUP PRACÍ - rok 2009 3.2.0. P EHLED DÍL ÍCH CÍL PLÁNOVANÉ 2009 íslo podrobn Datum pln ní matematicky formulovat postup výpo t V001 výpo etní postup ve form matematických
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
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)...
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í
Vzdělávací obsah vyučovacího předmětu
V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny
Tabulkový procesor. Základní rysy
Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních
IVT. Úprava fotografií. 8. ročník
IVT Úprava fotografií 8. ročník listopad, prosinec 2013 Autor: Mgr. Dana Kaprálová Zpracováno v rámci projektu Krok za krokem na ZŠ Želatovská ve 21. století registrační číslo projektu: CZ.1.07/1.4.00/21.3443
11 Zobrazování objektů 3D grafiky
11 Zobrazování objektů 3D grafiky Studijní cíl Tento blok je věnován základním algoritmům zobrazení 3D grafiky. Postupně budou probrány základní metody projekce kolmé promítání, rovnoběžné promítání a
Vytěžování znalostí z dat
Vytěžování znalostí z dat Department of Computer Systems Faculty of Information Technology Czech Technical University in Prague Přednáška 5: Hodnocení kvality modelu BI-VZD, 09/2011 MI-POA Evropský sociální
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á
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
VY_32_INOVACE_INF.10. Grafika v IT
VY_32_INOVACE_INF.10 Grafika v IT Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jiří Kalous Základní a mateřská škola Bělá nad Radbuzou, 2011 GRAFIKA Grafika ve smyslu umělecké grafiky
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
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová. 5. Statistica
Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Jarkovský, L. Dušek, M. Cvanová 5. Statistica StatSoft, Inc., http://www.statsoft.com, http://www.statsoft.cz. Verze pro Mac i PC, dostupná
Návod k použití softwaru Solar Viewer 3D
Návod k použití softwaru Solar Viewer 3D Software byl vyvinut v rámci grantového projektu Technologie a systém určující fyzikální a prostorové charakteristiky pro ochranu a tvorbu životního prostředí a