Számítógépes látás alapjai Csetverikov Dmitrij, Hajder Levente Eötvös Lóránd Egyetem, Informatikai Kar Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 1 / 44
Többkamerás 3D-s rekonstrukció alapjai 1 Többkamerás 3D-s rekonstrukció elvei 2 Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció 3 Többképes perspektív rekonstrukció 4 Sztereo rekonstrukciók összefűzése 5 Kötegbehangolás 6 Tomasi-Kanade faktorizáció hiányzó adatokkal Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 2 / 44
Áttekintés Többkamerás 3D-s rekonstrukció elvei 1 Többkamerás 3D-s rekonstrukció elvei 2 Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció 3 Többképes perspektív rekonstrukció 4 Sztereo rekonstrukciók összefűzése 5 Kötegbehangolás 6 Tomasi-Kanade faktorizáció hiányzó adatokkal Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 3 / 44
Többkamerás 3D-s rekonstrukció elvei Lehetséges sokkamerás megoldások 1 Kétkamerás perspektív rekonstrukciók összefűzésével Nehézkes Hiba összeadódik 2 Teljes perspektív N-nézőpontos megoldások Feladat nemlineáris Megoldás elég bonyolult. 3 Egyszerűbb kameramodellek Feladat lineárissá válik Merőleges vetítés Gyengén perspektív vetítés Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 4 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Áttekintés 1 Többkamerás 3D-s rekonstrukció elvei 2 Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció 3 Többképes perspektív rekonstrukció 4 Sztereo rekonstrukciók összefűzése 5 Kötegbehangolás 6 Tomasi-Kanade faktorizáció hiányzó adatokkal Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 5 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Merőleges vetítés si s j r f1 x fi r f2 x fj t f [ ufp v fp Pontok vetítése ] [ ] r T = f1 s p t f (1) r T f2 Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 6 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Merőleges vetítés s i s j r f2 x fi x fj t f rf1 Vetítés: súlyponti koordináta középponttal. [ ufp v fp ] [ r T = f1 r T f2 ] s p (2) Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 7 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Áttekintés Tomasi-Kanade faktorizáció 1 Többkamerás 3D-s rekonstrukció elvei 2 Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció 3 Többképes perspektív rekonstrukció 4 Sztereo rekonstrukciók összefűzése 5 Kötegbehangolás 6 Tomasi-Kanade faktorizáció hiányzó adatokkal Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 8 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció Tomasi-Kanade faktorizáció Követett pontokat a W mérési mátrixba tesszük és szorzattá bontjuk (faktorizáljuk): W = W u 11 u 12 u 1P v 11 v 12 v 1P u 21 u 22 u 2P v 21 v 22 v 2P...... u F 1 u F 2 u FP v F 1 v F 2 v FP = = MS r T 11 r T 12 r T 21 r T 22. r T F1 r T F2 [ ] s1 s 2... s P Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 9 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció Tomasi-Kanade faktorizáció W = MS alak miatt W rangja nem lehet több 3-nál. M mérete 2F 3 S mérete 3 P Lemma: mátrix rangja szorzás után a szorzandók rangjának maximumánál nem lehet nagyobb. W rangjának csökkentése: Szinguláris érték szerinti felbontással (SVD) Szinguláris értékek és vektorok közül az első hármat megtartjuk, a többit eldobjuk. W = USV T W = U S V T S = σ 1 0 0 0... 0 σ 2 0 0... 0 0 σ 3 0... 0 0 0 σ 4.......... S = σ 1 0 0 0 σ 2 0 0 0 σ 3 Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 10 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció Faktorizáció többértelműsége Faktorizáció nem egyértelmű W = MS = ( MQ 1) (QS) Q egy 3 3-mas mátrix. M aff = MQ 1 neve: affin mozgás mátrix. S aff = QS neve: affin struktúra mátrix. Többértelműség feloldása: r vektorokra a megkötések figyelembe vétele. Kamera bázisvektorai egységnyi hosszúak: r T i1 r i1 = 1 r T i2 r i2 = 1 Bázisvektorok páronként merőlegesek egymásra: r T i1 r i2 = 0 Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 11 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Többértelműség feloldása Tomasi-Kanade faktorizáció Affin valós kamera átszámítás: M aff Q m T 11 Q m T 12 Q M aff =. m T F1 Q m T F2 Q = M r T 11 r T 12 =. r T F1 r T F2 Megkötések a bázisvektorra: r T i1 r i1 = 1 m T i1 QQT m i1 = 1 r T i2 r i2 = 1 m T i2 QQT m i2 = 1 r T i1 r i2 = 0 m T i1 QQT m i2 = 0 Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 12 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Q mátrix számítása Tomasi-Kanade faktorizáció Bevezetjük az alábbi jelölést: L = QQ T = l 1 l 2 l 3 l 2 l 4 l 5 l 3 l 5 l 6 Megjegyzés: Q T Q mátrix szimmetrikus Megkötések felírása inhomogén lineáris egyenletrendszerrel: A i l = b i [ ] 2 2 2 m i1,x 2m i1,x m i1,y 2m i1,x m i1,z m i1,y 2m i1,y m i1,z m i1,z 2 2 2 A i = m i2,x 2m i2,x m i2,y 2m i2,x m i2,z m i2,y 2m i2,y m i2,z m i2,z m i1,x m i2,x 2m i2,x m i2,y 2m i2,x m i2,z m i1,y m i2,y 2m i2,y m i2,z m i1,z m i2,z l = [l 1, l 2, l 3, l 4, l 5, l 6 ] T b i = [1, 1, 0] T ahol m jk,x, m jk,y és m jk,z számok az m jk vektor x, y és z koordinátái. Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 13 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Q mátrix számítása Tomasi-Kanade faktorizáció Megkötések figyelembe vétele az összes képre: Al = b ] T A = [ A T 1 A T 2... A T F b = [1, 1, 0, 1, 1, 0,..., 1, 1, 0] T Megoldás: túlhatározott lineáris (homogén) egyenletrendszer optimális megoldásával Q mátrix előállítása L-ből SVD-vel: (SVD) L = USV T Q = U S Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 14 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció Gyengén perspektív vetítés Megkötések átalakulnak: Bázisvektorok továbbra is merőlegesek egymásra: r T i1 r i2 = 0 Hosszuk nem egységnyi, de a két vektor hossza azonos r T i1 r i1 = r T i2 r i2 Q mátrixra az egyenletek módosulnak m T i1 QQT m i1 m T i2 QQT m i2 = 0 m T i1 QQT m i2 = 0 Lineáris, de homogén egyenletet kaptunk. Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 15 / 44
Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció Tomasi-Kanade faktorizáció összefoglalása 1 Követett pontokat a W mérési mátrixba tesszük 2 Minden pontra a súlypontba heéyezzük az origót, a módosított koordinátákat a W mátrixba helyezzük 3 Kiszámítjuk W mátrix SVD felbontását: W = USV T. 4 Kinullázzuk a negyedik szinguláris értéktől az összes diagonális elemet S-ben: S S. 5 Affin faktorizáció: M aff = U S és S aff = S V T 6 Q számítása metrikus kényszerekből 7 Metrikus faktorizáció: M = M aff Q és S = Q 1 S aff Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 16 / 44
Többképes perspektív rekonstrukció Áttekintés 1 Többkamerás 3D-s rekonstrukció elvei 2 Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció 3 Többképes perspektív rekonstrukció 4 Sztereo rekonstrukciók összefűzése 5 Kötegbehangolás 6 Tomasi-Kanade faktorizáció hiányzó adatokkal Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 17 / 44
Többképes perspektív rekonstrukció Többképes perspektív rekonstrukció Háromképes rekonstrukció Epipoláris geometria továbbgondolása Összefüggések adhatók pontok és egyenesek között Új fogalmak: fundementális mátrix helyett trifokális tenzor...stb. Gyakorlati jelentőssége csekély Tomasi-Kanade faktorizáció kiterjesztése perspektív kameramodellre Algoritmus neve: autokalibráció Nehézség: projektív mélység (homogén osztás skalárja) minden pontra más Megoldása lehetséges, meglehetősen bonyolult Egyszerűbb megoldás: sok sztereo rekonstrukció összefűzése Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 18 / 44
Sztereo rekonstrukciók összefűzése Áttekintés 1 Többkamerás 3D-s rekonstrukció elvei 2 Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció 3 Többképes perspektív rekonstrukció 4 Sztereo rekonstrukciók összefűzése 5 Kötegbehangolás 6 Tomasi-Kanade faktorizáció hiányzó adatokkal Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 19 / 44
Sztereo rekonstrukciók összefűzése Rekonstrukció sztereo (rész)rekonstrukciók összefűzésével Képpáronként sztereó rekonstrukció lehetséges Kamera kalibráció: Belső paraméterek: pl. Zhang-módszer (sakktáblával) Külső paraméterek: esszenciális mátrix felbontásával Térbeli pontok: trianguláció Eredmény: Ahány képpár, annyi pontfelhő Képpárok között elmozdulás/elforgatás Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 20 / 44
Sztereo rekonstrukciók összefűzése Sztereo eredmények összefüzése Adott két pontfelhő Mindegyik a saját (első) kamerájához rögzített koordinátarendszerben Két pontfelhő N darab közös pontjait a {p i } és {q i } (i = 1... N) halmazokba gyűjtjük. A pontok között hasonlósági transzformáció adható meg p i = srp i + t s: skálázás R: elforgatás t: eltolás Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 21 / 44
Sztereo rekonstrukciók összefűzése Sztereo eredmények összefüzése Feladat: optimális regisztráció megoldása N q i srp i t 2 i=1 Megoldás bizonyítással: "3d-s ponthalmazok regisztrációja" jegyzetben Optimális t számítása: ponthalmazok súlypontjának különbsége Optimális elforgatás: H = N i=1 q i p T i R = VU T H = USV T Optimális skálázás: s = N i=1 q T i Rp i N i=1 p T i p i Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 22 / 44
Kötegbehangolás Áttekintés 1 Többkamerás 3D-s rekonstrukció elvei 2 Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció 3 Többképes perspektív rekonstrukció 4 Sztereo rekonstrukciók összefűzése 5 Kötegbehangolás 6 Tomasi-Kanade faktorizáció hiányzó adatokkal Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 23 / 44
Kötegbehangolás Eredmények optimalizálása numerikus algoritmussal Az i-edik képkockán a j-edik pont függ az i-edik kamera paramétereitől és a j-edik pont térbeli koordinátáitól. Levenberg-Marquard algoritmus használata javasolt. Jakobi mátrixot kell számítani Sok kép és pont esetén nagyon ritka Ritka Levenberg-Marquard algoritmus neve: Kötegbehangolás (magyarul) Bundle adjustment (angolul) Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 24 / 44
Kötegbehangolás Levenberg-Marquard algoritmus rekonstrukciós problémára A paraméterek értékének változtatása: p = ( J T J + λe) 1 J T ɛ p Beállítandó paraméterek: kamerák paraméterei + pontok térbeli Kamerák paraméterei Térbeli pontok koordinátái Például 20 perspektív kamera, 1000 pont: 20 11 + 3 1000 = 3220 paraméter J T J mátrix mérete 3220 3220. Invertálás rendkívül lassú. Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 25 / 44
Kötegbehangolás Jakobi mátrix Jakobi mátrix Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 26 / 44
Kötegbehangolás Jakobi mátrix Normálegyenlet Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 27 / 44
Kötegbehangolás Kötegbehangolás: normálegyenlet Normálegyenlet blokkosítva [ ] [ U X m X T V s ] = [ E XV 1 Ha balról megszorozzuk az 0 E [ U XV T X T 0 X T V ] [ m s [ ɛm ɛ s ] ], az eredmény: ] [ ɛm XV = 1 ] ɛ s ɛ s Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 28 / 44
Kötegbehangolás Kötegbehangolás: normálegyenlet megoldása Megoldás: m = (U XV T X T) 1 ) (ɛ m XV 1 ɛ s ( ) s = V 1 ɛ s X T m Invertálni kell: V Blokkos mátrix, kis blokkokat önállóan kell invertálni ( U XV 1 X T) 1 Speciális szerkezetű mátrix, szintén blokkokra (azon belül összegekre) esik szét. Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 29 / 44
Áttekintés Tomasi-Kanade faktorizáció hiányzó adatokkal 1 Többkamerás 3D-s rekonstrukció elvei 2 Rekonstrukció merőleges és gyengén perspektív kamerával Tomasi-Kanade faktorizáció 3 Többképes perspektív rekonstrukció 4 Sztereo rekonstrukciók összefűzése 5 Kötegbehangolás 6 Tomasi-Kanade faktorizáció hiányzó adatokkal Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 30 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Rekonstrukció hiányzó adatokkal Sztereó rekonstrukciónál nem gond a hiányzó adat Ha csak egy képen látszik, lehetetlenség térben rekonstruálni. Kötegbehangolás képes kezelni a hiányzó adatokat Az U i -val és V j -vel jelölt blokkmátrixok számítása kevesebb szummából áll. Tomasi-Kanade faktorizáció viszont átalakítást igényel Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 31 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Kitekintés: Gyengén perspektív kamera kalibrációja A matematikai probléma: [ ] [ ] u1... u P X1... X = [M b] P v 1... v P 1... 1 (3) ahol M = q ˆR és ˆR az R mátrix első két sorát tartalmazza. Kamerakalibrációnál a kameraparaméterek nem ismertek, a feladat egy mimimalizáció: arg min q,ˆr,b i [ ui v i ] [ ] Xi 2 [M b] 1 2 (4) Ez majdnem pontregisztrációs probléma Bal oldalon nem három, hanem két koordináta szerepel. Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 32 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Kitekintés: Gyengén perspektív kamera kalibrációja Megoldás: bal oldalt is tegyük háromdimenzióssá! ˆR két sora kiegészíthető harmadikra. Ha r T 1 és rt 2 az első két sor, a harmadik vektoriális szorzással megkapható: r T 3 = r T 1 r T 2 (5) b harmadik koordinátája legyen zérus Bal oldali harmadik koordináta (kiegészítő-lépés): w i = qr T 3 X i + b A regisztrációt és a kiegészítést folyamatosan ismételjük. Bizonyítható, hogy konvergálni fog az optimális megoldáshoz. Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 33 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció Faktorizációs probléma, súlypontra hozás esetén: W = MS (6) Faktorizációs probléma, ha nem a súlypontban vagyunk M 1 b 1 [ ] [ X1 X W = P X1 X.. = [M b] P 1 1 1 1 M F b F Megoldás a kameramozgás és a térbeli pontok felváltott számításával Kameramozgás számítása: M-lépés Struktúra számítása : S-lépés Utolsó feladat a harmadik koordinátákat számítani: Kiegészítő-lépés Mindkét lépés optimálisan számítható! ] (7) Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 34 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció: S-lépés Egy térbeli pontra felírhatjuk az egyenletet: u ij v ij = [ ] [ ] X M j b i j = M 1 j X i + b j (8) w ij Lineáris probléma X i -re nézve, a megoldás optimálisan számítható az összes kamera adataival: ( 1 X i = M M) T M T (W i b) (9) ahol W i a W mérési mátrix megfelelő oszlopa. Hiányzó adatok: Ha egy képen nem látszik a pont, annak mozgásmátrixa nem szerepel a mozgásvektorban Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 35 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció: M-lépés A mozgásmátrix számítása pontregisztrációs probléma, hiszen: u ij v ij = M j X i + b j = q j R j X i + b j (10) w ij Az eltolásvektor jele itt b j Forgatás: R j Skála: q j Hiányzó adatok: Ha a képen nem látszik egy pont, a koordinátái nem szerepelnek a regisztrációs mátrixban. Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 36 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció: Kiegészítő-lépés Minden harmadik koordinátát újra kell számolni minden egyes képkocka minden egyes pontjára, minden egyes lépés után. Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 37 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció Hiányzó adatokkal 1 Kezdeti mozgás- és struktúramátrixok számítása Tomasi-Kanade faktorizációk összefűzésével (ld. később) Harmadik koordináták számítása (Kiegészítő-lépés) 2 Konvergenciáig ismételni: Mozgásmátrixok számítása (M-lépés): pontregisztrációs feladat Harmadik koordináták számítása (Kiegészítő-lépés) Struktúrák (térbeli koordináták) számítása (S-lépés): lineáris feladat Harmadik koordináták számítása (Kiegészítő-lépés) Minden lépés négyzetes hibát csökkent, ezért a konvergencia garantált. Lokális minimum sajnos előfordulhat. Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 38 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció: inicializálás Ötlet: teljes részmátrixokat keresünk Három kép kell legalább Ezért 1 3, 2 4, 3 5,... képek közös pontjaiból lehet faktorizálni. Ezeket a Tomasi-Kanade algoritmussal felbontjuk Részeredményeket összefűzzük Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 39 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció: részfaktorizációk S1 M1 Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 40 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció: részfaktorizációk M2 S2 Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 41 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció: részfaktorizációk S3 M3 Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 42 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció: részfaktorizációk S4 M4 Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 43 / 44
Tomasi-Kanade faktorizáció hiányzó adatokkal Tomasi-Kanade faktorizáció: inicializálás Részfaktorizációk összefűzése nem teljesen triviális. Tfh. két képen adottak a részfaktorizációk q j skalár és R j, b j, S j mátrixok ismertek. Továbbá q j+1 skalár R j+1, b j+1 és S j+1 mátrixok is. 3D-s ponthalmazok összefűzése: pontregisztrációs probléma. Legyenek az összeforgatás paraméterei: R forgatás, q skálázás és t eltolás Ekkor az i-dik pontra felírható: Mozgásmátrixok elemeinek összefűzése: M j+1 1 q M j+1r T t j+1 t j+1 + qm j+1 Ro 1 M j+1 o 2 s i = qr (s i o 1 ) + o 2 (11) Csetverikov, Hajder (ELTE Informatikai Kar) Számítógépes látás 44 / 44