Presentatie titel Rotterdam, 00 januari 2007 Computer Vision Technische Informatica
# Les 4 Hoofdstukken 2.1 Introductie Algoritmen 2.2 Camera model en Kalibratie
# Introductie Algoritmen De vorige hoofdstukken gingen over het technisch perspectief van beeldverwerking Dit gedeelte gaat over hoe beelden worden verwerkt met de computer Het wiskundig model hoe een scene afgebeeld wordt op een beeldsensor Ook de decodering van afbeeldingen wordt uitgelegd De modellen en de methoden vormen de basis voor de implementatie
# Camera model en kalibratie Als metingen gedaan worden m.b.v. beelden dan is het noodzakelijk om de modellen te begrijpen die scènes afbeelden op een beeld Voor het herkennen van barcodes is het beeld voldoende In alle andere gevallen is het wiskundig model van belang
# Pinhole camera model Het perspectief model ligt ten grondslag aan alle wiskundige modellen van camera afbeeldingen Alle punten worden geprojecteerd in een rechte lijn op het object vlak door een oneindig klein punt (projectie centrum Z) Het projectie centrum ligt tussen scene en het beeldvlak (sensor) Daarom is het beeld altijd een spiegel (zie fig 2.1)
# Pinhole camera model
# Het beeld is gedraaid. Het beeld wordt in de omgekeerde volgorde verzonden voor een digitale camera De formule voor de afbeelding is : Hierin zijn u,v de beeldcoördinaten Hierin zijn x,y,z de coördinaten van een punt in de scene van een 3D coördinaten systeem De oorsprong ligt in projectiecentrum De parameter f is de cameraconstante f is de afstand van projectiecentrum tot beeldvlak
# Pinhole camera model Normaal ligt beeldvlak achter Z ( u,v negatief) Hier is een positieve positie gekozen(zie fig 2.2) z is de afstand van projectiecentrum tot object vlak (scene)
# Uitgebreid camera model Een aantal termen en coordinaatsystemen: Principe as: Dit is de rechte lijn loodrecht op het beeldvlak en door het projectiecentrum Principe punt: Dit het snijpunt van de principe as met het beeldvlak Beeld coordinatensysteem: Dit is een 2 dimensionaal systeem. De oorsprong is linksboven ( de u-as rechts; de v-as naar beneden) Camera coordinatensysteem: Dit is een 3- dimensionaal systeem. De oorsprong ligt in projectiecentrum Z
# Uitgebreid camera model De x-y-as zijn parallel met de u-v-as. De z-as wijst naar voren naar de scene. Wereld coördinatensysteem: Dit is een 3- dimensionaal systeem. Dit is het basis coördinaten systeem en kan overal zijn. (maten in mm.) Intrinsieke camera parameters : Onafhankelijk van de wereldcoördinaten Extrinsieke camera parameters: het model transformeert wereldcoördinaten in cameracoördinaten
# Uitgebreid camera model f is intrinsiek tot nu toe zijn intrinsieke parameters constant en hebben we geen extrensieke parameters Maar: Geen ideale lens Pixels zijn niet vierkant (f x en f y ) Principepunt ligt niet op de oorsprong van beeldcoordinaten systeem (c x en c y ) Pixel zijn rechhoekig Het centrum van de chip ligt niet op de principe- as. c x en c y geven de afwijking aan
# Uitgebreid camera model x c en y c,z c zijn de coordinaten van de oorsprong van Z (camera coordinaten) f x en f y geven de factoren van de rechthoekige pixel u,v zijn de beeldcoordinaten Hieruit volgt: u = c x + f x /z c. x c v = c y + f y /z c. y c
# Uitgebreid camera model Omwerken naar homogene coordinaten : Waarbij K gelijk is aan: De inverse K -1 is:
# Uitgebreid camera model Dan volgt hieruit: x c =K -1 u Hierin is z c de onbekende variable Als z c bekend is wordt ieder punt x c, y c getransformeerd in het punt u,v Formule 2.4 kan ook als volgt geschreven worden.
# Uitgebreid camera model De camera coordinaten x c zijn gedefinieerd binnen een wereld coordinaten systeem x w Waarbij x c een vector (x c,y c,z c ) is en x w ook een vector (x,y,z) is Het verband hiertussen is een willekeurige rotatie R en een translatie t x c = R x w + t (2.6) Hiermee is de camerapositie bekend
# Uitgebreid camera model Je kunt dit ook schrijven als: x c = (R| t) x w Nu is: u=K x c met u is vector (u.s, v.s, s) s=z c is scherptediepte De afbeelding van het beeldpunt u is u=K (R| t) x w = Px w Hierin P de projectiematrix: P=K (R| t)
# Uitgebreid camera model De inverse van P bepalen x c = R x w + t vermenigvuldigen met R T ( de transponeerde matrix geeft: R T x c = R T R x w + R T t Nu is voor een rotatie: R T R=E R T x c = E x w + R T t R T x c = x w + R T t x w = R T x c - R T t = R T (x c – t) x c =K -1 u x w = R T (K -1 u – t)
# Uitgebreid camera model x w = R T (K -1 | – t) u (a) Nu is u= Px w x w = P -1 u (b) Uit (a ) en (b) volgt: P -1 =R T (K -1 |- t)
# Camera Kalibratie Kalibratie betekent bepalen van de intrinsieke parameters c x,c y,f x,f y en de extrensieke parameters R, t Ook intrinsiek is de niet lineaire vervorming van de lens Kalibratie gaat uit van een verzameling paren: {p w,i,P b,i } i є {1,….n} p w,i = punt in wereld coordinaten P b,i = punt is de projectie op beeldvlak Als n>6 is het mogelijk de parameters te bepalen met Direct Lineaire Transformatie (DLT)
# Camera Kalibratie In de praktijk meer punten Een schaakbord patroon ( fig 2.3) is nodig De relatieve posities zijn moeilijk te bepalen Daarom een rechthoekige glasplaat gebruiken met bekende dikte (fig 2.5)
# Camera Kalibratie
# Ook 3-dimensionaal object is mogelijk (fig 2.4
# Camera Kalibratie De volgende methode wordt gebruikt: De relatieve beweging tussen kalibratie patronen op basis van corresponderende punten wordt gebruikt (geen hardware nodig) Elk paar p w en p b geldt: Dit wordt omgezet naar:
# Camera Kalibratie Bij homogene coordinaten kan L 12 =1 worden Dit geeft: De paren u1,v1, en x1,y1, z1 (in dit n keer) zijn bekend (gemeten). Hieruit moet L1-L11 bepaald worden. Dan kun je onderstaande vergelijkingen opstellen (2.13)
# Camera Kalibratie Korter A.x=b Dit zijn meer vergelijkingen dan onbekenden Hieruit kun je de meest optimale oplossing x* bepalen met de methode van kleinste kwadraten. (Appendix B)
# Camera Kalibratie Hiervoor moet onderstaande vergelijking opgelost worden ( beide zijden met A T vermenigvuldigen geeft:) Dit kan opgelost worden met de Cholesky decompositie (Appendix B). De oplossing is: x* is de oplossing voor L1-L11 Als de DLT parameters zijn bepaald kan voor elk punt P w ook P b bepaald worden met (2.11)
# Camera Kalibratie Ook het omgekeerde kan, als P b bekend is kan P w bepaald worden De volgende vergelijking met te weinig vergelijkingen moet dan worden opgelost: De oplossing van dit stelsel vergelijkingen is de rechte lijn g van alle mogelijke P w punten en kan als volgt worden opgelost: Eerst definieeren:
# Camera Kalibratie Door uit 2.16 x te elimineren krijgt men: Er is vergelijking tekort.Deze wordt gekozen uit G=L4-u Met de volgende definities:
# Camera Kalibratie Met de volgende definities: Wordt de parameter voorstelling van de rechte lijn: Hiermee kunnen we de calibratie testen
# Camera Kalibratie Camera Kalibratie Als L1-L11 bekend zijn kunnen hieruit de intrensieke en extrensieke parameters bepaald worden. Bepaling volgens Moré Intrensiek: c x,c y,f x,f y Extrensiek R,t
# Camera Kalibratie
# Lens vervorming Er zijn niet-ideale lenzen, die leiden tot niet- lineaire vervorming De belangrijkste is radiale lensvervorming (2-4 mm) ( komt door de vorm van de lens)
# Lens vervorming Tangentiale lensvervorming is minder belangrijk ( komt door de fabricage van de camera)
# Lens vervorming u,v zijn beeldcoordinaten verkregen door afbeelding van 3D naar 2D Vervormde beeld coordinaten zijn u d en v d u d,v d = f(u,v) De projectie van u en v op het vlak z=1 in het camera coordinaten systeem dient als basis voor de berekeningen. De coordinaten zijn: Dit is dezelfde formule als (2.5) maar x c =x n, y c =y n, z c =1
# Lens vervorming x n, y n = orginele locatie (op het beeldvlak) x d,y d = vervormde lokatie (op het beeldvlak) Voor de vervormde beeldcoordinaten u d,v d geldt: Deze wordt bepaald uit (2.23) door voor u=u d en v=v d in te vullen. Deze zijn het gevolg van de vervormde locatie x d,y d, Voor x n wordt x d en voor y n wordt y d ingevuld
# Lens vervorming Men neemt aan dat de vervorming binnen een cirkel ligt met straal r f(r) kun je in een Taylor-reeks plaatsen f(r)=a 0 + a 1 r 1 +a 2 r 2 +a 3 r 3 +a 4 r 4 … enz Nu is r klein t.o.v. de lensgrootte,zodat termen verwaarloosd mogen worden f(r)=1 +a 2 r 2 +a 4 r 4 Nu worden 2 parameters d 1 (a 2 ) en d 2 (a 4 ) gebruikt. Het verband tussen het vervormde punt en orginele punt is dan:
# Lens vervorming Op identieke wijze geldt voor tangentiale vervorming met d 3 en d 4 : OpenCv combineert die 2:
# Lens vervorming De berekening van de vervormde beeldcoordinaten u d,v d vanuit de onvervormde coordinaten u,v is in algoritme 1: