Odhad vzdálenosti překážek od automobilu ze sekvence obrazů
|
|
- Vlastimil Kubíček
- před 8 lety
- Počet zobrazení:
Transkript
1 CENTER FOR MACHINE PERCEPTION CZECH TECHNICAL UNIVERSITY Odhad vzdálenosti překážek od automobilu ze sekvence obrazů Ondřej Sychrovský CTU CMP května 2008 DIPLOMOVÁ PRÁCE ISSN Lze získat na ftp://cmp.felk.cvut.cz/pub/cmp/articles/pajdla/sychrovsky-tr pdf Školitel: Ing. Tomáš Pajdla, Ph.D. Research Reports of CMP, Czech Technical University in Prague, No. 12, 2008 Published by Centrum strojového vnímání, Katedra kybernetiky Fakulta elektrotechnická ČVUT Technická 2, Praha 6 fax: (02) , tel: (02) , www:
2 České vysoké učení technické v Praze Fakulta elektrotechnická DIPLOMOVÁ PRÁCE Odhad vzdálenosti překážek od automobilu ze sekvence obrazů Ondřej Sychrovský Školitel: Ing. Tomáš Pajdla, Ph.D. 19. května 2008
3 Prohlášení Prohlašuji, že jsem svoji diplomovou práci vypracoval samostatně a použil jsem pouze podklady (literaturu, projekty, SW atd.) uvedené v přiloženém seznamu. V Praze dne 19. května 2008 Ondřej Sychrovský ii
4 Abstrakt Klasické systémy pro detekci překážek, kterými jsou automobily dnes vybaveny, jsou založeny na mechanickém šíření ultrazvukových vln. V této práci jsme navrhli asistenční systém pro detekci překážek na základě sekvence obrazů z kamery, která je umístěna v zadní části vozu. Nejprve nalezneme významné body v obrazech a určíme jejich korespondence v po sobě jdoucích obrazech. Z takto získaných korespondencí nalezneme pomocí metody RANSAC epipolární geometrii. Na základě známých vnitřních parametrů kamery a známé ujeté vzdálenosti mezi snímky můžeme rekonstruovat trojrozměrnou scénu. Body v obrazech jsou ovšem určeny s nepřesností, která je způsobena šumem měření. Tento šum jsme modelovali jako náhodnou veličinu s normálním rozdělením a zahrnuli jej do výpočtu. Navrhli jsme metodu, jak se rozhodovat v přítomnosti tohoto šumu na základě výpočtu pravděpodobnosti polohy jednotlivých bodů v prostoru. Funkčnost navrženého systému jsme ověřili na reálných datech. Experimenty s různými přirozenými překážkami ukazují, že systém funguje dobře. Simulovali jsme také couvání k barevně nevýrazné zdi. V tomto případě nebylo možné scénu zrekonstruovat a systém selhal. Pokud ovšem scénu rekonstruovat můžeme, experimenty, které jsme provedli, ukazují, že program vždy správně rozhodl a nenechal vozidlo do překážky narazit. Klíčová slova detekce překážek, epipolární geometie, asistenční systémy řidiče, zpracování obrazu iii
5 Car-to-obstacle distance estimation from a sequence of images Abstract Obstacle detection systems that vehicles are nowadays equipped with are based on mechanical ultrasound waves measurement. In this work, we propose an assistance system for obstacle detection based on a sequence of images captured from a camera mounted on the rear of a vehicle. At first we locate significant points in images and track them over consecutive frames. From these corresponding points we estimate epipolar geometry using RANSAC. Knowing the intrinsic camera parameters and the travelled distance between two frames we can reconstruct the 3D scene. However, the points in images are located inaccurately due to the measurement noise. We model this noise as a random variable with Gaussian distribution and include it in the computation process. We propose a decision method working in presence of noise based on points space position probability. We have evaluated the performance of our system on experimental data. The experiments show that the proposed system works quite correctly. We have also simulated reversing towards a gray non-textured wall. In that case the system was unable to estimate the geometry and the decision process failed. However, in experiments in which we were able to reconstruct the 3D scene, the system always decided correctly and didn t let the vehicle hit the obstacle. Keywords obstacle detection, epipolar geometry, driver assistance systems, image processing iv
6 Obsah 1. Úvod 1 2. Teoretický rozbor úlohy Vstupní data Stanovení korespondencí mezi dvěma obrazy Nalezení významných bodů Stanovení korespondencí pro dva obrazy Model kamery Vnější parametry Vnitřní parametry Projekční matice kamery Kalibrovaná kamera Stanovení parametrů kalibrace Epipolární geometrie Fundamentální matice Esenciální matice Výpočet esenciální matice bodový algoritmus RANSAC Zpracování esenciální matice Stanovení matic kamer Nalezení 3D souřadnic bodů v obrazech Rekonstrukce 1: Zvětšení Rotace a posunutí Nepřesnost lokalizace bodů v prostoru Skutečná neurčitost Převedení neurčitosti do epipolární roviny Výpočet neurčitosti bodu v prostoru Pokus o aproximaci normálním rozdělením Rozhodnutí o překážkách Rozměry vozidla Rozhodovací kritérium Propojení více rekonstrukcí Určení počtu kroků, kdy překážka nebude vidět Dvě rekonstrukce v
7 Obsah Více rekonstrukcí Popis algoritmu Vstup Data Kamera Výstup Algoritmus Nalezení významných bodů v obraze Nalezení kandidátů na korespondenci Propojení korespondencí přes více snímků (tracks) Výběr dat pro výpočet geometrie Výpočet esenciální matice Výpočet matic kamer z esenciální matice Výpočet 3D souřadnic bodů Transformace do 1: Rozhodnutí Spojení více geometrií Experimentální ověření funkce Kamera Kalibrace Orientace v soustavě vozidla Nejistota měření bodů v obraze Rozměry vozidla Experimenty První experiment Druhý experiment Třetí experiment Čtvrtý experiment Pátý experiment Možná vylepšení algoritmu Závěr 56 Literatura 57 Přílohy A. Obsah přiloženého CD 60 vi
8 Seznam obrázků 2.1. Instalace magnetů na kole Vnější parametry kamery Promítnutí bodu v prostoru do obrazu Projekce bodu do plochy obrazu Schéma epipolární geometrie Ilustrace nesplnění epipolární podmínky Orientace souřadných systémů kamery a vozidla Skutečné rozdělení pravděpodobnosti pro rekonstrukci bodu Pravděpodobnost polohy bodu v prostoru Použitý model neurčitosti určení bodu Porovnání skutečné a aproximované hustoty pravděpodobnosti Model vnějších rozměrů vozidla Pravděpodobnost polohy bodu Průsečík vozidla a epipolární roviny v prostoru Průsečík vozidla a epipolární roviny v rovině Když přestane být překážka vidět Omezení polohy kamery P při výpočtu esenciální matice Fotografie umístění kamery na vozidle Snímky s kalibračním obrazcem pro kameru Unibrain Kalibrační obrazec pro vztah mezi vozidlem a kamerou Pomocná souřadná soustava pro určení vztahu mezi kamerou a vozidlem První experiment Druhý experiment Třetí experiment Čtvrtý experiment Čtvrtý experiment graf rozhodnutí Pátý experiment vii
9 Seznam tabulek 2.1. Možnosti při rozhodování o překážce Vnitřní parametry kamery získané kalibrací Rozměry vozidla použitého při experimentech viii
10 1. Úvod Asistenční systémy řidiče zažívají v posledních letech nebývalý rozvoj. Výrobci automobilů se snaží zvyšovat komfort řidiče i posádky nepřeberným množstvím systémů, které zjednodušují a zpříjemňují řízení vozidla. Jedním ze systémů, které jsou ve vozidlech již několik let používány, je ultrazvukový detektor překážek. Tento systém, označovaný jako parkovací asistent, měří vzdálenost na principu mechanického zvukového vlnění. V případě, že se u vozidla nachází nějaká překážka, zvuk se od ní odrazí a systém tento signál zachytí a vyhodnotí. Ultrazvukový asistent pro detekci překážek v současné době nabízí téměř každý výrobce automobilů v různých variantách. Někteří výrobci mají vyvinuté systémy svoje, někteří používají komerční řešení od jiných společností [1,8]. Základní variantou je umístění senzorů do zadní části vozu a signalizace překážky pro celou zadní část. Vyšší variantou je signalizace překážky zvlášť pro levou a zvlášť pro pravou stranu vozu a nejvyšší variantou je kombinace senzorů vzadu i vpředu. Některé automobilky nabízejí automatický parkovací systém pro parkovaní do řady stojících vozidel na základě ultrazvukových senzorů [1]. Vozidlo je vybaveno kromě senzorů vpředu a vzadu ještě dvěma senzory na stranách před předními koly. Pokud systém při jízdě aktivujeme, je jedním z těchto senzorů hledána mezera pro naše vozidlo. Systém nás upozorní v okamžiku, kdy nějakou nalezne a následně umí točit volantem a vozidlo do nalezené mezery zaparkovat. Se zvyšujícím se počem kamer instalovaných do vozidel přibývá systémů, které poskytují řidiči informace na základě zpracovaného videa. Kamery jsou instalovány na záď vozidla a samy o sobě zjednodušují couvání k překážkám. Systémy, které pracují s těmito kamerami jsou z velké části pasivní. Velká část automobilů vybavených kamerou ukazuje pouze neupravený obraz. Některé systémy do obrazu kreslí nehybné čáry, které zobrazují předem pevně nastavené vzdálenosti od vozidla. Pokročilejší systémy umí podle natočení volantu do obrazu vyznačit, kam se bude vozidlo pohybovat. Nejsložitější automatický parkovací systém, který je v současné době k dispozici umí parkovat podélně i kolmo ke směru jízdy [2]. Tento systém do obrazu ze zpětné kamery nakreslí obdélník, který představuje cílovou polohu vozidla a tento obdélník může řidič libovolně posunovat. Dále je v obraze možné vyznačit překážku, které se musí vozidlo vyhnout. Systém pak opět sám točí volantem a vozidlo navede na cílovou pozici. Tento systém ale stále pracuje s informacemi z ultrazvukových senzorů. 1
11 1. Úvod Cíl práce Cílem této práce je vytvořit detektor překážek, který zpracovává pouze signál z kamery, která je umístěna v zadní části vozu. Zpracování obrazu a usuzování na strukturu scény je obecně špatně podmíněná úloha a proto není možné zaručit, že takový systém bude vždy bezchybně fungovat. Chceme zjistit, jak může být systém detekce překážek, který funguje pouze na základě videosignálu, spolehlivý a jaké problémy mohou nastat. Ukážeme, že v příznivých případech jsou výsledky velice dobré, ale že existují i takové situace, kdy systém selže. Jiná díla zabývající se detekcí překážek Problému detekce překážek se věnuje velké množství literatury. Převážně se jedná o problémy spojené s automatickým pohybem a navigací mobilních robotů. Na principu výpočtu optického toku je založen přístup podle [9]. Autoři zde počítají optický tok metodou normalizované vzájemné korelace a z ní dále tzv. time to contact (čas do srážky) pro všechny nalezené body. Podobně jedná i [4], který ale používá jinou metodu na výpočet optického toku. Dále také tento tok zpracovává a počítá čas do srážky. Jiná metoda je k nalezení v [12]. Zde se předpokládá, že se robot pohybuje na rovné zemi a tím pádem víme, jak má vypadat optický tok, když v cestě není žádná překážka. Tento se pak porovná se skutečným změřeným tokem a překážka může způsobit, že se tyto dva toky budou lišit. Na principu výpočtu korespondencí významných bodů (podobně jako je naše práce) je založeno dílo [11]. Je zde uveden postup pro počáteční fáze naší práce spolu s informacemi, jak tyto výpočty optimálně implementovat na počítači. Struktura diplomové práce Další část diplomové práce je organizována následovně: Kapitola 2 popisuje funkce a principy metod použitých při výpočtu a kapitola 3 přesně popisuje algoritmus našeho programu, který jsme vytvořili. Kapitola 4 ukazuje experimenty, které jsme provedli. V kapitole 5 jsou uvedeny modifikace, kterými by bylo možné navržený systém vylepšit a konečně kapitola 6 shrnuje výsledky, kterých jsme dosáhli. 2
12 2. Teoretický rozbor úlohy V této kapitole podrobně popíšeme metody a principy, které jsme v této úloze použili. Uvedeme teoretické postupy a odvodíme některé zákonitosti, které v našem problému využijeme: Forma vstupních dat. Jak spolu provážeme vstupní obrazy. Jak budeme modelovat projekci bodů ze světa do obrazu. Proč chceme použít kalibrovanou kameru. Jak vypočítáme prostorovou strukturu scény z obrazů. Podle čeho budeme klasifikovat jednotlivé body jako překážky Vstupní data Zpracování dat neprobíhá v reálném čase. Experimenty jsme prováděli s kamerou namontovanou na vozidle. Signál byl nahráván do PC a ukládán do videosouboru. Rozlišení videa je 640x480 obrazových bodů a video je nahráno a zpracováno v odstínech šedi. Všechna další zpracování se pak týkají vždy daného souboru. Parametry kamery a způsob montáže je uveden později v další kapitole. Jelikož pro správnou rekostrukci scény je nutné vědět i to, jaké jsou vzdálenosti mezi jednotlivými kamerami 1 při snímání jednotlivých snímků, bylo nutné zaznamenat pohyb vozu. Metoda, kterou jsme zvolili funguje na principu bezkontaktního měření otáčení kola. Na zadním kole je umístěno několik magnetů. Proti nim je umístěn pevný magnetický spínač, který sepne, když se do jeho blízkosti dostane magnet pootočením kola. Při dalším otočením se magnet dostane opět dál a spínač rozepne. Při známém obvodu kola a rozložení magnetů můžeme vypočítat vzdálenost, kterou vůz přibližně ujede mezi dvěma okamžiky sepnutí spínače. Fyzická realizace je zobrazena na obrázku 2.1. Obvod, který je takto spínán, uvádí do provozu piezo bzučák, který po dobu sepnutí píská. Při nahrávání videosignálu je také nahráván zvuk pomocí mikrofonu 1 Ve skutečnosti se stále jedná o jedinou kameru, která se pohybuje, ale také si to můžeme představit tak, že ty snímky jsou vyfoceny najednou několika kamerami. V tomto není z pohledu naší úlohy rozdíl. Ve druhém případě se však tato vzdálenost dá lépe představit a proto je to tak řečeno. 3
13 2. Teoretický rozbor úlohy Obrázek 2.1.: Fotografie zachycující instalaci magnetů a magnetického snímače pro získání informace o ujeté vzdálenosti. Spínač je sepnut vždy po ujetí 1/10 otáčky, což je přibližně 173 mm. umístného na počítači. Výsledkem pak je tedy videosoubor se zvukovou stopou, podle které se pak dají přesně určit snímky, které korespondují se známou ujetou vzdáleností Stanovení korespondencí mezi dvěma obrazy Aby bylo možné danou úlohu vůbec začít řešit, je nutné stanovit spojitosti mezi jednotlivými obrazy. V našem případě jsou snímky vybírány z videosekvence, ale to samo o sobě neříká nic o tom, co se na nich vyskytuje. Znalost toho, že jsou jednotlivé snímky ve videosekvenci a tím pádem snímány ve velmi krátkých časech od sebe, využijeme, protože se dá předpokládat, že se scéna mezi dvěma snímky změní jen málo. Metoda, kterou jsme použili v této práci je následující: Nejprve jsou v obou obrazech nalezeny významné body. Dále je každý bod z prvního2 obrazu porovnán s každým bodem ve druhém obraze. Na základě podobností jsou pak stanoveny korespondence. Některé dvojice, které na základě podobnosti označíme za odpovídající, však ve skutečnosti odpovídat nemusí. Proto je nutné tyto předběžné korespondence dále zpracovat a vyloučit ty špatné. Postup bude vysvětlen podrobně v části Nyní podrobně popíšeme jednotlivé kroky od nalezení významných bodů v obrazech až po stanovení předběžných korespondencí. 2 Pojem první a druhý obrázek vyjadřuje relativní pořadí těch dvou obrazů ve zdrojové videosekvenci. První obrázek je sejmutý dříve než druhý. Obecně nemusí jít ihned za sebou. V tomto případě nemusí být dodrženo pořadí, ale je nutné, aby se jednalo o snímky, které jsou ihned za sebou. Důvod je vysvětlen v části
14 2. Teoretický rozbor úlohy Nalezení významných bodů V každém obraze je nejprve nutné nalézt významné body. Jako významné body jsou voleny ty body, které mají tyto vlastnosti: Existuje jich jen určité množství. Jsou izolované nenachází se v obraze hned vedle sebe. Jsou v obraze dobře lokalizované a jsou invariantní vůči rotaci a malým změnám velikosti. Body, které tyto vlastnosti mají, jsou nalezeny například Harrisovým detektorem rohů Harrisův detektor rohů Harrisův detektor rohů [5,16] funguje na principu autokorelační funkce. Pro každý bod obrázku (x, y) lze vypočítat hodnotu autokorelační funkce, která porovnává výřez z obrázku se stejně velkým výřezem posunutým o x, y: c(x, y; x, y) = w(u, v) [I(u, v) I(u + x, v + y)] 2, (2.1) (u,v) W (x,y) kde W (x, y) vyjadřuje porovnávaný výřez (okno) a w(u, v) jsou váhy pro jednotlivé body z výřezu. Výraz I(u, v) vyjadřuje intenzitu obrazu na souřadnicích u a v. Jako w(u, v) jsme zvolili normální rozdělení se střední hodnotou v (x, y) a směrodatnou odchylkou σ = 3. Velikost okna je 5 pixelů. Rovnici (2.1) upravíme následovně: Výraz pro intenzitu posunutého okna nahradíme Taylorovým rozvojem v okolí bodu (u, v): I(u + x, v + y). = I(u, v) + I x (u, v) x + I y (u, v) y, (2.2) kde I x a I y jsou parciální derivace intenzitního obrazu, které vypočítáme podle vzorců I x = I [1, 0, 1] a I y = I [1, 0, 1] T, (2.3) kde značí diskrétní konvoluci. Dosadíme linearizovanou funkci (2.2) do (2.1) a získáme c(x, y; x, y) = (u,v) W (x,y) = [ x y ] Q(x, y) ( [ w(u, v) Ix (u, v) I y (u, v) ] [ x y [ x y ]) 2 ], (2.4) 5
15 2. Teoretický rozbor úlohy kde ( pro přehlednost budeme psát (u,v) W (x,y) w(u, v) jako W ) [ Q(x, y) = W I2 x(u, v ) W I ] x(u, v)i y (u, v) W I. (2.5) x(u, v)i y (u, v) W I2 y(u, v ) Podle (2.4) jsme tedy autokorelační funkci aproximovali funkcí kvadratickou. Vlastní čísla matice Q(x, y) nám prozradí, jaký průběh má funkce c(x, y). Pokud budou velká, je funkce c(x, y) strmá a tím pádem se zde nachází roh. Přesněji, podle [16] je zavedena funkce H(x, y), tzv. cornerness function, neboli funkce vyjadřující míru rohovitosti. Pokud definujeme hodnoty λ 1 a λ 2 jako vlastní čísla matice Q(x, y), můžeme poté zapsat funkci H(x, y) takto: H(x, y) = λ 1 λ 2 0,04(λ 1 + λ 2 ) 2. (2.6) Funkci (2.6) spočítáme pro každý bod v obraze a jako rohy označíme body (i, j) takové, kde funkce H(i, j) nabývá lokálního maxima. Lokální maximum je v tomto případě definováno tak, že hodnota H(i, j) je větší než jakákoliv hodnota H(x, y) v okolí bodu (i, j). Jako okolí jsme zvolili okno o velikosti 5x5 pixelů s bodem (i, j) uprostřed. Můžeme také brát do dalšího zpracování jen rohy, jejichž hodnota cornerness funkce je vyšší než určitý práh. V naší práci jsme zvolili práh H Stanovení korespondencí pro dva obrazy V tuto chvíli máme nalezeny významné body (dále jen rohy) ve dvou obrazech. Lze předpokládat, že rohy, které korespondují, budou mít i korespondující okolí. Proto u každého rohu vybereme okolí (11x11) s rohem uprostřed. Každý tento obrázek pak porovnáme se všemi obrázky ve druhém obraze. Metoda, kterou jsme použili je normalizovaná vzájemná korelace (NCC). Její výhoda je v tom, že je invariantní vůči změnám osvětlení mezi porovnávanými obrazy. Další možnosti jsou součet umocněných rozdílů (SSD) nebo součet rozdílů v absolutních hodnotách (SAD). Nyní můžeme využít znalosti toho, že snímky, pro které hledáme korespondence, jsou vybrány z videosekvence, takže se obraz moc neliší. Dá se tedy říci, že pokud k rohu v prvním obrázku existuje korespondující roh ve druhém obrázku, tak že nebude v obraze moc daleko. Maximální vzálenost mezi rohy pro snímky, které jsou v sekvenci ihned za sebou, jsme experimentálně stanovili na 15 pixelů Normalizovaná vzájemná korelace (NCC) Normalizovaná vzájemná korelace nebo také lineární korelační koeficient (r) vyjadřuje to, jak jsou sady hodnot x i a y i lineárně závislé. Platí, že r < 1; 1 >. r = 1 pokud je x i lineární funkcí y i, r = 1 pokud je x i lineární funkcí y i. Čím blíže je r k jedničce, tím jsou si hodnoty podobnější a to nás zajímá. Vstupní hodnoty x i a y i získáme tak, že vezmeme 11x11 bodů z okolí rohu a přeskupíme je do vektoru x = [x 1... x 121 ] T. Podobně převedeme body ze druhého obrázku do vektoru y. 6
16 2. Teoretický rozbor úlohy Výpočet koeficientu r je provedeme tímto způsobem: 1. Posuneme čísla x i a y i tak, aby vektory x a y měly nulové střední hodnoty: x i = x i x, i = , y i = y i y, i = Vydělíme čísla x i a y i tak, aby vektory x a y měly jednotkové rozptyly: x i = y i = x i x 2, i = , y i y 2, i = Z takto normalizovaných hodnot vypočteme koeficient r následovně: r = x y = kde značí násobení vektorů po prvcích. 121 i=1 x i y i, Koeficient r nám tedy říká, jak jsou si dva rohy (se svým okolím) podobné. Pokud zanedbáme hodnoty r menší než nula, můžeme přibližně konstatovat, že r udává pravděpodobnost s jakou je na našich dvou výřezech stejný bod. Nyní popíšeme postup, jak prověříme všechny možné dvojice rohů a jak vybereme ty nejlepší Výpočet podobnosti pro všechny rohy Jak bylo řečeno dřive, porovnáváme vždy roh v prvním obraze se všemi rohy ve druhém obraze. Pro každou takovou dvojici vypočítáme korelační koeficient r(i, j). Pokud jsou rohy z prvního a druhého obrazu od sebe příliš daleko, nemusíme r počítat a nastavíme jej na nějakou nízkou hodnotu, např. 10. Pro roh i v prvním obraze tedy máme řádkový vektor r i = [r(i, 1)... r(i, N 2 )], kde N 2 je počet rohů ve druhém obraze. Pokud tyto řádkové vektory poskládáme do matice r = [r T 1... r T N 1 ] T, máme všechny koeficienty v jedné matici, jejíž počet řádků odpovídá počtu rohů v obraze prvním a počet sloupců odpovídá počtu rohů v obraze druhém. Sobě odpovídající body budeme hledat na principu vzájemné náklonnosti. Postup, který zopakujeme pro každý roh v prvním obraze, je následující: Vybereme roh v prvním obraze, řekněme, že má index i. Tomuto rohu odpovídá řádek matice r, vektor r i. Tento vektor říká, jak je roh i podobný každému rohu ve druhém obrázku. Ze druhého obrázku vybereme ten roh, kterému je roh i nejpodobnější tak, že z vektoru r i vybereme prvek s nejvyšší hodnotou, řekněme j. Platí tedy j = arg max r i(k). k <1,N 2 > 7
17 2. Teoretický rozbor úlohy Nyní jsme tedy pro roh i v prvním obraze určili roh ve druhém obraze j, který se k němu nejvíce hodí. Označme si tyto indexy rohů jako i A a j A. Nyní zopakujeme předchozí postup s tím rozdílem, že budeme vycházet ze druhého obrázku, kde zvolíme roh j A a k němu budeme hledat nejlepší shodu v prvním obraze. Z matice r tedy vybereme sloupec odpovídající bodu j A a v něm hledáme řádek s největším korelačním koeficientem r(i, j A ): i = arg max r(k, j A). k <1,N 1 > Pro roh ze druhého obrazu j A jsme nyní určili roh v prvním obraze i = i B, který se k němu nejvíce hodí. Podle principu vzájemné náklonnosti musí platit i A = i B, abychom tyto dva rohy mohli považovat za sobě odpovídající. Jinak řečeno, pokud si roh i vybere ve druhém obraze nějaký roh j, musí si j v prvním obraze vybrat roh i, abychom mohli prohlásit, že spolu korespondují. Pokud i A i B, bod i nemá korespondující roh ve druhém obraze. Z korespondencí, které takto získáme, vybereme do dalšího zpracování jen ty, které mají korelační koeficient r 0,8. Ani to však nezaručí, že jsou všechny takto vybrané korespondence správně ohodnoceny a že body si ve skutečnosti opravdu odpovídají. Tyto špatné korespondence je možné částečně později odhalit, ale nikdy není zaručeno, že odstraníme všechny Model kamery Model kamery představuje zobrazení bodů z 3D prostoru do roviny obrázku. V této sekci popíšeme model kamery, který jsme v této práci použili. Jedná se o obecný model dírkové kamery s centrální projekcí, který je podrobně popsán v [6] Vnější parametry Vnější parametry kamery představují transformaci bodu ze souřadného systému světa do souřadného systému kamery. Musíme nějak vyjádřit to, že body v prostoru obvykle měříme v jiném souřadném systému než je souřadný systém kamery. Situaci znázorňuje obrázek 2.2. Transformace je představována rotační maticí R ( R T R = I ) a translačním vektorem t. Jestliže X w = [x w, y w, z w ] T je bod v souřadné soustavě světa, tak jej můžeme transformovat do souřadné soustavy kamery podle vzorce X c = RX w + t. (2.7) Pokud vektor X w rozšíříme na homogenní čtyřvektor, můžeme rovnici (2.7) napsat elegantněji jako X c = [ R t ] [ ] X w. (2.8) 1 Parametry R a t budeme nazývat vnějšími parametry kamery. 8
18 2. Teoretický rozbor úlohy Obrázek 2.2.: Obrázek znázorňuje propojení souřadných soustav světa a kamery Vnitřní parametry Normalizované obrazové souřadnice Dírková kamera promítá body z 3D prostoru do roviny obrazu podle obrázku 2.3. Vytvoříme polopřímku ze středu kamery C do bodu X c = [x c, y c, z c ] T. V místě, kde tato polopřímka protne rovinu obrazu, vznikne bod x n = [x n, y n ] T, neboli normalizovaný obrazový bod. Podle věty o podobnosti trojúhelníků můžeme určit souřadnice Obrázek 2.3.: Tento obrázek vyjadřuje promítnutí bodu v prostoru do roviny obrazu. normalizovaného bodu v obraze: x n = x c z c f y n = y c z c f. (2.9) Pro normalizované souřadnice platí f = 1. Rovnice (2.9) pak můžeme napsat jako x n α y n = X c. (2.10)
19 2. Teoretický rozbor úlohy Zkreslení kamery V reálných kamerách dochází při průchodu paprsků skrz čočky k různým zkreslením, které musíme zachytit, pokud chceme, aby model kamery odpovídal skutečnosti. Model zkreslení, který jsme použili, je zvolen podle [3], kde je také velice podrobně vysvětlen. Korekce zkreslení vyjádříme jako funkci normalizovaných souřadnic. Souřadnice po korekci označíme jako x d = [x d, y d ] T : x d = f(x n ). (2.11) Funkce (2.11) je obecně nelineární a její složitost závisí na tom, jak složitý model kamery používáme Kalibrační matice Obrázek 2.4.: Obrázek ilustrující projekci souřadnic po upravení zkreslení do souřadnic v ploše obrazu. Kalibrační matice vyjadřuje vztah (viz. obr. 2.4) mezi souřadnicemi v obrázku x p = [x, y] T a opravenými normalizovanými souřadnicemi x d : x f x s x 0 x d [ ] y = 0 f y y 0 y d xd = K. (2.12) Kalibrační matice K obsahuje informace o ohniskové vzdálenosti pro každou osu (f x, f y ), pro případ, že pixely na snímacím čipu nejsou čtvercové, y 0 a x 0 určují souřadnice bodu, kde osa z c prochází obrazovou rovinou. Parametr s je nenulový v případě, kdy osy x p a y p v obraze na sebe nejsou kolmé. Podrobnosti a detailní popis lze nalézt v [6]. Souřadný systém bodů v obraze x p je definován tak, že bod [0, 0] T je vlevo nahoře, souřadnice x roste vpravo a souřadnice y roste dolů. Pro obraz s rozlišením 640x480 pixelů má tedy pravý horní roh souřadnice [639, 0] T, levý dolní [0, 479] T a pravý dolní [639, 479] T. 10
20 Projekční matice kamery 2. Teoretický rozbor úlohy V dalších odvozeních potřebujeme použít pouze lineární model kamery. Můžeme proto v tichosti přeskočit výpočet zkreslení a do odvození a maticových výpočtů jej nepsat. Ve všech výpočtech jej však použijeme. Projekce bodů z prostoru světa na bod v obraze pak můžeme psát jako α x y 1 = K [ R t ] [ X w 1 ] [ Xw = P 1 ], (2.13) kde P je matice kamery. V tomto případě je matice P obecná matice s hodností 3, která promítá body z prostoru do obrazu Kalibrovaná kamera Pokud u kamery známe vnitřní parametry a parametry zkreslení, říkáme, že kamera je zkalibrovaná. Práce se zkalibrovanou kamerou přináší několik velkých výhod při rekonstrukci scény, které budou uvedeny v části Podrobně je situace popsána v [6]. Pokud máme souřadnice bodu v obraze, můžeme vynásobit rovnici (2.12) zleva maticí K 1 a získat tak vztah pro x d : α x d y d 1 = K 1 x y 1. (2.14) Nyní můžeme použít známé parametry zkreslení a podle inverzní funkce (2.11), f 1, můžeme vypočítat normalizované obrazové souřadnice: x n = f 1 (x d ). (2.15) Pro normalizované souřadnice bodu v obraze platí projekční rovnice kamery podobná (2.13), která se ale liší tím, že matice K je jednotková a v tomto případě je veškeré zkreslení již zahrnuto: α x n y n 1 = [ R t ] [ X w 1 ] [ Xw = P 1 ]. (2.16) Je vidět, že v tomto případě má matice P speciální tvar: skládá se z rotační matice R a vektoru t. Jedná se tedy jen o otočení a posunutí. Kalibrační toolbox [3] obsahuje funkci normalize, která ze zadaných souřadnic v obraze a zadaných parametrů matice K a zkreslení vypočítá normalizované souřadnice. 11
21 2. Teoretický rozbor úlohy Stanovení parametrů kalibrace Parametry, které jsou v předchozích odstavcích popsané je třeba zjistit pomocí kalibrace. Ke kalibraci jsme použili kalibrační toolbox [3]. Postup, který toolbox používá, je tento: 1. Vstupem je několik obrázků, na kterých je vyobrazen kalibrační obrazec (šachovnice) o známých rozměrech. 2. V každém obraze je nutné označit rohy šachovnice. 3. Je nutné zvolit, jak složitý model požadujeme, zda se má odhadovat i parametr s atp. 4. Kalibrační matice K, parametry zkreslení a vnější parametry R i a t i pro každý obraz jsou pak odhadováný nelineárním optimalizačním postupem. Funkce kalibračního toolboxu [3] je založena hlavně na díle [17]. Známé parametry jsou souřadnice bodů kalibračního obrazce v prostoru a v obraze. Hledané parametry jsou vnitřní parametry kamery, parametry zkreslení a vnější parametry kamery. Tyto všechny jsou optimalizovány najednou. Nejprve proběhne inicializace parametrů a následně probíhá optimalizace. Tato optimalizace je provedena pomocí gradientní metody a hledá minimum vzdálenostní funkce m ij ˆm ij 2, i j kde i vyjadřuje bod v obraze j, m ij jsou souřadnice změřeného i-tého bodu v obraze j a ˆm ij je projekce bodu kalibračního obrazce z prostoru do obrazu pomocí hledaných parametrů. Konkrétní hodnoty kalibrace a výsledné parametry pro námi použitou kameru jsou uvedeny později v příslušné kapitole Epipolární geometrie Epipolární geometrie vyjadřuje geometrický vztah mezi dvěma pohledy. Pohledem je myšlena kamera a obrázek scény sejmutý touto kamerou. Epipolární geometrie určuje relativní pozice dvou kamer nezávisle na scéně. Nezáleží na tom, zda jsou obrázky sejmuty ve stejný okamžik dvěmi různými kamerami, nebo zda se jedná o jedinou kameru a obrázky jsou sejmuty po sobě v čase. 3 Podrobné vysvětlení je k nalezení v [6]. Nyní se stále jedná o obecné, nekalibrované kamery. Epipolární geometrie je znázorněna na obrázku 2.5. Jsou zde zobrazeny dvě kamery se středy C a C a bod v prostoru X. Tyto tři body tvoří v prostoru rovinu. Bod x je průmětem bodu v prostoru na obraz první kamery, podobně bod x je 3 Důležité ale je, že se scéna nesmí mezi jednotlivými snímky změnit. 12
22 2. Teoretický rozbor úlohy X l x x l e C C e Obrázek 2.5.: Schéma, které zobrazuje princip epipolární geometrie. Středy kamer a bod v prostoru vytvářejí rovinu. Bod ve druhém obrázku, který odpovídá bodu v prvním obraze se musí nacházet na tzv. epipoláře. průmět do druhé kamery. Úsečka spojující středy kamer vytváří v rovinách obrazu body e a e, tzv. epipóly. Přímka, která je v rovině obrazu a prochází body x a e, resp. x a e se nazývá epipolára Fundamentální matice Důležitou vlastností epipolární geometrie je to, že pokud máme průmět bodu X do obrazu jedné kamery, známe epipoláru ve druhém obraze a pouze na ní může ležet bod x. Tuto vlastnost shrnuje rovnice (2.17): x T Fx = 0, (2.17) kde F je tzv. fundamentální matice. Výraz Fx vyjadřuje přímku l a protože bod x na ní leží, platí x T l = 0. Fundamentální matice F musí mít vždy hodnost 2, protože představuje zobrazení z dvourozměrného do jednorozměrného projektivního prostoru Nejednoznačnost určení fundamentální matice Fundamentální matice v sobě zapouzdřuje informace o relativní poloze kamer P a P a přitom je podle rovnice (2.17) svázána pouze s body x a x. Tento vztah je vyjádřen pomocí projektivní geometrie, resp. jde jen o průsečíky přímek a rovin v prostoru, které jsou zachovány přes jakoukoliv projektivní transformaci. Pokud změníme body v obraze 2D projektivní transformací ˆx = Hx a ˆx = H x, pak získáme jinou fundamentální matici, která odpovídá těmto bodům: ˆx T H T FH 1ˆx = 0 = ˆx TˆFˆx. 13
23 2. Teoretický rozbor úlohy Podobně, pokud x a x jsou korespondující body v obrazech, které jsou projekcí bodu X v prostoru přes kamery P a P, můžeme zvolit 3D homografii H, která způsobí: x = PX = (PH)(H 1 X), x = P X = (P H)(H 1 X). (2.18) Z této rovnice vyplývá, že body x a x jsou korespondující body i pro bod H 1 X z prostoru promítnutý kamerami PH a P H. Tato nejednoznačnost, tedy určení až na projektivní transformaci, je podle [6] to nejhorší, co můžeme získat z obecných nekalibrovaných kamer Esenciální matice V případě, že máme kalibrované kamery, můžeme podle postupu v části získat z korespondujících bodů x a x normalizované souřadnice x n a x n. Pro tyto body platí podobné epipolární omezení jako (2.17): x T n Ex n = 0, (2.19) kde matici E nazveme esenciální maticí. Pro esenciální matici platí stejné vlastnosti jako pro fundamentální a má další vlastnost navíc: má dvě stejná singulární čísla a třetí singulární číslo je nula. Výhoda použití matice E je ta, že používáme normalizované souřadnice bodů v obrazech a tím se zmenší nejednoznačnost projekce bodů, kterou ukazuje rovnice (2.18). Jelikož kalibrační matice K je u kamer známá, musí se shodovat u kamer P a (PH 1 ). Podle [6] je možné za H zvolit libovolnou stejnolehlost. Matice kamery P je K [R t]. Pokud zvolíme můžeme napsat H = [ Rh t 0 T λ ], PH 1 = K [ RR 1 h t ] = K [ ˆR t ], kde t je translační vektor, který není v tomto okamžiku zajímavý. Je vidět, že při násobení matice kamery maticí, která představuje stejnolehlost ve 3D, zůstane zachována matice vnitřních parametrů K. Kamery, které jsou zapouzdřené v esenciální matici a tím pádem i souřadnice bodů v prostoru, je možné rekonstruovat až na neznámou stejnolehlost. Tento případ si můžeme představit tak, že získáme stejný obrázek, když budeme fotit malý objekt z blízka, jako když budeme fotit velký objekt z dálky. Podle [6] je tato nejednoznačnost to nejhorší, co můžeme při použití kalibrovaných kamer získat. Z tohoto důvodu budeme dále v této práci vždy používat normalizované souřadnice bodů, které nebudeme značit speciálním indexem tak, jak tomu bylo doposud. Matice kamer budeme uvažovat ve tvaru podle rovnice (2.16). 14
24 2. Teoretický rozbor úlohy 2.5. Výpočet esenciální matice Esenciální matice svazuje normalizované souřadnice rohů ze dvou obrazů podle rovnice (2.19). Při znalosti několika korespondujících bodů je možno vypočítat esenciální matici pouze z rovnice (2.19), do které dosadíme známé body. Problém je v tom, že esenciální matice musí splňovat ještě další omezení, která je nutné při výpočtu zajistit. Algoritmy pro výpočet esenciální matice jsou uvedeny v [6]. Všechny algoritmy mají za základ rovnici (2.19). Tuto rovnici můžeme přepsat tak, že neznámé proměnné v matici E naskládáme do vektoru e a rovnici (2.19) přepíšeme do tvaru a T e = 0, kde vektor a obsahuje koeficienty vytvořené ze souřadnic x a x. Ve vektoru e je 8 neznámých (až na násobek), je proto potřeba 8 korespondujících bodů pro výpočet. Z vektorů a T 1... a T 8 vytvoříme matici A: a T 1. a T 8 e = Ae = 0. (2.20) Z této rovnice vypočítáme vektor e jako nulový prostor matice A. Podmínka, že matice E je singulární není v tomto výsledku zaručena, proto je nutné matici ještě upravit tak, aby podmínka platila (podrobnosti jsou k nalezení v [6]). Tento algoritmus se nazývá základním 8-bodovým algoritmem. Znalost toho, že matice E musí být singulární, je možné použít již v algoritmu. V tom případě stačí 7 bodů a tato podmínka pro výpočet. Pokud počítáme esenciální matici, známe ještě omezení, že SVD rozklad musí mít dvě stejná singulární čísla a třetí musí být rovno nule. Algoritmus, který toto zohledňuje, může vypočítat esenciální matici z pouhých pěti korespondujících bodů. Takový algoritmus jsme v této práci použili bodový algoritmus Algoritmus, který jsme použili je naimplementován podle [13,14]. Vstupem tohoto algoritmu jsou normalizované souřadnice 5 dvojic korespondujících bodů a výstupem jsou všechny (max. 10) esenciální matice, které těmto korespondencím vyhovují. Nyní uvedeme hrubý postup, jak algoritmus funguje: 1. Z 5 korespondencí vytvoříme matici A podle rovnice (2.20). Tato matice bude mít hodnost 5, takže nulový prostor bude mít hodnost 4. Matice E se pak dá vyjádřit jako E = xe 1 + ye 2 + ze 3 + we 4, (2.21) kde E i jsou vektory nulového prostoru matice A. 15
25 2. Teoretický rozbor úlohy 2. Víme, že matice E je určena až na násobek, zvolíme w = 1 a získáme matici E parametrizovanou třemi proměnnými. 3. Matici E podle (2.21) dosadíme do podmínky det(e) = 0 (podmínka že hodnost esenciální matice je 2). 4. Podmínku na dvě stejná singulární čísla a třetí nulové se dá podle [13] zapsat jako 2EE T E trace(ee T )E = 0. Do této rovnice opět dosadíme podle (2.21) a spolu s předchozí podmínkou získáme deset rovnic pro 3 neznámé. 5. Vytvoříme vektor monómů, které se v těchto rovnicích vyskytují a tyto rovnice přepíšeme jako násobení monómů. 6. Tuto soustavu vyřešíme pomocí Gröbnerovy báze. Rovnice, které řešíme, jsou třetího stupně pro všechny proměnné, můžeme tedy dostat až deset možných reálných řešení. Všechna tato řešení je nutné následně otestovat na ostatních bodech. K tomu s úspěchem použijeme metodu RANSAC, která je vysvětlena v následující části RANSAC RANSAC (RAndom SAmple Consensus) je robustní algoritmus, který hledá model odpovídající datům. Výhoda tohoto algoritmu je ta, že se dokáže vypořádat s velkým procentem chybných měření v datech. Podrobný popis je k dispozici v [6]. Vstupní data jsou v našem případě nalezené korespondence rohů ve dvou obrazech. Bylo řečeno, že rohy, které jsme prohlásili za korespondující, nemusí ve skutečnosti korespondovat. Jsou to tedy chybná měření. Body, které nekorespondují s modelem nazýváme outliers, body, které korespondují, nazýváme inliers. Model, který hledáme, je epipolární geometrie, resp. esenciální matice. Funkce RANSACu je následující: v každém cyklu se náhodně vybere z dat tolik vzorků, kolik je potřeba k vytvoření modelu. Tento model se pak na všech datech otestuje podle zvoleného kritéria. Pokud tento model vyhovuje datům lépe než doposud nejlepší nalezený, tak si jej poznačíme jako nejlepší nalezený. Předpokladem této myšlenky je to, že pokud vytvoříme model ze špatného vzorku, tak bude mít malou podporu mezi ostatními daty. Tento postup je schematicky zobrazen v algoritmu 2.1. V našem případě je možné v jednom cyklu získat ze vzorků více než jeden model, jak je vysvětleno v části V takovém případě otestujeme v jednom kroku více modelů a z nich vybereme ten nejlepší. Počet opakování cyklu je možné zvolit libovolně nebo podle vzorce, který vyjadřuje, s jakou pravděpodobností alespoň jednou sestavíme model ze samých inliers. Pokud in udává procento inliers v datech, s udává počet vzorků pro sestavení modelu a k je počet cyklů algoritmu, tak 16
26 2. Teoretický rozbor úlohy výraz in s udává pravděpodobnost toho, že všechny vybrané vzorky do modelu jsou inliers, výraz (1 in s ) udává pravděpodobnost, že alespoň jeden vzorek je outlier, výraz (1 in s ) k udává pravděpodobnost, že v k cyklech za sebou nesestavím model, který by byl ze samých inliers. Tuto pravděpodobnost chceme mít pod kontrolou. Zvolíme tedy p jako pravděpodobnost, že alespoň v k cyklech sestavím model ze samých inliers. Platí poté (1 in s ) k 1 p. Z tohoto výrazu pak můžeme odvodit vzorec pro minimální počet cyklů k, abychom s pravděpodobností p alespoň jednou vybrali vzorky, které budou správné: k log(1 p) log(1 in s ). (2.22) Pravděpodobnost p volíme obyčejně rovno 0,99... V praktických úlohách většinou neznáme procento správných vzorků in. V tom případě jej můžeme odhadovat při ověřování modelu na datech. Pokud model vyhovuje a označíme jej jako zatím nejlepší, poznačíme také počet bodů, kterým vyhovuje a in vypočteme jako jejich procento ze všech bodů. Inicializace: M null //nejlepší model supp //podpora nejlepšího modelu k Cyklus: 1: while počet cyklů k do 2: Vyber s vzorků a vytvoř model M 3: Spočítej podporu supp modelu M 4: if supp > supp then 5: M M 6: supp supp 7: spočítej in jako procento inliers podle supp 8: spočítej nové k podle in podle vzorce (2.22) 9: end if 10: end while Algoritmus 2.1: RANSAC. 17
27 2. Teoretický rozbor úlohy 2.6. Zpracování esenciální matice V části 2.4 jsme poznamenali, že esenciální matice v sobě obsahuje informace o relativní poloze dvou kamer a bodů v prostoru. Tato geometrie je u esenciální matice určena až na neznámou stejnolehlost Stanovení matic kamer Jelikož není možné stanovit matice kamer absolutně, zavádí se tzv. kanonický tvar matic, kde P = [ I 0 ] a P = [ R t ]. (2.23) Podle [6] je možné vypočítat esenciální matici ze zadaných matic kamer ve tvaru (2.23) podle vzorce E = [t] R, kde [t] je antisymetrická matice vytvořena z vektoru t. Pokud t = [t 1, t 2, t 3 ] T, pak tuto matici získáme následovně: 0 t 3 t 2 [t] = t 3 0 t 1. t 2 t 1 0 Opačným postupem můžeme z esenciální matice získat matice kamer v kanonickém tvaru. Podle [6] je třeba rozložit matici E na součin antisymetrické a rotační matice. Pokud SVD rozklad matice E je U diag(1, 1, 0) V T, tak jsou jen dva možné rozklady matice E = SR: S = UZU T, R = UWV T nebo R = UW T V T, (2.24) kde Z = a W = Podrobné odvození a důkaz je uveden v [6]. Upřesnění, které je uvedeno v [10] ještě dodává, že SVD rozklad musíme zvolit tak, že det(u) > 0 a det(v) > 0. Jinak totiž bude matice R v matici kamery P tzv. antirotační, resp. bude platit, že det(r) = 1. Z výše uvedených vzorců plyne, že [t] = S. Platí St = 0 a protože S lze rozložit podle (2.24), tak vektor t je u 3, třetí sloupec matice U. Znaménko E a následně i znaménka S a t není možné určit a proto existují čtyři možné matice kamery P, které odpovídají dané esenciální matici E:. P 1 = [ UWV T +u 3 ], P 2 = [ UW T V T +u 3 ], P 3 = [ UWV T u 3 ], P 4 = [ UW T V T u 3 ]. (2.25) Postup jak z těchto čtyř matic vybrat tu správnou je jenoduchý. Podle geometrické interpretace těchto čtyř řešení, které je uvedeno v [6] platí, že rekostruovaný bod do 18
28 2. Teoretický rozbor úlohy prostoru bude pouze v jednom případě ležet před oběma kamerami. Podle tohoto principu vybereme tu správnou kameru P. Kamera P je vždy stejná. Tímto způsobem jsme z esenciální matice získali matice kamer P a P Nalezení 3D souřadnic bodů v obrazech Pro promítnutí bodu X z prostoru do normalizovaných souřadnic v obrazech platí tyto rovnice: x = PX a x = P X. (2.26) Pokud známe matice kamer a normalizované souřadnice v obou obrazech, můžeme rovnice (2.26) upravit do tvaru AX = 0. Vektor X pak vypočítáme jako nulový vektor matice A: xp 3 p 1 yp 3 p 2 x p 3 p X = AX = 0, (2.27) 1 y p 3 p 2 kde p i je i tý řádek matice P a x = [x, y] T. Podmínkou v tomto případě je, že matice A má hodnost 3. Normalizované souřadnice bodů musí tedy přesně splňovat podmínku (2.19). V reálném případě tuto podmínku splňují jen body, které byly použity k výpočtu té dané esenciální matice. Ostatní body obecně tuto podmínku nesplňují. Geometricky si to můžeme představit podle obrázku 2.6 tak, že paprsky, které vycházejí ze středů kamer C a C do bodů x a x se obecně ve 3D nemusí protínat. X xˆ d x d x xˆ C C Obrázek 2.6.: Normalizované souřadnice obecně nesplňují epipolární podmínku (2.19). Projevuje se to tím, že se paprsky ze středů kamer do bodů x a x v prostoru neprotnou. Musíme proto nalézt body ˆx a ˆx, které omezení splňují a jsou v nějakém smyslu nejblíže k x a x. 19
29 2. Teoretický rozbor úlohy Postup, jak nalézt body ˆx a ˆx v obrázku 2.6 je podrobně popsán v [6]. Kritérium, které minimalizujeme, je zvoleno jako součet Euklidovských vzdáleností mezi body x a ˆx v obou obrazech: C(x, x ) = d(x, ˆx) + d(x, ˆx ). (2.28) Problém nalezení minima kritéria (2.28) převedeme na jinou úlohu podle [6]. Epipoláru v prvním obraze vyjádříme jako funkci úhlu od osy x, l = f(θ). Nyní, pokud v prvním obraze máme zvolenu nějakou epipoláru, přes esenciální matici se nám promítne do epipoláry ve druhém obraze, l = f (θ, E). Body, které minimizují kritérium (2.28) a zároveň splňují epipolární omezení (2.19) musí v obrazech ležet na epipolárách. Vzdálenosti bodů d(, ) se pak změní na vzdálenosti bodů od přímky. Kritérium (2.28) potom vyjádříme jako funkci úhlu C = h(θ). Tato funkce je podle [6] polynom šestého stupně a jeho minimum je snadné získat položením derivace rovno nule. Algoritmus, který toto provádí je přesně podrobně popsán v literatuře. V tomto okamžiku máme vypočítané body ˆx a ˆx takové, které splňují epipolární podmínku a jsou nejblíže bodům změřeným, x a x. Tyto nové souřadnice použijeme pro výpočet souřadnic bodu X v prostoru. Tento výpočet provedeme podle vzorce (2.27) Rekonstrukce 1:1 Nyní máme vypočítané dvě matice kamer a souřadnice bodů ve 3D. Jak jsme řekli dříve, tyto údaje jsou určené až na neznámou stejnolehlost H = sr H t H Tato stejnolehlost upraví souřadnice bodů X a matice kamer takto: x = PX = (PH 1 )(HX) a x = P X = (P H 1 )(HX). (2.29) Úkolem je nyní zjistit parametry této stejnolehlosti, kterou můžeme aplikovat také po krocích, jak bude ukázáno dále Zvětšení Vzdálenost mezi kamerami, které jsou zvolené podle postupu v části je podle [6] jednotková. Ze senzoru pohybu však známe pravou vzdálenost mezi kamerami. Zvětšení tedy bude s = dist c /1, pokud jako dist c označíme správnou vzdálenost mezi kamerami. Pokud X je zrekonstruovaný bod v prostoru, tak X s = sx bude bod v prostoru správně zvětšený. Kamera P zůstane stejná, jelikož její střed je na [0, 0, 0] T a kamera P = [R t] se posune o s: P s = [R st].. 20
30 Rotace a posunutí 2. Teoretický rozbor úlohy Absolutní rotace R H a posunutí t H v prostoru není možné určit a ani pro nás není zajímavé. Postačí nám jen rotace a posunutí tak, abychom dostali druhou kameru, která odpovídá orientaci kamery na vozidle podle obr x c yc C z v z c C x c t z H R c H yc 0 y v z v x v y v x v Obrázek 2.7.: Orientace souřadných systémů kamery a vozidla. Obě souřadné soustavy jsou spojené s vozidlem. Po aplikaci stejnolehlosti budou rekonstruované body vyjádřeny v souřadné soustavě v. Kalibrační toolbox [3] nabízí funkci pro výpočet vnějších parametrů kamery. Při známých vnitřních parametrech je možné z obrázku kalibračního obrazce spočítat vnější parametry kamery R c, t c (viz. část 2.3.1, str. 8). Pokud tento obrazec umístíme na zem tak, aby souřadná osa x obrazce byla rovnoběžně s osou x v, získáme přesně rotaci, kterou požadujeme po druhé kameře (R c ). Pro posunutí vyjádříme vektor t H = R T c t c a vybereme pouze výšku nad obrazcem (z souřadnici). Translaci, kterou požadujeme po druhé kameře získáme transformací zpět jako t c = R c [0, 0, z H ] T. Projekce druhé kamery je vyjádřena rovnicí (2.29). V tomto případě budeme uvažovat kamery již po aplikaci zvěšení, takže i v matici H bude parametr s = 1. Požadujeme (P H 1 ) = R c t c (2.30) Matici kamery P upravíme na čtvercovou přidáním řádku [0, 0, 0, 1]. Transformaci H pak získáme upravením předchozí rovnice (2.30): H = R c t c P (2.31) Transformaci H pak použijeme na kamery P a P s a na body X s podle rovnic (2.29) následovně: P r = PH 1, P r = P sh 1, a X r = HX s. (2.32) 21
31 2. Teoretický rozbor úlohy Tímto způsobem získáme body v prostoru odpovídající skutečnosti v měřítku 1:1 spolu s dvojicí kamer. Dále je budeme značit pro jednoduchost bez indexu r. Pokud bychom body v obrazech měřili přesně a nemuseli je podle esenciální matice upravovat tak, aby se paprsky v prostoru protly, měli bychom geometrii úlohy tímto vyřešenou. Bohužel měříme nepřesně a proto je nutné ještě tuto nepřesnost zachytit Nepřesnost lokalizace bodů v prostoru Doposud jsme předpokládali, že rohy v obrazech měříme přesně. Ve skutečnosti tomu tak není a do procesu jsme zavedli chybu hned na samém počátku. Je velice obtížné přesně tuto chybu lokalizovat a předejít jí. Budeme proto předpokládat jen omezený vliv Skutečná neurčitost Neurčitost modelujeme tak, že určení pixelových souřadnic bodu v obraze je náhodná veličina s normálním rozložením pravděpodobnosti se střední hodnotou µ a diagonální kovarianční maticí Σ. Tato nepřesnost má tedy vliv na to, kde bude v prostoru bod, odpovídajícím těmto projekcím v obraze, rekonstruován. Tento přístup je zobrazen také v [6]. Pro jednoduchost ukážeme postup na případě dvourozměrného prostoru, kde se bod promítá do kamer na přímky. Pokud je r 1 souřadnice promítnutí bodu z prostoru do první kamery náhodná veličina se střední hodnotou r 10 a rozptylem σ 2, je pravděpodobnost r 1 vyjádřena známým vzorcem: p(r 1 r 10, σ 2 ) = 1 2πσ e (r 1 r 10 )2 2σ 2. Podobně je vyjádřena pravděpodobnost promítnutí bodu do druhé kamery r 2. Pokud máme bod X v prostoru, můžeme vypočítat pomocí projekce matic kamer hodnoty r 10 a r 20. Za předpokladu, že náhodné veličiny r 1 a r 2 jsou nezávislé, výraz pro pravděpodobnost hodnot r 1 a r 2 je p(r 1, r 2 X) = p(r 1 r 10, σ 2 )p(r 2 r 20, σ 2 ). Podle Bayesova vzorce můžeme nyní vyjádřit vztah pro pravděpodobnost polohy X za předpokladu změření hodnot r 1 a r 2 : p(x r 1, r 2 ) = p(r 1, r 2 X)p(X). p(r 1, r 2 ) Za předpokladu toho, že apriorní rozložení pravděpodobnosti p(x) je rovnoměrné, můžeme předchozí rovnici upravit: p(x r 1, r 2 ) p(r 1, r 2 X) = p(r 1 r 10, σ 2 )p(r 2 r 20, σ 2 ). (2.33) Pravděpodobnost podle rovnice (2.33) neodpovídá normálnímu rozdělení. Tvar tohoto rozdělení pro umělý případ je zobrazen na obr
32 2. Teoretický rozbor úlohy y x Obrázek 2.8.: Průběh rozložení pravděpodobnosti pro rekonstrukci bodu v ploše. Kamery jsou umístěný na souřadnicích [ 1, 1] T a [1, 1] T. Rovina obrazu první kamery je osa y a rovina obrazu kamery druhé je osa x. V obou kamerách je bod měřen s normálním rozdělením r i N(0; 0,5 2 ). Střední hodnota bodu X je v ploše na souřadnicích [1, 1] T a pravděpodobnost výskytu je znázorněna vrstevnicemi. Z tohoto obrazu je jasně vidět, že rozdělení není normální Převedení neurčitosti do epipolární roviny V předchozí kapitole jsme uvedli, že bod v obraze je měřen s nepřesností aproximovanou normálním rozdělením. Toto rozdělení je dvourozměrné, ve směrech os x a y v obraze. Bod, který změříme na stínítku ale nemusí splňovat epipolární omezení podle obr. 2.6 str. 19. To spravíme tím, že body posuneme na nově vypočítané body ˆx a ˆx. Neurčitost těchto bodů také změníme tak, že ji ze dvou rozměrů promítneme do jednoho rozměru na epipoláry. Body na stínítkách se tedy mohou pohybovat na epipolárách, se střední hodnotou v bodech ˆx a ˆx a s rozptylem σ 2. (Pro přehlednost budeme v dalším textu tyto body značit bez stříšky, jako x a x.) Vznikne tak situace, která vychází z ukázkového obrázku 2.8. Tato situace je zobrazena na obr Bod v prostoru X tedy budeme vždy předpokládat na epipolární rovině Výpočet neurčitosti bodu v prostoru Kovarianční matici Σ náhodného rozdělení bodu na stínítku jsme zvolili diagonální se stejnými hodnotami na diagonále (Σ = diag(σ 2, σ 2 )). Pokud tedy nyní řekneme, že bod bude vždy na epipoláře a nejistota bude vyjádřena normálním rozdělením, rozptyl tohoto rozdělení můžeme zvolit z matice Σ jako σ 2. Střední hodnota tohoto rozdělení bude odpovídat původnímu bodu x resp. x. Schematicky je tento stav 23
33 2. Teoretický rozbor úlohy C x e e X x C Obrázek 2.9.: Rozložení pravděpodobnosti polohy bodu v prostoru je omezeno na epipolární rovinu. Epipolární rovina prochází body C, C a X a dále průměty e a e a x a x. Body x a x jsou na stínítku měřeny na epipoláře s normálním rozdělením pravděpodobnosti. Hustota pravděpodobnosti bodu v prostoru X je znázorněna vrstevnicemi. zobrazen na obrázku Nyní můžeme vyjádřit hustotu pravděpodobnosti bodu X podle vzorce (2.33): f(x) = k p(x x 0, σ 2 )p(x x 0, σ 2 ). (2.34) Podle definice hustoty pravděpodobnosti náhodné veličiny musí platit, že f(x) = 1. (2.35) Z tohoto důvodu také vzorec (2.34) obsahuje neznámou konstantu k, jelikož výraz (2.33) ze kterého je tato hustota odvozena také není určen přesně. Pro každý bod X proto musíme vyjádřit pravděpodobnost podle vzorce (2.34) (k = 1) pro každou možnou polohu bodu v rovině. Tyto hodnoty poté sečteme a na základě tohoto součtu vypočítáme konstantu k v rovnici (2.34) tak, aby platila podmínka (2.35) Pokus o aproximaci normálním rozdělením Pro zjednodušení situace jsme se pokusili nahradit rozdělení pravděpodobnosti podle obrázku 2.9 normálním rozdělením. Výsledek je zobrazen na obrázku Je vidět, že v případě, kdy úhel mezi paprsky je malý, není vůbec možné tuto aproximaci použít, protože průběhy hustoty vůbec neodpovídají. Z tohoto důvodu nebudeme aproximaci používat vůbec a pro každý rekonstruovaný bod budeme počítat skutečnou hustotu. 24
34 2. Teoretický rozbor úlohy X x x 0 x x 0 e C C e Obrázek 2.10.: Zobrazení modelu, který jsme použili pro zachycení nepřesnosti při měření bodů v obraze. Pro dvojici bodů na stínítkách je nejprve nalezena epipolární rovina. Neurčitost určení bodů na stínítku je modelována normálním rozdělením podél epipolár Rozhodnutí o překážkách To, jaké rozhodnutí o překážkách je nejlepší provádět a co a jakým způsobem o nich sdělovat řidiči, je velice složitá otázka. My jsme zvolili následující přístup: V okamžiku, kdy změříme (zrekonstruujeme) překážku tak blízko u vozidla, že bychom do ní při dalším couvání narazili, řekneme řidiči, že má zastavit. Přesněji řečeno, systém, který jsme vytvořili, rekonstruuje scénu vždy po určité ujeté vzdálenosti. Proto nezávisle na čase, další měření při přibližovaní se k překážce, získáme až po ujetí vzdálenosti d. Proto je zásadní, abychom řidiči oznámili aby zastavil v tom okamžiku, kdy by ujetí další d znamenalo náraz do překážky. Obecně ale chceme řidiče upozornit na překážku dříve. Proto v obraze při každé rekonstrukci také označíme body, které jsou v určité vzdálenosti od vozidla, v koridoru, ve kterém se vozidlo pohybuje. Provádíme tedy dvě rozhodnutí: Rozhodujeme, zda bod tvoří překážku tak blízko, že musíme zastavit a zda bod tvoří překážku na kterou musíme upozornit. Podrobnosti, jak jsou tato kritéria geometricky implementována, jsou v kapitole Teoretický postup jak na základě bodu, jehož polohu známe s určitou pravděpodobností, rozhodneme, je uveden v části
35 2. Teoretický rozbor úlohy y y x x Gaussian approximated dist. Real distribution Gaussian approximated dist. Real distribution f(x) 0.02 f(x) y y Obrázek 2.11.: Porovnání skutečné hustoty pravděpodobnosti a její aproximace normálním rozdělením. V obrázcích nahoře je zobrazena skutečná hustota pravděpodobnosti na epipolární rovině (scéna je transformována tak, že epipolární rovina je v obraze rovina xy). V obrázcích dole je zobrazen řez pravděpodobností na přímce mezi středem druhé kamery a střední hodnotou bodu X v rovině (v horních obrázcích je tento řez naznačen modrou čárou). Střed první kamery je [0, 0] T, střed druhé kamery je na souřadnicích [0, 1] T. V obou případech σ 2 = Vlevo má bod souřadnice X = [10, 10] T, což tvoří úhel mezi paprsky přibližně 3. Vpravo je bod na souřadnicích X = [1, 10] T, což dává úhel asi 0, Rozměry vozidla Na obrázku 2.7 na straně 21 jsme ukázali naši zvolenou souřadnou soustavu spojenou s vozidlem. V této soustavě máme rekonstruované body v prostoru s jejich neurčitostí (viz. kapitola 2.8) a dvě kamery. Druhá kamera má střed na souřadnicích [0, 0, z B ] T, jak je na obrázku 2.7 uvedeno. Nyní zvolíme model vozidla a jeho rozměry následovně: V této souřadné soustavě vyvoříme kvádr, který bude představovat vnější rozměry vozidla. Situace je znázorněna na obrázku Vnější rozměry vozidla jsou dány hodnotami x A, x B, y 0 a z 0. Tento kvádr představuje fyzické rozměry vozidla (1). Dále je na obrázku vyznačen kvádr (2), který je směrem vzad od vozidla rozšířen 26
36 2. Teoretický rozbor úlohy z v CB C A z0 0 x B y 0 y + 0 Δ d y 0 + warnd y v x A x v Obrázek 2.12.: Model vnějších rozměrů vozidla. Kvádr, který představuje fyzické hranice vozidla je parametrizován čtyřmi hodnotami x A, x B, y 0 a z 0 (1). V opačném směru kvádr teoreticky nekončí. Kvádr (2) vyznačuje hranice vozidla, která je v kladném směru osy y zvětšena o d. Tento kvádr je použit k rozhodování o tom, zda řidiči říci, aby zastavil. Pokud zrekonsturuujeme bod v pásmu y 0 + d, příští rekonstrukce může být již do vozidla, což nesmíme dopustit. Pokud se nějaký bod bude nacházet v oblasti (3), řidič bude upozorněn na překážku a ta bude v obraze zvýrazněna. o d. Pokud se bude některý zrekonstruovaný bod nacházet uvnitř tohoto kvádru, bude řidiči signalizováno, aby zastavil. Při další rekonstrukci by totiž tento bod byl již ve vozidle. Pokud zrekonstruujeme některý bod uvnitř kvádru (3), zvýrazníme pro řidiče tento bod v obraze a upozorníme jej tím na to, že se v obraze nachází překážka. Vzdálenost warn d je možné nastavit libovolně, v našem případě jsme zvolili hodnotu dva metry. Model, který jsme takto zvolili, nepracuje s možností, že by vozidlo při couvání zatáčelo. Pro určení toho, zda má řidič zastavit, to nevadí. Běžné vozidlo má průměr otáčení cca 10 metrů a tak při vzdálenosti kamer d = 10 cm pro jednu rekonstrukci je úhel otočení přibližně jeden stupeň, což lze zanedbat Rozhodovací kritérium Pokud bychom měli body v prostoru rekonstruovány bez nejistoty, bylo by rozhodovací kritérium velice jednoduché. Pouze bychom porovnali vzájemnou polohu bodu a kvádru a na základě toho bychom rozhodli o překážce. V našem případě ovšem máme body rekonstruované nepřesně, se známým rozložením pravděpodobnosti na epipolární rovině. Musíme proto při rozhodování využít statistický přístup. 27
37 2. Teoretický rozbor úlohy Definice problému Problém můžeme definovat následovně. Pro jednoduchost budeme předpokládat jednorozměrné rozdělení pravděpodobnosti. Známe rozložení pravděpodobnosti f(x) bodu na ose x. Dále zvolíme, že vozidlo (kvádr (2) podle obrázku 2.12) bude zabírat zápornou osu x, x 0. Tato situace je znázorněna na obrázku f(x) x Obrázek 2.13.: Znázornění hustoty pravděpodobnosti bodu na ose x. Zelená plocha ukazuje pravděpodobnost, že se bod nachází na záporné poloose. Pravděpodobnost, že je daná náhodná veličina X menší než x vyjadřuje distribuční funkce náhodné veličiny [7]: p(x x) = F (x) = x f(t)dt. Za podmínky, že známe hustotu f(x), můžeme vypočítat pravděpodobnost, s jakou se bod nachází na záporné poloose p(x 0), neboli pravděpodobnost, s jakou se bod nachází v oblasti vozidla. Tento integrál je znázorněn na obrázku 2.13 jako zelená plocha Ztrátová funkce Nyní máme vypočítanou pravděpodobnost, s jakou se bod nachází v oblasti vozidla. Jedna z možností, které se nyní naskýtají je ta, že tuto pravděpodobnost sdělíme řidiči na displeji. Při každé rekonstrukci dostane řidič tuto informaci a bude muset pokaždé zvažovat, zda ještě bude couvat, nebo ne. Dá se předokládat, že se řidič bude chovat stále stejně a proto pokaždé zastaví, když pravděpodobnost překročí jím stanovenou mez. Z tohoto důvodu se zdá být rozumné, nechat rozhodnutí o tom, zda zastavit, na našem systému a po řidiči jen požadovat, aby zvolil pravděpodobnostní hranici. 28
38 2. Teoretický rozbor úlohy Tuto hranici musíme zvolit individuálně pomocí následujícího principu podle [7]: V tabulce 2.1 jsou zobrazeny čtyři možnosti pro naše rozhodnutí. V případě, že bod Tabulka 2.1.: Stavy, které mohou nastat pro různé skutečnosti a naše různá rozhodnutí. provedené rozhodnutí skutečná poloha bodu bod nás neohrožuje bod nás ohrožuje nezastavíme správné rozhodnutí chyba 2. řádu nabourání do překážky zastavíme chyba 1. řádu zbytečné zastavení vozu správné rozhodnutí ve skutečnosti neleží v oblasti (2) podle obrázku 2.12 a my rozhodneme, že leží (chyba 1. řádu), bude systém zbytečně plašit a řidič bude stále zastavovat. V případě, že bod ve skutečnosti vozidlu překáží a my rozhodneme, že ne (chyba 2. řádu), budou následky mnohem horší. Je proto na řidiči, aby tyto dvě možnosti nějak zvážil a poté nastavil práh pro rozhodování. Tento práh označíme jako threshold. Pro experimentální ověřování jsme zvolili hranici pravděpodobnosti 5%, tj. v případě, že pravděpodobnost toho, že se bod nachází v oblasti vozidla je větší než 5%, děláme rozhodnutí zastav Definice rozhodovací funkce V této části definujeme rozhodnutí pomocí matematické funkce. V předchozí části jsme ukázali, jak vypočítáme pravděpodobnost toho, že se bod i nachází u oblasti (2) podle obr Tuto pravděpodobnost označíme jako p i,2. Podobně můžeme vypočítat pravděpodobnost výskytu bodu v oblasti (3), kterou označíme jako p i,3. Při rozhodování vycházíme z předpokladu, že i jediný bod, který hrozí, může způsobit srážku. Musíme tedy rozhodovat na základě nejhoršiho příspěvku mezi všemi body: max(p i,2 ) threshold i ZASTAV, max(p i,3 ) threshold i VAROVÁNÍ. (2.36) Převedení na výpočet v prostoru Předchozí postup výpočtu byl demonstrovnán na jednorozměrném případě. Ve skutečnosti máme problém složitější. Na obrázku 2.14 je znázorněno vozidlo a epipolární rovina, která je tvořena bodem X a středy kamer A a B. Dříve jsme konstatovali, že nejistota bodu je pouze v epipolární rovině. Celkovou hustotu pravděpodobnosti bodu na této rovině umíme spočítat podle kapitoly na straně 23. Nyní tedy ukážeme, jak vypočítat obsah obrazce na epipolární rovině, který se nachází uvnitř prostoru vozidla. 29
39 2. Teoretický rozbor úlohy z vcb C A 0 y v X x v Obrázek 2.14.: Průsečík kvádru představující vozidlo a epipolární roviny, která je tvořena středy kamer A a B a bodu v prostoru X. Zvolíme transformaci souřadnic tak, abychom dostali epipolární rovinu do roviny xy, z = 0. První část transformace posune střed kamery A do bodu [0, 0, 0] T, střed kamery B do [0, 1, 0] T a následně otočíme kolem osy y tak, aby z-souřadnice bodu X byla 0. V tomto okamžiku máme body v rovině xy. Druhá část transformace pouze tyto body v rovině posune tak, že střed kamery B bude v [0, 0] T a otočí soustavu tak, aby přímka tvořená průsečíkem epipolární roviny a roviny obrazu druhé kamery (epipolára l B ) byla rovnoběžná s osou x. Schématické znázornění je na obrázku Pomocí této transformace převedeme do této souřadné soustavy i obrys vozidla, který ohraničí v rovině prostor, který je zobrazen na obr jako šedá plocha. Pro výpočty dále předpokládáme, že se rekonstruovaný bod nenachází za druhou kamerou, proto jsme zvolili takto složitou transformaci. Umožní nám totiž tento předpoklad realizovat tím, že budeme integrovat jen pro kladné hodnoty y Propojení více rekonstrukcí V případě, že kamera, kterou používáme k nahrání videosekvence nemá dostatečně velký zorný úhel, může se stát, že při couvání zmizí překážka z obrazu. Tato situace je znázorněna na obrázku Z tohoto důvodu je nutné, abychom informace z rekonstrukce k zachovali ještě několik dalších kroků. V každém kroku k+i musíme však rekonstrukci k aktualizovat podle současného stavu. 30
40 2. Teoretický rozbor úlohy y X l B 0 C B x l A C A Obrázek 2.15.: Průmět hranice vozidla na epipolární rovinu. Pravděpodobnost toho, že bod je v oblasti vozidla vypočítáme jako obsah šedého obrazce Určení počtu kroků, kdy překážka nebude vidět Na obrázku 2.16 je znázorněna geometrie pro výpočet počtu kroků. Hodnota z 0 ukazuje, jaká nejnižší překážka nám vadí. Vzdálenost h pak vyjadřuje to, jak nejdále může být překážka od vozidla aniž ji uvidíme. Tuto vzdálenost můžeme vypočítat, jelikož výšku kamery známe a úhel α můžeme vypočítat z dat, které máme z kapitoly 2.7, str. 20. Počet rekonstrukcí, které si musíme pamatovat pak vypočítáme podle vzorce n = floor(h/ d) Dvě rekonstrukce Nyní ukážeme, jakým způsobem propojíme dvě po sobě jdoucí rekonstrukce. Jak jsme dříve popsali, rekonstrukcí získáme dvě kamery a jim odpovídající body v prostoru. V tomto případě tedy P 1, P 1 a body X 1 a ze druhé rekonstrukce kamery P 2, P 2 a body X 2. Rekonstrukce 1 vznikla dříve, vozidlo je tedy dál od překážky než při rekonstrukci Zřetězení kamer Podle charakteru vstupních dat platí pro tyto dvě rekonstrukce to, že kamera P 1 je fyzicky totožná s kamerou P 2. Toho využijeme a transformujeme rekonstrukci 1 tak, aby se matice kamery P 1 rovnala matici P 2. Projekční rovnice druhé kamery v první rekonstrukci je x = P 1X 1 = (P 1H 1 )(HX 1 ). (2.37) Je vidět, že transformační maticí H můžeme získat libovolnou jinou matici kamery a tím pádem i jiné body. Podle výše uvedeného principu chceme získat transformaci 31
41 2. Teoretický rozbor úlohy z C α z 0 y 0 y 0 +h Δd Δd Δd y Obrázek 2.16.: Znázornění situace, kdy se nízká překážka dostane z obrazu kamery a ohrozí vozidlo. Na obrázku je znázorněno, jak se překážka přibližuje při rekonstrukcích vždy po ujetí vzdálenosti d. H takovou, aby platilo Z rovnice (2.38) odvodíme výraz pro matici H: [ H = P (P 1H 1 )! = P 2. (2.38) ] 1 [ P ]. (2.39) Čtvté řádky jsou v rovnici přidány proto, aby bylo možné vytvořit inverzní matici H 1. V tuto chvíli můžeme transformovat souřadnou soustavu první rekonstrukce pomocí transformační matice následovně: P 1 P 1 H 1, P 1 P 1H 1, X 1 HX 1. Tím získáme to, že se první rekonstrukce posune přesně za druhou tak, že si budou odpovídat rekonstruované kamery P 1 a P 2. V ideálním případě by si odpovídaly i body nacházejí se v obou rekonstrukcích. Tento fakt ale zkoumat nebudeme Zpracování bodů Pro tyto dvě rekonstrukce je možné vytvořit mnoho pravidel, podle kterých se bude s body zacházet. Například vážit polohu bodu s ohledem na neurčitost měření z jednotlivých rekonstrukcí, považovat bod za překážku pouze pokud je ve více rekonstrukcích za sebou apod. Problém je v tom, že v našem případě máme k dispozici 32
42 2. Teoretický rozbor úlohy pouze velmi málo měření, pouze jedno každých přibližně 17 centimetrů. Nemůžeme si proto dovolit hodnoty průměrovat. V našem případě rekonstrukce spojíme následovně: Body, které se nacházejí v obou rekonstrukcích, z té dřívější odstraníme. Můžeme předpokládat, že v pozdější rekonstrukci jsou body blíže ke kamerám a tím pádem jsou určeny s větší spolehlovostí Více rekonstrukcí Výše popsaným způsobem můžeme po sobě jdoucí rekonstrukce neomezeně řetězit. Samozřejmě platí, že čím více jich spojíme, tím větší chyby se dopouštíme. Budeme proto řetězit jen nejnutnější počet rekonstrukcí podle hodnoty, kterou jsme vypočetli v části tak, abychom zaručili, že dokážeme zastavit vozidlo na základě překážky, kterou jsme někdy dříve v obraze viděli. 33
43 3. Popis algoritmu V předchozí kapitole jsme vysvětlili principy fungování jednotlivých metod, které jsou součástí této práce. V této kapitole popíšeme podrobně celý algoritmus po jednotlivých blocích. Při tom se budeme u jednotlivých částí odkazovat do předchozí kapitoly. Samotný program je napsán v MATLABu. Pro popsání algoritmu v této sekci jsme nicméně zvolili zápis pomocí tzv. pseudokódu. Tento způsob je vhodnější k ukázání a pochopení všech principů. Zdrojové kódy programu pro MATLAB jsou samozřejmě přiloženy na CD Vstup Systém nepracuje v reálném čase ani není úplně autonomní. Data, která mají být zpracována musí být pro algoritmus předpřipravena Data Fyzicky máme z vozidla k dispozici nahraný videosoubor se zvukovou stopou, kde je slyšet pípání magnetického senzoru otáčení kola (viz. kapitola 2.1 na str. 3). Předzpracování spočívá v těchto krocích: Obrazová část videa je v rozlišení 640x480 obrazových bodů, 30 snímků za vteřinu. Obrazovou část nijak nepředzpracováváme. Podle zvukové stopy ručně vybereme snímky, kde dochází k sepnutí magnetického spínače. Tyto indexy uložíme do proměnné FRAME_INDICES. Vzdálenosti mezi snímky, které jsme vybrali v předchozím bodě známe, jelikož víme, jak jsou umístěny magnety po obvodu kola. Tyto vzdálenosti uložíme do proměnné CAMERAS_DISTANCES. Pokud má proměnná FRAME_INDICES N prvků, proměnná CAMERAS_DISTANCES jich pak má N Kamera Pro výpočty geometrie musíme znát vnitřní parametry kamery. Kameru je proto potřeba předem zkalibrovat. Postup kalibrace je uveden v části na straně 12. Vstupem tedy je několik snímků kalibračního obrazce. 34
44 3. Popis algoritmu Pro získání pravé rekonstrukce musíme znát i její umístění na vozidle. Popis rekonstrukce je uveden v kapitole 2.7 na straně 20. K tomuto účelu potřebujeme snímek kalibračního obrazce na vodorovné ploše s osou rovnoběžnou s osou x v. Parametry kamery a postup nalezení polohy na vozidle je pro použitou kameru uveden v další části práce Výstup Výstupem algoritmu jsou informace pro řidiče. Z principu může systém někdy selhat a řidič by vždy měl mít poslední slovo při rozhodování. Náš algoritmus pouze informuje o překážkách a doporučuje zastavení vozidla. Forma tohoto varování může být při případné teoretické instalaci do vozidla různě pozměněna. Metoda, kterou zde použijeme, je pouze informativní. Pokud je v obraze rozpoznána překážka, je v obraze vyznačena žlutou barvou a objeví se nápis VAROVÁNÍ. Pokud byla překážka rozpoznána dříve a nyní není v obraze vidět, je tam napsáno VAROVÁNÍ NENÍ VIDĚT. Pokud je rozpoznána překážka, která je tak blízko, že je třeba zastavit, je v obraze vyznačena červenou barvou spolu s nápisem ZASTAV. Pokud tato překážka není vidět (byla v předchozích rekonstrukcích), je na obrazovce pouze nápis ZASTAV NENÍ VIDĚT. Důležité je si uvědomit, že tento systém v případě výskytu překážky nezaručuje její detekci! Pokud překážku správně odhalí, tak na ni upozorní. Pokud však neupozorňuje, neznamená to, že tam žádná překážka není! 3.3. Algoritmus Počáteční fáze algoritmu je nezávislá na pohybu kamery. Zpracováváme celý videosoubor bez dalších informací. 35
45 3. Popis algoritmu Nalezení významných bodů v obraze Vstup: video //proměnná, která reprezentuje videosoubor Program: 1: N frames počet snímků ve videu 2: g gaussian(5; 1,5) //Gaussův filtr velikosti 5x5 pixelů a σ = 1,5 3: for i = 1 to N frames do 4: f rame video(i) 5: frame conv2( frame, g ) //vyhlazení obrázku filtrem g 6: corners(i) get corners( f rame ) //nalezení rohů podle alg , str. 5. 7: end for Výstup: corners //proměnná, kde jsou uloženy rohy pro jednotlivé snímky N frames počet snímků ve videu Nalezení kandidátů na korespondenci Kandidáty na korespondenci hledáme vždy mezi dvěma vedlejšími snímky. Vstup: corners //proměnná, kde jsou uloženy rohy pro jednotlivé snímky N frames počet snímků ve videu Program: 1: for j = 2 to N frames do 2: (crn i, crn j ) (corners(j 1), corners(j)) //rohy ve dvou po sobě jdoucích snímcích 3: spočítej matici NCC koeficientů r podle , str. 7 4: for each řádek k v r do 5: l max(k) //vyber sloupec, pro nějž je hodnota v řádku k max. 6: k l max(l) //vyber řádek, pro nějž je hodnota ve sloupci l max. 7: if k == k l then 8: kandidati(i).dalsi(k) l //uložení kandidáta z dalšího snímku 9: kandidati(i).ncc(k) r(k, l) //uložení hodnoty koeficientu 10: end if 11: end for 12: end for Výstup: kandidati //Struktura, ve které je pro každý roh každého snímku uložena informace o kandidátech na korespondenci. 36
46 3. Popis algoritmu Propojení korespondencí přes více snímků (tracks) Pro stanovení korespondujících rohů mezi dvěma vzdálenými snímky musíme sledovat elementární korespondence snímků po sobě jdoucích. Pro každý snímek ve videu vytvoříme matici, kde každý řádek odpovídá jednotlivé dlouhé korespondenci a sloupec určuje relativní pořadí snímku. Hodnota prvku v matici pak udává index do odpovídající proměnné corners. Vstup: corners //proměnná, kde jsou uloženy rohy pro jednotlivé snímky kandidati //informace o korelačních koeficientech jednotlivých rohů N frames počet snímků ve videu Program: 1: r min 0,8 //minimální korelační koeficient 2: for i = 1 to N frames do 3: ind vyber indexy rohů, které mají kandidáta v následujícím snímku podle kandidati(i).dalsi a jejichž korelační koeficient je větší než r min podle kandidati(i).ncc 4: tracks(i).tracks(1) ind //ulož tyto indexy do matice tracků i-tého snímku 5: k i //hodnota vnitřního cyklu začíná na současném snímku 6: while ind > & not ( konec videa ) do 7: k k + 1 8: z corners(k) vybereme podle ind rohy, které korespondují s předchozím snímkem. Uložíme je do tracks(i).tracks(1 + k i) (do dalšího sloupce matice tracků pro daný snímek i) 9: ind podle kandidati(k).dalsi vybereme opět další kandidáty těch rohů, které jsme vybrali z corners(k) 10: end while 11: end for Výstup: tracks //Struktura, ve které je pro každý snímek matice tracků, které v tomto snímku začínají Výběr dat pro výpočet geometrie V tento okamžik máme nalezené rohy ve všech snímcích videa a máme pro každý snímek nalezené všechny tracky, které v něm začínají. Další výpočty pracují vždy se dvěma snímky, které jsou vybrány podle indexů v proměnné FRAME_INDICES. S každou touto dvojicí pracujeme zvlášť. Dále tedy bude popsáno, jak je zpracována tato dvojice a na závěr ukážeme, jak jednotlivé výsledky spojíme dohromady. 37
47 3. Popis algoritmu Vstup: corners //proměnná, kde jsou uloženy rohy pro jednotlivé snímky tracks //informace o korespondujících bodech f rameindices //vektor s indexy snímků u kterých známe relativní vzdálenosti camerasdistances //vzdálenosti kamer mezi snímky v f rameindices Program: 1: N indices počet indexů v frameindices 2: for i = 1 to N indices 1 do 3: (f A, f B ) (frameindices(i), frameindices(i + 1)) //indexy snímků 4: (cr A, cr B ) (corners(f A ), corners(f B )) //odpovídající rohy 5: (c A, c B ) (normalize(cr A ), normalize(cr B )) //normalizované souřadnice 6: dist c camerasdistances(i) //uložení vzdálenosti kamer pro dané dva snímky 7: end for Výstup: c A, c B //normalizované souřadnice rohů ve dvou obrazech, ze kterých budeme počítat geometrii dist c //vzdálenost kamer, kterým korespondují rohy c A a c B Výpočet esenciální matice Esenciální matici vypočteme z normalizovaných souřadnic rohů c A a c B pomocí 5-bodového algoritmu metodou RANSAC tak, jak je popsáno v části 2.5 na straně 15. Funkce RANSACu ukazuje algoritmus 2.1. Doplňující informace jsou uvedeny dále: Proměnná s v rovnici (2.22) je 5, protože používáme 5-bodový algoritmus. Pravděpodobnost p, neboli pravděpodobnost, s jakou chceme vybrat všechny dobré vzorky pro výpočet volíme 0,999. Pro každou navrženou esenciální matici počítáme supp podle následujícího postupu: Pro každou dvojici bodů vypočítáme opravené souřadnice, které vyhovují navržené esenciální matici, podle sekce 2.6.2, str. 19. Pro každou dvojici bodů vypočítáme součet Euklidovských vzdáleností C i podle rovnice (2.28). Dvojice, pro které platí C i > 0.01 označíme za outliers. Podporu vypočítáme jako supp = C i + počet outliers. ( Pozor na záporné znamínko. ) 38
48 3. Popis algoritmu Víme, že se kamery mezi snímky nemohou pohnout libovolně, jelikož jsou umístěné na vozidle. Této znalosti využijeme a omezíme prostor možných poloh druhé kamery a tím i omezení na esenciální matice. Omezení je popsáno v následující kapitole. V případě, že esenciální matice tomuto omezení nevyhoví, zahazujeme ji s supp = Omezení polohy druhé kamery Způsob omezení polohy druhé kamery je zobrazeno na obrázku 3.1. Epipól e 1 vypočítáme z naklonění kamery získané podle kapitoly 2.7, str. 20. Epipól e může být od e 1 odchýlen ve směru x maximálně o ±7. Tato hodnota je odvozena přibližně z hodnoty průměru otáčení vozidla a ze vzdálenosti, kterou vozidlo ujede mezi dvěma snímky. Ve směru y může být odchylka přibližně ±15. Tato hodnota přibližně vyplývá z hodnoty o kolik se může zvednout zadní část vozu při nájezdu zadními koly na překážku. Z hodnoty epipólu e 1 a naklonění kamery vypočítáme rozsah možných hodnot epipólu e v normalizovaných obrazových souřadnicích. C e C C 1 e 1 Obrázek 3.1.: Znázornění relativní polohy dvou kamer. Bod C 1 zobrazuje střed druhé kamery při vodorovném pohybu. Tento bod je první kamerou promítán do epipólu e 1. Polohu druhé kamery omezíme tím, že omezíme polohu epipólu v prvním obraze. Výstupem této části algoritmu je ta nejlepší esenciální matice E a indexy dvojic ind, které byly k výpočtu této matice použity. 39
49 3. Popis algoritmu Výpočet matic kamer z esenciální matice Vstup: E ind Program: 1: P 1... P 4 4 možné matice podle rovnice (2.25), str. 18 2: P [I 0] 3: for i = 1 to 4 do 4: vypočítej 3D souřadnice X některého rohu z ind podle (2.27), str. 19 //Zde není nutné hledat body ˆx a ˆx, protože bod, ze kterého byla matice E vypočítána, epipolární geometrii vyhovuje. 5: X A transformace bodu X do souřadné soustavy první kamery 6: X B transformace bodu X do souřadné soustavy druhé kamery 7: if souřadnice z bodů X A i X B > 0 then 8: P P i 9: break 10: end if 11: end for Výstup: P, P //matice kamer Výpočet 3D souřadnic bodů Může se stát, že některé korespondence označí algoritmus RANSAC jako outliers. Tyto korespondence neodpovídají nalezenému modelu E, a proto je z dalšího zpracování odstraníme. Vstup: E P, P c A, c B Program: 1: for i = 1 to N do 2: ˆx a ˆx vypočítej opravené obrazové souřadnice bodů c A (i) a c B (i) podle algoritmu 12.1 v [6] 3: X(i) vypočítej 3D souřadnice bodu podle 2.6.2, str. 19 4: end for 5: X X(inliers) //pro další zpracování vezmeme jen body vyhovující modelu E Výstup: X //souřadnice bodů v prostoru 40
50 Transformace do 1:1 3. Popis algoritmu Transformace do skutečnosti probíhá přesně podle kapitoly 2.7 str. 20. Vstup: R c, z c, dist c P, P X Program: 1: s dist c 2: for each X do 3: X sx 4: end for 5: P = [R t] 6: P [R st] 7: 8: H podle (2.31) str. 21 9: P PH 1 10: P P H 1 11: X HX Výstup: X //souřadnice bodů v prostoru, rekostruované 1:1. Tyto body jsou v souřadné soustavě v podle obrázku 2.7 na straně 21 P, P //matice kamer odpovídající bodům X Rozhodnutí V tomto okamžiku máme rekonstruovány body v prostoru, v souřadné soustavě vozidla. V této soustavě také máme definováno vozidlo jako kvádr a ještě další dva kvádry podle obrázku 2.12 v části Pro každý zrekonstruovaný bod nyní musíme převést problém do epipolární roviny a v této rovině vypočteme integrál hustoty pravděpodobnosti s all pro bod X v celé rovině, integrál hustoty pravděpodobnosti s obst ve výřezu roviny, který představuje oblast pro okamžité zastavení (2) a integrál hustoty pravděpodobnosti s warn ve výřezu roviny, který představuje oblast pro upozorňování na překážky (3). Na základě těchto hodnot rozhodneme v obou případech podle rovnic (2.36). Funkce je opět shrnuta v následujícím algoritmu: 41
51 3. Popis algoritmu Vstup: P, P, X threshold //řidičem zvolený práh pro rozhodování podle kapitoly Program: 1: for each X i in X do 2: Převeď P, P a X i, které tvoří epipolární rovinu do souřadné soustavy, kde ta rovina je rovnoběžná s rovinou xy tak, jak je popsáno v kapitole Transformaci, která toto udělá označ M. 3: Pro každý bod v této rovině, pro který platí y > 0, spočítej pravděpodobnost výskytu bodu X i podle vzorce (2.34). Sumu ulož jako s all,i. 4: Vypočítej body průniku epipolární roviny s kvádrem (2) podle obr Tyto body transformuj maticí M do roviny xy. Vznikne obrazec podobný : Podobně pro každý bod v rovině xy, který se nachází v obrazci, vypočítej pravděpodobnost výskytu bodu podle (2.34). Tuto sumu ulož do proměnné s obst,i. 6: Řádky 4 a 5 zopakuj pro kvádr (3). Sumu pravděpodobnosti ulož do s warn,i. 7: Pravděpodobnost polohy bodu v kvádru (2) spočítej jako collision i = s obst,i /s all,i. 8: Pravděpodobnost polohy bodu v kvádru (3) spočítej jako obstacle i = s warn,i /s all,i. 9: end for 10: Nakresli druhý obrázek z této geometrie. (Ten, který souvisí s kamerou P.) 11: if collision i threshold then 12: Označ tento bod v obraze červeně a doporuč ZASTAV. 13: end if 14: if obstacle i threshold then 15: Označ tento bod v obraze žlutě a napiš VAROVÁNÍ. 16: end if Spojení více geometrií V tuto chvíli máme kompletně popsaný algoritmus pro každé dva snímky a geometrii, která je spojuje. Jak je ale popsáno v kapitole 2.10 na straně 30, v případě, že používáme kameru, která nemá úhel pohledu 180, může se nějaká překážka ztratit z výhledu. Proto musíme při rozhodování k aktuální geometrii částečně přidat i geometrie předchozí. Postup, jak propojit dvě geometrie je uveden v kapitole Celkový algoritmus bude vypadat následovně: 42
52 3. Popis algoritmu Vstup: g 1...n //vypočítané geometrie, počet je určený podle , n-tá geometrie je poslední Program: 1: g 1...n 1 Převeď geometrie g 1...n 1 podle rovnic (2.39) a (2.40) vzhledem ke geometrii g n. 2: g 1...n 2 Podobně převeď geometrie g 1...n 2 vzhledem ke geometrii g n 1. 3:... 4: g 1 Podobně převeď geometrii g 1 vzhledem ke geometrii g 2. 5: for each dvojice geometrií g i a g i+1 do 6: Body, které jsou v obou geometriích, z geometrie g i odstraň. 7: end for 8: Každou geometrii analyzuj a rozhodni podle postupu uvedeného v předchozí kapitole (3.3.9). 43
53 4. Experimentální ověření funkce V této kapitole uvedeme přesné informace o všech hodnotách nastavení, které jsme v předchozích kapitolách používali jen obecně. Dále ukážeme kalibraci kamery a několik experimentů, které demonstrují funkci našeho programu Kamera K pokusům jsme používali kameru Unibrain Fire-i (popis lze nalézt v [15]). Jedná se o jednoduchou, levnou kameru pro domácí využití. Připojení k počítači je realizováno přes rozhraní Firewire. Fotografie umístění kamery na vozidle pro experimentální ověření je na obrázku 4.1. Obrázek 4.1.: Fotografie umístění kamery na vozidle Kalibrace Kameru jsme zkalibrovali pomocí [3]. Na obrázku 4.2 jsou zobrazeny dva snímky s kalibračním obrazcem sejmuté touto kamerou. Celkem jsme pro kalibraci použili 40 různých snímků. Kamera má poměrně malé radiální zkreslení, zvolili jsme proto model zkreslení závislý na druhé mocnině vzdálenosti od středu zkreslení. Střed zkreslení je v počátku normalizovaných souřadnic. Funkce, která upravuje normalizované souřadnice 44
54 4. Experimentální ověření funkce Obrázek 4.2.: Několik snímků z kamery, na kterých je zobrazen kalibrační obrazec. x n = [x n, y n ] T podle zvoleného modelu zkreslení je uvedena v části jako rovnice (2.11). Nyní tuto rovnici můžeme vyjádřit konkrétně: x d = f(x n ) = (1 + k c r 2 )x n, (4.1) kde r je vzdálenost normalizovaného bodu od počátku souřadnic: r 2 = x 2 n + y 2 n. Hodnota koeficientu k c je uvedena v souhrnné tabulce 4.1. Kalibrací získáme také matici vnitřních parametrů K. Matice K má strukturu popsanou v kapitole na straně 10. V kalibraci jsme odhadovali parametry f x, f y, x 0 a y 0. Parametr s jsme zvolili 0, předpokládáme osy v obraze na sebe kolmé. Hodnoty, které jsme získali jsou uvedené v tabulce 4.1. Tabulka 4.1.: Vnitřní parametry kamery získané kalibrací. parametr hodnota f x 858,365 f y 861,628 x 0 347,958 y 0 242,719 k c 0, Orientace v soustavě vozidla Kapitola 2.7 na straně 20 uvádí, jakým způsobem získáme body zrekonstruované v souřadné soustavě vozidla podle obrázku 2.7. Je k tomu potřeba vypočítat vzájemnou orientaci kamery a vozidla. V našem případě jsme tento problém vyřešili následovně: Kalibrační toolbox nabízí funkci compute extrinsic, která umí vypočítat vnější parametry kamery R c, 45
55 4. Experimentální ověření funkce t c při známých vnitřních parametrech. Vyfotíme tedy kamerou kalibrační obrazec a z něj získáme tyto dva parametry. Obrázek kalibračního obrazce je vidět na obr Je na něm také zakreslena souřadná soustava světa, kterou kalibrační toolbox zvolil Y O Z X Obrázek 4.3.: Kalibrační obrazec, sloužící k určení vztahu mezi souřadnou soustavou vozidla a kamery. Je zde také zakreslena souřadná soustava světa podle kalibračního toolboxu. Kalibrační obrazec z obrázku 4.3 se ale nenachází na zemi. Víme, že se nachází na zdi kolmé k vozovce a známe tedy vztah souřadné soustavy vozidla a tohoto obrazce. Tento vztah je znázorněn na obrázku 4.4. V tomto obraze známe transformaci ze souřadné soustavy vozidla (v) do soustavy p a pak transformaci ze soustavy p do soustavy kamery. Transformaci ze soustavy vozidla do soustavy kamery, jinými slovy požadovanou matici kamery P v rekonstrukci 2.7.2, získáme upravením rovnice (2.30) takto: (P H 1 ) = R h t h = R c t c R p t p (4.2) Z této rovnice vyjádříme transformační matici H a s její pomocí upravíme kamery a body podle rovnice (2.32) Nejistota měření bodů v obraze V kapitole na straně 23 jsme uvedli předpoklad, že body v obraze měříme s nejistotou, kterou modelujeme šumem s normálním rozdělením pravděpodobnosti. 46
56 4. Experimentální ověření funkce C z v z c R c t c 0 p y p R H y c t H x c z p t p R p x p 0 y v x v Obrázek 4.4.: Pomocná souřadná soustava pro určení vztahu mezi kamerou a vozidlem. Střed kamery C se nachází na ose z v. x a y prvky vektorů t c a t p (vyjádřené v soustavě v) nás nezajímají, protože se od sebe odečtou. Při určování transformace H je ani neznáme. Parametry tohoto šumu zvolíme µ = 0 a σ 2 p = 0,5 2. Zajímá nás, jaká je neurčitost určení normalizovaných souřadnic bodů. Vztah mezi bodem v obraze x p a normalizovaným bodem x d je uveden jako rovnice (2.12). Pokud zanedbáme rozdíl mezi hodnotami f x a f y (v tabulce 4.1 je vidět, že jsou téměř stejné) a zkreslení kamery, můžeme psát x = fx n + x 0 (parametr s = 0), y = fy n + y 0. (4.3) Pokud X je náhodná veličina a a je konstanta, platí podle [7] následující vzorce pro rozptyl: var(ax) = a 2 var(x), var(a + X) = var(x). (4.4) Pokud tedy z libovolné rovnice (4.3) vyjádříme libovolnou veličinu i n, můžeme podle pravidel (4.4) určit také její rozptyl: x n = x x 0 f = x f x 0 f, var(x n ) = 1 f 2 var(x) = 1 f 2 σ2 p. (4.5) Hodnota σ 2 pro výpočet neurčitosti bodu v epipolární rovině podle rovnice (2.34) je tedy vypočítána podle rovnice (4.5). Použili jsme hodnotu σ 2 =
57 4.2. Rozměry vozidla 4. Experimentální ověření funkce Jak je uvedeno v kapitole 2.9.1, jako model vozidla jsme vybrali kvádr, charakterizovaný čtyřmi hodnotami. Pro experimentální ověření jsme podle použitého vozidla zvolili rozměry uvedené v tabulce 4.2. Počet geometrií, které musíme řetězit na základě vyjádření z kapitoly 2.10 je 4. Tabulka 4.2.: Rozměry vozidla použitého při experimentech. x A x B y 0 z mm 950 mm 200 mm 100 mm 4.3. Experimenty Nyní ukážeme několik experimentů, které jsme provedli k ověření funkce našeho programu. Ukážeme vždy několik snímků z nahrané videosekvence a obrázek s vypočtenými informacemi. Všechny experimenty, které jsme provedli a nezkrácená videa jsou k nalezení na přiloženém CD První experiment První experiment je zobrazen na obrázku 4.5. Zde couváme k tenkému sloupku z cihel. Část překážky zmizí z pohledu, ale část zůstane. Je vidět, že je rozhodnuto i na základě dřívějších rekonstrukcí Druhý experiment Další experiment ukazuje nízké překážky různých výšek. Program správně rozliší výšku a upozorní pouze na tu, která zasahuje do území vozidla. Tento pokus je zobrazen na obrázku 4.6. Je zde také vidět to, že i když překážka úplně zmizela z obrazu, přesto na jejím základě rozhodneme o zastavení, protože si pamatujeme i předchozí geometrie Třetí experiment Třetí pokus ukazuje případ, kdy s vozidlem couváme k překážce, která nemá výraznou texturu. Není na ní možné nalézt významné body a tím pádem není možné rekonstruovat geometrii ani upozornit na překážky. Toto je ten hlavní důvod toho, proč není možné se na tento program za všech okolností spoléhat, protože některé situace tímto přístupem prostě nemohou jít vyřešit. Experiment je zobrazen na obr Tato situce simuluje například couvání k bílé zdi v podzemní garáži. 48
58 4. Experimentální ověření funkce z v [mm] 400 z v [mm] x v [mm] y v [mm] x y [mm] v [mm] v ATTENTION STOP STOP not visible ATTENTION ATTENTION not visible Geometrie 1; est: 1 Geometrie 7; est: 1 Obrázek 4.5.: První experiment. Levý sloupec představuje rekonstrukci na počátku sekvence, pravý sloupec představuje poslední rekonstrukci. V prvním řádku je zobrazen snímek, který vidí první kamera, ve druhém řádku je zobrazen snímek z druhé kamery. Ve třetím řádku je zobrazena 3D rekonstrukce bodů a kamer současné a předchozí geometrie. Body, které jsou ze současné geometrie jsou modré, předchozí jsou zelené. Body jsou zobrazeny bez neurčitosti. Také jsou zde zobrazeny hranice vozidla podle obr Poslední řádek ukazuje obraz, který je promítán řidiči. Obshuje vyznačené překážky podle kapitoly
59 4. Experimentální ověření funkce z [mm] z v [mm] x v [mm] y v [mm] x [mm] y [mm] ATTENTION STOP not visible ATTENTION ATTENTION not visible Geometrie 1; est: 1 Geometrie 5; est: 1 Obrázek 4.6.: Druhý experiment. Tento experiment porovnává detekci různě vysokých překážek. Vlevo se nachází překážka vysoká přibližně 17 cm, vpravo je překážka vysoká 8 cm. Obrázky jsou organizovány stejně jako u obrázku 4.5. V levém sloupci je první rekonstrukce, v pravém sloupci je rekonstrukce, kde je již rozhodnutí ZASTAV. Ve třetím řádku vpravo jsou zobrazeny body ze všech čtyř geometrií. Body, na základě kterých je zastaveno jsou z nejstarší geometrie a jsou zobrazeny černě. 50
60 4. Experimentální ověření funkce ATTENTION NO DATA Geometrie 1; est: 1 Geometrie 5; est: 0 Obrázek 4.7.: Třetí experiment. Tento experiment ukazuje špatně podmíněný případ. S vozidlem couváme k jednolité barevné desce, která tvoří překážku. Není možné na ní zachytit body a sledovat je a tím pádem nelze ani rekonstruovat scénu. První tři obrázky ukazují rekonstrukci ze začátku sekvence, kde je vidět i nějaké okolí. Poslední obraz ukazuje pozdější snímek, kde nebyla provedena rekonstrukce scény Čtvrtý experiment Čtvrtý experiment zobrazuje couvání k zaparkovanému vozidlu. Tento pokus je vidět na obrázku 4.8. Znázornili jsme zde situaci, při které došlo k tomu, že body v obrazech byly nesprávně označeny za korespondující. Rekonstruovaný bod z této korespondence je špatně umístěn a tvoří překážku. Na obrázku 4.9 je znázorněn průběh hodnot pravděpodobností podle kapitoly V této kapitole jsme konstatovali, že pro varování nebo zastavení se rozhodujeme na základě maxima všech příspěvků pravděpodobnosti od všech bodů. Tento graf znázorňuje pro jednotlivé geometrie tuto hodnotu. 51
61 4. Experimentální ověření funkce 1000 ATTENTION z v [mm] y v [mm] ATTENTION Geometrie 2; est: 1 STOP ATTENTION ATTENTION not visible Geometrie 19; est: 1 Geometrie 27; est: 1 Obrázek 4.8.: Čtvrtý experiment zobrazuje couvání k vozidlu. První řádek obrázků ukazuje vstupní obrazy z první a druhé kamery pro druhou rekonstrukci. Je zde znázorněn bod, který je špatně lokalizován, jelikož si v obrazech neodpovídá. Uprostřed vlevo je zobrazena rekonstruovaná scéna bez nejistot bodů, vpravo je pak obrázek s informacemi pro řidiče. Spodní dva obrazy ukazují obrazy pro řidiče z některých dalších rekonstrukcí. 52
0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde
Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32
Matematika 1 12. přednáška MA1 1 Analytická geometrie v prostoru - základní pojmy 2 Skalární, vektorový a smíšený součin, projekce vektoru 3 Přímky a roviny 4 Vzdálenosti 5 Příčky mimoběžek 6 Zkouška;
Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s
Kapitola 13 Kvadratické formy Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru f(x 1,..., x n ) = a ij x i x j, kde koeficienty a ij T. j=i Kvadratická forma v n proměnných
Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic
Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je
ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ
ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ Parametrické vyjádření přímky v rovině Máme přímku p v rovině určenou body A, B. Sestrojíme vektor u = B A. Pro bod B tím pádem platí: B = A + u. Je zřejmé,
0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání
Michal Zamboj. December 23, 2016
Meziřádky mezi kuželosečkami - doplňkový materiál k přednášce Geometrie Michal Zamboj December 3, 06 Pozn. Najdete-li chybu, neváhejte mi napsat, může to ušetřit tápání Vašich kolegů. Pozn. v dokumentu
Michal Zamboj. January 4, 2018
Meziřádky mezi kuželosečkami - doplňkový materiál k přednášce Geometrie Michal Zamboj January 4, 018 Pozn. Najdete-li chybu, neváhejte mi napsat, může to ušetřit tápání Vašich kolegů. Pozn. v dokumentu
Derivace funkcí více proměnných
Derivace funkcí více proměnných Pro studenty FP TUL Martina Šimůnková 16. května 019 1. Derivace podle vektoru jako funkce vektoru. Pro pevně zvolenou funkci f : R d R n a bod a R d budeme zkoumat zobrazení,
(Cramerovo pravidlo, determinanty, inverzní matice)
KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce
1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.
VIII. Náhodný vektor. Náhodný vektor (X, Y má diskrétní rozdělení s pravděpodobnostní funkcí p, kde p(x, y a(x + y +, x, y {,, }. a Určete číslo a a napište tabulku pravděpodobnostní funkce p. Řešení:
vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).
Řešené příklady z lineární algebry - část 6 Typové příklady s řešením Příklad 6.: Kvadratickou formu κ(x) = x x 6x 6x x + 8x x 8x x vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých
2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2
Výpočet transformačních koeficinetů vybraných 2D transformací Jan Ježek červen 2008 Obsah Odvození transformačního klíče vybraných 2D transformací 2 Meto vyrovnání 2 2 Obecné vyjádření lineárních 2D transformací
5. Lokální, vázané a globální extrémy
5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,
Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.
4 Afinita Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe. Poznámka. Vzájemně jednoznačným zobrazením rozumíme zobrazení,
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
Funkce jedné reálné proměnné. lineární kvadratická racionální exponenciální logaritmická s absolutní hodnotou
Funkce jedné reálné proměnné lineární kvadratická racionální exponenciální logaritmická s absolutní hodnotou lineární y = ax + b Průsečíky s osami: Px [-b/a; 0] Py [0; b] grafem je přímka (získá se pomocí
9 Kolmost vektorových podprostorů
9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.
Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce
14. přednáška. Přímka
14 přednáška Přímka Začneme vyjádřením přímky v prostoru Přímku v prostoru můžeme vyjádřit jen parametricky protože obecná rovnice přímky v prostoru neexistuje Přímka v prostoru je určena bodem A= [ a1
1 Linearní prostory nad komplexními čísly
1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)
VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY
VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................
Stavový model a Kalmanův filtr
Stavový model a Kalmanův filtr 2 prosince 23 Stav je veličina, kterou neznáme, ale chtěli bychom znát Dozvídáme se o ní zprostředkovaně prostřednictvím výstupů Příkladem může býapř nějaký zašuměný signál,
Ú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í
Aplikace. Středové promítání. A s. Výpočet pohybu kamery rekonstrukcí videosekvence 3D rekonstrukce objektů 3D modelování
Aplikace Výpočet pohybu kamery rekonstrukcí videosekvence 3D rekonstrukce objektů 3D modelování Středové promítání σ A S B S...střed promítání ν...průmětna σ...centrální rovina σ π, S σ π A s B σ, neexistuje
1 Řešení soustav lineárních rovnic
1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty
ANALYTICKÁ GEOMETRIE V ROVINĚ
ANALYTICKÁ GEOMETRIE V ROVINĚ Analytická geometrie vyšetřuje geometrické objekty (body, přímky, kuželosečky apod.) analytickými metodami. Podle prostoru, ve kterém pracujeme, můžeme analytickou geometrii
PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII
PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII V úvodu analytické geometrie jsme vysvětlili, že její hlavní snahou je popsat geometrické útvary (body, vektory, přímky, kružnice,...) pomocí čísel nebo proměnných.
Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru
2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních
Soustavy linea rnı ch rovnic
[1] Soustavy lineárních rovnic vlastnosti množin řešení metody hledání řešení nejednoznačnost zápisu řešení a) soustavy, 10, b) P. Olšák, FEL ČVUT, c) P. Olšák 2010, d) BI-LIN, e) L, f) 2009/2010, g)l.
Aplikovaná numerická matematika - ANM
Aplikovaná numerická matematika - ANM 3 Řešení soustav lineárních rovnic iterační metody doc Ing Róbert Lórencz, CSc České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových
Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)
4 Lineární zobrazení Definice: Nechť V a W jsou vektorové prostory Zobrazení A : V W (zobrazení z V do W nazýváme lineárním zobrazením, pokud pro všechna x V, y V a α R platí 1 A(x y = A(x A(y (vlastnost
Aplikovaná numerická matematika
Aplikovaná numerická matematika 6. Metoda nejmenších čtverců doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních
Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:
3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...
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í
2. Schurova věta. Petr Tichý. 3. října 2012
2. Schurova věta Petr Tichý 3. října 2012 1 Podobnostní transformace a výpočet vlastních čísel Obecný princip: Úloha: Řešíme-li matematickou úlohu, je často velmi vhodné hledat její ekvivalentní formulaci
1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.
Prostá regresní a korelační analýza 1 1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Problematika závislosti V podstatě lze rozlišovat mezi závislostí nepodstatnou, čili náhodnou
1 Determinanty a inverzní matice
Determinanty a inverzní matice Definice Necht A = (a ij ) je matice typu (n, n), n 2 Subdeterminantem A ij matice A příslušným pozici (i, j) nazýváme determinant matice, která vznikne z A vypuštěním i-tého
9. T r a n s f o r m a c e n á h o d n é v e l i č i n y
9. T r a n s f o r m a c e n á h o d n é v e l i č i n y Při popisu procesů zpracováváme vstupní údaj, hodnotu x tak, že výstupní hodnota y závisí nějakým způsobem na vstupní, je její funkcí y = f(x).
Cyklografie. Cyklický průmět bodu
Cyklografie Cyklografie je nelineární zobrazovací metoda - bodům v prostoru odpovídají kružnice v rovině a naopak. Úlohy v rovině pak převádíme na řešení prostorových úloh, např. pomocí cyklografie řešíme
a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:
Řešené příklady z lineární algebry - část 1 Typové příklady s řešením Příklady jsou určeny především k zopakování látky před zkouškou, jsou proto řešeny se znalostmi učiva celého semestru. Tento fakt se
Úlohy nejmenších čtverců
Úlohy nejmenších čtverců Petr Tichý 7. listopadu 2012 1 Problémy nejmenších čtverců Ax b Řešení Ax = b nemusí existovat, a pokud existuje, nemusí být jednoznačné. Často má smysl hledat x tak, že Ax b.
Soustavy. Terminologie. Dva pohledy na soustavu lin. rovnic. Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová.
[1] Terminologie [2] Soustavy lineárních rovnic vlastnosti množin řešení metody hledání řešení nejednoznačnost zápisu řešení Definice: Necht A = (a i,j ) R m,n je matice, b R m,1 je jednosloupcová matice.
4. Statika základní pojmy a základy rovnováhy sil
4. Statika základní pojmy a základy rovnováhy sil Síla je veličina vektorová. Je určena působištěm, směrem, smyslem a velikostí. Působiště síly je bod, ve kterém se přenáší účinek síly na těleso. Směr
KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
KOMPLEXNÍ ČÍSLA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu INVESTICE
Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat
Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat Čtvercová matice n n, např. může reprezentovat: A = A A 2 A 3 A 2 A 22 A 23 A 3 A 32 A 33 matici koeficientů soustavy n lineárních
Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
Mgr. Tomáš Kotler I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 1 bod 1 Určete průsečík P[x, y] grafů funkcí f: y = x + 2 a g: y = x 1 2, které jsou definovány na množině reálných
Matematika I, část I. Rovnici (1) nazýváme vektorovou rovnicí roviny ABC. Rovina ABC prochází bodem A a říkáme, že má zaměření u, v. X=A+r.u+s.
3.4. Výklad Předpokládejme, že v prostoru E 3 jsou dány body A, B, C neležící na jedné přímce. Těmito body prochází jediná rovina, kterou označíme ABC. Určíme vektory u = B - A, v = C - A, které jsou zřejmě
z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.
KOMLEXNÍ ČÍSLA C = {a + bi; a, b R}, kde i 2 = 1 Číslo komplexně sdružené k z = a + bi je číslo z = a bi. Operace s komplexními čísly: z = a + bi, kde a, b R v = c + di, kde c, d R Sčítání Odčítání Násobení
MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]
MATICE Matice typu m/n nad tělesem T je soubor m n prvků z tělesa T uspořádaných do m řádků a n sloupců: a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij] a m1 a m2 a mn Prvek a i,j je prvek matice A na místě
Co je obsahem numerických metod?
Numerické metody Úvod Úvod Co je obsahem numerických metod? Numerické metody slouží k přibližnému výpočtu věcí, které se přesně vypočítat bud nedají vůbec, nebo by byl výpočet neúměrně pracný. Obsahem
Ú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í
VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A
VEKTORY Vektorem se rozumí množina všech orientovaných úseček, které mají stejnou velikost, směr a orientaci, což vidíme na obr. 1. Jedna konkrétní orientovaná úsečka se nazývá umístění vektoru na obr.
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
ROZ1 CVIČENÍ VI. Geometrická registrace (matching) obrazů
ROZ1 CVIČENÍ VI. Geometrická registrace (matching) obrazů REGISTRACI OBRAZU (IMAGE REGISTRATION) Více snímků téže scény Odpovídající pixely v těchto snímcích musí mít stejné souřadnice Pokud je nemají
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u
EUKLIDOVSKÉ PROSTORY
EUKLIDOVSKÉ PROSTORY Necht L je lineární vektorový prostor nad tělesem reálných čísel R. Zobrazení (.,.) : L L R splňující vlastnosti 1. (x, x) 0 x L, (x, x) = 0 x = 0, 2. (x, y) = (y, x) x, y L, 3. (λx,
Matematika B101MA1, B101MA2
Matematika B101MA1, B101MA2 Zařazení předmětu: povinný předmět 1.ročníku bc studia 2 semestry Rozsah předmětu: prezenční studium 2 + 2 kombinované studium 16 + 0 / semestr Zakončení předmětu: ZS zápočet
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
6 Samodružné body a směry afinity
6 Samodružné body a směry afinity Samodružnými body a směry zobrazení rozumíme body a směry, které se v zobrazují samy na sebe. Například otočení R(S má jediný samodružný bod, střed S, anemá žádný samodružný
Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace
Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi
1.13 Klasifikace kvadrik
5 KAPITOLA 1. KVADRIKY JAKO PLOCHY. STUPNĚ 1.13 Klasifikace kvadrik V této části provedeme klasifikaci kvadrik. Vyšetříme všechny případy, které mohou různou volbou koeficientů v rovnici kvadriky a 11
Vlastní čísla a vlastní vektory
5 Vlastní čísla a vlastní vektor Poznámka: Je-li A : V V lineární zobrazení z prostoru V do prostoru V někd se takové zobrazení nazývá lineárním operátorem, pak je přirozeným požadavkem najít takovou bázi
Náhodné chyby přímých měření
Náhodné chyby přímých měření Hodnoty náhodných chyb se nedají stanovit předem, ale na základě počtu pravděpodobnosti lze zjistit, která z možných naměřených hodnot je více a která je méně pravděpodobná.
(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,
1. V oboru celých čísel řešte soustavu rovnic (4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, kde (n) k značí násobek čísla k nejbližší číslu n. (P. Černek) Řešení. Z první rovnice dané soustavy plyne, že číslo
Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky
6. Vázané a absolutní extrémy. 01-a3b/6abs.tex Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky jednoduché, vyřešíme
Regresní analýza 1. Regresní analýza
Regresní analýza 1 1 Regresní funkce Regresní analýza Důležitou statistickou úlohou je hledání a zkoumání závislostí proměnných, jejichž hodnoty získáme při realizaci experimentů Vzhledem k jejich náhodnému
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
1 0 0 u 22 u 23 l 31. l u11
LU dekompozice Jedná se o rozklad matice A na dvě trojúhelníkové matice L a U, A=LU. Matice L je dolní trojúhelníková s jedničkami na diagonále a matice U je horní trojúhelníková. a a2 a3 a 2 a 22 a 23
Cvičení 5 - Inverzní matice
Cvičení 5 - Inverzní matice Pojem Inverzní matice Buď A R n n. A je inverzní maticí k A, pokud platí, AA = A A = I n. Matice A, pokud existuje, je jednoznačná. A stačí nám jen jedna rovnost, aby platilo,
Interpolace Uvažujme třídu funkcí jedné proměnné ψ(x; a 0,..., a n ), kde a 0,..., a n jsou parametry, které popisují jednotlivé funkce této třídy. Mějme dány body x 0, x 1,..., x n, x i x k, i, k = 0,
2. Určete jádro KerL zobrazení L, tj. nalezněte alespoň jednu jeho bázi a určete jeho dimenzi.
Řešené příklady z lineární algebry - část 3 Typové příklady s řešením Příklad 3.1: Zobrazení L: P 3 R 23 je zobrazení z prostoru P 3 všech polynomů do stupně 3 (včetně nulového polynomu) do prostoru R
Funkce pro studijní obory
Variace 1 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 Funkce je přiřazení,
Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA
Rovinné přetvoření Rovinné přetvoření, neboli, jak se také často nazývá, geometrická transformace je vlastně lineární zobrazení v prostoru s nějakou soustavou souřadnic. Jde v něm o přepočet souřadnic
1 Vektorové prostory.
1 Vektorové prostory DefiniceMnožinu V, jejíž prvky budeme označovat a, b, c, z, budeme nazývat vektorovým prostorem právě tehdy, když budou splněny následující podmínky: 1 Je dáno zobrazení V V V, které
4EK213 LINEÁRNÍ MODELY
4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 Mgr. Sekničková Jana, Ph.D. 2. PŘEDNÁŠKA MATEMATICKÝ MODEL ÚLOHY LP Mgr. Sekničková Jana, Ph.D. 2 OSNOVA PŘEDNÁŠKY Obecná formulace MM Množina
Nejdřív spočítáme jeden příklad na variaci konstant pro lineární diferenciální rovnici 2. řádu s kostantními koeficienty. y + y = 4 sin t.
1 Variace konstanty Nejdřív spočítáme jeden příklad na variaci konstant pro lineární diferenciální rovnici 2. řádu s kostantními koeficienty. Příklad 1 Najděte obecné řešení rovnice: y + y = 4 sin t. Co
Vektorové prostory R ( n 1,2,3)
n Vektorové prostory R ( n 1,2,) (Velikonoční doplněk ke cvičení LAG) Prvky kartézské mocniny R RR R jsou uspořádané trojice reálných čísel, které spolu s operacemi ( a1, a2, a) ( b1, b2, b) ( a1b1, a2
M - Příprava na 1. čtvrtletku pro třídu 4ODK
M - Příprava na 1. čtvrtletku pro třídu 4ODK Autor: Mgr. Jaromír Juřek Kopírování a jakékoliv další využití výukového materiálu povoleno pouze s odkazem na www.jarjurek.cz. VARIACE 1 Tento dokument byl
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í
Parametrická rovnice přímky v rovině
Parametrická rovnice přímky v rovině Nechť je v kartézské soustavě souřadnic dána přímka AB. Nechť vektor u = B - A. Pak libovolný bod X[x; y] leží na přímce AB právě tehdy, když vektory u a X - A jsou
1 Mnohočleny a algebraické rovnice
1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem
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.
Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,
Úlohy k přednášce NMAG a : Lineární algebra a geometrie a Verze ze dne. května Toto je seznam přímočarých příkladů k přednášce. Úlohy z tohoto seznamu je nezbytně nutné umět řešit. Podobné typy úloh se
7.5.3 Hledání kružnic II
753 Hledání kružnic II Předpoklady: 750 Pedagogická poznámka: Tato hodina patří mezi vůbec nejtěžší Není reálné předpokládat, že by většina studentů dokázala samostatně přijít na řešení, po čase na rozmyšlenou
10. N á h o d n ý v e k t o r
10. N á h o d n ý v e k t o r 10.1. Definice: Náhodný vektor. Uspořádanou n tici (X 1, X 2,..., X n ) náhodných veličin X i, 1 i n, nazýváme náhodným vektorem. Poznámka: Pro jednoduchost budeme zavádět
10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.
0 cvičení z PST 5 prosince 208 0 (intervalový odhad pro rozptyl) Soubor (70, 84, 89, 70, 74, 70) je náhodným výběrem z normálního rozdělení N(µ, σ 2 ) Určete oboustranný symetrický 95% interval spolehlivosti
CVIČNÝ TEST 37. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15
CVIČNÝ TEST 37 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Na staré hliněné desce je namalován čtverec
CVIČNÝ TEST 35. 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 35 Mgr. Tomáš Kotler OBSAH I. Cvičný test II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST 1 Vypočtěte [( 3 3 ) ( 1 4 5 3 0,5 ) ] : 1 6 1. 1 bod VÝCHOZÍ TEXT K ÚLOZE
Detekce kartografického zobrazení z množiny
Detekce kartografického zobrazení z množiny bodů Tomáš Bayer Katedra aplikované geoinformatiky Albertov 6, Praha 2 bayertom@natur.cuni.cz Abstrakt. Detekce kartografického zobrazení z množiny bodů o známých
CVIČNÝ TEST 36. 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 36 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 1 Určete iracionální číslo, které je vyjádřeno číselným výrazem (6 2 π 4
2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC
.6. VLASTNÍ ČÍSLA A VEKTORY MATIC V této kapitole se dozvíte: jak jsou definována vlastní (charakteristická) čísla a vektory čtvercové matice; co je to charakteristická matice a charakteristický polynom
Numerická matematika 1
Numerická matematika 1 Obsah 1 Řešení nelineárních rovnic 3 1.1 Metoda půlení intervalu....................... 3 1.2 Metoda jednoduché iterace..................... 4 1.3 Newtonova metoda..........................
Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29
Matematika 1 11. přednáška MA1 1 Opakování 2 Determinant 3 Adjungovaná matice 4 Cramerovo pravidlo 5 Vlastní čísla a vlastní vektory matic 6 Zkouška; konzultace; výběrová matematika;... 11. přednáška (15.12.2010
Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)
1. Lineární diferenciální rovnice řádu n [MA1-18:P1.7] rovnice typu y n) + p n 1 )y n 1) +... + p 1 )y + p 0 )y = q) 6) počáteční podmínky: y 0 ) = y 0 y 0 ) = y 1 y n 1) 0 ) = y n 1. 7) Věta 1.3 : Necht
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy
Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:
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
= cos sin = sin + cos = 1, = 6 = 9. 6 sin 9. = 1 cos 9. = 1 sin 9. + 6 cos 9 = 1 0,939692621 6 ( 0,342020143) = 1 ( 0,342020143) + 6 0,939692621
ŘEŠENÉ PŘÍKLADY Z MA+ULA ČÁST Příklad Bod má vůči souřadné soustavě souřadnice uvedené níže. Vypočtěte jeho souřadnice vzhledem k soustavě, která je vůči otočená dle zadání uvedeného níže. Výsledky zaokrouhlete
2. prosince velikosti symboly a, b, je b ω a b = a b cosω (1) a. ω pro ω π/2, π platí a b = b a a (3) a b = a 1 b 1 + a 2 b 2 + a 3 b 3 (5)
Vektorové prostory se skalárním součinem 2. prosince 25 1 Skalární součin geometrických vektorů Skalární součin geometrických vektorů je definován jako součin jejich velikostí násobený kosinem jejich odchylky.