Logo CG
Team project: The Calibration Game
WS 2011/2012
Logo TU

Teamprojekt "The Calibration Game" (Modul INF-STD-10), WS 2011/2012

Marcus Magnor, Kai Ruhl

Bundler point cloud
Image courtesy of Building Rome in a Day

Beschreibung:

Photo Tourism von Microsoft Research baut aus unzähligen Photos einer Szene eine 3D-Punktwolke zusammen und gibt an, wo die Kameras standen (extrinsische Parameter) und wie sie eingestellt waren (intrinsische Parameter). Letzteres, auch bekannt als "Kalibrierung", wird z.B. durch Bundler durchgeführt.

In diesem Teamprojekt soll Bundler um eine intuitive 3D-GUI erweitert werden, und schrittweise mit Funktionalitäten für größere Flexibilität ausgestattet werden. Dazu ein Überblick über einen typischen Bundler-Run:

  1. Die intrinsischen Parameter werden über eine Kameraliste geschätzt.
  2. In allen Bildern werden 2D-Featurepunkte (z.B. SIFT) identifiziert; damit werden Bildteile einander zugeordnet.
  3. Eine Grobkalibrierung ordnet den Kameras grobe Positionen im Raum zu und erstellt aus den Featurepunkten 3D-Punkte.
  4. Eine Feinkalibrierung optimiert (z.B. durch sparse bundle adjustment) Kameraparameter und 3D-Punkte iterativ.
  5. Ein Outputfile enthält Kameraparameter und 3D-Punkte.

Das Teamprojekt enthält, je nach Anzahl Teilnehmer, eine variable Anzahl von Zielen aus der folgenden Liste:

  1. Eine OpenGL GUI zeigt die Kameras, 3D-Punkte, und Bilder an, und zeigt die Zuordnung von Bildern und 3D-Punkten.
  2. User input erlaubt einer Spielfigur das Laufen auf den Bildern (als Landscape) und das Entkommen in andere Bilder durch Warptunnel in den 3D-Punkten.
  3. User input erlaubt eine manuelle Adjustierung der 2D-Featurepunkte in den Bildern; alternativ auch die Definition neuer Korrespondenzen. Die Feinkalibrierung wird mit den verfeinerten Korrespondenzen neu gestartet.
  4. User input erlaubt das Zuordnen von 2D-Featurerpunkten in Tiefenbildern zu RGB-Bildern. Dies erlaubt den Einsatz von Tiefenkameras, wie der Microsoft Kinect, und  deren automatischer Kalibrierung.
  5. Der 2D-Featureschritt wird beibehalten, die Grobkalibrierung wird herausgelöst und z.B. in Python mit CUDA re-implementiert.
  6. Die Ansteuerung der Feinkalibrierung wird herausgelöst und z.B. in Python mit CUDA re-implementiert.

Das Teamprojekt umfasst ca. 180 Stunden und 5 Leistungspunkte pro Person (variiert je nach Studienordnung [docs]). Das Gesamtziel hängt damit von der Anzahl Teilnehmender ab.

Inhalt:

Neben den grundlegenden Inhalten (Modulhandbuch Bachelorstudiengang Informatik PDF) werden folgende Inhalte vermittelt:

Es wird Wert gelegt auf eine gute Teamkultur. Alle Studenten sollen an einem Ort zusammenarbeiten und sich abstimmen, um ein Forschungs- oder Industrieumfeld zu simulieren.

Anforderungen:

Hinweise:

Parallel zum Teamprojekt dürfte folgende Veranstaltung für viele interessant sein.

Literatur und Links:

Kontakt:

Kai Ruhl (ruhlcg.tu-bs.de)


Line
TU Braunschweig - Fakultät für Mathematik und Informatik - Computer Graphics - Teaching - TP 2011/2012