VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
|
|
- Vlastimil Matějka
- před 6 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 SOUSTAVA KAMER JAKO STEREOSKOPICKÝ SENZOR PRO MĚŘENÍ VZDÁLENOSTI V REÁLNÉM ČASE DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE AUTHOR Bc. MARTIN JANEČEK BRNO 2014
2 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 SOUSTAVA KAMER JAKO STEREOSKOPICKÝ SENZOR PRO MĚŘENÍ VZDÁLENOSTI V REÁLNÉM ČASE REAL-TIME DISTANCE MEASUREMENT WITH STEREOSCOPIC SENSOR DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR Bc. MARTIN JANEČEK Ing. MARTIN HASMANDA BRNO 2014
3 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. Martin Janeček ID: Ročník: 2 Akademický rok: 2013/2014 NÁZEV TÉMATU: Soustava kamer jako stereoskopický senzor pro měření vzdálenosti v reálném čase POKYNY PRO VYPRACOVÁNÍ: Jako stereoskopický senzor bude v diplomové práci sloužit soustava dvou kalibrovaných kamer. Cílem studenta bude za pomocí takovéto soustavy zpracovat pořízené stereoskopické snímky do podoby hloubkové mapy. Výpočet hloubkové mapy bude z důvodu rychlosti výpočtu navržen pro GPU. Z takto vypočtené hloubkové mapy a známých kalibračních parametrů se dále určí vzdálenosti předmětů před senzorem. Pro vyšší přesnost bude uvažována hloubkové mapa se sub-pixelovou přesností. DOPORUČENÁ LITERATURA: [1] Andrew Harltey and Andrew Zisserman. Multiple view geometry in computer vision (2. ed.). Cambridge University Press, [2] BRADSKI, Gary; KAEHLER, Adrian. Learning OpenCV. [s.l.] : O'Reilly, [3] CYGANEK, B.; SIEBERT, P., J.; An Introduction to 3D Computer Vision Techniques and Algorithms: Wiley Termín zadání: Termín odevzdání: Vedoucí práce: Ing. Martin Hasmanda Konzultanti diplomové práce: prof. Ing. Kamil Vrba, 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.
4 ANOTACE Práce ukazuje kalibraci stereoskopického senzoru. Popisuje základní metody stereokorespondnce za pouţití knihovny OpenCV. Obsahuje výpočet disparitních map pomocí procesoru nebo grafiké karty (s pouţitím knihovny OpenCL). KLÍČOVÁ SLOVA Semi Global Block Matching, Block Matching, OpenCV, OpenCL, disparitní mapa, stereoskopie, kalibrace stereoskopického senzoru ABSTARKT Project shows calibration stereoscopic sensor. Also describes basic methods stereocorespodation using library OpenCV. Project contains calculations of disparity maps on CPU or graphic card(using library OpenCL). KEY WORDS Semi Global Block Matching, Block Matching, OpenCV, OpenCL, disparity map, stereovision, calibration stereoskopic sensor. 4
5 BIBLIOGRAFICKÁ CITACE DÍLA JANEČEK, M. Soustava kamer jako stereoskopický senzor pro měření vzdálenosti v reálném čase. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, s. Vedoucí diplomové práce Ing. Martin Hasmanda. 5
6 PROHLÁŠENÍ Prohlašuji, ţe svoji Diplomovou práci na téma Soustava kamer jako stereoskopický senzor pro měření vzdálenosti v reálném čase 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 tohoto projektu 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 a jsem si plně vědom následků souvisejících s porušením platné a účinné právní úpravy. V Brně dne 30. května podpis autora PODĚKOVÁNÍ Tímto děkuji vedoucímu Diplomové práce panu Ing. Martinu Hasmandovi za cenné připomínky, rady a odborné vedení, které mně po celou dobu zpracování poskytoval. V Brně dne 30. května podpis autora 6
7 FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION BRNO UNIVERSITY OF TECHNOLOGY TECHNICKA 12, CZ BRNO, CZECHIA 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. 7
8 OBSAH ÚVOD POŘÍZENÍ STEREOSKOPICKÝCH OBRAZŮ Metoda Toe in Metoda Off axis EPIPOLÁRNÍ GEOMETRIE Fundamentální matice KALIBRACE KAMER Kalibrace pomocí obrazců Výsledky kalibrace Parametry kamer Matice kamery Distorzní vektor Rotační matice Translační vektor Rektifikační transformační matice Projekční matice Hloubková matice REKTIFIKACE STEREOSKOPICKÉHO OBRAZU STEREO KORESPONDENČNÍ METODY Block Matching metoda Semi Global Block Matching Předzpracování obrazu Filtr Sobel Prostá normalizace Odhad disparity se sub-pixelovou přesností ZPRACOVÁNÍ PROGRAMU NA GPU CPU vs. GPU Paralelismus OpenCL CPU vs. GPU pro BlockMatching
9 7 PRAKTICKÁ ČÁST Popis programu Grafy statistické hodnoty z kalibrací Grafy chyby měření vzdálenosti Převod disparitní mapy z šedotónového do barevného spektra Určení vzdálenosti objektu z disparitní mapy Ukázky disparitních map ZÁVĚR ZDROJE SEZNAM PŘÍLOH NA DVD
10 SEZNAM OBRÁZKŮ Obr. 1: Metoda Toe-in Obr. 2: Metoda Off-axis Obr. 3: Epipolární geometrie Obr. 4: Epipolární geometrie epipóly v nekonečnu Obr. 5: Epipolární geometrie přenášení bodu Obr. 6: Ukázka kalibračního vzoru Obr. 7: Radiální zkreslení Obr. 8: Ukázka rektifikovaného snímku Obr. 9: Diagram kalibrace Obr. 10: Diagram matching Obr. 11: Disparitní mapa BM (CPU) originál Obr. 12: Disparitní mapa BM (CPU) upravená, 256 tónů šedi v celém spektru Obr. 13: Disparitní mapa BM (CPU) upravená, 256 tónu barev palety Color Jet Obr. 14: Paleta Color Jet Obr. 15: Určení vzdálenosti bodu Obr. 16: Fotografie z levé a pravé kamery Obr. 17: Rektifikováný stereopár Obr. 18: Anaglifické zobrazení Obr. 19: Disparitní mapa šedotónová (CPU:BM) Obr. 20: Disparitní mapa obarvená Color Jet (CPU:BM) Obr. 21: Disparitní mapa šedotónová (CPU:SGBM) Obr. 22 : Disparitní mapa obarvená Color Jet (CPU:SGBM) Obr. 23: Disparitní mapa šedotónová (OCL:BM) Obr. 24: Disparitní mapa obarvená Color Jet (OCL:BM) SEZNAM GRAFŮ Graf 1: Graf chybovosti reprojekce (10cm) Graf 2: Graf chybovosti reprojekce (15cm) Graf 3: Graf chybovosti reprojekce (20cm) Graf 4: Graf závislosti chyby měření na vzdálenosti předmětu (20 cm) Graf 5: Graf závislosti chyby měření na vzdálenosti předmětu (30 cm)
11 ÚVOD Tématem, které jsem si zvolil v rámci semestrálního projektu a následně pro diplomovou práci, je Soustava kamer jako stereoskopický senzor pro měření vzdálenosti v reálném čase. Hlavním cílem diplomové práce bude zpracovat stereoskopické snímky do podoby disparitní mapy. K dosaţení tohoto cíle bude nezbytné nastudovat metody pro pořizování stereoskopických obrazů za pomocí dvojice kamer a nalézt tak vhodná řešení pro zpracování těchto výsledných snímků. V úvodní části práce se budu věnovat způsobům pořizování stereoskopických obrazů tedy způsobům snímání scény. Jde o technologie, které jsou zaloţeny na klasickém principu vnímání člověka světa kolem něj. Uvedu a definuji dvě moţné metody snímání a to Toe-In a Off-Axis. V rámci praxe budu pracovat s druhou z nich tedy s metodou Off- Axis. Dále se budu věnovat problematice epipolární geometrie, která je základem pro následnou kalibraci kamer respektive pro mapování a popis stereoskopické soustavy a pro transformaci obrazu tedy rektifikaci. V rámci této problematiky se zaměřím na význam fundamentální matice tedy mapování bodu v jednom obraze na korespondující epipolární přímku ve druhém obraze. Mapování vzájemně korespondujících bodů je důleţité pro stanovení projektivity snímků. Na tuto problematiku naváţe zmíněný proces kalibrace kamer a jeho popis. Tento bude základem pro získání vnitřních a vnějších parametrů kamer. Dále se v práci budu věnovat rektifikaci stereoskopického obrazu, díky které dochází ke zjednodušení úlohy při přiřazení bodu na pravém snímku bodu na levém snímku stereopáru. Zmíněný proces bude nezbytný pro správné určení vnitřních a vnějších parametrů kamer v rámci kalibrace. Pořízené stereoskopické snímky spolu se zjištěnými parametry kamer následně pomocí stereo korespondenční metody vyuţiji pro vytvoření hloubkové neboli disparitní mapy. V neposlední řadě bude třeba vypořádat se se subpixelovou přesností vytvořené disparitní mapy. V závěru práce přiblíţím problematiku paralelního programování grafického procesoru GPU. Uvedu obecně funkce a vyuţití GPU a také komparaci funkčních vlastností CPU a GPU. Ke zpracování shora uváděného budu vyuţívat funkce knihovny OpenCV. Dále zmíním standard OpenCL, díky kterému je moţné paralelní programování na CPU a GPU. Tyto poznatky budou pak základem pro další zpracování jiţ vytvořené aplikace, která bude umoţňovat zpracování pořízených snímků do disparitní mapy. Po aplikování znalostí paralelního programování a funkčností OpenCL bude aplikace schopna vykreslovat barevnou disparitní mapu scény v reálném čase. 11
12 V samotném závěru uvedu práce grafy se statistickými údaji o chybách reprojekce, grafy s naměřenými chybami měření vzdálenosti, ukázky disparitních map a zhodnotím dosaţené cíle diplomové práce. 12
13 1 POŘÍZENÍ STEREOSKOPICKÝCH OBRAZŮ Stereoskopická technologie nám umoţňuje vytvořit určitý prostorový vjem. Celá technologie je zaloţena na klasickém principu vnímání člověka světa kolem něj. Intenzita vjemu závisí na vzájemné vzdálenosti kamer a jejich vzdálenosti od průmětny. Existuje několik metod k pořízení těchto vjemů z prostoru. Kaţdá z těchto metod vychází z různého rozestavění kamer. Ne všechny polohy kamer jsou ke snímání obrazu vhodné. V této práci uvedu dvě metody moţné pro snímání prostoru dvěma kamerami. V praxi vyuţívám metodu Off-axis. 1.1 Metoda Toe in První z moţných a častých metod je metoda Toe-in. Obě kamery jsou zaostřeny na totoţný bod. Tato metoda není tou nejvhodnější. Nevýhodou je vznik vertikální paralaxy, která je následkem toho, ţe snímané body se nezobrazují v jedné rovině. Obraz tak můţe působit nepřirozeně.[3] Obr. 1: Metoda Toe-in 13
14 1.2 Metoda Off axis Vhodnější metodou pro snímání prostorového vjemu je metoda Off axis. Objektivy kamer jsou nastaveny rovnoběţně a nehrozí zde proto vznik vertikální paralaxy. Obraz tedy působí přirozeně. Tato metoda je sloţitější v tom, ţe obrazy, které jsou kamerami snímány, se překrývají mezi body BC a zároveň kaţdá z kamer snímá část obrazu, kterou druhá nesnímá.[1] Obr. 2: Metoda Off-axis 14
15 2 EPIPOLÁRNÍ GEOMETRIE Epipolární geometrie mapuje a popisuje stereoskopickou soustavu. Tou je uspořádání protínajících se rovin, jejichţ průsečíkem je báze. Bází je přímka, která spojuje středy kamer. Prostřednictvím epipolární geometrie se mapují body z jednoho snímku, kterým odpovídají body na přímce ve druhém snímku. Na základě toho pak tedy zmapujeme body, které korespondují v obou snímcích stereo páru. Je zřejmé, ţe obrazy si nemusí odpovídat absolutně z důvodu odlišnosti scén. Cílem je tedy zmapovat dostatečné mnoţství takovýchto bodů, které korespondují v obou snímcích a nalézt jejich odlišnosti. Získáme tak základ pro nalezení fundamentální matice. K dosaţení cíle je rozhodující umístění obou kamer a jejich vnitřní parametry.[4] Obr. 3: Epipolární geometrie Na shora uvedeném obrázku je zobrazen princip epipolární geometrie. Středy kamer respektive body O a O spojuje přímka shora nazvána jako báze. Středem kamery je bod středového promítání. Na obrázku je zobrazeno promítání bodu M do obrazové roviny I1 a I2. V rámci roviny I1 je bod M označen jako m a v rámci roviny I2 jako m. Všechny uvedené body (O, O, M, m, m ) leţí v jedné epipolární rovině. Tato skutečnost je důleţitá pro zpracování stereopáru na základě korespondencí. Takovýchto rovin existuje nekonečně mnoho. Soubor takovýchto rovin je nazýván jako epipolární svazek. Průsečík epipolární roviny s rovinou obrazovou označujeme jako epipolární přímku. Body e a e jsou 15
16 označovány jako epipóly. Jde o body, které získáme protnutím báze s rovinou obrazu. Na níţe uvedeném obrázku je zřejmé, ţe parametry kamer mohou být nastaveny tak, ţe epipolární přímky budou rovnoběţné s bází a epipóly budou leţet v nekonečnu. Na shora uvedeném obrázku je zřejmé, ţe všechny epipolární přímky budou procházet epipólem. Na níţe uvedeném obrázku tuto skutečnost tvrdit nemůţeme. 2.1 Fundamentální matice Obr. 4: Epipolární geometrie epipóly v nekonečnu Fundamentální matice je mapování bodu v jednom obraze na korespondující epipolární přímku ve druhém obraze. Jde o vyjádření základních vlastností systému. Je základem pro matematický výpočet epipolární geometrie. Pro zjištění je třeba znát umístění kamer a jejich vnitřní parametry. Na základě fundamentální matice tedy můţeme dát do souvislosti dva obrazy jednoho bodu v jednom obraze na korespondující epipolární přímku v obraze druhém. Existuje několik moţností, jak fundamentální matici určit. Záleţí na tom, zda jsou známy projekční matice či nejsou. Metody, které se vyuţívají, jsou většinou nazývány podle počtu korespondujících bodů, které se pouţívají k výpočtu. Pro přesné určení fundamentální matice je důleţité, aby korespondující páry byly stanoveny s velkou přesností, jinak by mohly být výpočty mylné. 16
17 Obr. 5: Epipolární geometrie přenášení bodu Jak uvedeno shora, fundamentální matice je mapování bodu v jednom obraze na korespondující epipolární přímku ve druhém obraze. Na uvedeném obrázku je toto zřejmé. Paprsek respektive přímka vycházející ze středu kamery O a procházející bodem m se protíná s danou rovinou v bodě M. Bod M je pak v rámci přesunu v rovině π promítnut do bodu m, který leţí na epipolární přímce l. Body m a m jsou tedy obrazy 3D bodu M. Kaţdý další bod m i prvého obrazu a jemu korespondující bod m i budou ve vztahu vzájemné ekvivalence. Existuje tedy 2D homografie H π mapující kaţdý m i na m i, coţ znamená, ţe mapováním vzájemně si odpovídajících bodů stanovíme projektivitu snímků a to i kdybychom neznali vnitřní parametry kamery. Máme-li dán bod x a epipolární přímku lꞌ procházející tímto bodem a epipólem eꞌ, lze stanovit parametry epipolární přímky vztahem [ ]. (1) Protoţe bod m můţe být stanoven ze vztahu, (2) lze předchozí vztah zapsat jako: [ ]. (3) 17
18 vztahem: Ze vztahu 3 je následně definována fundamentální matice, tato definice je vyjádřena [ ] (4) je mapování jednoho bodu do druhého bodu v libovolné rovině. Vztah 4 geometricky reprezentuje mapování z dvourozměrného prostoru (obrazový prostor I1) do jednorozměrného prostoru (epipolární přímka l1). Ze vztahu vyjadřující fakt, ţe bod m leţí na přímce l ( ) a z rovnice 3 vyplývá vztah: (5) Nalezením epipolárních přímek se velice usnadní hledání korespondujících si bodů v obrazech. Není totiţ nutné hledat odpovídající bod v celém obraze, ale jen v blízkém okolí epipolární přímky. Po stanovení fundamentální matice a mapovacích matic je moţné určit polohu bodu v prostoru.[6] 18
19 3 KALIBRACE KAMER Kalibrace je proces, při kterém získáváme vnitřní a vnější parametry kamer potřebné pro další pouţití. V této práci pouţívám pro snímání scény dvě web-kamery. Kalibrace se provádí tak, ţe aparátem nasnímáme scénu se známými obrazcovými vzory a následně provedeme analýzu získaných sterografických obrazů. 3.1 Kalibrace pomocí obrazců V práci bude vyuţívána knihovna pro zpracování obrazu OpenCV. Je to open source knihovna s řadou funkcí pro zpracování obrazových dat. Ta je vydána pod licencí BSD, která umoţňuje volné šíření a pouţití jednotlivých funkcí knihovny. Tento multiplatformní software je napsaný v jazyce C a C++, původně vyvinutý společností Intel. Princip kalibrace dvojice kamer spočívá v nasnímání určitého mnoţství stereo-párů, tedy dvojic fotek totoţné scény snímané v totoţný okamţik dvojicí kamer. Při pouţití výše zmiňované knihovny pro zpracování obrazu, je doporučeno pouţít obrazce šachovnicového vzoru, které jsou snadno viditelné ve scéně. Pro získání prostorových bodů potřebných ke kalibraci, je potřebné, aby tyto obrazce byly v různých úhlech natočení a vzdálenostech vůči kamerám. Tento vzor vytvoří body v místech kříţení čtverců. Pokud je tento vzor na pevné a rovné ploše, lze předpokládat, ţe body jsou jednotlivě umístěny ve vzdálenosti Z=0 s osami X a Y spojenými mříţkou šachovnice. Na obrázku je ukázka snímků kalibračního vzoru pouţitých v této práci.[2] Obr. 6: Ukázka kalibračního vzoru 19
20 3.2 Výsledky kalibrace Je moţné pouţít několik metod pro určení kalibrační matice kamer. V této práci pouţívám metodu, pomocí které lze získat intristické a excentrické parametry soustavy kamer a také parametry radiálního zkreslení. Radiální zkreslení je odchylka, která nastává zkreslením čoček během počáteční projekce světla do obrazové roviny. Na obrázku 7 je znázorněno vlevo poduškovité a vpravo soudkovité radiální zkreslení. Obr. 7: Radiální zkreslení Zkreslení je moţné eliminovat pomocí kvalitnějšího objektivu, nebo softwarově pomocí kalibrace. Ve funkci stereocalibrate je moţné zadávat kritéria výpočtů, jako je maximální počet iterací. [5] 20
21 3.3 Parametry kamer Matice kamery ( ) ( ) [ ( ) ( )] (6), - ohnisková vzdálenost v ose x a ose y (v pixelech), - pozice středu obrazu Distorzní vektor ( [ [ ]]) (7) - - definují radiální zkreslení Rotační matice rotována. Rotační matice R určuje rotaci pravé kamery vůči levé kameře. Levá kamera nebude Translační vektor [ ] (8) Translační vektor t určuje posunutí pravé kamery vůči levé kameře. 21
22 3.3.5 Rektifikační transformační matice Určuje rotaci obrazu potřebnou pro rektifikaci (rotace okolo všech os). Tato matice je výstupem rektifikace Projekční matice [ ] (9) [ ] (10) Sjednocené (projekční) matice kamer tak, aby byly rektifikované. Matice P1 a P2 jsou výstupem rektifikace Hloubková matice [ ] (11) Hloubková matice Q přepočítává perspektivu a je výstupem rektifikace. 22
23 4 REKTIFIKACE STEREOSKOPICKÉHO OBRAZU Rektifikace je obecně jakákoliv geometrická transformace obrazu. V případě stereo snímků je to taková transformace, díky které dochází ke zjednodušení úlohy přiřazení bodu na pravém snímku bodu na levém snímku stereo páru. Pro pořízení scény je nutné správné nastavení kamer, podle metody Off-axis. Proto kamery by měly tvořit přesnou paralelní soustavu, tedy být vůči sobě posunuty pouze v horizontálním směru. To je však v reálném prostředí a připevněním kamer nedosaţitelné. A i kdyţ jsou kamery od jednoho výrobce a měly by mít stejné parametry, mohou se tyto parametry ve skutečnosti mírně lišit. Vzhledem k těmto výše zmíněným okolnostem se přistupuje k stereoskopické rektifikaci obrazu. Transformace obrazu je taková, aby korespondující body na snímcích stereo páru byly ve stejné výšce, tedy měly stejné hodnoty ypsilonové souřadnice v obrazové rovině (snímky budou koplanární). Rektifikace se bude provádět u stereo snímků získaných ze soustavy takových kamer, které mají odchylky v rovnoběţnosti optických os, nebo došlo k rotaci kamery, nebo v případě, ţe kamery nejsou ve stejné vzdálenosti (jedna z nich je předsunuta). Cílem takové rektifikace je matematicky přemístit zobrazovací roviny kamer tak, aby byly ve stejné rovině.[4] Obr. 8: Ukázka rektifikovaného snímku Rektifikace můţe být provedena tak, ţe se jeden snímek promítne do obrazové roviny snímku druhého. Rektifikace se provádí StereoRectify, kde vstupními parametry jsou prostorové souřadnice kříţů šachovnice a souřadnice těchto bodů na snímcích. Výsledkem této funkce 23
24 jsou matice rotace (R 1, R 2 ), nové projekční matice (P 1, P 2 ) obou kamer a hloubkovou matici (Q). Ze získaných koeficientů zkreslení, matic kamer, vzájemné rotace a translace se vypočítá funkce StereoRectify rektifikační matice a projekční matice v rektifikovaném souřadném systému pro obě kamery.[2] 24
25 5 STEREO KORESPONDENČNÍ METODY Stereovize je důleţitou součástí pro monitorovací systémy, navigace a robotiku. Takové systémy mohou mít náročné poţadavky na zpracování v reálném čase, a proto musí být funkce stereo korespondence navrţené tak, aby běţely rychle. A právě proto nejsou vyrovnávací paměti součástí funkcí OpenCV,ale jsou drţeny vedle, aby si je mohl tvůrce systému řídit podle potřeby. 5.1 Block Matching metoda Stereo korespondence, respektive zobrazení odpovídající 3D bodu ve dvou různých zobrazeních kamer lze vypočítat pouze ve vizuálních oblastech, ve kterých se zobrazení obou kamer překrývají. To je jeden z důvodů proč budete mít tendenci k dosaţení nejlepších výsledků aranţovat vaše kamery blízko a rovnoběţně tak jak je to moţné, alespoň dokud se nestanete odborníkem na stereo-vidění. Poté co víme fyzické parametry kamer nebo velikosti objektů na scéně, můţeme odvodit měření hloubky triangulované disparity. ( ( ) (12) V případě, ţe se paprsky protínají v konečné vzdálenosti mezi korespondujícími body ve dvou různých zobrazení kamer. Rychlý a účinný block-matching algoritmus cvfindstereo CorrespondenceBM(), je podobný tomu, který vyvinul Kurt K. Funguje to tak, ţe pomocí malých oken (tzv. SAD Sum Absolut of Differnce) součtů absolutních rozdílů, najde odpovídající body mezi levými a pravými rektifikovanými obrazy. Tento algoritmus nachází pouze silně odpovídající si body mezi dvěma obrazy. Čím více je scéna strukturovaná, tím více bodů bude mít vypočítanou hloubku. BM má tři kroky, které pracují s nezkreslenými rektifikovanými obrazy stereopáru. a) Normalizace obrazového jasu a textury b) Hledání korespondencí podél vodorovných epipolárních přímek za pouţití SAD oken c) Postfiltering - eliminuje špatné korespondence 25
26 Ad a) Rozebráno v kapitole 5.3 Předzpracování obrazu. Ad b) Korespondence se vypočítá za pouţití SAD oken. Parametrem SADWindowSize se nastaví délka hrany těchto oken, na které se zpracovávaný obraz rozdělí. Pro kaţdý specifický tvar v levém obrazu hledáme odpovídající řádek v pravém obrazu. Po rektifikaci si řádky v obrázcích odpovídají. Takţe odpovídající umístění v pravém obrazu musí být ve stejném řádku jako v levém obraze. Takto odpovídající umístění lze nalézt v případě dostatečně výrazné struktury obrazu. Pokud má levý bod hledané struktury koordináty x0, y0, potom pro paralelně umístěné kamery, musí být objevena shoda (pokud bude existovat) na stejném řádku na pozici x0, nebo vlevo od ní. První parametr, který řídí matching je mindisparity. Určuje pozici, odkud se začnou hledat disparity. Výchozí hodnota je 0. Disparity jsou hledány přes tolik pixelů, jako určuje numberofdisparities. Výchozí hodnota je 64 pixelů. Disparity se nehledají po pixelech, ale na jejich částech, jejichţ počet určí parametr subpixeldisparities. Výhozí hodnota je 16. Sníţení hodnoty parametru numberofdisparities můţe pomoci sníţení času zpracování, zkrácením vzdálenosti, na které se hledá disparita v rámci epipoláry. Velké disparity umoţňují hledání blízkých předmětů. Parametry mindisparity a numberofdisparities určují horopter, coţ je trojrozměrný výseč prostoru před kamerami. V této oblasti, horopteru, hledá stereo algoritmus shody. Všechno mimo tuto oblast je označeno jako díra protoţe tam nelze spočítat vzdálenost od kamery. Oblast horopteru se zvětšuje sníţením vzdálenosti mezi kamerami nebo zmenšením ohniskové vzdálenosti kamer nebo zvětšením numberofdisparities nebo pouţitím kamer s větším rozlišením. Korespondující body v rámci horopteru májí vnitřní omezení, nazývané omezení pořadí, které jednoduše říká, ţe pořadí charakteristických struktur se nemůţe měnit z levého do pravého obrázku. Kvůli šumu můţe některá charakteristická struktura chybět na pravém obrazu, i kdyţ na levém je. Ale pořadí charakteristických struktur zůstává pořád stejné. Podobně mohou existovat charakteristické struktury na pravém obrazu, které nelze najít na levém, tzv. vsuvky (insertions). Avšak ani ty nemohly změnit pořadí charakteristických struktur, pouze je mohou rozšířit. 26
27 Ad c) Postfiltering má za úkol odstranit špatně detekované shody. Většina shod při průřezu po epipoláře tvoří centrální vrchol obklopený na obou stranách strmě svaţujícími se křivkami. K odstranění špatně detekované shody se pouţije následující funkce řízená parametrem uniqueratio. Výchozí hodnota je 12. Pro špatně detekované shody platí ( ) match_val je hodnota v bodě shody. min_match je minimální hodnota v kontrolované oblasti Pro ujištění, ţe oblast je dostatečně strukturovaná a nezkresloval ji náhodný šum, pouţívá parametr texturethreshold. SAD okno ho vyuţívá pro vyhodnocení. Pokud je průřez po epipoláře v aktuálním okně pod touto hodnotou, nehledá se v daném okně ţádná shoda. Výchozí hodnota je 12. Na závěr, základní blokový matching má problém blízko hranic objektu, protoţe vyhledávací okno vidí na jedné straně popředí a na druhé straně pozadí objektu. Díky tomu se na hranicích objektu detekovány shody, tzv. speckle (zrnitá oblast). Těmto shodám se předchází nastavením parametru specklewindowssize a specklerange. specklewindowssize určuje velikost okna, které hledá okraje objektu. Výchozí hodnota je 9, coţ znamená čtverec 9x9 pixelů. Rozdíl minimální a maximální disparity uvnitř tohoto okna musí být menší nebo roven parametru specklerange, jinak jsou všechny disparity z okna ignorovány. Výchozí hodnota je 4. Disparitní mapa se počítá z levého do pravého obrázku. Pokud je hodnota disp12maxdiff nastavena na větší neţ -1, tak se provádí ještě výpočet z pravého do levého. Projdou se všechny spočítané disparity, a pokud jsou rozdíly mezi nimi větší neţ tento parametr, tak jsou ignorovány.[2] 27
28 5.2 Semi Global Block Matching SGBM (Semi Global Block Mathing) algoritmus rozšiřuje obyčejný BM (Block Mathing) o více řádkové hledáni disparity. Z toho vyplívají jeho hlavní negativa a pozitiva. Dosahuje sice lepších výsledků, ale je výrazně pomalejší a výrazně náročnější na paměť. Je velmi dobře paralelizovatelný. 1. Výpočet pixelové korespondence Pro všechny body na zkoumané epipoláře se spočítají korespondence pro všechny potencionální nezáporné disparity. Spočítají se výdaje pro pixelovou korespondenci pro kaţdý bod a pro všechny nezáporné disparity z definovaného rozsahu. [ ] ( ) ( ) (13) - korespondence, - hodnota bodu pro levý obrázek, - hodnota bodu pro pravý obrázek, - disparita. 2. Hledání cest SGBM spočítá váhu cesty, coţ je minimum korespondencí bodů, které jsou od počítaného bodu daným směrem, a váhy dané cesty před tím neţ dospěla k danému bodu podle vzorečku níţe. Většinou se počítá pro 8 směrů. ( ) ( ) { ( ) ( ) ( ) ( ) (14), - konstanty pomáhající odstranění nespojitosti, - váha cesty (nejmenší rozdíl), - korespondence. 28
29 3. Disparita Samotná disparita se pak určí jako cesta s minimální vahou. Pozn.: OpenCV umoţňuje spustit SGBM pouze na CPU. Parametr FullDP vynucuje výpočet výdajů ve všech osmi cestách, jinak je vypočítáno pouze 5 cest. Stejně jako u BM, OpenCV umoţňuje pouţít XSobel filtr. [10] 29
30 5.3 Předzpracování obrazu První fází algoritmů matching je předzpracování obrazu. Během ní jsou ve vstupních obrazech sniţovány rozdíly jasu a zvýrazňovány struktury. Hodnota se upraví výstupem funkce, která potřebuje hodnoty z jeho okolí (oblasti) o velikosti 5x5, 7x7, 9x9, aţ 21x21 bodů. Velikost této oblasti určuje parametr prefiltersize. [ ( ) ] (15) - parametr prefitlercap (výchozí hodnota je 30), X - proměnná určená druhem předzpracování Filtr Sobel Aproximace druhé derivace na nespojitém prostoru. Výsledek je korespondující vektor gradiendu nebo norma tohoto vektoru. Filtr Sobel se běţně pouţívá pro detekci hran. Aproximace se provádí násobením bodu a jeho okolí maticí pro horizontální nebo vertikální směr. Matice G x pro horizontální a matice G y pro vertikální aproximaci. [ ] (16) [ ] (17) Tyto matice jsou základní, ale lze generovat i větší matice. 30
31 Celková aproximace G se spočítá: [ ] [ ] (18) [ ] [ ] (19) (20) Sobelovy operátory mohou být větší neţ 3x3, např.: [ ] (21) (22) [ ] V BlockMatchingu se pouţívá jen horizontální matice, protoţe se prochází přes epipoláry. [13] 31
32 Základní vzorec pro předzpracování obrazu: [ ( ) ] (23) je upraven tak, ţe je nahrazeno, [ ( ) ] (24) - parametr prefitlercap (výchozí hodnota je 30) Prostá normalizace Upravuje hodnotu bodu na základě průměru hodnot jeho okolí. Základní vzorec pro předzpracování obrazu: [ ( ) ] (25),je upraven tak, ţe je nahrazeno [ ( ) ] (26) - parametr prefitlercap (výchozí hodnota je 30), - průměr spočítaný z bodů v rámci této oblasti, - hodnota, na kterou se přepočítá hodnota aktuálního bodu. [2]. 32
33 5.4 Odhad disparity se sub-pixelovou přesností Disparity jsou spočítány jako rozdíly korespondencí obrázků a jsou zarovnány na celá čísla. U vzdálenějších objektů nebo kamer s menším rozlišením, dochází k tomu, ţe disparita daného bodu nemůţe být vţdy celočíselná. A naopak u objektů, které jsou skoro rovnoběţné s kolmicí na osu z, z pohledu kamer, dochází k viditelným skokům, kde je nespojitost disparit dobře vidět. K odstranění těchto neduhů se pouţívá právě subpixelová disparita. Je to přepočet aktuálních hodnot disparit na základě uţ spočítaných disparit a jejich proloţení polynomem obvykle druhého stupně. Pro dané okno (velikost 5 aţ 11 bodů) se po jeho proloţení najde minimum. To určuje novou hodnotu disparity ve středovém bodě okna s přesností, kterou si nově určíme (pro zpracování na CPU platí, ţe zaokrouhluje nové hodnoty na šestnáctiny disparity). (27) Derivace (hledáme minimum): (28) (29) Vytvoření soustavy rovnic pro tři okolní body { (30) bodu [ Aplikiujeme Kramerovo pravidlo a zároveň posuneme střed systémiu koordinátů do ], z toho vyplívá: 33
34 (31) Dosadíme zpět do rovnice výpočtu a přičteme posunutí z minulého kroku. ( ) (32) Tím získáme nové minimum. [11] 34
35 6 ZPRACOVÁNÍ PROGRAMU NA GPU Tato část práce bude věnována přiblíţení problematiky paralelního programování na GPU a obecně jeho funkcím a vyuţití. GPU respektive grafický procesor (graphic processing unit) je procesor, který zajišťuje promítání dat uloţených v operační paměti na zobrazovacím zařízení. Výkonné grafické procesory se v současné době vyuţívají i k jiným výpočtům, neţ jsou výpočty nutné pro zobrazování dat. Grafický procesor je pouţíván v mnoha zařízeních. Jeho konstrukce je závislá na konkrétních potřebách a poţadovaném výkonu. V osobním počítači můţe být GPU jako rozšiřující grafická karta, nebo jako grafická karta integrována na základní desce počítače v podobě integrovaného grafického čipu, nebo je GPU integrován do CPU, jako APU. Pouţitím paralelního programování a následujícím zpracování těchto programů na GPU, lze několika násobně zkrátit dobu náročných a dlouhotrvajících výpočtů.[8] 6.1 CPU vs. GPU CPU a GPU byly postupem času vyvíjeny kaţdý pro jiný účel. CPU je vyuţíváno jako výpočetní jednotka a pomocí přerušení se stará o jiná zařízení. Má za cíl zpracovat pouze jednu informaci a to co nejrychleji. GPU jakoţto specializovaný procesor je přizpůsoben ke zrychlování vykreslování grafiky, takţe musí být schopen zpracovat operaci s velkým mnoţstvím informací za co nejkratší dobu. Je optimalizován pro výpočty s čísly s plovoucí desetinou čárkou. GPU poskytuje velké zvýšení výkonu v určitých operacích, obsahuje velké mnoţství SIMD procesorů (pro jednu instrukci je několik datových toků) a podpora pro paralelismus je zabudována v hardware. CPU sice poskytuje uspokojivý výkon ve všech operacích, ale nemá zase takovou podporu pro paralelismus. Grafické karty se dlouhou dobu pouţívali pouze pro zobrazování grafického obsahu. Postupným vývojem se dopracovali k tomu, ţe je dnes moţné je pouţívat i k jiným operacím. Tato nová schopnost grafických karet se označuje jako GPGPU neboli generalpurpuse computing on graphics processing unit (obecné výpočty na grafických kartách). Snahou je zpravidla nahradit CPU u výpočtů, kde je GPU lepší volbou.[7] 35
36 6.2 Paralelismus Výpočetní operace lze řešit sériově nebo paralelně. Sériové řešení výpočtu je sloţeno ze samostatných kroků. Kaţdý z nich se provádí po dokončení předcházejícího. Většina programů pouţívaných na osobních počítačích funguje na principu sériového zpracování. Programy se skládají ze sady instrukcí, kdy je jedna po druhé zpracovávána na CPU. Druhým způsobem zpracování programu je paralelní řešení výpočtu. V tomto případě je řešený program rozdělen na části a některé instrukce jsou prováděny ve stejnou dobu, tedy paralelně. Jinak řečeno, pro paralelní výpočet je ve stejnou dobu pouţito vícero výpočetních zdrojů. Aplikováním paralelních výpočtů je moţné zlepšit výkon mnoha programů. Například při násobení matic se můţe urychlit doba výpočtu. Jednotlivé operace násobení matic jsou totiţ na sebe nezávislé, a proto mohou být provedeny současně. Avšak výpočty, ve kterých jsou jednotlivé kroky na sebe vázány, nebudou pro paralelní výpočet vhodné. Je více moţností k vytvoření paralelního výpočetního prostředí. Je moţné vyuţít více jádrový procesor, výpočetní jednotky v rámci jednoho počítače nebo sadu počítačů propojenou počítačovou sítí. Různé techniky mohou být kombinovány. V této práci operuji s paralelizmem v rámci jednoho počítače, s vyuţitím CPU, GPU a standardu OpenCL. 6.3 OpenCL OpenCL (Open Computing Language) je otevřený standard, díky kterému je moţné paralelní programování různorodých počítačových systémů. Podporuje velkou škálu aplikací. Hraje velkou roli v grafických aplikacích, které kombinují obecné paralelní výpočty s vykreslováním grafiky. Součástí OpenCL je API (Application Programming Interface) pro lepší fungování paralelních výpočtů v různorodých procesech. Původní návrh standardu OpenCL pochází od společnosti Apple. Od roku 2008 se o vývoj tohoto standardu stará organizace Khronos s aktuální verzí OpenCL 2.0. Tento standart umoţňuje paralelní programování na CPU, GPU a jiných výpočetních jednotek, které jsou uspořádány do jediné platformy. OpenCL je plnohodnotný framework, který slučuje API, programovací jazyk, knihovny a runtime systém pro podporu vytváření programů. 36
37 Architektura OpenCL 1. Platformní model 2. Vykonávací model 3. Paměťový model a) Globální paměť (Global Memory) b) Konstantní paměť (Constant Memory) c) Lokální paměť (Local Memory) d) Privátní paměť (Private Memory) 4. Programovací model Programování OpenCL je sloţeno ze dvou částí. V první části host soubor zjišťuje zařízení a jejich nastavení. Dále určí, na kterém zařízení by se měl program spustit. V druhé části se programuje kernel, coţ je samotná funkce programu, která se spustí na zařízení. Programování má jistá omezení z hlediska programovacího jazyka. Probíhá v C99 dialektu programovacího jazyka C. Moţná je spolupráce s OpenGL a dalšími API. Host soubor nemusí být naprogramován v C, ale je moţné pouţít jazyky Java, Python, C++ a další. Výhodou OpenCL, díky abstrakci, je nezávislost na zařízení, kdy je moţné vyuţívat OpenCL na grafických kartách AMD a Nvidia, se správnou implementací i na různých procesorech.[8][9] 37
38 6.4 CPU vs. GPU pro BlockMatching CPU počítá v subpixelových disparitách, a proto je disparitní mapa jemnější. Pomáhá si tím, ţe vyuţívá na výpočet korespondence SAD okno, které se počítá rychleji. [11] Ve výchozím stavu pouţívá XSobel Filtr. Vzorec pro SAD: ( ) ( ) ( ) (33) GPU si většinu parametrů je schopný zajistit sám a pouţívá SSD. [11] Vzorec pro SSD: ( ( ) ( )) ( ) (34) 38
39 7 PRAKTICKÁ ČÁST Cílem práce je navrhnout aplikaci, která bude vykreslovat disparitní (hloubkovou) mapu snímané scény. Jakoţto stereoskopický senzor scénu snímají dvě webové kamery Microsoft LifeCam Studio, model Aplikace je navrţena tak, ţe v prvním kroku se kalibruje kamerová soustava a v druhém kroku je moţné pořizovat disparitní mapu, jako jednotlivé snímky. 7.1 Popis programu Program je rozdělen na základní dvě části. V první části se provádí snímání scény a následná kalibrace kamerové soustavy z nasnímaných fotek. V druhé části pak následuje výpočet disparitní mapy z pouţitých stereo-snímků. Kalibrace V hlavičce programu kalibrace je moţné nastavit, jestli bude program fotit a následně kalibrovat, nebo jenom fotit, nebo pouze spustí kalibraci pro pořízené snímky jiným steroskopickým senzorem (fotoaparátem). Dále je moţné nastavit počet pořizovaných párů fotek, z níţ má být následně provedena kalibrace soustavy. Pro kalibraci pouţívá program automatizovanou metodu, kdy ve scéně program hledá šachovnici. Proto je dalším parametrem k nastavení počet kříţů šachovnice na ose x a na ose y. Pokud nastavíme moţnost fotit a kalibrovat, program po spuštění aktivuje kamery a zobrazí v samostatných oknech (z levé a pravé kamery) snímanou scénu. V dalších dvou oknech jsou totoţné obrazy scény, ale zvětšené dle nastavení proměnné zoom. Po zmáčknutí tlačítka u na klávesnici, program začne ukládat poţadovaný počet fotek v nastaveném intervalu a tlačítkem x je moţné předčasně ukončit snímání. V dalším kroku programu se automaticky spustí kalibrace (pokud je nastaveno). Zobrazí se okno, ve kterém se zobrazuje zpracovaná fotografie s nalezenými body v místech kříţení na šachovnici (pokud ji program na fotografii nalezne). Aţ se projdou všechny fotografie, zobrazí se další okno, kde se bude zobrazovat výstup kalibrace stereofotografií. Ten se skládá z dvojice snímků, tedy snímku s radiálním zkreslením a snímku s odstraněným radiálním zkreslením. Výsledkem kalibrace jsou soubory extrinsics, 39
40 intrinsics s vnějšími a vnitřními parametry kamer a parametry radiálního zkreslení. Navíc se vytvoří soubor info, kde jsou uloţené informace o průběhu a chybovosti zpracování. Obr. 9: Diagram kalibrace 40
41 Matching Další částí programu je matching. Celý program je konfigurovatelný přes jediný soubor. Jméno tohoto souboru je první a jediný parametr při spuštění programu z příkazové řádky. Pokud nebude jeho jméno uvedeno, je pouţito jako výchozí jméno "config.txt". Pokud nebude konfigurační soubor nalezen, uloţí program jeho výchozí podobu, aby ho mohl uţivatel jednodušeji nastavit. Druhy parametru: Systémové parametry: calibrationdirectory - určuje jméno adresáře, ve kterém jsou uloţena data z kalibrace, photodirectory - určuje adresář, kam se mají ukládat nasnímané fotografie, leftcameraindex - index levé kamery (pokud bude pouţit vstup z kamer), rightcameraindex - index pravé kamery (pokud bude pouţit vstup z kamer), leftcamerainput - cesta ke zdroji dat pro levou kameru, buď cesta k videosouboru, nebo formát cesty k fotografiím, kde se %d nahradí číslem fotky, rightcamerainput - cesta ke zdroji dat pro pravou kameru, bud cesta k videosouboru nebo formát cesty k fotografiím, kde se %d nahradí číslem fotky, opencldeviceindex - index zařízení pouţitého pro OpenCL, pokud je -1, je pouţita autodetekce (najde se zařízení s maximálním počtem výpočetních jednotek), výpis všech zařízení pro OpenCL uţivatel nalezne v souboru opencl_devices.txt po prvním spuštění programu, maxfps - určuje počet snímků za sekundu, které budou pouţity, pokud se bude zaznamenávat barevná disparitní mapa nebo vstup z kamer do videosouboru, videomode - zapíná video mód, viz. dále input - určuje druh vstupu 0 pro vstup z kamer, 1 pro načítání fotek ze souboru, 2 pro načítání obrázků z videosouboru, storevideo - 0/1 má program ukládat barevnou disparitní mapu do videosouboru, pokud zapnuto a vstup je brán z kamer, tak se ukladají i vstupy do videosouboru. 41
42 Zobrazovací parametry: Anaglif - pro kaţdý snímek se zobrazí okno s Anaglifem, BWDisparityMap - pro kaţdý snímek se ukáţe okno s šedotónovou disparitní mapou, RectifiedInput - ukáţe okno s rektifikovanými vstupy sloţenými vedle sebe, Legend - 0/1 vypíná/zapíná legendu, která ukazuje vzdálenosti pro minimální a maximální nalezenou disparitu a pro 4 hodnoty mezi nimi, MouseDistance - 0/1 vypíná/zapíná zobrazování vzdálenosti objektu od kamer při pohybu myši v okně barevné disparitní mapy. Startovní parametry matchingu: OpenCL - 0/1 vypíná/zapíná pouţití OpenCL, BM - 0/1 určuje metodu block matchingu SGBM/BM, prefiltercap, prefiltersize, SADWindowSize, mindisparity, numberofdisparities, texturethreshold, averagetexthreshold, uniquenessratio, specklewindowsize, specklerange=32, disp12maxdiff, fulldp, XSobelFilter jsou vstupní parametry pro block matchingové metody. Koncová filtrace: UseRangePostFiltering - 0/1 vypíná/zapíná ořezání disparitní mapy v daných mezích před převedovem na 256 stupňovou šedotónovou disparitní mapu, MinDistance - určuje minimální vzdálenost, která nebude ořezána, MaxDistance - určuje maximální vzdálenost, která nebude ořezaná, RealUnits - 0/1 určuje typ jednotek ořezání (disparity/ centimetry). Módy průchodu programu: Vypnutý videomód: Program postupně nachází dříve nafocené snímky a provádí nad nimi matching. Výsledek matchingu se zobrazí v okně a čeká se na vstup z klávesnice. Při stisku tlačítka 42
43 mezerník a enter se přechází na zpracování dalšího stereopáru, ale při stisku tlačítka mezerník se výsledek zpracování uloţí. Pokud zpracováváme aktuální dění před kamerami, tak program vyfotí scénu a provede nad ní matching a zobrazí ho v okně. Na stisk mezerník a enter se vyfotí nová scéna, ale při stisku tlačítka mezerník se výsledek zpracování uloţí. Klávesou x je moţné program kdykoliv ukončit. Zapnutý videomód: Program bez čekání nahraje vstup a zpracuje ho podle parametru konfigurace. Nečeká, aţ uţivatel stiskne nějakou klávesu, ale zkouší zpracovávat ihned další a další obrazy ze vstupu. Ukončení a změna parametru probíhá stejně jako u vypnutého videomódu. Ukládat výstup v tomto módu lze pouze do videosouboru. Klávesou x je moţné program kdykoliv ukončit. V hlavičce lze měnit výchozí hodnoty všech parametrů. Důleţitým parametrem je míra zvětšení zpracovávaných fotografií. To nám můţe zpřesnit výsledek, ale prodlouţit dobu zpracování. Míra zvětšení se určuje ve stovkách procent. 43
44 Obr. 10: Diagram matching 44
45 Po zobrazení výstupu matchingu lze také měnit jeho parametry přes následující klávesové zkratky: Tab. 1: Tabulka parametrů Parametr Klávesa pro zvýšení hodnoty Klávesa pro snížení hodnoty Hodnota změny prefiltercap Q W 1 prefiltersize B N 2 SADWindowSize E R 2 mindisparity U I 16 numberofdisparities O P 16 texturethreshold (CPU) A S 1 uniquenessratio D F 1 specklewindowsize G H 10 specklerange J K 5 disp12maxdiff C V 3 Přepínání BM/SGBM M true/false Přepínání OCL/CPU T true/false FullDP (pro SGBM) L true/false XSobel filtr 1 true/false texture Threshold (OCL) 2 3 *2 / *(1/2) UseRange 5 true/false 45
46 7.2 Grafy statistické hodnoty z kalibrací 2,5 Vzdálenost kamer 10cm 2 [-] 1,5 1 RMS [-] chyba reprojekce [-] 0, počet párů snímků Graf 1: Graf chybovosti reprojekce (10cm) Vzdálenost kamer 15cm 2,5 2 [-] 1,5 1 RMS [-] chyba reprojekce [-] 0, počet párů snímků Graf 2: Graf chybovosti reprojekce (15cm) 46
47 Vzdálenost kamer 20cm 2,5 2 [-] 1,5 1 RMS [-] chyba reprojekce [-] 0, počet párů snímků Graf 3: Graf chybovosti reprojekce (20cm) Chyba reprojekce je průměrná odchylka kaţdého bodu obrazu od epipoláry odpovídajícího bodu v druhém obrázku neboli je průměrná vzdálenost zaměřeného bodu od jeho skutečné pozice. RMS je kvadratický průměr chyby reprojekce. Grafy chybovosti na začátku definičního oboru připomínají parabolu. Nejprve se se zvyšujícím počtem snímků zmenšuje chyba, protoţe systém nabírá data, která kalibraci zpřesňují. To ovšem do kritického bodu neţ jsou zpřesňující data znehodnocována šumem a nepřesností snímacího postupu a od něj začne chybovost stoupat a uţ se na původní hodnoty nevrátí. Počet snímků potřebný pro dosaţení tohoto kritického bodu se zvětšuje se vzdáleností kamer od sebe. A parabola se se zvyšující vzdáleností kamer zplošťuje. V průběhu měření jsem také narazil na problém se samotným snímáním. Jelikoţ jsou snímky snímány po sobě a nikoliv naprosto ve stejnou chvíli, figurant se můţe pohnout mezi snímáním první a druhé kamery a pak kaţdý snímek představuje jinou scénu. Zmenšit chybu kalibrace je tak moţné snímáním statické scény, kde šachovnici nedrţí člověk, ale stojan. Člověk se díky biologickým pochodům a neschopnosti přesně odhadnout čas snímání snímků hýbe a obraz je buď rozmazanější, nebo jiné scény. 47
48 Tuto chybu jsem maximálně zredukoval tím, ţe nejprve kamery vyfotí snímky a teprve poté se snímky uloţí do paměti počítače. Tím se zmenší prodleva mezi jednotlivým pořízením snímků a dojde ke zvýšení přesnosti při kalibraci a hlavně při snímání dymamické scény. Zdrţení při zpracování snímků nastává při přesunu dat mezi pamětí GPU a RAM. Grafické kartě (respektive OpenCL zařízením) trvá zpracování matchingových algoritmů řádově milisekundy. Další zdrţení nastává převedením obrázku na šedotónový, rektifikací, obarvením disparitní mapy. Čas výpočtu čistě disparitní mapy z jednotlivých obrazových stereoprárů jsou desítky milisekund. 48
49 7.3 Grafy chyby měření vzdálenosti 40 Vzdálenost kamer 20cm Chyba měření [cm] Vzdálenost předmětu od stereoskopického senzoru [cm] chyba OCL:BlockMatching chyba CPU:BlockMatching Graf 4: Graf závislosti chyby měření na vzdálenosti předmětu (20 cm) 40 Vzdálenost kamer 30cm Chyba měření [cm] Vzdálenost předmětu od stereoskopického senzoru [cm] chyba OCL:BlockMatching chyba CPU:BlockMatching Graf 5: Graf závislosti chyby měření na vzdálenosti předmětu (30 cm) 49
50 7.4 Převod disparitní mapy z šedotónového do barevného spektra Disparitní mapy původně šedotónové. Pro lidské oko je lepší pouţít barevné spektrum, protoţe více vyniknou jednotlivé hloubky obrazu, dané barevným spektrem. Výstupem BM jsou šedotónové disparitní mapy, ve kterých je znázorněna disparita různě šedými tóny. Při zpracování procesorem zabírají disparity jen malou část spektra obrazu. Je třeba toto spektrum rozšířit natolik aby byl obraz pro člověka přehlednější. První fází je převedení na ideální šedotónovou disparitní mapu, která má 256 odstínů a disparity se nacházejí v celém jejím spektru. Blízké předměty jsou obarveny bíle, a čím jsou vzdálenější, tím jsou tmavší. Obr. 11: Disparitní mapa BM (CPU) originál Obr. 12: Disparitní mapa BM (CPU) upravená, 256 tónů šedi v celém spektru 50
51 Obr. 13: Disparitní mapa BM (CPU) upravená, 256 tónu barev palety Color Jet Druhou fází je převedení šedotónové disparitní mapy na barevnou, pomocí barevné palety Color Jet. Zde jsou blízké předměty zobrazeny červeně, a čím více jsou vzdáleny, tím více se přebarvují do modra. Obr. 14: Paleta Color Jet Tato paleta zabírá ze spektra, které je lidské oko schopné pozorovat, daleko více neţ pouhá šedotónová paleta. [12] 51
52 7.5 Určení vzdálenosti objektu z disparitní mapy Výstupem BM algoritmů je zase disparitní mapa, která sama o sobě určuje vzdálenosti bodu od kamer, ale určuje ji v disparitních jednotkách, coţ jsou pixely (rozdíl v pixelech) a jsou závislé na rozmístění kamer a na jejich natočení. Pro člověka je jednotka disparita těţko představitelná a proto je nutné tuto hodnotu převést například na centimetry. Výpočet reálné vzdálenosti od kamer: (35) - ohnisková vzdálenost, - vzdálenost kamer (velikost translačního vektoru), - disparita, - výsledná vzdálenost. Parametry a určuje kalibrace kamer. Čím přesněji se kamery zkalibrují, tím přesnější bude výpočet vzdálenosti ze dvou obrázků, tedy přesnější disparitní mapa. Tyto parametry jsou součástí hloubkové matice, taky aby dokázala převádět z projekčního prostoru kamer do reálného prostoru, jehoţ střed je v levé kameře. Natočení levé kamery určuje osu Z. Do rovnice níţe se dosadí matice Q a vektor V. Výsledkem je vektor p. [ ] (36) * + (37) [ ] (38) 52
53 - hloubková matice,, - pozice bodu v obr, - fyzická pozice, vektor vůči levé kameře.[11] Obr. 15: Určení vzdálenosti bodu 53
54 7.6 Ukázky disparitních map V této kapitole jsou zařazeny ukázky výsledných disparitních map pořízené stereokamerou, tedy párem kalibrovaných kamer Snímaná scéna kamery od sebe vzdálené 30 cm Obr. 16: Fotografie z levé a pravé kamery Obr. 17: Rektifikováný stereopár 54
55 Obr. 18: Anaglifické zobrazení 55
56 Obr. 19: Disparitní mapa šedotónová (CPU:BM) Obr. 20: Disparitní mapa obarvená Color Jet (CPU:BM) 56
57 Obr. 21: Disparitní mapa šedotónová (CPU:SGBM) Obr. 22 : Disparitní mapa obarvená Color Jet (CPU:SGBM) 57
58 Obr. 23: Disparitní mapa šedotónová (OCL:BM) Obr. 24: Disparitní mapa obarvená Color Jet (OCL:BM) 58
59 8 ZÁVĚR Dle postupů uvedených v úvodu práce, jsem zjistil potřebné parametry kamer. Pořízené stereoskopické snímky respektive snímky obecné scény spolu se zjištěnými parametry kamer byly základem pro doraţení cíle práce a to vytvoření hloubkové neboli disparitní mapy. Grafy chybovosti shora uvedené poukazují na chyby reprojekce, které nastaly při kalibrování kamer v závislosti na počtu snímků pouţitých při kalibraci. Bylo zjištěno, ţe při menším neţ optimálním počtu snímků chybovost roste. Stejný výsledek byl zjištěn při větším počtu snímků, neţ je počet optimální. Graf chybovosti se tedy blíţí parabole. Problémem se ukázalo i samotné snímání. Snímky nejsou snímány ve stejný okamţik a mohou se tak změnit okolnosti scény. Toto se nakonec podařilo zredukovat na absolutní minimum tím, ţe obě kamery necháme pouze vyfotit snímek a teprve aţ budou mít obě vyfoceno, necháme si od nich obrázek poslat. To zredukovalo prodlevu mezi snímky z desítek milisekund na setiny milisekundy a můţeme říct v tom případě si oba vyfocené obrázky odpovídají. Grafy chybovosti v měření vzdálenosti ukazují, ţe nejpřesněji block-matching měří nejbliţší předměty, které jsou schopné rozpoznat, a se stoupající vzdáleností klesá přesnost, takţe grafy opět připomínají parabolu. To jen potvrzuje, ţe rozdíl dvou po sobě jdoucích disparit roste kvadraticky. Grafy navíc ukazují, ţe zpracování na CPU rozpozná předměty dále a mnohem rychleji u něj roste chybovost měření. Pro testování výše popisovaných metod jsem pouţil sestavu AMD Athlon X2 250 (3GHz) se 4 GB RAM a grafiku AMD Radeon HD Výpočet disparitní mapy na CPU trval ms. Při pouţití OpenCL na grafické kartě se disparitní mapa počítala ms, coţ uţ skoro dosahuje 24 snímků za sekundu a dosáhlo tak výpočtu disparitní mapy v reálném čase. Pro dosaţení lepších výsledků můţeme pouţít přesnější matchingové algoritmy, ale obávám se, ţe budou velmi výrazně prodluţovat čas výpočtu disparitní mapy. Dále by šly pouţít kamery určené pro stereo snímání, některé dnes prodávané se dají synchronizovat, aby fotily zároveň. Přístup k fotografiím přes rozhraní USB není úplně nejvhodnější, protoţe má velké prodlevy a neumoţňuje přímý přístup do paměti kamer. 59
SOUSTAVA KAMER JAKO STEREOSKOPICKÝ SENZOR PRO MĚŘENÍ VZDÁLENOSTI V REÁLNÉM ČASE
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
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
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
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í
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
kamerou. Dle optických parametrů objektivu mohou v získaném obraze nastat geometrická
Odstranění geometrických zkreslení obrazu Vstupní obraz pro naše úlohy získáváme pomocí optické soustavy tvořené objektivem a kamerou. Dle optických parametrů objektivu mohou v získaném obraze nastat geometrická
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
Fyzikální laboratoř. Kamil Mudruňka. Gymnázium, Pardubice, Dašická /8
Středoškolská technika 2015 Setkání a prezentace prací středoškolských studentů na ČVUT Fyzikální laboratoř Kamil Mudruňka Gymnázium, Pardubice, Dašická 1083 1/8 O projektu Cílem projektu bylo vytvořit
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
SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 4.ročník MĚŘICKÝ SNÍMEK PRVKY VNITŘNÍ A VNĚJŠÍ ORIENTACE CHYBY SNÍMKU
SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 4.ročník MĚŘICKÝ SNÍMEK PRVKY VNITŘNÍ A VNĚJŠÍ ORIENTACE CHYBY SNÍMKU MĚŘICKÝ SNÍMEK Základem měření je fotografický snímek, který je v ideálním případě
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
Novinky v Solid Edge ST7
Novinky v Solid Edge ST7 Primitiva Nově lze vytvořit základní geometrii pomocí jednoho příkazu Funkce primitiv je dostupná pouze v synchronním prostředí Těleso vytvoříme ve dvou navazujících krocích, kde
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í
7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem
7 Transformace 2D Studijní cíl Tento blok je věnován základním principům transformací v rovinné grafice. V následujícím textu bude vysvětlen rozdíl v přístupu k transformacím u vektorového a rastrového
Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.
Zpracování obrazu v FPGA Leoš Maršálek ATEsystem s.r.o. Základní pojmy PROCESOROVÉ ČIPY Křemíkový čip zpracovávající obecné instrukce Různé architektury, pracují s různými paměti Výkon instrukcí je závislý
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
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Úlohy nad rastrovými daty Daniela
Měření průtoku kapaliny s využitím digitální kamery
Měření průtoku kapaliny s využitím digitální kamery Mareš, J., Vacek, M. Koudela, D. Vysoká škola chemicko-technologická Praha, Ústav počítačové a řídicí techniky, Technická 5, 166 28, Praha 6 e-mail:
Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011
Osobní počítač Zpracoval: ict Aktualizace: 10. 11. 2011 Charakteristika PC Osobní počítač (personal computer - PC) je nástroj člověka pro zpracovávání informací Vyznačuje se schopností samostatně pracovat
Ú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í
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
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é
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
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
Algoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
Software pro formování dielektrika kondenzátorů
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV FYZIKY Software pro formování dielektrika kondenzátorů Číslo projektu: TA02020998 Číslo výsledku: 27267 Spolupracující
SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 4.ročník MATEMATICKÉ (OPTICKÉ) ZÁKLADY FOTOGRAMMETRIE
SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 4.ročník MATEMATICKÉ (OPTICKÉ) ZÁKLADY FOTOGRAMMETRIE MATEMATICKÉ ZÁKLADY FOTOGRAMMETRIE fotogrammetrie využívá ke své práci fotografické snímky, které
Co je grafický akcelerátor
Co je grafický akcelerátor jednotka v osobním počítači či herní konzoli přebírá funkce hlavního procesoru pro grafické operace graphics renderer odlehčuje hlavnímu procesoru paralelní zpracování vybaven
Panoramatická fotografie
Panoramatická fotografie Jan Hnízdil xhnij08@vse.cz VŠE Praha Fakulta informatiky a statistiky Panoramatická fotografie p.1/37 Osnova Panoramatická fotografie, jak jí vytvořit, programy na tvorbu panoramatických
Autorizovaný software DRUM LK 3D SOFTWARE PRO VYHODNOCENÍ MĚŘENÍ ODCHYLEK HÁZIVOSTI BUBNOVÝCH ROTAČNÍCH SOUČÁSTÍ
Autorizovaný software DRUM LK 3D SOFTWARE PRO VYHODNOCENÍ MĚŘENÍ ODCHYLEK HÁZIVOSTI BUBNOVÝCH ROTAČNÍCH SOUČÁSTÍ Ing. Michal Švantner, Ph.D. Doc. Ing. Milan Honner, Ph.D. 1/10 Anotace Popisuje se software,
SYLABUS PŘEDNÁŠKY 10 Z GEODÉZIE 1
SYLABUS PŘEDNÁŠKY 10 Z GEODÉZIE 1 (Souřadnicové výpočty 4, Orientace osnovy vodorovných směrů) 1. ročník bakalářského studia studijní program G studijní obor G doc. Ing. Jaromír Procházka, CSc. prosinec
Kapitola 2. o a paprsek sil lze ztotožnit s osou x (obr.2.1). sil a velikost rovnou algebraickému součtu sil podle vztahu R = F i, (2.
Kapitola 2 Přímková a rovinná soustava sil 2.1 Přímková soustava sil Soustava sil ležící ve společném paprsku se nazývá přímková soustava sil [2]. Působiště všech sil m i lze posunout do společného bodu
Kódový zámek k rodinnému domu
Středoškolská technika 2012 Setkání a prezentace prací středoškolských studentů na ČVUT Kódový zámek k rodinnému domu Zdeněk Kolář SPŠST Panská Panská 3, Praha1 Cílem tohoto projektu je moţnost otevírání
Zobrazování terénu. Abstrakt. 1. Úvod. 2. Vykreslování terénu
Zobrazování terénu Jan Vaněk, Bruno Ježek Universita Obrany, Fakulta vojenského zdravotnictví, Katedra všeobecně vzdělávacích oborů e-mail: vanek@pmfhk.cz; jezek@pmfhk.cz Abstrakt Vizualizace terénu je
X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1)
.6. Analtická geometrie lineárních a kvadratických útvarů v rovině. 6.1. V této kapitole budeme studovat geometrické úloh v rovině analtick, tj. lineární a kvadratické geometrické útvar vjádříme pomocí
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě
VY_32_INOVACE_INF_BU_02 Sada: Digitální fotografie Téma: Základy ovládání digitálního fotoaparátu 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í:
Studentská tvůrčí a odborná činnost STOČ 2015
Studentská tvůrčí a odborná činnost STOČ 2015 Automatická identifikace pilových pásů Luděk Koutný Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky, Nad Stráněmi 4511, 760 05 Zlín 23. dubna
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
Inovace a zkvalitnění výuky prostřednictvím ICT Technické vybavení Digitální fotoaparáty Ing. Jakab Barnabáš
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Technické vybavení Digitální fotoaparáty
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
Přehled vhodných metod georeferencování starých map
Přehled vhodných metod georeferencování starých map ČVUT v Praze, katedra geomatiky 12. 3. 2015 Praha Georeferencování historická mapa vs. stará mapa georeferencování umístění obrazu mapy do referenčního
37. PARABOLA V ANALYTICKÉ GEOMETRII
37.. Napiš rovnici paraboly, která má osu rovnoběžnou s osou y a prochází body A 0; 60, B 4; 8, C 8;36. 0m p60n 4m p8n 8m p36n m p pn 0 6 8 6 mm p pn 64 6 7 3 mm p pn 6 8m64 p 3 64 6m9 p Je-li osa rovnoběžná
G R A F I C K É K A R T Y
G R A F I C K É K A R T Y Grafická karta nebo také videoadaptér je součást počítače, která se stará o grafický výstup na monitor, TV obrazovku či jinou zobrazovací jednotku. Režimy grafických karet TEXTOVÝ
BALISTICKÝ MĚŘICÍ SYSTÉM
BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD
Souřadnicové prostory
Prostor objektu Tr. objektu Tr. modelu Prostor scény Souřadnicové prostory V V x, y z x, y z z -z x, y Tr. objektu V =V T 1 T n M Tr. modelu Tr. scény x, y Tr. pohledu Tr. scény Tr. pohledu Prostor pozorovatele
1 3D snímání: Metody a snímače
1 3D snímání: Metody a snímače Nejprve je potřeba definovat, že se v rámci tohoto předmětu budeme zabývat pouze bezkontaktními metodami zisku hloubkové informace. Metody pro 3D snímání lze dělit v podstatě
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
K OZA SE PASE NA POLOVINĚ ZAHRADY Zadání úlohy
Koza se pase na polovině zahrady, Jaroslav eichl, 011 K OZA E PAE NA POLOVINĚ ZAHADY Zadání úlohy Zahrada kruhového tvaru má poloměr r = 10 m. Do zahrady umístíme kozu, kterou přivážeme provazem ke kolíku
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
ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu
ČVUT FEL X36PAA - Problémy a algoritmy 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu Jméno: Marek Handl Datum: 3. 2. 29 Cvičení: Pondělí 9: Zadání Prozkoumejte citlivost metod
4EK201 Matematické modelování. 2. Lineární programování
4EK201 Matematické modelování 2. Lineární programování 2.1 Podstata operačního výzkumu Operační výzkum (výzkum operací) Operational research, operations research, management science Soubor disciplín zaměřených
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í
9 Prostorová grafika a modelování těles
9 Prostorová grafika a modelování těles Studijní cíl Tento blok je věnován základům 3D grafiky. Jedná se především o vysvětlení principů vytváření modelů 3D objektů, jejich reprezentace v paměti počítače.
Kde se používá počítačová grafika
POČÍTAČOVÁ GRAFIKA Kde se používá počítačová grafika Tiskoviny Reklama Média, televize, film Multimédia Internetové stránky 3D grafika Virtuální realita CAD / CAM projektování Hry Základní pojmy Rastrová
Optická triangulace pro měření a vizualizaci 3D tvaru objektů
Optická triangulace pro měření a vizualizaci 3D tvaru objektů Ident.č.: 1470 Datum: 1. 12. 2011 Typ: projekt FRVŠ G1 Autoři: BABINEC, T.; RICHTER, M.; GOGOL, F. Popis: Cílem projektu bylo vytvořit specializované
Funkce a lineární funkce pro studijní obory
Variace 1 Funkce a lineární funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce
INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE
Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_13_HARDWARE_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077
PŘIJÍMACÍ TEST z informatiky a matematiky pro navazující magisterské studium Fakulta informatiky a managementu Univerzity Hradec Králové
PŘIJÍMACÍ TEST z informatiky a matematiky pro navazující magisterské studium Fakulta informatiky a managementu Univerzity Hradec Králové Registrační číslo Hodnocení část A Hodnocení část B Hodnocení A+B
CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
CVIČNÝ TEST 15 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Je dána čtvercová mřížka, v níž každý čtverec má délku
5.2.8 Zobrazení spojkou II
5.2.8 Zobrazení spojkou II Předpoklady: 5207 Př. 1: Najdi pomocí význačných paprsků obraz svíčky, jejíž vzdálenost od spojky je menší než její ohnisková vzdálenost. Postupujeme stejně jako v předchozích
Funkce, funkční závislosti Lineární funkce
Funkce, funkční závislosti Lineární funkce Obsah: Definice funkce Grafické znázornění funkce Konstantní funkce Lineární funkce Vlastnosti lineárních funkcí Lineární funkce - příklady Zdroje Z Návrat na
GEOMETRICKÁ OPTIKA. Znáš pojmy A. 1. Znázorni chod význačných paprsků pro spojku. Čočku popiš a uveď pro ni znaménkovou konvenci.
Znáš pojmy A. Znázorni chod význačných paprsků pro spojku. Čočku popiš a uveď pro ni znaménkovou konvenci. Tenká spojka při zobrazování stačí k popisu zavést pouze ohniskovou vzdálenost a její střed. Znaménková
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
Vývoj počítačové grafiky. Tomáš Pastuch Pavel Skrbek 15.3. 2010
Vývoj počítačové grafiky Tomáš Pastuch Pavel Skrbek 15.3. 2010 Počítačová grafika obor informatiky, který používá počítače k tvorbě umělých grafických objektů nebo pro úpravu již nasnímaných grafických
zdroj světla). Z metod transformace obrázku uvedeme warping a morfing, které se
Kapitola 3 Úpravy obrazu V následující kapitole se seznámíme se základními typy úpravy obrazu. První z nich je transformace barev pro výstupní zařízení, dále práce s barvami a expozicí pomocí histogramu
Profilová část maturitní zkoušky 2013/2014
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
OPS Paralelní systémy, seznam pojmů, klasifikace
Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus
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
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ů
Digitální fotografie. Mgr. Milana Soukupová Gymnázium Česká Třebová
Digitální fotografie Mgr. Milana Soukupová Gymnázium Česká Třebová Téma sady didaktických materiálů Digitální fotografie I. Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu
Celostátní kolo soutěže Baltík 2008, kategorie C
Pokyny: 1. Pracujte pouze v ikonkových reţimech! 2. Řešení úloh ukládejte do sloţky, která se nachází na pracovní ploše počítače. Její název je stejný, jako je kód, který dostal váš tým přidělený (např.
Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
----- Studijní obory. z matematiky. z matematiky. * Aplikovaná matematika * Matematické metody v ekonomice
Minimum Maximum Minimum Maximum Studijní obory z matematiky z matematiky z matematiky z matematiky * Aplikovaná matematika * Matematické metody v ekonomice * Obecná matematika Navazující magisterský studijní
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
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
Digitalizace signálu (obraz, zvuk)
Digitalizace signálu (obraz, zvuk) Základem pro digitalizaci obrazu je převod světla na elektrické veličiny. K převodu světla na elektrické veličiny slouží např. čip CCD. Zkratka CCD znamená Charged Coupled
BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ENERGETICKÝ ÚSTAV FACULTY OF MECHANICAL ENGINEERING ENERGY INSTITUTE
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ENERGETICKÝ ÚSTAV FACULTY OF MECHANICAL ENGINEERING ENERGY INSTITUTE SAMONASÁVACÍ ČERPADLO SELF-PRIMING PUMP DIPLOMOVÁ
Bakalářská práce bakalářský studijní obor Teleinformatika
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Bakalářská práce bakalářský studijní obor Teleinformatika Student: Bílek Petr ID: 78462 Ročník: 3
Ú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í
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
Semestrální projekt. Vyhodnocení přesnosti sebelokalizace VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Semestrální projekt Vyhodnocení přesnosti sebelokalizace Vedoucí práce: Ing. Tomáš Jílek Vypracovali: Michaela Homzová,
h n i s k o v v z d á l e n o s t s p o j n ý c h č o č e k
h n i s k o v v z d á l e n o s t s p o j n ý c h č o č e k Ú k o l : P o t ř e b : Změřit ohniskové vzdálenosti spojných čoček různými metodami. Viz seznam v deskách u úloh na pracovním stole. Obecná
Č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
Matematika. 7. ročník. Číslo a proměnná celá čísla. absolutní hodnota čísla. zlomky. racionální čísla
list 1 / 9 M časová dotace: 4 hod / týden Matematika 7. ročník (M 9 1 01) provádí početní operace v oboru celých a racionálních čísel; čte a zapíše celé číslo, rozliší číslo kladné a záporné, určí číslo
Záznam dat Úvod Záznam dat zahrnuje tři základní funkce: Záznam dat v prostředí třídy Záznam dat s MINDSTORMS NXT
Úvod Záznam dat umožňuje sběr, ukládání a analýzu údajů ze senzorů. Záznamem dat monitorujeme události a procesy po dobu práce se senzory připojenými k počítači prostřednictvím zařízení jakým je NXT kostka.
Úloha 1. Napište matici pro případ lineárního regresního spline vyjádřeného přes useknuté
Úloha 1. Napište matici pro případ lineárního regresního spline vyjádřeného přes useknuté polynomy pro případ dvou uzlových bodů ξ 1 = 1 a ξ 2 = 4. Experimentální body jsou x = [0.2 0.4 0.6 1.5 2.0 3.0
Příklad 1 ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 6
Příklad 1 Vyšetřete průběh funkce: a) = b) = c) = d) =ln1+ e) =ln f) = Poznámka K vyšetřování průběhu funkce použijeme postup uvedený v zadání. Některé kroky nejsou již tak detailní, všechny by ale měly
Aplikace bin picking s použitím senzorové fúze
Moderní metody rozpoznávání a zpracování obrazových informací 2018 Aplikace bin picking s použitím senzorové fúze Vlastimil Hotař, Ondřej Matúšek Katedra sklářských strojů a robotiky Fakulta strojní Oddělení
Základní pojmy Zobrazení zrcadlem, Zobrazení čočkou Lidské oko, Optické přístroje
Optické zobrazování Základní pojmy Zobrazení zrcadlem, Zobrazení čočkou Lidské oko, Optické přístroje Základní pojmy Optické zobrazování - pomocí paprskové (geometrické) optiky - využívá model světelného
Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.
Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb. 1. Informace o přijímacích zkouškách Studijní program: Informatika navazující magisterský
Programátorská dokumentace
Programátorská dokumentace Požadavky Cílem tohoto programu bylo představit barevné systémy, zejména převody mezi nejpoužívanějšími z nich. Zároveň bylo úkolem naprogramovat jejich demonstraci. Pro realizaci
2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013
2. úkol MI-PAA Jan Jůna (junajan) 3.11.2013 Specifikaci úlohy Problém batohu je jedním z nejjednodušších NP-těžkých problémů. V literatuře najdeme množství jeho variant, které mají obecně různé nároky
Příloha 1: Popis ovládání programu pro vyhodnocování chyb v pohybu vřetena
Příloha 1: Popis ovládání programu pro vyhodnocování chyb v pohybu vřetena Před spuštěním programu je dobré přepnout program do tzv.run Modu pomocí klávesové zkratky Ctrl+M, čímž se nám sníží zatížení
Stav: červen 2008. TRACK-Guide
Stav: červen 2008 TRACK-Guide Obsah TRACK-Guide... 1 1 Úvod... 3 1.1 Rozsah funkcí...3 1.2 Zadávání číslic a písmen...3 1.3 Úvodní maska...4 2 Navigace... 5 2.1 Spuštění navigace...5 2.2 Maska navigace...6
Kombinatorická minimalizace
Kombinatorická minimalizace Cílem je nalézt globální minimum ve velké diskrétní množině, kde může být mnoho lokálních minim. Úloha obchodního cestujícího Cílem je najít nejkratší cestu, která spojuje všechny
Předpokládané znalosti žáka 1. stupeň:
Předpokládané znalosti žáka 1. stupeň: ČÍSLO A POČETNÍ OPERACE používá přirozená čísla k modelování reálných situací, počítá předměty v daném souboru, vytváří soubory s daným počtem prvků čte, zapisuje
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
Geometrická optika. předmětu. Obrazový prostor prostor za optickou soustavou (většinou vpravo), v němž může ležet obraz - - - 1 -
Geometrická optika Optika je část fyziky, která zkoumá podstatu světla a zákonitosti světelných jevů, které vznikají při šíření světla a při vzájemném působení světla a látky. Světlo je elektromagnetické
VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)
VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C) max. 3 body 1 Zjistěte, zda vektor u je lineární kombinací vektorů a, b, je-li u = ( 8; 4; 3), a = ( 1; 2; 3), b = (2; 0; 1). Pokud ano, zapište tuto lineární kombinaci.
UNIVERZITA PARDUBICE. 4.4 Aproximace křivek a vyhlazování křivek
UNIVERZITA PARDUBICE Licenční Studium Archimedes Statistické zpracování dat a informatika 4.4 Aproximace křivek a vyhlazování křivek Mgr. Jana Kubátová Endokrinologický ústav V Praze, leden 2012 Obsah
Archive Player Divar Series. Návod k obsluze
Archive Player Divar Series cs Návod k obsluze Archive Player Obsah cs 3 Obsah 1 Úvod 4 2 Použití 5 2.1 Spuštění programu 5 2.2 Popis hlavního okna 6 2.3 Tlačítko Otevřít 6 2.4 Pohledy kamery 6 2.5 Tlačítko
DUM č. 14 v sadě. 31. Inf-7 Technické vybavení počítačů
projekt GML Brno Docens DUM č. 14 v sadě 31. Inf-7 Technické vybavení počítačů Autor: Roman Hrdlička Datum: 24.02.2014 Ročník: 1A, 1B, 1C Anotace DUMu: Grafické karty: zapojení, součásti, napájení, chlazení.