zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme zhang@informatik.uni-hamburg.de
Inhaltsverzeichnis Kalibrierung einer Kamera: Grundkonzept...............344 Kameramodell mit Linsenverzeichnung.................353 Arten von Verzeichnungen......................357 radial alignment constraint (RAC)...................366 Tsai s RAC-basierte Kamerakalibrierung................370 zhang@informatik.uni-hamburg.de
Abschnitt: Kalibrierung einer Kamera: Grundkonzept Kalibrierung einer Kamera: Grundkonzept Das Lochkamera-Modell aus der vorangegangenen Vorlesung lieferte für die Kalibrierung die drei unabhängigen extrinsischen Parameter von R, die drei unabhängigen extrinsischen Parameter von t und die intrinsischen Parameter f x, f y, C x und C y. Seite 344
Abschnitt: Kalibrierung einer Kamera: Grundkonzept Kalibrationspunkte Die Kalibrierung erfolgt mit einer Menge von m Objektpunkten, die (a) bekannte Weltkoordinaten {x w,i, y w,i, z w,i }, i = 1,..., m in hinreichend genauer Präzision haben und (b) innerhalb des Sichtfeldes der Kamera liegen. Diese Kalibrationspunkte werden im Kamerabild mit ihren respektiven Kamerakoordinaten {X i, Y i } detektiert. Seite 345
Abschnitt: Kalibrierung einer Kamera: Grundkonzept Kalibrierung Das Problem bei der Kalibrierung einer Kamera ist die Identifikation der unbekannten Koeffizienten des Kameramodells. Die Bestimmung für das verzeichnisfreie Kameramodell liefert expliziet die Position der Kamera in Weltkoordinaten. Die grundlegendste Strategie für eine Kamerakalibration ermittelt die Koeffizienten mit Hilfe der linear-least-squares-identifikation der im folgenden vorgestellten perspektivischen Transformationsmatrix (engl. Perspective Transformation Matrix). Seite 346
Abschnitt: Kalibrierung einer Kamera: Grundkonzept Verzeichnisfreies Kameramodell Das verzeichnisfreie Kameramodell X = f x r 1 x w + r 2 y w + r 3 z w + t x r 7 x w + r 8 y w + r 9 z w + t z, lässt sich umschreiben zu Y = f y r 4 x w + r 5 y w + r 6 z w + t y r 7 x w + r 8 y w + r 9 z w + t z X = a 11x w + a 12 y w + a 13 z w + a 14 a 31 x w + a 32 y w + a 33 z w + a 34 Y = a 21x w + a 22 y w + a 23 z w + a 24 a 31 x w + a 32 y w + a 33 z w + a 34 Seite 347
Abschnitt: Kalibrierung einer Kamera: Grundkonzept Perspektivische Transformationsmatrix Es kann a 34 = 1 gesetzt werden, da eine Skalierung der Koeffizienten a 11,..., a 34 die Werte von X und Y nicht ändert. Die Koeffizienten a 11,..., a 34 korrespondieren mit der so genannten perspektivischen Transformationsmatrix. Die vorangegangenen beiden Gleichungen können im folgenden Identifikationsmodell zusammengefasst werden: [ ] a 11 xw y w z w 1 0 0 0 0 Xx w Xy w Xz w 0 0 0 0 x w y w z w 1 Y x w Y y w Y z. = w a 33 [ ] X Y Seite 348
Abschnitt: Kalibrierung einer Kamera: Grundkonzept Least Squares Die elf unbekannten Koeffizienten a 11,..., a 33 werden mit Hilfe der Methode der kleinsten Quadrate bestimmt. Minimal sind sechs Kalibrationspunkte notwendig. Jedes Paar Datenpunkte {(x w,i, y w,i, z w,i ), (X i, Y i )} liefert zwei algebraische Gleichungen mit den gesuchten Koeffizienten. Es kann gezeigt werden, dass die Kalibrationspunkte nicht koplanar sein dürfen. Ist dies nicht der Fall, ist die erste Matrix im Identifikationsmodell singulär, da die Spalten 3 und 4 sowie 7 und 8 linear abhängig sind. Seite 349
Abschnitt: Kalibrierung einer Kamera: Grundkonzept Probleme Die vorgestellte Lösung ist noch nicht global optimal, da bisher keine Linsenverzeichnung berücksichtigt wurde. Es ist nicht möglich expliziet die Rotationsmatrix R und den Translationsvektor t zu bestimmen. Das bedeutet die vorgestellte Kalibration ermöglicht nicht die Nutzung einer Kamera, die an einem sich bewegenden Roboterarm montiert ist. Die Herstellung eines präzisen 3D-Kalibrationsaufbaus ist aufwendiger als eine 2D-Kalibrationsplatte. Seite 350
Abschnitt: Kalibrierung einer Kamera: Grundkonzept Stereo-Vision (1) Die bisher vorgestellte Kalibrierungsmethode ermöglicht allerdings eine schnelle, wenn auch unpräzise Messung von Punkten mit einem Stereo-Kameraaufbau. Dazu werden zwei Kameras A und B kalibriert und liefern die Kalbrationsvektoren a A und a B. Dann kann die Koordinate {x w, y w, z w } eines jeden Punktes der von beiden Kameras gesehen wird berechnet werden. Jeder unbekannte Punkt hat die korrespondierenden Bildkoordinaten {X A, Y A } und {X B, Y B }. Seite 351
Abschnitt: Kalibrierung einer Kamera: Grundkonzept Stereo-Vision (2) Mit der Gleichung [ ] a11 a 31 X a 12 a 32 X a 13 a 33 X w x y a 21 a 31 Y a 22 a 32 Y a 23 a 33 Y w = z w [ ] X a14 Y a 24 für jede Kamera ensteht ein überbestimmtes Gleichungssystem, welches die Bestimmung der 3D-Koordinate eines Punktes aus den Bildkoordinaten erlaubt. Seite 352
Abschnitt: Kameramodell mit Linsenverzeichnung Kameramodell mit Linsenverzeichnung Reale Kameras und Linsen verursachen eine Vielzahl von Abbildungsfehlern und genügen nicht dem vorangegangenen Modell. Die Hauptfehlerquellen sind: (a) Räumliche Auflösung relativ gering, da die Auflösung der Kameras ebenfalls noch gering ist. (Aktuelle IEEE1394-DV-Kameras: 320x200, 640x480 (30 fps); 800x600, 1024x768 (15 fps); 1280x960 (7.5 fps)) (b) Die meisten (billigen) Linsen sind unsymmetrisch und erzeugen Verzerrungen. (c) Der Zusammenbau der Kamera ist nicht präzise durchführbar. (Der Mittelpunkt des CCD-Chips liegt nicht auf der optischen Achse. Der Chip liegt nicht parallel zur Linse.) (d) Timing-Fehler zwischen Kamera-Hardware und Grabber-Hardware. Seite 353
Abschnitt: Kameramodell mit Linsenverzeichnung Verzeichnung Verzeichnung durch das Linsensystem resultiert in einer geänderten Position der Bildpixel auf der Bildebene. Das Lochkameramodell wird dem nicht mehr gerecht. Es wird ersetzt durch folgendes Modell: u = u + D u (u, v) v = v + D v (u, v) wobei u und v die nicht beobachtbaren, verzeichnisfreien Bildkoordinaten sind und u und v die korrespondierenden verzerrten Koordinaten. Seite 354
Abschnitt: Kameramodell mit Linsenverzeichnung Verzeichnung (2) Seite 355
Abschnitt: Kameramodell mit Linsenverzeichnung Verzeichnung (3) Seite 356
Abschnitt: Arten von Verzeichnungen Arten von Verzeichnungen Es gibt zwei Arten von Verzeichnungen: radial und tangential Radiale Verzeichnung verursacht einen Versatz der idealen Position nach innen (Tonne) oder außen (Nadelkissen). Ursache: fehlerhafte radiale Krümmung der Linse. Seite 357
Abschnitt: Arten von Verzeichnungen Radiale Verzeichnung gerade Linien keine Verzeichnung Seite 358
Seite 359 AB TAMS Abschnitt: Arten von Verzeichnungen Tangentiale Verzeichnung gerade Linien keine Verzeichnung
Abschnitt: Arten von Verzeichnungen Modellierung der Linsenverzeichnung Nach Weng et. al. (1992) unterscheidet man drei Verzeichnungen, die modelliert werden: 1. Radiale Linsenverzeichnug (engl. radial distortion) 2. Dezentrierende Verzeichnung (engl. decentering distortion) 3. Verzeichnung des dünnen Prismas (engl: thin prism distortion) Die dezentrierende Verzeichnung und die Verzeichnung des dünnen Prismas sind sowohl radial als auch tangential. Bei der dezentrierenden Verzeichnung sind die optischen Zentren der Linsen nicht kolinear. Seite 360
Abschnitt: Arten von Verzeichnungen Modell: Radiale Verzeichnung Radiale Verzeichnung D ur = ku(u 2 + v 2 ) + O[(u, v) 5 ] D vr = kv(u 2 + v 2 ) + O[(u, v) 5 ] Seite 361
Abschnitt: Arten von Verzeichnungen Modell: Dezentrierende Verzeichnung Dezentrierende Verzeichnung D ud = p 1 (3u 2 + v 2 ) + 2p 2 uv + O[(u, v) 4 ] D vd = 2p 1 uv + p 2 (u 2 + 3v 2 ) + O[(u, v) 4 ] Seite 362
Abschnitt: Arten von Verzeichnungen Modell: Verzeichnung des dünnen Prismas Verzeichnung des dünnen Prismas D up = s 1 (u 2 + v 2 ) + O[(u, v) 4 ] D vp = s 2 (u 2 + v 2 ) + O[(u, v) 4 ] Seite 363
Abschnitt: Arten von Verzeichnungen Gesamtmodell der Linsenverzeichnung Wir ignorieren die Terme mit Ordnung höher als 4 und fassen die vorangegangenen Modelle zusammen: Gesamtmodell der Linsenverzeichnung D u = ku(u 2 + v 2 ) + (p 1 (3u 2 + v 2 ) + 2p 2 uv) + s 1 (u 2 + v 2 ) D v = kv(u 2 + v 2 ) + (2p 1 uv + p 2 (u 2 + 3v 2 )) + s 2 (u 2 + v 2 ) Seite 364
Abschnitt: Arten von Verzeichnungen Vereinfachtes Modell Da die radiale Linsenverzeichnung der dominierende Effekt ist, kann folgendes Gleichungssystem als vereinfachtes Kameramodell verwendet werden: Vereinfachtes Kameramodell mit Verzeichnung u = u(1 + k r 2 ) v = v(1 + k r 2 ) mit r 2 = u 2 + v 2 Seite 365
Abschnitt: radial alignment constraint (RAC) Radialer Verzeichnungskoeffizient Da u und v unbekannt sind, werden diese durch die messbaren Bildkoordinaten X und Y ersetzt. Daher gilt: r 2 = (X/s u ) 2 + (Y/s v ) 2 Definiert man k k s 2 v, den radialen Verzeichniskoeffizienten (engl. radial distortion coefficient), dann folgt und µ f y f x = s v s u r 2 µ 2 X 2 + Y 2 Seite 366
Abschnitt: radial alignment constraint (RAC) Modell für kleine radiale Verzeichnungen Mit den oben genannten Modifikationen erhält man folgendes Kameramodell für kleine radiale Verzeichnungen: X(1 + kr 2 ) = f x r 1 x w + r 2 y w + r 3 z w + t x r 7 x w + r 8 y w + r 9 z w + t z, Y (1 + kr 2 ) = f y r 4 x w + r 5 y w + r 6 z w + t y r 7 x w + r 8 y w + r 9 z w + t z Seite 367
Abschnitt: radial alignment constraint (RAC) Variation Ein für das least squares Verfahren nützlicher Trick ist die Verwendung der folgenden Variation des vorigen Modells X 1 + kr 2 = fx r 1 x w + r 2 y w + r 3 z w + t x r 7 x w + r 8 y w + r 9 z w + t z, Y 1 + kr 2 = fy r 4 x w + r 5 y w + r 6 z w + t y r 7 x w + r 8 y w + r 9 z w + t z und gilt unter der Annahme, dass kr 2 << 1 ist. Seite 368
Abschnitt: radial alignment constraint (RAC) radial alignment constraint Wenn neben der radialen keine weiteren Verzeichnungen auftreten, erhält man das radial alignment constraint (RAC): X Y = µ 1 r 1x w + r 2 y w + r 3 z w + t x r 4 x w + r 5 y w + r 6 z w + t y bzw: mit X d = f x X und Y d = f y Y. X d : Y d = x : y Seite 369
Abschnitt: Tsai s RAC-basierte Kamerakalibrierung Tsai s RAC-basierte Kamerakalibrierung Annahme C x, C y und µ sind bekannt. Ziel ist die Ermittelung der extrinsischen Parameter R und t sowie der intrinsischen Parameter f x, f y und k. Für die Kalibrierung wird eine Menge koplanarer Kalibrationspunkte verwendet werden. Die Kalibrierung beinhaltet zwei Schritte: 1. Ermitteln der Rotationsmatrix R und der Komponenten t x und t y des Translationsvektors. 2. Schätzung der übrigen Parameter aufgrund der Ergebnisse des ersten Schrittes. Seite 370
Abschnitt: Tsai s RAC-basierte Kamerakalibrierung Literatur [1] Weng, Juyang, Paul Cohen und Marc Herniou: Camera Calibration with Distortion Models and Accuracy Evaluation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(10):965 980, 1992. [2] Zhuang, Hanqi und Zvi S. Roth: Camera-aided robot calibration, Kapitel 2.II.A, 3.I und 3.II, Seiten 11 14 und 63 68. CRC Press Inc, 1996. Seite 371