Presentatie titel
description
Transcript of Presentatie titel
Presentatie titel
Rotterdam, 00 januari 2007
Computer Vision
Technische Informatica
www.hogeschool-rotterdam.nl/cmi
#
Les 4Les 4
Hoofdstukken
2.1 Introductie Algoritmen
2.2 Camera model en Kalibratie
#
Introductie AlgoritmenIntroductie 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 Camera model en kalibratiekalibratie
• 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 modelPinhole 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 modelPinhole camera model
#
Pinhole camera modelPinhole camera model• Het beeld is 1800 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 modelPinhole 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 modelUitgebreid 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 modelUitgebreid 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 modelUitgebreid 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 (fx en fy)
• Principepunt ligt niet op de oorsprong van beeldcoordinaten systeem (cx en cy)
• Pixel zijn rechhoekig
• Het centrum van de chip ligt niet op de principe-as. cx en cy geven de afwijking aan
#
Uitgebreid camera modelUitgebreid camera model• xc en yc ,zc zijn de coordinaten van de
oorsprong van Z (camera coordinaten)
• fx en fy geven de factoren van de rechthoekige pixel
• u,v zijn de beeldcoordinaten
• Hieruit volgt:
• u = cx + fx/zc. xc v = cy + fy/zc. yc
#
Uitgebreid camera modelUitgebreid camera model• Omwerken naar homogene coordinaten :
• Waarbij K gelijk is aan:
• De inverse K-1 is:
#
Uitgebreid camera modelUitgebreid camera model• Dan volgt hieruit:
• xc=K-1u
• Hierin is zc de onbekende variable
• Als zc bekend is wordt ieder punt xc, yc getransformeerd in het punt u,v
• Formule 2.4 kan ook als volgt geschreven worden .
#
Uitgebreid camera modelUitgebreid camera model
• De camera coordinaten xc zijn gedefinieerd binnen een wereld coordinaten systeem xw
• Waarbij xc een vector (xc,yc,zc) is en
xw ook een vector (x,y,z) is
• Het verband hiertussen is een willekeurige rotatie R en een translatie t
• xc = Rxw + t (2.6)
• Hiermee is de camerapositie bekend
#
Uitgebreid camera modelUitgebreid camera model• Je kunt dit ook schrijven als:
• xc = (R| t) xw
• Nu is:
• u=K xc met u is vector (u.s, v.s , s)
• s=zc is scherptediepte
• De afbeelding van het beeldpunt u is
• u=K(R| t) xw= Pxw
• Hierin P de projectiematrix: P=K(R| t)
#
Uitgebreid camera modelUitgebreid camera model• De inverse van P bepalen
• xc = Rxw + t
• vermenigvuldigen met RT ( de transponeerde matrix geeft:
• RT xc = RT Rxw + RT t
• Nu is voor een rotatie: RT R=E
• RT xc = Exw + RT t
• RT xc = xw + RT t
• xw = RT xc - RT t = RT(xc – t)
• xc=K-1u
• xw = RT(K-1u – t)
#
Uitgebreid camera modelUitgebreid camera model
• xw = RT(K-1| – t) u (a)
• Nu is u= Pxw
• xw = P-1 u (b)
• Uit (a ) en (b) volgt: P-1 =RT (K-1|- t)
#
Camera KalibratieCamera Kalibratie• Kalibratie betekent bepalen van de intrinsieke
parameters cx,cy,fx,fy en de extrensieke parameters R, t
• Ook intrinsiek is de niet lineaire vervorming van de lens
• Kalibratie gaat uit van een verzameling paren:
• {pw,i,Pb,i} i є {1,….n}
• pw,i = punt in wereld coordinaten
• Pb,i = punt is de projectie op beeldvlak
• Als n>6 is het mogelijk de parameters te bepalen met
• Direct Lineaire Transformatie (DLT)
#
Camera KalibratieCamera 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 KalibratieCamera Kalibratie
#
Camera KalibratieCamera Kalibratie
• Ook 3-dimensionaal object is mogelijk (fig 2.4
#
Camera KalibratieCamera Kalibratie• De volgende methode wordt gebruikt:
• De relatieve beweging tussen kalibratie patronen op basis van corresponderende punten wordt gebruikt (geen hardware nodig)
• Elk paar pw en pb geldt:
• Dit wordt omgezet naar:
#
Camera KalibratieCamera Kalibratie
• Bij homogene coordinaten kan L12=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 KalibratieCamera 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 KalibratieCamera Kalibratie• Hiervoor moet onderstaande vergelijking
opgelost worden ( beide zijden met AT
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 Pw ook Pb bepaald worden met (2.11)
#
Camera KalibratieCamera Kalibratie• Ook het omgekeerde kan, als Pb bekend is
kan Pw 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 Pw punten en kan als volgt worden opgelost:
• Eerst definieeren:
#
Camera KalibratieCamera 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 KalibratieCamera Kalibratie• Met de volgende definities:
• Wordt de parameter voorstelling van de rechte lijn:
• Hiermee kunnen we de calibratie testen
#
Camera KalibratieCamera Kalibratie• Als L1-L11 bekend zijn kunnen hieruit de intrensieke en
extrensieke parameters bepaald worden. Bepaling volgens Moré
• Intrensiek: cx,cy,fx,fy
• Extrensiek R,t
#
Camera KalibratieCamera Kalibratie
#
Lens vervormingLens 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 vervormingLens vervorming• Tangentiale lensvervorming is minder belangrijk
( komt door de fabricage van de camera)
#
Lens vervormingLens vervorming• u,v zijn beeldcoordinaten verkregen door
afbeelding van 3D naar 2D
• Vervormde beeld coordinaten zijn ud en vd
• ud,vd= 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
xc=xn , yc=yn , zc=1
#
Lens vervormingLens vervorming• xn ,yn= orginele locatie (op het beeldvlak)
• xd,yd = vervormde lokatie (op het beeldvlak)
• Voor de vervormde beeldcoordinaten ud,vd geldt:
• Deze wordt bepaald uit (2.23) door voor u=ud en v=vd in te vullen. Deze zijn het gevolg van de vervormde locatie xd,yd,
• Voor xn wordt xd en voor yn wordt yd ingevuld
#
Lens vervormingLens 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)=a0 + a1r1+a2r2 +a3r3 +a4r4… enz
• Nu is r klein t.o.v. de lensgrootte ,zodat termen verwaarloosd mogen worden f(r)=1 +a2r2 +a4r4
• Nu worden 2 parameters d1(a2) en d2(a4) gebruikt . Het verband tussen het vervormde punt en orginele punt is dan:
#
Lens vervormingLens vervorming
• Op identieke wijze geldt voor tangentiale vervorming met d3 en d4 :
• OpenCv combineert die 2:
#
Lens vervormingLens vervorming• De berekening van de vervormde
beeldcoordinaten ud,vd vanuit de onvervormde coordinaten u,v is in algoritme 1: