TRACKING als Messaufgabe: Grundlagen, Methoden und Werkzeuge Axel Pinz El. Messtechnik u. Messsignalverarbeitung Vortrag im Seminar von Prof. Maass 7.5.2002 Was kann ich optisch messen ? • Geometrische Größen – Lage – Länge – Winkel – Entfernung – Fläche Was kann ich optisch messen ? • Radiometrische Größen – Strahlung (Wärme) – UV – Lichttechnische Größen • Beleuchtungsstärke • Leuchtdichte • Lichtstrom, … – Farbe, spektrale Komponenten Was kann ich optisch messen ? • „abgeleitete“ Größen – 3D Position und Orientierung (Objekte / Kamera) – Identifikation von Objekten / Marken – Mustererkennung – Computer Vision – Image Understanding „Optisch“ vs. „Bildgestützt“ • 0- oder 1-D – Fotodiode – LaserTriangulierung – Längen- / WinkelCodierung –… • 2-D Rasterbilder – Kenngrößen – Abgeleitete Größen • 3-D – Stereo – „direkte“ Verfahren Beispiel (optisch) Beispiel (bildgestützt) “Tracking” - Beispiele • • • • • Konturen (2D Kurven – Anpassung) Hände (2D Hand- + Gestenerkennung) 3D Punkte (Blobs, Interest-Operatoren) 3D Modelle mit Markierungen 3D Modell des menschlichen Körpers Contour-Based Tracking Probabilistic Tracking in a Metric Space. Toyama, Blake, ICCV 2001, Marr Prize Hand Tracking for HCI • Hand color • Shape & size (scale) A Prototype System for Computer Vision Based Human Computer Interaction. Bretzner, Lindeberg, KTH TR CVAP256 Tracking von 3D Modellen Model-Based Tracking Automatic Partitioning of High-Dimensional Search Spaces associated with Articulated Body Motion Capture. Deutscher, Davison, Reid. CVPR 2001 Kamera (1) • • • • • • • Perspektive Kamera Lochkamera, “pinhole camera” Brennweite f, “focal length” Hauptpunkt o(u0 ,v0), “principal point” Hauptachse, “principal axis” Bildkoordinaten p(x,y) 3D Szenenkoordinaten P(X,Y,Z) fX x Z fY y Z Kamera (2) • Setze f=1, homogene Koordinaten: X x X 1 0 0 0 Y y ~ Y 0 1 0 0 1 Z 0 0 1 0 Z 1 • Reale Aufnahmesituation: X x 1 0 0 0 Y y ~ K 0 1 0 0 M 1 0 0 1 0 Z 1 Orientierung • K … innere Parameter (“interior”, “intrinsic”) sx s u 0 K 0 sy v 0 0 0 1 – sx,sy … Skalierung entlang der x- bzw. y-Achse – s … Winkel zwischen den Achsen (“skew”, ~ 0) • M … äußere Parameter (“exterior”, “extrinsic”) – 3x Translation – 3x Rotation Orientierung, Kamerakalibrierung • Insgesamt 11 Parameter – 5 für innere Orientierung – 6 für äußere Orientierung • Kalibrierung – Kalibrierobjekt (“calibration target”) • Punktkorrespondenzen (mind. 6 Punkte) • Lin. Gleichungssystem (überbestimmt) – Unbekannte Szene • Mehrere Ansichten (mind. 2) • Punktkorrespondenzen • Bekannte / unbekannte Kamerabewegung (“self-calibration”) Linsenverzeichnung (1) • Szene >> Linsensystem Projektionszentrum ok • Verzerrungen zwischen Sehstrahl und Pixel: – Radiale Verzerrung (k1,…,k3), Brechung – Tangentiale Verzerrung (P1,…,P3), Verschiebung x x u0 , y y v0 , r x2 y2 x' x k1 xr 2 k 2 xr 4 k3 xr 6 ( P1 (2 x 2 r 2 ) 2 P2 x y )(1 P3r 2 ) y ' x k1 yr 2 k 2 yr 4 k3 yr 6 ( P1 (2 y 2 r 2 ) 2 P2 x y )(1 P3r 2 ) Linsenverzeichnung (2) • Kompensation – 3D Kalibrierobjekt [Tsai 1987] – 2D ebenes Objekt [Zhang 1998] – Geradentreue [Brand et al. 1994] • Meist iterativ, Optimierungsproblem Was kann man mit einer kalibrierten Kamera messen ? • Richtungen • Winkel zwischen Richtungen • 3D Rekonstruktion nur wenn die Kamera bewegt wird, und mehrere Bilder aufgenommen werden. Punktkorrespondenzen in diesen Bildern. • Spezialfall ebene Szene, bekannte Ä.O.: – Winkel, Distanzen, Flächen Camera Pose Estimation • Pose estimation ~ Schätzung der Ä.O. bei bekannter / unbekannter Szene finde R, t • “inside-out” tracking ~ camera pose in real-time • Lineare Algorithmen [Quan, Zan, 1999] • Iterative Algorithmen [Lu et al., 2000] • Punkt-basierte Methoden – Keine Geometrie, nur 3D Punkte • Modellbasierte Methoden – Objekt-Modell, z.B. CAD PnP – Perspective n-Point Problem • Kalibrierte Kamera K, C = (KKT)-1 • n Punktkorrespondenzen Szene Bild • Bekannte Szenenkoordinaten der Punkte pi, Distanzen dij = || pi – pj || • Jedes Paar von Punkten gibt einen Winkel , der in der kalibr. Kamera aus dem Bild gemessen werden kann constraint für die Entfernung ||c – pi|| PnP (2) gesucht : xi p i c , constraint : d ij2 xi2 x 2j 2 xi x j cos ij xj p j c f ij ( xi , x j ) xi2 x 2j 2 xi x j cos ij d ij2 0 kalibriert e Kamera : cos ij uTi Cu j uTi Cu i uTj Cu j PnP (3) • P3P, 3 Punkte: unterbestimmt, 4 Lösungen f12 ( x1 , x2 ) 0 f13 ( x1 , x3 ) 0 f 23 ( x2 , x3 ) 0 • P4P, 4 Punkte: überbestimmt, 6 Gleichungen, 4 Unbekannte 1,2,3 1,2,4 1,3,4 2,3,4 4 x P3P, dann gemeinsame Lösung finden • Allgemein: PnP, n Punkte PnP (4) Wenn die xi gelöst sind: 1) p’i = xi K-1 ui 2) Finde “homography” R, t für p’i pi Real-Time (1) Messen von – Pose – 3D Position – abgeleiteten Größen – mehreren Trajektorien –… in Echtzeit „Echt“-Zeit ist problemspezifisch, zB Videorate 30Hz Real-Time (2) kann erreicht werden durch: – sehr einfache Probleme – schnelle (einfache, lineare, direkte) Algorithmen – Kleine Bildausschnitte ( CMOS) – Spezialhardware –… Anwendungsbeispiel: Real-Time Tracking Tracking (1) • Position + Orientierung (t, R) von Objekt(en) und / oder Kamera • 2D (Bild) oder 3D (Szene) • Zeitliche Veränderung (t(t), R(t)) • Trajektorie(n), Prädiktion • Real-Time • Einzel- / Multisensor, Kombinationen, Fusion, … Tracking (2) [Hager, 2001] “Given: 1. An identified target in an image I0 2. A corresponding initial configuration (or state), s0, of the target 3. A sequence of subsequent images, I1, I2, … produce a corresponding series of state estimates s1, s2, … of the target.” Tracking (3) - Anwendungen • • • • • • • • • • Video Annotation / Manipulation Verkehrsströme Fahrzeugsicherheitssysteme Militär Filmindustrie, z.B. character animation VR / AR Medizin Industrielle Produktion, z.B. virtuelles Fahrzeug … RoboCup !!! Tracking (4) - Methoden • “Blob” Tracking – Farbe • Schablonen, Muster, Objektmodelle – “template”, “feature” • Aktive Konturen Tracking (5) – Algorithmen / Systeme • • • • • • • KLT [Kanade, Lucas, Tomasi] CONDENSATION [Blake, …] XVision [Hager, …] ARToolkit [Billinghurst, …] A.R.T. [kommerzielles Produkt] Rapid [Harris, Armstrong, Zisserman] … Stochastisches Tracking (2.5 Std!) • • • • • • Grundbegriffe der Statistik Kalman Filter Tracking mit Kalman Filter Condensation Tracking mit Condensation Beispiele (Videos) http://www.cs.unc.edu/~welch/kalman Kalman Filter (1) http://www.cs.unc.edu/~welch/kalman Kalman Filter (2) http://www.cs.unc.edu/~welch/kalman Kalman Filter (3) http://www.cs.unc.edu/~welch/kalman Condensation • Mehr als 1 Hypothese wird aufrechterhalten • “Conditional density propagation” RoboCup - Empfehlungen • Omnidirektionale Plattform • Omnidirektionale Vision ! – Selbstlokalisation am Spielfeld („ausreichend“ genau) – Modellbasiert (2D Ebene mit Linien) [RoRapid] – Robust (Verdeckungen, Fehler) • Sonar Ring – Ball und Gegner im Nahfeld erkennen – Ballbehandlung (Führen, Schiessen) • Schiessen + Ball führen in alle Richtungen! • Ev. „Spezialisten“ bauen Diplomarbeit(en) am EMT • Omnidirectional vision • Self-localisation Diskussion ! • • • • Fragen Probleme Wünsche Anregungen