VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Faulta informačních technologií DIPLOMOVÁ PRÁCE Brno 2002 Igor Potúče
PROHLÁŠENÍ: Prohlašuji, že jsem tuto diplomovou práci vypracoval samostatně pod vedením Ing. Martina Fědora. Uvedl jsem všechny literární prameny a publiace, ze terých jsem čerpal. V Brně dne 3.6.2002 podpis
PODĚKOVÁNÍ: Děuji vedoucímu diplomové práce Ing. Martinu Fědorovi za velmi užitečnou metodicou pomoc a cenné rady při zpracování diplomové práce.
ABSTRAKT V této práci se zabývám sledováním pohybu objetů se stejným vzhledem v sevenci snímů. V úvodu je proveden rozbor metod pro sledování pohybu v obraze a identifiaci trajetorie pohybujícího se objetu. Je zde popsán algoritmus pro sledování trajetorií pohybujících se bodů, přičemž tyto objety mohou mizet, objevovat se na jiných místech, nebo může docházet jejich přerývání. Určování orespondencí mezi jednotlivými body je prováděno na záladě zpětného vyhodnocování vznilých hypotéz. Pro sledování trajetorií využívá algoritmus predice příští polohy objetu. Jao nástroj pro predici je zvolen Kalmanův filtr, terý je výhodný z hledisa své reurzivní strutury. Dále je zde popsán algoritmus pro spojování orespondujících trajetorií pomocí extrapolace hodnot. Na závěr je uvedeno zhodnocení popsaných algoritmů testovaných na vybraných sevencích. KLÍČOVÁ SLOVA Identifiace trajetorie, Kalmanův filtr, predice pohybu, určování orespondence objetů, prediční strom, zpětné vyhodnocování, extrapolace trajetorie, spojitost, segmentace obrazu.
ABSTRACT This paper describes the way to determine trajectory of moving simple objects - toens in a picture sequence. Modified Kalman filter is used to predict and identify their trajectory. Presented approach resolves trajectory ambiguities, a case when the number of toens is large and their speeds and accelerations vary. Correspondence problem is determined between two or more consecutive frames based on toens similarity. Traced objects may vanish, appear at a new position and/or mutually occlude each other. Bactracing is used to solve these problems. KEY WORDS Trajectory identification, target tracing, Kalman filter, movement prediction, motion correspondence problem, prediction trees, bactracing, continuity, picture segmentation.
OBSAH 1. ÚVOD...9 1.1. PŘEHLED POUŽÍVANÝCH METOD...10 1.2. SLEDOVÁNÍ VĚTŠÍHO MNOŽSTVÍ POHYBUJÍCÍCH SE OBJEKTŮ...12 2. EXTRAKCE OBJEKTŮ Z OBRAZU...15 2.1. PROBLÉMY PŘI EXTRAKCI OBJEKTŮ...16 3. URČENÍ KORESPONDENCE...18 3.1. PROBLÉMY KORESPONDENCE OBJEKTŮ...19 4. KALMANŮV FILTR PRO PREDIKCI POLOHY...22 4.1. APLIKACE KALMANOVA FILTRU NA POHYB OBJEKTŮ...22 4.2. INICIALIZACE KALMANOVA FILTRU...24 4.2.1. Kovarianční matice a matice chyb...24 4.3. VÝPOČET ZLEPŠENÍ...25 4.4. MAXIMÁLNÍ ODCHYLKA OD PREDIKOVANÉ HODNOTY...26 4.5. VÝPOČET ZISKU A AKTUALIZACE STAVOVÉHO VEKTORU...26 4.6. VÝPOČET KOVARIANČNÍ MATICE...27 4.7. MANÉVROVACÍ MATICE...28 4.8. POSTUP VÝPOČTU...29 5. IDENTIFIKACE TRAJEKTORIE...32 5.1. OHODNOCENÍ TRAJEKTORIÍ...33 5.2. PŘIŘAZENÍ OBJEKTŮ HYPOTÉZÁM...33 5.3. IMPLEMENTACE PREDIKCE...34 5.4. PREDIKČNÍ STROM...36 5.5. PROŘEZÁVÁNÍ STROMU...36 5.6. ROZBOR PROBLÉMŮ MIZENÍ A OBJEVOVÁNÍ...39 5.6.1. Objevení objetu...40 5.6.2. Mizení objetu...41 5.7. PROBLÉMY PŘI SLEDOVÁNÍ TRAJEKTORIÍ...43 6. SPOJOVÁNÍ TRAJEKTORIÍ...45 6.1. SPOJITOST...47 6.2. IMPLEMENTACE SPOJENÍ TRAJEKTORIÍ...48 6.3. PROBLÉMY PŘI EXTRAPOLACI...49 7. ROZBOR A VYHODNOCENÍ CHOVÁNÍ ALGORITMŮ...51 7.1. VLASTNOSTI PARAMETRŮ KALMANOVA FILTRU...52 7.2. ODCHYLKY OD PREDIKOVANÉ HODNOTY...56 7.3. VELIKOST PREDIKOVANÉ OBLASTI...58 7.4. EXTRAPOLACE HODNOT...60
7.5. SEKVENCE POHYBU ČLOVĚKA...62 8. ZÁVĚR...65 9. SEZNAM POUŽITÉ LITERATURY...67 10. SEZNAM PŘÍLOH...69
1. Úvod 1. Úvod V oblasti počítačového vidění se v posledních letech zaměřil výzum na vývoj efetivních postupů a algoritmů pro sledování pohybu objetů. Využití je v široé oblasti od systémů pro sledování dopravy, v letecém průmyslu při sledování pohybu letadel, v armádním průmyslu pro navádění střel, navádění satelitů nebo sledování miroorganismů pod mirosopem. Tyto systémy se snaží přebírat větší část zpracování a vyhodnocování dat. Z tohoto důvodu je laden velý důraz na vývoj efetivních algoritmů pro sledování pohybu. Existuje velé množství způsobů sledování pohybu, teré se navzájem od sebe liší vlastnostmi sledovaných obrazů, způsobem snímání obrazů, cílem sledování pohybu a dalšími aspety. Tyto techniy využívají apriorních znalostí při řešení onrétních úloh. Taové informace (např. předpoládaný tvar, veliost a prostorové uspořádání objetů, přípustný stupeň řivosti jejich hranic, znalosti o způsobu chování objetů apod.) slouží při zpracování obrazu jao omezující podmíny, případně jao vazby v optimalizaci. Jiným onceptem je rozsáhlé uplatňování heuristicých, intuitivně navržených postupů využívajících zušenost, v ombinaci s formalizovanými metodami. V této práci jsem se zaměřil na sledování pohybu objetů se stejným vzhledem. Cílem je identifiovat trajetorie znače připevněných na lidsém těle. Sledovanou sevencí je nasnímaný pohyb člověa jednou amerou. Značy jsou zobrazeny v sledované sevenci jao bílé pohybující se body. Hlavním a nejompliovanějším problémem je zde určování orespondencí mezi objety. Nicméně většina prací poládala problém určování orespondence za jednoduchý a využívala strategie nejbližšího následnía. V mnoha případech je vša tato strategie nedostačující, jeliož mohou vzniat mnohoznačná přiřazení. Při sledování objetů s odlišným vzhledem lze tento problém částečně řešit využitím techni zjištění vlastností pozorovaných objetů a jejich porovnáním. V případě, dy mají všechny pozorované objety stejný vzhled, musíme použít jiný postup. Při sledování a analýze pohybu objetů v obraze využívám pozorování v závislosti na něolia po sobě jdoucích snímcích. Tento způsob se používá většinou při sledování pohybu objetů ve 3D scéně snímané jednou amerou, ja je tomu i v našem případě. Součástí této metody je predice příští polohy objetu realizovaná pomocí Kalmanova filtru. Při pohybu objetů vša může dojít následujícím problémům, teré je nutné vyřešit. Objety se mohou - 9 -
1. Úvod při pohybu přerývat nebo mizet a objevovat se na jiných místech. Vlivem těchto problémů se zvyšuje náročnost a složitost algoritmů na určování vzájemných orespondencí. V této práci je proveden rozbor problémů, teré se vysytují při sledování trajetorií a popis jejich řešení. V úvodu jsou popsány techniy, využívané při sledování objetů. Další část práce je oncipována chronologicy v pořadí řešení problému sledování objetů. Na onci aždé apitoly jsou uvedeny problémy a jejich možná řešení, teré se vysytují u dané problematiy. Na závěr je provedeno vyhodnocení chování implementovaných metod a zhodnoceny výhody a nevýhody jejich použití. Tato práce navazuje jen na semestrální projet, ve terém byly rozebrány metody a postupy obecného sledování pohybu objetů a provedena apliace Kalmanova filtru na predici pohybu. 1.1. Přehled používaných metod Techniy detece pohybu můžeme rozdělit podle způsobu snímání obrazu na : Zpracování sterea tato metoda pracuje na principu stereovize. Zpracovává dvě sevence obrazů, snímané jao oddělené obrazy (levý a pravý) jedné snímané scény. Využívá pa drobné odlišnosti v obou obrazech. Tímto způsobem snímání zísáme třídimensionální obraz snímané scény. V současné době se používá sledování scény více než dvěma amerami. Zpracování jedné sevence snímů metoda zpracovává dva a více snímů zísané jednou amerou. Většinou snímy představují snímanou 3D scénu transformovanou na 2D obraz. Metody se mohou od sebe lišit způsobem práce s obrazem. Např. metody pracující s celým obrazem, jao je metoda detece ativity, terá je záladním elementem detece pohybu. Představuje jednoduše porovnání dvou snímů. Druhým typem jsou metody, teré vyhledají v obrazech jednotlivé objety, se terými dále pracují. U těchto techni je důležité vybrat vhodné parametry, podle terých se deteují objety v obraze. Objetové techniy jsou obecně méně citlivé na fotometricé změny v obrazech a jsou rychlejší při hledání orespondencí [17]. Jejich nevýhodou je nědy obtížné a časově náročné vyhledávání jednotlivých objetů. U objetových techni se využívá při hledání orespondencí různých vlastností : Podobnost objety sledované z různých míst mají podobné charateristiy. - 10 -
1. Úvod Jednoznačnost - jeden objet v jednom snímu má maximálně jeden obraz ve druhém snímu. Spojitost posunutí objetu mezi dvěma snímy se nemění soově, ale spojitě, tzn. objet (amera) se pohybuje po hladé řivce. Při hledání orespondencí využíváme různé techniy pro nalezení nejlepšího andidáta. U příznaových metod jsou obrazy předmětů reprezentovány n-rozměrnými vetory číselných příznaů. Každý vetor jednoznačně určuje bod v n-rozměrném obrazovém prostoru. Metody lasifiace pa vycházejí z předpoladu, že body obrazů předmětů jednotlivých tříd leží v obrazovém prostoru blízo sebe, neboli že v obrazovém prostoru vytvářejí shluy. Korelační techniy využívají porovnání obrazových funcí všech možných andidátů s obrazovou funcí původního objetu. Jao nejlepšího andidáta vybereme toho, jehož obrazová funce se shoduje nebo se nejvíce blíží obrazové funci původního objetu. Relaxační techniy procházejí všechny objety Ke aždé dvojici určí míru pravděpodobnosti, že objet p i z prvního obrazu a p j z druhého obrazu. p i oresponduje s objetem Následovně provádíme opravy těchto hodnot na záladě vlastností sousedních bodů. Metody dynamicého programování využívají rozdělení obrazů pomocí mřížy. Tu tvoříme proládáním příme v prvním obraze, teré odpovídají přímám v druhém obraze. Úolem je nalezení spojnice průsečíů, s minimálním ohodnocením na záladě podobnosti oolí. Dalším ritériem při sledování pohybu objetů je změna tvaru (vzhledu) v čase. Podle toho dělíme techniy na dvě záladní supiny : Sledování pevných objetů. Sledování proměnlivých objetů. U první supiny si objety zachovávají svůj tvar v čase během celé sevence snímů. U druhé supiny dochází při sledování pohybu e změně tvaru obrazu objetu. Nebere se vša v úvahu změna, terá je způsobena různou polohou objetu vůči ameře. Příladem první supiny je sledování objetů vybavení anceláře stůl, židle, počítač a jiné. Naopa příladem proměnlivých objetů mohou být obrysy pohybujícího se člověa nebo ontura pohybujících se rtů. p j. - 11 -
1. Úvod 1.2. Sledování většího množství pohybujících se objetů Problém sledování velého množství objetů je dán prostorovou blízostí pohybujících se objetů, přičemž musíme určit, teré objety náleží pozorovaným trajetoriím. Použití vybraných metod sledování pohybu objetů závisí na následujících schopnostech : Schopnost rozlišit mezi zísanými hodnotami sutečných objetů a chybami vznilými při extraci objetů. Schopnost určit správné orespondence mezi objety a spojit je do výsledných trajetorií. Rozlišujeme dva typy metod při zpracování trajetorií podle způsobu, jaým provádí zpracování zísaných dat : Hromadné zpracování : všechny pozorované objety zpracováváme společně, poud se nevysytuje mizení objetů, je tato technia ideální. Reurzivní zpracování : data zísaná při posledním zpracování budou použita atualizaci předchozích výsledů. Při sledování pohybu objetů se výzum zaměřil na nejdůležitější problém a to určování orespondencí. Jeliož při vyhodnocování orespondencí je zpracováváno velé množství andidátů, byly vyvinuty apliace algoritmů využívající statisticé zpracování dat. Apriorní znalosti použité ve statisticých modelech se neliší mezi různými objety. Tyto metody jsou citlivé na nastavení jednotlivých parametrů, např. u predice Kalmanovým filtrem. Výhodou těchto metod je využití sledování pohybu objetů v závislosti na něolia snímcích, což je důležité při sledování objetů se stejným vzhledem a při výsytu velého množství objetů v pozorované sevenci. Z tohoto důvodu vša vzniá početní závislost, terá s přibývajícími objety exponenciálně roste. Koncem 90. let byla zaměřena pozornost na dva algoritmy : Multiple hypothesis tracing (MHT) od D.B.Reida [9] a Joint probabilistic data-association filter (JPDAF) od Bar-Shaloma [5]. Ačoliv jsou tyto dva algoritmy odlišné zcela svou myšlenou, mají společné dvě části. První z nich je testování měření v pořadí vývoje asociační cenové matice. Nenulový vstup d, indiuje, že naměřená hodnota z i odpovídá i j cílovému objetu y i, de hodnota d, představuje cenu přiřazení z i objetu i j y i. Druhou částí je, že oba algoritmy potřebují výpočet všech legálních přiřazení. Každé přiřazení - 12 -
1. Úvod nazýváme hypotézou, terá obsahuje cenu přiřazení. Tato cena je vypočtena z pravděpodobnostní hodnoty zísané v předchozích výpočtech. Algoritmus JPDAF provádí atualizaci filtru pro aždou dráhu založenou na spojené pravděpodobnosti asociace mezi poslední množinou měření a aždou trajetorií. Je vhodný pro sledování změti pohybujících se objetů. Dobrých výsledů se vša dá dosáhnout zanedbáním hypotéz s nízou pravděpodobností a výběrem množiny -nejlepších. Danchic a Newman [8] připustili, že nalezení nejlepších hypotéz lze formulovat jao lasicý problém lineárního přiřazení. Chang a Aggarwal [7] apliovali JPDA filtr na problém 3D reonstruci strutury v pohybové sevenci. Nicméně tento algoritmus je vhodný jen pro pevný počet objetů, terý zůstává zachován po celou dobu sevence. Zhang a Faugeras [1] použili Trac splitting filter od Smithe a Beuchlera, terý je podobný algoritmu MHT a terý využívá stromy a zpožděné vyhodnocení. Nicméně tato metoda dovoluje sdílení objetů v jednotlivých snímcích různými trajetoriemi, což bývá v mnoha případech nerealisticé. Racionálnější ta připadá přiřazení objetu vždy jen jedné trajetorii. Určování orespondencí se ta stává rozdělením jednotlivých objetů ve snímcích do disjuntních množin. Další možností, ja řešit problém určení orespondence, je využít heuristicé metody. Deterministicé algoritmy jsou mnohem jednodušší a obsahují méně parametrů. Místo funce hustoty pravděpodobnosti jsou použity valitativní heuristiy pohybu, teré jsou využívány odstranění možných trajetorií a identifiaci optimálních množin trajetorií. Využívají přitom valitativní popis jao vyhlazenost a tuhost pohybu nebo vzdálenost od optimální dráhy. Nejpoužívanějším známým algoritmem je greedy exchange algorithm, terý iterativně optimalizuje ritérium loálního vyhlazeného pohybu zprůměrňovaného přes všechny objety v sevenci. Výhodou tohoto algoritmu je jednoduché začlenění omezení jao je maximální rychlost nebo maximální odchyla od vyhlazeného pohybu, teré zvyšují valitu vyhodnocení. Chetveriov [10] provedl ve své práci shrnutí 5 algoritmů, teré využívají heuristicých metod pro určení trajetorií. Tyto algoritmy využívají vyhlazený pohyb jao předpolad pro ohodnocení cenové funce definované pro tři body ve třech po sobě jdoucích snímcích. Liší se od sebe svými schopnostmi řešit problémy mizení, objevování a přerývání objetů při pohybu, což je shrnuto v tabulce (Tab. 1.1 : Souhrn vlastností). - 13 -
1. Úvod Algoritmus Schopnosti Samo inicializující Přerušení Zmizení Objevení Sethi & Jain SJ87 Salari & Sethi SS90 Rang. & Shah RS91 Hwang HW89 IPAN Tracer IP97 Tab. 1.1 : Souhrn vlastností Jednotlivé vlastnosti jsou ohodnoceny následovně : + vyjadřuje výsyt, - vyjadřuje absenci, ± omezená schopnost. Podrobnější porovnání těchto algoritmů naleznete v literatuře [10]. Obecný popis sledování pohybu objetů za použití predice je obsažen v literatuře od Faugerase [1]. - 14 -
2. Extrace objetů z obrazu 2. Extrace objetů z obrazu Prvním roem při sledování objetů v sevenci je extrace objetů z jednotlivých snímů. Cílem je deteovat všechny objety ve snímu a určit jejich polohu, popřípadě i další vlastnosti jao je obsah, řivost, textura apod. Jednou z nejpoužívanějších metod při rozdělení obrazu na objety je prahování viz. literatura [13], [14]. Prahování je účinný způsob segmentace pro scény obsahující předměty na onstantním pozadí. Výpočetně je nenáročné a vždy zachovává spojitost oblastí v uzavřených spojitých hranicích. Tato metoda odděluje objet od pozadí přidělením dvou hodnot jasů. Jedním jasem je interpretováno pozadí a druhým jasem objety v obraze. Pro rozdělení obrazu na dvě hodnoty je nutné znát prahovou hodnotu. V histogramu můžeme nalézt i dvě prahové hodnoty, podle terých rozdělíme obraz na dvě supiny objetů a pozadí. Najít pravidlo pro určení, zda je histogram bimodální, není jednoduché, protože neumíme vždy jednoznačně rozhodnout o významu loálních maxim a minim. Záladní postup při vyhledávání prahové hodnoty je následující : 1. Určíme minimální vzdálenost d pro jasové úrovně. 2. Najdeme dvě největší loální maxima v histogramu, teré jsou od sebe vzdálené nejméně d. 3. Mezi těmito maximy najdeme minimum, teré označíme jao práh. Jamile známe hodnotu prahu, můžeme převést obraz na dvouúrovňový sníme. Úrovním větším než práh přidělíme hodnotu L a úrovním menším než práh přidělíme hodnotu H. Nyní nám body označené jednou hodnotou představují extrahované objety a zbylé body představují pozadí, čímž jsme docílili oddělení objetů od pozadí. Prahování je účinné, mají-li sledované objety stejnou vnitřní úroveň barvy, terá se vša odlišuje od úrovně barvy pozadí. Liší-li se objety od pozadí jinou vlastností než úrovní barvy, např. texturou, je obvyle výhodné vhodnou operací převést tuto vlastnost na úroveň barvy. V dalším rou provádíme extraci objetů z obrazu. Existuje více způsobů ja zjistit polohu objetů a jejich vlastnosti, teré využijeme při určení orespondence objetů. Jedním z nich je procházet obraz po řádcích. Narazíme-li na bod o úrovni, terá nám představuje objet, spustíme z tohoto bodu semínový algoritmus testování. Tento algoritmus testuje oolní body zadaného bodu, zda patří objetu. Podle počtu testovaných bodů dělíme - 15 -
2. Extrace objetů z obrazu algoritmy na testování 4-oolí nebo 8-oolí viz. obráze (Obr. 2.1 : Oolí bodu). Druhý algoritmus má výhodu v prohledávání i rohových bodů. 4-oolí 8-oolí Obr. 2.1 : Oolí bodu Výstupem semínového algoritmu je množina všech bodů patřící danému objetu, představovaného plochou bodů o dané úrovni. Z této množiny pa určíme souřadnice těžiště objetu zprůměrňováním souřadnic bodů objetu : x 1 = n T x i n i= 1 a y 1 = n T y i n i= 1, (2.1) de x i a y i jsou souřadnice bodů, teré připadly objetu a n představuje celový počet bodů objetu. Z těchto bodů pa můžeme dále zjistit obvod, obsah, tvar a jiné vlastnosti objetu, teré můžeme dále využít jao pomocný nástroj při určování orespondencí. 2.1. Problémy při extraci objetů Nasnímaný pohyb člověa je pořízen v temné místnosti, přičemž značy jsou nasvíceny ultrafialovým světlem z důvodu potlačení vlivu oolí a vyninutí znače. Značy po nasnímání amerou vša obsahují různé stupně odstínů bílé barvy a při nízém prahu se rozpadají, tzn. jejich orajové body vytvářejí samostatné objety. Při nastavení vysoého prahu vša v obraze přibývají chybné objety. Vliv na vzhled objetů mají i omprimované AVI sevence. Při omprimaci tvoří vyšší stupně odstínu barvy objetu rušivé oolí. Proto je výhodné práh nastavit ručně pro onrétní sevenci. Další problém při snímání pohybu vzniá nedoonalostí snímacího zařízení, dy rychle pohybující značy vytvářejí ve snímu protažený objet. Tento problém vzniá příliš dlouhou expozicí v jednotlivých snímcích viz. obráze (Obr. 2.2 : Rozmazání objetu rychlým pohybem). - 16 -
2. Extrace objetů z obrazu Obr. 2.2 : Rozmazání objetu rychlým pohybem Nedošlo-li při rozmazání přerytí s jinými objety, je objet deteován jao jeden, i dyž má větší objem. Jeho těžiště vša může být vlivem rozmazání a zvětšení objemu posunuté. Dojde-li vša vlivem rozmazání e spojení objetů, nedoážeme rozlišit u olia objetů došlo e splynutí a jaým podílem působí rozmazaný objet. V apitole 5.7 je popsán problém při přerývání objetů, jehož řešením je detece splynutí pomocí objemu objetu. V tomto případě je vša metoda neúčinná a nedoážeme rozlišit na záladě objemu zda došlo rozmazání objetu či přerytí. - 17 -
3. Určení orespondence 3. Určení orespondence Při sledování pohybu objetů potřebujeme určit trajetorie, po terých se objety pohybují. Tyto trajetorie se sládají z poloh jednotlivých objetů v jednotlivých snímcích. V našem případě je problém určování orespondence zaměřen na případ, dy mají všechny sledované objety stejný vzhled. Z tohoto důvodu nemůžeme při určování orespondencí Sníme 1 Sníme 2 Sníme 3 Obr. 3.1 : Korespondence objetů využít vlastností objetů. Kdybychom předpoládali, že všech M objetů se bude vysytovat v n snímcích, byl by počet všech možných trajetorií roven ( M!) n 1. Mezi těmito trajetoriemi se nachází uniátní trajetorie, teré popisují sutečný pohyb objetů. Abychom mohli tyto trajetorie identifiovat, potřebujeme mít znalosti o pohybu objetů. Tyto znalosti zísáme z dosavadního chování objetu. Z poloh v jednotlivých snímcích jsme schopni vypočítat rychlost a zrychlení sledovaného objetu. Při sledování pohybu vycházíme většinou z předpoladu vyhlazeného pohybu objetů. Tímto předpoladem můžeme vyloučit trajetorie, teré z fyziálního hledisa nemají význam. Cílem je pa aždému objetu ve snímu t přiřadit jeho orespondující objet v následujícím snímu t+1 viz. obráze (Obr. 3.1 : Korespondence objetů). Pro pozorované objety vytvoříme stavový vetor pohybu a vybereme vhodný inematicý model, terý nejlépe popisuje jeho změny v čase viz.apitola 4.1. S pomocí zvolených modelů předpovíme polohu v následujícím snímu t+1 a vypočteme pravděpodobnost této předpovědi. Pravděpodobnost pa slouží určení oblasti olem předpověděné pozice X ) t+ 1 viz obráze (Obr. 3.2 : Prediovaná oblast). Oblast bývá většinou - 18 -
3. Určení orespondence ruh o poloměru r. V této oblasti se mohou nacházet andidátní objety Y t+ 1. Z této množiny andidátů pa vybereme jednoho nejlepšího, terý bude reprezentovat orespondující objet X t+1. X t X ) t+1 r Y X t+ 1 t+ 1 Y t+1 Y t+1 Obr. 3.2 : Prediovaná oblast 3.1. Problémy orespondence objetů Během pohybu objetů v sevenci mohou nastat následující případy : Objety se mohou při pohybu vzájemně přerývat. Objety mohou v sevenci mizet a objevovat se na jiných místech. V sledované sevenci snímů se může pohybovat větší množství objetů, čímž vzniá problém víceznačného přiřazení. Chyby při snímání obrazu amerou objety mohou při rychlejším pohybu zanechávat stopu svého obrazu a tím vzniají ve snímcích lamně nové objety. Chyby při extraci objetů z obrazu. Pozorujeme-li projeci objetů z 3D scény ve 2D obraze mohou nastat případy, dy dojde přerytí sledovaných objetů jinými objety ve scéně. Situace mizení a objevování objetů je znázorněna na obrázu (Obr. 3.3 : Přerývání). Pozorovaným objetem je rotující rychle. Bod A je viditelný na všech třech snímcích na rozdíl od bodu B, terý je viditelný jen - 19 -
3. Určení orespondence v prvním snímu, v druhém a třetím snímu je neviditelný. Bod C, terý není vidět na prvním a druhém snímu, se objeví až na třetím snímu. Sníme 1 Sníme 2 Sníme 3 B C A A A Obr. 3.3 : Přerývání Dalším typem přerytí, teré může nastat a není zobrazeno na obrázu je přerytí v případě, dy oba objety leží na stejné přímce procházející středem promítání. Na obrázu (Obr. 3.4 : Nejednoznačnost přiřazení objetů) jsou dva snímy, teré obsahují stejné objety. U těchto objetů nejsme schopni určit na záladě dvou snímů jejich orespondence a dochází tu problému nejednoznačnosti přiřazení. Tento problém můžeme vyřešit, máme-li dispozici větší počet snímů, de je pa orespondenci z ontextu možné vyvodit. Sníme 1 Sníme 2 Obr. 3.4 : Nejednoznačnost přiřazení objetů - 20 -
3. Určení orespondence Vysytuje-li se v obraze příliš velé množství objetů, může dojít problému přeplnění. Existuje zde totiž velá pravděpodobnost výběru nesprávného andidáta, jeliož mohou být v tomto případě andidáti blízo u sebe. Řešením je vhodné nastavení parametrů použité pro predici a ta minimalizovat oolí prediované pozice objetu. Toto řešení vša nemusí být dostačující, a proto se využívá navíc zpožděného vyhodnocení, teré je popsáno v apitole 5. Další problémy se mohou vysytnout, jestliže je pohyb objetu nerovnoměrný, nebo se pohybuje ta rychle, že změna polohy mezi snímy je příliš velá. To způsobuje problémy při predici nové polohy objetu. Proto něteré metody požadují pro správnou predici polohy objetu vyhlazený pohyb s dostatečně malými rozdíly změny polohy při pohybu. - 21 -
4. Kalmanův filtr pro predici polohy 4. Kalmanův filtr pro predici polohy Kalmanův filtr je adaptivní filtr používaný modelování stavů disrétního dynamicého systému. Tato technia byla vyvinuta v 60tých letech filtraci šumu v eletricých signálech, ale později našla uplatnění i v sledování objetů v apliacích počítačového vidění. Výhodou tohoto filtru je jeho reurzivní strutura, přičemž jeho oeficienty se v aždém rou upravují na záladě dostupné informace ta, aby posytly optimální odhad budoucího stavu. Nový filtr v aždém rou vzniá opravou filtru z rou předcházejícího na záladě nově přišlé informace, aniž by bylo třeba pamatovat všechny předchozí hodnoty vstupních parametrů. U Kalmanova filtru můžeme využít stavové reprezentace, terá umožňuje vytvářet systémy vyšších řádů jao simultánně pracující soustavu vzájemně vázaných systémů prvního řádu. 4.1. Apliace Kalmanova filtru na pohyb objetů Pohyb objetu můžeme specifiovat polohou x(t), rychlostí v(t) a zrychlením a(t), což popíšeme následujícími diferenciálními rovnicemi : dx( t) v( t) = x& ( t) =, (4.1) dt dv( t) a( t) = v& ( t) =. (4.2) dt Pozice objetu a rychlost jsou uloženy ve stavovém vetoru. Tento vetor obvyle obsahuje první derivace jeho omponent. Abychom popsali pohyb objetu doonale i pro případ změny zrychlení, bude obsahovat stavový vetor polohu x, rychlost v a zrychlení a. x x = v x&. (4.3) a && x Vzhledem zvolenému stavovému vetoru použijeme následující rovnice, teré popisují pohyb objetu : x(t+t) = x(t) + v(t) * T + 1 at 2, (4.4) 2 v(t +T) = v(t) + a(t) * T. (4.5) - 22 -
4. Kalmanův filtr pro predici polohy - 23 - Pro naši soustavu přepíšeme rovnice pohybu následovně a dostaneme stavovou rovnici: ) ( ) ( ) ( ) ( t t T T t w x x + = Φ +, (4.6) + = + + + ) ( ) ( ) ( ) ( ) ( ) ( * 1 0 0 1 0 2 1 ) ( ) ( ) ( 3 2 1 2 t w t w t w t x t x t x T T T T t x T t x T t x && & && &. (4.7) de T představuje ro vzorování, nebo-li časový úse mezi naměřenými hodnotami polohy objetu. Pro danou stavovou rovnici (4.6) a stavový vetor se třemi hodnotami (4.3) má rozšiřující matice tvar : = Φ 1 0 0 1 0 2 1 ) ( 2 T T T T. (4.8) Naměřené hodnoty obvyle obsahují méně informace než stavový vetor. Při sledování pohybu objetu budeme mít dispozici jen informaci o jeho poloze x(t). Stavový vetor naměřených hodnot má vša stejný tvar jao stavový vetor využívající Kalmanův filtr. Z tohoto důvodu musíme provést transformaci vstupní polohy pro stavový vetor obsahující polohu, rychlost a zrychlení : ) ( ) ( ) ( t v t Hx t y + =. (4.9) Pro transformaci využijeme matici H, terá má pro náš případ tvar : 0) 0 = (1 H. (4.10) Po dosazení do rovnice (4.9) dostaneme : ( ) ) ( ) ( ) ( ) ( * 0 0 1 ) ( t v t x t x t x t y + = && &, (4.11) přičemž měření je zresleno hodnotou v(t).
4. Kalmanův filtr pro predici polohy Předpoládáme-li, že v(t) a w(t) se chovají jao náhodný proces s charaterem bílého šumu s nulovou střední hodnotou, bude mít ovarianční matice tvar : T w( t) w( t) Q 0 ε =. (4.12) v( t) v( t) 0 R Matice Q představuje manévrovací šum : Matice R představuje šum měření : T [ ( ) w( t ] Q ( t) = E w t ). (4.13) T [ ( t) v( t ] R ( t) = E v ). (4.14) V další části budeme vyjadřovat hodnoty prvů v čase t pomocí indexů. 4.2. Inicializace Kalmanova filtru Na počátu sledování objetu (čas t = 0) máme dispozici hodnotu polohy objetu a tedy jeho stavový vetor. Nemáme žádné poznaty o chování objetu v předchozím čase, a proto musíme nastavit počáteční hodnoty matic šumů a Kalmanova zisu s ohledem na tuto sutečnost. V dalších rocích Kalmanova filtru se hodnoty postupně upraví. Při pozorování počátečního snímu máme dispozici informace jen o poloze objetu x(0), stavový vetor bude tedy vypadat následovně : x(0) 0 0. (4.15) 4.2.1. Kovarianční matice a matice chyb Odhady chyb (nejistoty) udržujeme v ovarianční matici označené jao P. Matice tedy obsahuje ovariance naměřených a odhadnutých hodnot. Při inicializaci nastavíme hodnoty λ i na diagonále matice na velmi velá čísla, jeliož neznáme dosavadní chování sledovaného objetu. Velé hodnoty prvů ovarianční matice představují nedůvěru v naměřené hodnoty a filtr se ta bude přilánět značnou mírou prediovaným hodnotám. - 24 -
4. Kalmanův filtr pro predici polohy Nastavením dostatečně velých hodnot zajistíme předpolad, že změna polohy v příštím snímu bude malá. Počáteční ovarianční matice má pa následující tvar : r11 0 0 P = 0 λ1 0. (4.16) 0 0 λ 2 Diagonály představují disperze omponent stavového vetoru. Hodnota r 11 je chyba měření, tedy nepřesnost měřené polohy objetu. Každé měření může mít nějaou náhodnou chybu. Matice chyb měření je čtvercová matice, jejíž veliost je rovna počtu měřených hodnot. Tato matice obsahuje odhady chyb měřícího systému pro aždou měřenou hodnotu na rozdíl od ovarianční matice, terá obsahuje odhady chyb filtru. Pro naměřenou hodnotu polohy y určíme záladní chybu měření u. Tato chyba bude pro náš případ v jednotách určení polohy objetu. Matice měřeného šumu R bude mít pa hodnotu : 4.3. Výpočet zlepšení 2 [ r 11 ] [ u ] R = =. (4.17) Při výpočtu nové prediované hodnoty polohy a zjištění polohy objetu je potřeba vypočítat zlepšení, tedy rozdíl hodnot mezi prediovanou polohou a naměřenou polohou. Jestliže nemáme dispozici všechny naměřené hodnoty, teré obsahuje stavový vetor, musíme provést transformaci stavového vetoru pomocí matice H. Obecný vztah pro výpočet zlepšení má tvar : ~ Z = Y X. (4.18) de Y je stavový vetor měření a X ~ je prediovaný stavový vetor. V našem případě vypočteme zlepšení z naměřené polohy y a prediované polohy objetu x. z = x 1 x& tedy z = y x. (4.19) && x [ y ] [ 0 0] Zlepšení se mimo jiné využívá při určování poloměru prediované oblasti, či určení spouštění přidávání manévrovacího šumu e ovarianční matici. - 25 -
4. Kalmanův filtr pro predici polohy 4.4. Maximální odchyla od prediované hodnoty Při výpočtu prediované polohy ontrolujeme, zda je naměřená hodnota dostatečně blízo prediované hodnotě. Nědy totiž může dojít tomu, že naměřená hodnota má příliš velou odchylu od prediované, v taovém případě můžeme hodnotu extrapolovat a poračovat dál s extrapolovanou hodnotou nebo ji prohlásit za chybnou. Hodnotu prahu odchyly můžeme pevně zvolit pro všechny roy Kalmanova filtru, nebo ji adaptivně přizpůsobovat. Při adaptivním výpočtu využíváme nejistot obsažených v ovarianční matici. Jednou z možností ja vypočítat tuto odchylu je výpočet pomocí Mahalanobovy vzdálenosti [1] : d = ( y ~ Hx ~ ) P 1 ( y H~ x ). (4.20) Naměřené hodnoty, teré mají menší vzdálenost od prediované hodnoty než je vypočtená odchyla, spadají do množiny potencionálních výsledů viz.apitola 3. 4.5. Výpočet zisu a atualizace stavového vetoru V této fázi již máme vypočítané zlepšení a nyní je potřeba vypočítat Kalmanův zis, terý indiuje ja velou mírou ovlivňuje zlepšení odhad. Kalmanův zis je uložen v matici K se stejným počtem elementů jao stavový vetor. Hodnoty zisu jsou obvyle v rozmezí 0 až 1. V systému, de nemáme dispozici poaždé naměřenou hodnotu, jsou hodnoty zisu orespondující s nenaměřenými hodnotami během něolia prvních cylů větší než jedna. Tato vlastnost je závislá na počátečních hodnotách stavového vetoru [11]. Kalmanův zis vypočítáme podle následujícího vztahu : ~ T [ H P H + R ] 1 ~ T = P H K. (4.21) Pro zjednodušení výpočtu, si zjednodušíme vztah výpočtem inverzní matice pro náš daný případ. 1 p11 p12 p13 1 ~ [ ] 2 K = P + [ ] 0 1 0 0 p 21 p 22 p 23 0 r11. (4.22) 0 p 31 p 32 p 33 0-26 -