3D rekonstrukce a SLAM

Podobné dokumenty
2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

Úvod do mobilní robotiky AIL028

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Projektivní geometrie dvou pohledů. Ing. Zdeněk Krňoul, Ph.D. Katedra Kybernetiky Fakulta aplikovaných věd Západočeská univerzita v Plzni

Aplikace. Středové promítání. A s. Výpočet pohybu kamery rekonstrukcí videosekvence 3D rekonstrukce objektů 3D modelování

Odhady Parametrů Lineární Regrese

Eva Fišerová a Karel Hron. Katedra matematické analýzy a aplikací matematiky Přírodovědecká fakulta Univerzity Palackého v Olomouci.

Princip řešení soustavy rovnic

Numerická matematika 1

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Numerické metody a programování. Lekce 4

Řešíme tedy soustavu dvou rovnic o dvou neznámých. 2a + b = 3, 6a + b = 27,

1 0 0 u 22 u 23 l 31. l u11

Úlohy nejmenších čtverců

a vlastních vektorů Příklad: Stanovte taková čísla λ, pro která má homogenní soustava Av = λv nenulové (A λ i I) v = 0.

SIFT: Scale Invariant Feature Transform Automatické nalezení korespondencí mezi dvojicí obrázků

PRAVDĚPODOBNOST A STATISTIKA

Regresní analýza 1. Regresní analýza

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Zpráva o zahraničním pobytu

ROZ1 CVIČENÍ VI. Geometrická registrace (matching) obrazů

Klasifikace a rozpoznávání. Lineární klasifikátory

Numerické metody a programování

14. přednáška. Přímka

ANALÝZA A KLASIFIKACE DAT

Lineární algebra : Vlastní čísla, vektory a diagonalizace

Téma 22. Ondřej Nývlt

Paralelní grafové algoritmy

Matematika I A ukázkový test 1 pro 2014/2015

Program SMP pro kombinované studium

Semestrální písemka BMA3 - termín varianta A13 vzorové řešení

Úvod do optimalizace, metody hladké optimalizace

Nelineární optimalizace a numerické metody (MI NON)

Regresní analýza. Ekonometrie. Jiří Neubauer. Katedra ekonometrie FVL UO Brno kancelář 69a, tel

Michal Zamboj. December 23, 2016

Metody vnitřních bodů pro řešení úlohy lineární elasticity s daným třením

4. Aplikace matematiky v ekonomii

Téma je podrobně zpracováno ve skriptech [1], kapitola 6, strany

4. Trojúhelníkový rozklad p. 1/20

ANALYTICKÁ GEOMETRIE V ROVINĚ

1 Diference a diferenční rovnice

AVDAT Klasický lineární model, metoda nejmenších

Odhad parametrů N(µ, σ 2 )

0.1 Úvod do lineární algebry

Projektivní geometrie. Ing. Zdeněk Krňoul, Ph.D. Katedra Kybernetiky Fakulta aplikovaných věd Západočeská univerzita v Plzni

Numerické metody a programování. Lekce 8

Robustní odhady statistických parametrů

Aplikovaná numerická matematika - ANM

Příklad 1 ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 6

Michal Zamboj. January 4, 2018

Soustavy linea rnı ch rovnic

Hledání extrémů funkcí

4EK213 LINEÁRNÍ MODELY

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

ÚSTAV MATEMATIKY A DESKRIPTIVNÍ GEOMETRIE. Matematika 0A1. Cvičení, zimní semestr. Samostatné výstupy. Jan Šafařík

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Matematika 1 MA1. 2 Determinant. 3 Adjungovaná matice. 4 Cramerovo pravidlo. 11. přednáška ( ) Matematika 1 1 / 29

Náhodné vektory a matice

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH

Newtonova metoda. 23. října 2012

Matematika I A ukázkový test 1 pro 2011/2012. x + y + 3z = 1 (2a 1)x + (a + 1)y + z = 1 a

LWS při heteroskedasticitě

l, l 2, l 3, l 4, ω 21 = konst. Proved te kinematické řešení zadaného čtyřkloubového mechanismu, tj. analyticky

Zpracování digitalizovaného obrazu (ZDO) - Popisy III

Minikurz aplikované statistiky. Minikurz aplikované statistiky p.1

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

Měření závislosti statistických dat

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).

AVDAT Geometrie metody nejmenších čtverců

Linearní algebra příklady

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

Lineární algebra : Metrická geometrie

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

Momenty setrvačnosti a deviační momenty

5. Lokální, vázané a globální extrémy

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

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

Lineární algebra : Změna báze

IB112 Základy matematiky

Derivace funkcí více proměnných

Kalibrační proces ve 3D

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat

Úvod do kvantového počítání

Projektivní geometrie. Ing. Zdeněk Krňoul, Ph.D. Katedra Kybernetiky Fakulta aplikovaných věd Západočeská univerzita v Plzni

Matematika B101MA1, B101MA2

Vlastní čísla a vlastní vektory

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Numerická stabilita algoritmů

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.

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á.

Vlastní (charakteristická) čísla a vlastní (charakteristické) Pro zadanou čtvercovou matici A budeme řešit maticovou

Měření dat Filtrace dat, Kalmanův filtr

Interpolace, ortogonální polynomy, Gaussova kvadratura

Odhad stavu matematického modelu křižovatek

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

AVDAT Nelineární regresní model

1 Projekce a projektory

Transkript:

3D rekonstrukce a SLAM LUKÁŠ POLOK Zdroje: Pollefeys, přednášky MVG a VGE, hodní kolegové Viorela Ila, Marek Šolony a Broněk Přibyl

Motivace 3D rekonstrukce Vizuální navigace v robotice Zábava: výpočet pozice kamery je klíčem Rozšířená realita http://youtu.be/vrgwh1kudt4 http://9gag.com/gag/ad62g3n http://youtu.be/p6nnq3vab3w

Motivace

Motivace

Motivace

Motivace

Literatura

Homogenní souřadnice (opakování) Slide sprostě okopírován z přednášky VGE dobrého borce Broňka Přibyla (se svolením)

Maticové transformace (opakování) Slide sprostě okopírován z přednášky VGE dobrého borce Broňka Přibyla (se svolením)

Geometrické transformace (opakování) Slide sprostě okopírován z přednášky VGE dobrého borce Broňka Přibyla (se svolením)

x y 1 é ë ê ê ê ù û ú ú ú = f p x f p y 1 é ë ê ê ê ê ù û ú ú ú ú 1 1 1 é ë ê ê ê ù û ú ú ú R t 0 3 T 1 é ë ê ê ù û ú ú X Y Z 1 é ë ê ê ê ê ù û ú ú ú ú or x = P.X Jak kamera promítá reálný svět? střed projekce obrazová rovina osa projekce

Kalibrovaná kamera známá neznámá střed projekce obrazová rovina osa projekce.x λ x or 1 1 0 t 1 1 1 1 1 λ 3 P R Z Y X p f p f y x y x T

Jak funguje 3D rekonstrukce? 3D body leží někde na paprscích skrz zájmové body, detekované v obraze: p1 c1 p1 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Jak funguje 3D rekonstrukce? Ty samé 3D body P jdou vidět ze dvou různých pozic kamery. (p1,p2) P P c1 p1 p2 c2 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Jak funguje 3D rekonstrukce? Ty samé 3D body P jdou vidět ze tří různých pozic kamery. (p1,p2,p3) P P c1 p1 p2 c2 p3 c3 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Jak funguje stereo 3D rekonstrukce? Opačný problém známe pozice kamer a zajímají nás jen body.

Jak funguje stereo 3D rekonstrukce? Opačný problém známe pozice kamer a zajímají nás jen body. Disparita d = v 1 v 2 D = b f d

Jak funguje stereo 3D rekonstrukce? Opačný problém známe pozice kamer a zajímají nás jen body. Nutně nemusí jít o dvě kamery. Disparita d = v 1 v 2 D = b f d

Jak funguje stereo 3D rekonstrukce? Opačný problém známe pozice kamer a zajímají nás jen body. Nutně nemusí jít o dvě kamery. Disparita d = v 1 v 2 D = b f d

Structured light kamery Celá třída kamer, založená na promítání světelných vzorů a v principu stereo 3D rekonstrukci. http://youtu.be/gwm-ndihlwo, http://youtu.be/obvkf71u5p4

Structured light kamery

Structured light kamery

Párování zájmových bodů Detekce pomocí SIFT, SURF, Angl. feature matching, na základě vizuální podobnosti stanovíme korespondence bodů ve snímcích v čase t a t-1. Předpokládá se malý pohyb mezi snímky. c1 p1 p2 c2 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Odhad první pozice kamery Geometrie pohybu kamery: Při dané množině odpovídajících si bodů {x i x i }, i=1,,n, jaké jsou matice kamer P a P pro dva snímky? P c1 p1 p2 c2 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Epipolární geometrie x = PX x' = P' X X l' ( P' C) x' l' x'[ e] P' P P' P x x 0 Fundamentální matice Skew operátor, výsledkem je anti-symetrická matice, odpovídající levé části vektorovému součinu. Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Fundamentální matice Algebraická reprezentace epipolární geometrie X Nezávislá na struktuře Výpočet pouze ze 2D korespondencí RANSAC (8 pt algorithm, existuje i 5 pt) F [ e] P' P x' T Fx = 0 x je bod na přímce l Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Fundamentální matice Zjednodušuje hledání korespondencí X Můžeme vyřadit špatné korespondence Vyjadřuje vzájemnou polohu dvou kamer x' T Fx = 0 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Od fundamentální k esenciální matici Pokud známe kalibraci kamery a fundamentální matici, můžeme vypočítat esenciální matici P = K [ I 0] P' = K' [ R t] F [ e] P' P 1.895 10 22 úprav později: F K' T [ t] RK 1 P = K [R t] xˆ ' E T Exˆ -1 T -1 xˆ T t E K E R x; K' 0 T R[R xˆ' K' FK KFK t] x' xˆ ' T P = K[I 0] T Exˆ E 0 K' FK MVG, strana 244 Esenciální matice E K' T FK Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Dekompozice esenciální matice E = [t] R = SR, kde S je anti-symetrická a R je rotační matice Hartley, Zisserman: MVG, strana 257, rozklad pomocí SVD Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Rekapitulace stavu Známe P a P! c1 p1 p2 c2 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

3D triangulace Geometrie scény (struktura): Pro korespondující obrazové body x i x i a kamery P, P, jaká je pozice X v prostoru? X x PX x' P' X Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

3D triangulace x PX x PX x' P' X 0 AX 0 x y x 3T 1T p X p X 0 3T 2T p X p X 0 2T 1T p X y p X 0 A xp yp x' p' y' p' 3T 3T p p p' p' 3T 3T 1T 2T 1T 2T Lineární metoda triangulace, MVG strana 312 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

3D triangulace - demo

Odhad pozice kamery 2D - 3D P c1 p1 inicializace p2 c2 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Odhad pozice kamery 2D - 3D P další kamera c1 p1 inicializace p2 p Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Pozice z 2D - 3D korespondencí 2D - 3D korespondence jsou známy z korespondencí zájmových bodů Pro odhad pozice kamery použijeme P3P algoritmus Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

P3P algoritmus ve zkratce Založeno na kosinové větě, vede na řešení rovnice 4. řádu. U PU 2 +PV 2 2. PU. PV. cos α u,v = UV 2 PU 2 +PW 2 2. PU. PW. cos α u,w = UW 2 PV 2 +PW 2 2. PV. PW. cos α v,w = VW 2 U V W α u,v P V NASA používá k výpočtu rotací pro dokování raketoplánů k ISS. Gao et al., Complete Solution Classification for the Perspective Three-Point Problem, 2003 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

P3P algoritmus ve zkratce Když máme PU, PV, PW, můžeme prostě vypočítat rigidní [R t] transformaci mezi PU, PV, PW a odpovídajícími 3D body, které už jsme rekonstruovali V W U camera [R t] world Gao et al., Complete Solution Classification for the Perspective Three-Point Problem, 2003 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Kabschův algoritmus Výpočet rotace dvou množin bodů Vstupem jsou dvě odpovídající si množiny bodů, P a Q Translace je posun středů množin. Vypočteme 3 3 kovarianční matici Provedeme dekompozici Rotace je, ale směr rotace není zřejmý. Korekce pomocí Konečná rotace je potom Alternativně lze použít Hornovu metodu (podobná, ale používá 4 4 Eigen dekompozici, je tedy pomalejší, a výsledkem je quaternion).

Kabschův algoritmus - demo Zarovnání jedné množiny 3D bodů na druhou. Vstupem páry 3D bodů. Výstupem transformace [R t].

Postupné přidávání kamer

Postupné přidávání kamer Pokud pracujeme s náhodným souborem fotek, je potřeba je seřadit Tzv. camera tracks Matice počtu korespondencí BFS / DFS / Spanning tree

Optimalizace Bundle Adjustment Opraví chyby v odhadech pozic kamer a 3D bodů. l1 l3 l2 l4 l5 l6 c1 c3 c2 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Optimalizace Bundle Adjustment

Chyba reprojekce Minimalizujeme chybu reprojekce d( x ij, ˆP ( )) 2 j ˆXi Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Proměnné a pozorování Proměnné: 7D pozice kamer c 1, c 2, c 3, c nc 3D body l 1, l 2, l 3, l 4, l 5, l 6, l np Pozorování: z 1, z 2, z 3, z 4, z 5, z 6, z m l1 l3 z1 z2 l2 z3 z4 l5 l4 z5 l6 z6 c1 c3 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením) c2

Metoda nejmenších čtverců

Metoda nejmenších čtverců l1 nc np min l3 j1 i1 d ˆ ˆ 2 x P X ij j i z1 z2 l2 z3 z4 z5 l5 l4 l6 z6 c1 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením) c2 c3

Metoda nejmenších čtverců stacionární bod Newtonova metoda jde použít k nalezení stacionárního bodu. Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Newtonova metoda Hledá průsečík mezi tangentou funkce v daném bodě a osou x. x kořen Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Newtonova metoda Hledá průsečík mezi tangentou funkce v daném bodě a osou x. x Newtonovská iterace kořen Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Newtonova metoda a nejmenší čtverce V našem případě máme nelineární funkci, aplikujeme tedy Newtonovu metodu na její první derivaci. vyžaduje druhou derivaci Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Nelineární reziduál * min m k 1 r k 2 m počet všech pozorování, jež máme r k = -d ( k x ij, ˆP ( )) j ˆXi Sada nelineárních chyb (reziduí): Linearizované: korekce Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Lineární nejmenší čtverce 1. derivace: Jakobián Hesián 2. derivace: Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Jakobiány a Hesiány Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Jakobiány a Hesiány Každé pozorování ovlivňuje jen dvě proměnné: pozici kamery c j a promítaný 3D bod p i Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Gauss-Newtonova metoda pro MNČ Minimum je v bodě, kde je první derivace nulová. dává while 1 linearizace F (θ) v θ 0 L(δ) řešením L(δ) = 0 dostaneme δ * if norm(δ * ) < limit done update θ i+1 = θ i + δ *

Šum v pozorování Naše dosavadní počínání předpokládá, že naměřená data jsou přesná. Bohužel, v praxi jsou zatížena chybou (šumem)! Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Gaussovský předpoklad Pozorování jsou zatížené šumem, a budeme je tedy modelovat jako Gaussovské distribuce popsané průměrem a kovariancí. σ x μ x Ke každému pozorování tedy přidáme distribuci jeho pravděpodobnosti. Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Metoda maximální věrohodnosti Angl. Maximum Likelihood Estimation l1 l3 V robotice použité v metodě SLAM a v počítačovém vidění metody BA, SfM l2 p(c1,l1) p(c1,l2) p(c1,l3) p(c1,l4) p(c1,l5) p(c1,l6) l5 l4 l6 c1 c3 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením) c2

Metoda maximální věrohodnosti Angl. Maximum Likelihood Estimation Gaussovský předpoklad Metoda Nejmenších Čtverců Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením)

Řešení MNČ while 1 linearizace F (θ) in θ 0 L(δ) řešením L(δ) = 0 dostaneme δ * if norm(δ * ) < limit done update θ i+1 = θ i + δ *

Řešení Každou iteraci řešíme lineární systém Jakobiány! [Dellaert06ijrr] 63

Řešení Minimum je v nulové první derivaci! 64

Varianty Newtonovy Metody Levenberg-Marquardt Přidává tlumící argument α který ovlivňuje velikost kroku δ Kontroluje zda optimalizační krok nevedl ke zhoršení řešení Pokud ano, zvětší α (zmenší krok) a zkusí znova L δ = A T b + A T A + αi δ = 0 (Iteratively) Reweighted Least Squares (IRLS) Přidává váhy na každé pozorování, umožňuje odstranit outliery Umožňuje simulovat jinou loss funkci než čtverec chyby (např. L 1 chybu) L δ = A T Wb + A T WAδ = 0

IRLS s L 1 loss funkcí L 2 (least squares) L 1 (pěkná ale nepoužitelná) Huber loss

IRLS s L 1 loss funkcí - Demo

Složitost l1 l3 6DOF kamery (x, y, z, roll, pitch, yaw) 3DOF body (x, y, z) nc počet kamer nl počet 3D bodů z1 z2 l2 z3 z4 z5 z6 l5 l4 l6 z c1 y x A T A is of size (6 nc + 3 nl) x (6 nc + 3 nl) c2 c3 Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením) 68

Složitost 871 kamer 531176 3D bodů Systémová matice A T A má v paměti 522.53 MB

A T A Systémová matice Pro 30 kamer a cca 1000 bodů bude celkem velká: (30 6 + 3 1000) 2 = 10112400 Naštěstí je většina prvků nulových: matice je řídká. 70

A T A Systémová matice - řešení A T A δ -A T b x = 71

Maticové faktorizace A T A Choleského Factor chol( ) = Pak už je snadné řešit pomocí dvojího zpětného dosazení k získání δ 72

Schurův Komplement 73

Co když máme vyřešeno? Inkrement δ obsahuje posun ke správnému řešení prostě jej přičteme k pozicím bodů a kamer.

Co když máme vyřešeno?

Pipeline l1 l2 l3 l4 l5 l6 Camera Initialization c1 c2 c3 Matching Camera pose est. Structure comp. Refinement Input Images Feat.+Desc. Extraction Visualization Slide sprostě okopírován z talku dobrého borce Marka Šolonyho (s tichým svolením) 76

Závěr Prvotní odhad pozic 3D points a póz kamery vypočteny na základě modelu kamery, projektivní a epipolární geometrie. 3D rekonstrukce se dá zlepšit použitím optimizace Newtonovské metody se dají použít k řešení MNČ Gaussovský předpoklad nám to zjednodušuje () MLE se převede na obyčejné nejmenší čtverce Řídké matice jsou dobré matice! 77