Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdJelle Bauwens Laatst gewijzigd meer dan 10 jaar geleden
2
Presentatie titel Rotterdam, 00 januari 2007 Computer Vision Technische Informatica www.hogeschool-rotterdam.nl/cmi
3
# Les 8 Hoofdstukken 2.9 Homography 2.10Stereo Geometrie
4
# Homography Als een camera een foto maakt van een scene nadat de positie ( met rotatie en translatie) van de camera is veranderd dan is het beeld verschillend van de vorige( op het platte vlak) Zie homography.pdfhomography.pdf
5
# Homography Het totaal van alle mogelijke afbeeldingen die die 2 beelden samenvoegt heet homography Hieronder het resultaat na rotatie en translatie
6
# Homography Gegeven de coordinaten u,v van een willekeurig punt dan is de afbeelding op u’,v’ als volgt geformuleerd: Hierin zijn a1…a9 є de parameters van de homography. Deze vergelijkingen kunnen in homogene coordinaten weergegeven worden
7
# Homography Of anders gedefinieerd De geinverteerde afbeelding is: Na de matrixvermenigvuldiging moeten de eerste 2 waarden van de resulterende vector gedeeld worden door de derde waarde (s)
8
# Homography Verder wordt a 9 =1 aangenomen omdat veelvouden van de matrix A dezelfde afbeelding geeft De toepassing van een homography van een beeld I met breedte w en hoogte h met input beeld I’ is in algoritme 35 gegeven
9
# Homography Matrix A transformeert de coordinaten u’,v’ van I’ naar u,v van I en niet omgekeerd, als eerst aangenomen werd. Omdat van ieder pixel (u’,v’) van I’ de geschikte coordinaten (u,v) van het pixel in I zijn berekend welke aan een grijswaarde wordt toegewezen De omgekeerde variant leidt tot gaten in het resulterende beeld I’ Om de juiste afbeelding te krijgen moet daarom A -1 worden gebruikt als invoer voor het algoritme
10
# Bilineaire interpolatie Het probleem met algoritme 35 is dat u,v moeten worden afgerond Dit leidt tot trapjeseffect zoals in fig 2.41 te zien is Dit probleem kan met interpolatie opgelost worden
11
# Bilineaire interpolatie Informatie die verloren gaat kun je niet terughalen, maar het kan worden benaderd door uitsmeren In fig 2.41 (rechts ) is het resultaat te zien van interpolatie Bilineaire interpolatie is een bijzonder geval van lineaire interpolatie, maar nu met 2 variabelen http://en.wikipedia.org/wiki/Bilinear_interpolati on (Bij computer vision speciaal geval) http://en.wikipedia.org/wiki/Bilinear_interpolati on Gegeven de coordinaten u,v en een klein vierkant van 1x1 met de volgende coordinaten:
12
# Bilineaire interpolatie De coordinaten u 1,v 1 zijn de afgronde coordinaten van u en v Dit betekent: Zie figuur 2.42
13
# Bilineaire interpolatie De grijswaarde wordt dan door bilineaire interpolatie berekend: Voorbeeld (zie figuur hieronder) De intensiteitwaarde voor een pixel moet uigerekend worden voor rij 20,2 en kolom 14,5 Er wordt geinterpoleerd tussen de waarden van kolom 14 en 15 Voor rij 20: Gemiddelde =(210 + 91)/2= 150,5
14
# Bilineaire interpolatie Voor rij 21: Gemiddelde = (162+95)/2= 128,5 Interpoleren van deze waarden geeft: I = (1-0,2)*150,2 + 0,2*128,5= 146,1
15
# Bilineaire interpolatie Algoritme 36 is met bilineaire interpolatie
16
# Specifieke Homography 2 typen transformaties: 1. Vergroten of verkleinen van een beeld 2. Rotatie van een beeld Dit komt neer op het bepalen van de parameters van de matrix A 1. Vergroten of verkleinen kan met algoritme 36 Gegeven een beeld I met breedte w en hoogte h en een resultaat beeld I’met breedte w’en hoogte h’ De transformatiematrix A wordt:
17
# Specifieke Homography 2. De matrix voor rotatie is lastiger Gegeven een beeld I die met de klok mee geroteerd wordt over een hoek θ met rotatiecentrum (m u,m v ) Volgens B.1.6 geldt voor 2 dimensionale rotatie:
18
# Specifieke Homography Bij deze rotatie is het rotatiecentrum de oorsprong. Als het rotatiecentrum (m u,m v ) is dan moet de richtingsvector worden geroteerd De richtingsvector is de vector tussen het rotatiecentrum en het punt wat geroteerd moet worden De geroteerde richtingsvector wordt dan opgeteld bij de positievector van het rotatiecentrum In overeenstemming met hoofdstuk 2.91 moet echter de inverse afbeelding gebruikt worden
19
# Specifieke Homography Echter de v-as van het beeld coordinatensysteem is tegengesteld georienteerd in vergelijking met de gebruikelijke y-as die de basis vormt van de rotatiematrix van appendix B1.6 Dit betekent dat het inverse niet nodig is De vergelijking wordt dan: Door deze uit te werken volgt:
20
# Specifieke Homography In homogene coordinaten volgt voor de transformatie matrix A: Een voorbeeld van rotatie in fig 2.43
21
# Berekening Parameters Hoe kunnen de transformatie parameters bepaald worden op basis van overeenkomstige punten in 2 afbeeldingen Een voorbeeld applicatie is object herkenning en lokaliseren op basis van lokale puntkenmerken Na een succesvolle herkenning is een veelheid van overeenkomsten tussen punten in het getrainde beeld en het lopende beeld beschikbaar Om de omtrek van een object te tekenen moet de homography berekend worden uit de 2 beelden
22
# Berekening Parameters Gegeven 2 verzamelingen punten die overeenkomen: { x i = (u i,v i ), x’ i = (u’ i,v’ i )} met i є {1,…,n} Hierbij wordt aangenomen dat x i en x’ i een relatie hebben volgens verg. (2.74) met a 9 =1 Na opnieuw ordenen volgt: Dit leidt een stelsel van lineaire vergelijkingen met meer vergelijkingen dan onbekenden van de overeenkomstige punten
23
# Berekening Parameters Dit stelsel kan opgelost worden met de methode van de kleinste kwadraten Een subklasse van oplossingen is als a 7 =a 8 =0 De transformatie wordt dan:
24
# Berekening Parameters De algoritmen zijn geimplementeerd in IVT
25
# Stereo Geometrie Fundamenten van stereo camera systemen Systemen bestaan uit 2 gecalibreerde camera’s die gelijktijdig op een scene staan Een fundamentele vraag is de berekening van 3D punten op basis van punten die corresponderen in de beelden van de linkse en rechtse camera Robuustheid en efficientie verbeteren van de gebruikte berekeningen Daarom epipolaire meetkunde gebruiken Epipolair = snijpunten van de kernas met de respectieve beeldvlakken
26
# Stereo Driehoeksmeting Gegeven 2 camera’s met extrinsieke parameters R 1,t 1, en R 2,t 2 en de calibratie matrices K 1 en K 2 die de intrinsieke parameters c x,c y,f x,f y bevatten Verder is gegeven een 3D punt P welke afgebeeld wordt op de 1e camera pixel p 1 =(u 1,v 1 ) en op de 2e camera pixel p 2 =(u 2,v 2 ) Het verband tussen de de pixels kan worden bepaald op basis van kenmerken of met correlatiemethoden uit hoofdstuk 2.11
27
# Stereo Geometrie De positievector p van het punt P kan worden berekend in de wereld coordinatensysteem op basis van dit verband en de camera parameters Stel g 1 is de rechte lijn waarop alle 3D punten liggen die afgebeeld worden op pixel p 1 van de 1 e camera. Stel g 2 is de rechte lijn waarop alle 3D punten liggen die afgebeeld worden op pixel p 2 van de 2 e camera. Met algoritme 5 kan in beide gevallen van de rechte lijnen g 1 en g 2 een willekeurig punt berekend worden
28
# Stereo Geometrie Deze punten worden x 1 en x 2 genoemd
29
# Stereo Geometrie Het projectie centrum Z 1 ligt op de lijn g 1 Het projectie centrum Z 2 ligt op de lijn g 2 Deze punten Z 1 Z 2 kunnen bepaald worden immers in dat punt is x c =0 (x c =0 vector) Nu is volgens vergelijking 2.6: x c = R x w + t (2.6) Invullen geeft: 0 = R x w + t R x w = - t R -1 R x w = - R -1 t x w = - R -1 t R -1 = R T bij rotatie x w = - R T t Voor g 1 geldt: x w1 = - R T 1 t 1 Voor g 2 geldt: x w2 = - R T 2 t 2
30
# Stereo Geometrie Nu zijn de parametervoorstelling van rechte lijnen in de ruimte: (zie appendix (B.1.3) g: x= a+r.u Hierin is r ∈ R de parameter van de lijn a ∈ R 3 is de positievector u ∈ R 3 \{0} is de richtingsvector x ∈ R 3 is de vector van een willekeurig punt op de lijn g voor iedere r Als we nu 2 lijnen hebben g 1 en g 2 volgt: g 1 : x= a+r.u g 2 : x= b+s.v
31
# Stereo Geometrie Nu is de positievector voor: Lijn g 1 : a = x w1 = - R T 1 t 1 Lijn g 2 : b = x w2 = - R T 2 t 2 En de richtingsvector voor Lijn g 1 : u = x 1 – a Lijn g 2 : v = x 2 – b De positievector van punt p kan nu berekend worden uit het snijpunt van de lijnen g 1 en g 2 Door onnauwkeurigheden is het snijpunt niet exact te bepalen. Dit probleem kan opgelost worden met epipolaire meetkunde
32
# Stereo Geometrie Voor de meeste oplossingen voldoet het eenvoudige snijpunt De vergelijkingen voor g 1 en g 2 zijn dan gelijk: a+r.u=b+s.v Omwerken geeft: r.u - s.v = b – a Deze vergelijking is een lineaire vergelijking met meer vergelijkingen dan onbekenden Hieruit kun je de meest optimale oplossing bepalen met de methode van kleinste kwadraten. (Appendix B)
33
# Stereo Geometrie De onbekenden zijn hier r,s en de optimale oplossing is r* en s* Anders geschreven: Let op de –tekens,die zijn niet gelijk Men kan dit lezen als: Ac=d Met A =[ u -v], c = en d = b-a Ac=d kan opgelost worden met de methode van de kleinste kwadraten ( appendix B.2.1)
34
# Stereo Geometrie Hiervoor moet onderstaande vergelijking opgelost worden ( beide zijden met A T vermenigvuldigen geeft:) A T A c=A T d Dit kan opgelost worden met de Cholesky decompositie (Appendix B.2.3). De oplossing is: c= (A T A) -1 A T d Hieruit volgt : = (A T A) -1 A T (b-a) Aangezien het snijpunt niet nauwkeurig is,kan dit bepaald worden uit het gemiddelde van x 1 en x 2
35
# Stereo Geometrie p = (x 1 + x 2 )/2 x 1 = a + r*. u x 2 = b + s*. v Hieruit volgt: De berekening van het punt P is in algoritme 37 weergegeven De coordinaten van de beeldpunten p 1 =(u 1,v 1 ) en p 2 =(u 2,v 2 ) zijn de input voor het algoritme De output zijn de wereldcoordinaten x,y,z van P
36
# Stereo Geometrie
37
# Epipolaire Meetkunde Epipolaire meetkunde beschrijft de relatie tussen de beeldvlakken van de 2 camera’s en het 3D punt P De bepaling van de epipolaire lijnen is van belang ( nauwkeurig punt P bepalen) Alle mogelijke overeenkomsten van een beeldpunt in een camera liggen op de overeenkomstige epipolaire lijn in de andere camera (zie figuur 2.44) Alleen langs de epipolaire lijn hoeft te worden gezocht om het overeenkomstige punt te bepalen, i.p.v het hele beeld te doorzoeken
38
# Epipolaire Meetkunde Typisch voorbeeld van Epipolar Geometry
39
# Epipolaire Meetkunde
40
#
41
# Dit leidt tot: Snellere algoritmen Verhoogt de robuustheid van het systeem De wiskundige beschrijving van de epipolaire meetkunde wordt hieronder uitgelegd De kern is de fundamentele matrix F Dit is een 3x3 matrix met rang 2 Gegeven zijn de beeldpunten p 1 = (u 1,v 1 ) en p 2 = (u 2,v 2 ) in homogene coordinaten
42
# Epipolaire Meetkunde De belangrijkste eigenschap van een fundamentele matrix F is: Voor de epipolaire punten e 1 en e 2 geldt dan: De epiplolaire lijnen l 1 en l 2 geldt eenvoudig: l 1 en l 2 zijn gedefinieerd als 2D rechte lijnen ( zie appendix B1.1.7) In figuur 2.45 zijn een aantal correspon- derende epipolaire lijnen getekend
43
# Epipolaire Meetkunde De fundamentele matrix kan op 2 manieren berekend worden: 1. Met de extrensieke parameters 2. Op basis van bekende correspon- derende punten
44
# Epipolaire Meetkunde We gaan uit van gecalibreerde camera’s, daarom methode 1 toepassen Om de fundamentele matrix te bepalen met extrensieke parameters moeten R 1,R 2,t 1,t 2 getransformeerd worden Zodanig dat de 1e camera de eenheids- transformatie wordt De nieuwe transformaties moeten dezelfde relatieve posities beschrijven ten opzichte van elkaar
45
# Epipolaire Meetkunde Het doel is daarom: Hierbij is I de eenheidsmatrix Met andere woorden, het wereld coordinaten systeem wordt het camera coordinaten systeem van de 1e camera Het startpunt zijn de coordinatentransformaties gedefinieerd door R 1,R 2,t 1,t 2 :
46
# Epipolaire Meetkunde Om R en t te bepalen moet x c2 uitgedrukt worden in x c1 Daarom moet de 1e vergelijking opgelost worden voor x w x c1 = R 1 x w +t 1 Vermenigvuldigen met R 1 -1 : R 1 -1 x c1 = R 1 -1 R 1 x w + R 1 -1 t 1 ; met R 1 -1 = R 1 T R 1 T x c1 = x w + R 1 T t 1 x w = R 1 T x c1 - R 1 T t 1 invullen in x c2 : x c2 = R 2 x w +t 2 x c2 =R 2 (R 1 T x c1 - R 1 T t 1 ) +t 2 x c2 =R 2 R 1 T x c1 - R 2 R 1 T t 1 +t 2
47
# Epipolaire Meetkunde Nu is x c2 = R x c1 +t Hieruit volgt: R = R 2 R 1 T ; t = - R 2 R 1 T t 1 +t 2 Nu is gegeven: t = [ t 1 t 2 t 3 ] T en R De essentiele matrix geeft het verband tussen de 2 cameraposities, waarbij R en t gegeven zijn. E wordt bepaald uit:
48
# Epipolaire Meetkunde Hieruit kan de fundamentele matrix bepaald worden Met K1 en K2 de calibratiematrices van de 2 camera’s ( zie verg 2.3) (intrinsiek) F de fundamentele matrix Voor een vierkante matrix A geldt: A -T :=A T -1 =A -1 T Met R en t (extrinsiek) kunnen nu direct de epipolen bepaald worden:
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.