Algorithms for Low Cost Depth Imaging

Günstige Tiefenbildkameras, zum Beispiel Time-of-Flight (ToF)-Kameras oder Microsoft Kinect-Systeme, sind bereits heute für den Endverbraucher erhältlich. Zwar beschäftigt sich eine stetig wachsende Anzahl von Publikationen und Start-Up-Unternehmen mit dem Hardwaredesign solcher Systeme, allerdings gibt es derzeit noch wenige Ansätze, die sich der Analyse von 2.5D Tiefen-Daten und den damit verbundenen Problemstellungen widmen. Im Allgemeinen ist festzustellen, dass auf diese Weise aufgenommene Bilder eine niedrige räumliche Auflösung haben und sowohl ein Rauschen als auch technologiespezifische Artefakte aufweisen.

Der Schwerpunkt dieses Projekts liegt auf der softwarebasierten Auswertung von Tiefenbildern. Ziel ist die Erarbeitung ganzheitlicher algorithmischer Lösungen für die gesamte Palette der Bildverarbeitung, angefangen bei der Datenaufbereitung bis hin zur detaillierten Bildanalyse. Wir unterteilen das Arbeitspensum in drei miteinander verbundene Teilprojekte: Bildverbesserung, Bildanalyse und Evaluation. In der Regel gehen wir davon aus, dass bei dem überwiegenden Teil realer Anwendungsszenarien von Tiefen-Systemen die gesamte Datenverarbeitung in Echtzeit ablaufen muss. Daher wird ein Schwerpunkt unserer Arbeit auch in der Entwicklung von Algorithmen liegen, die diese Bedingung erfüllen. Start des Projekts war im Oktober 2010.

Anisotrope Glättung einer Sequenz von Tiefenabbildungen. Oben: Eine Sequenz von Tiefenabbildungen, die mit einer ToF-Kamera aufgenommen wurde. Unten: Entsprechendes Bild aus einer geglätteten Sequenz

Teilprojekt I: Verbesserung

Filterung der Tiefenabbildung, Flussschätzung, Bildverbesserung und -Fusion, Segmentierung: Das erste Teilprojekt umfasst die Vorverarbeitung der Tiefendaten. Die niedrige Auflösung und das Bildrauschen von Tiefenkameras implizieren die Notwendigkeit zur Filterung unter Kantenerhaltung und Methoden zur Erhöhung der Auflösung. Da die meisten Kameras auch die Aufnahme von Graustufen- oder Farbbildern erlauben, wird die multimodale Bildfusionstechnik Bestandteil der Vorverarbeitung sein. Eine ausreichende Vorverarbeitung von Bildern ist erforderlich, um eine fundierte und effiziente Bildanalyse zu gewährleisten, auf welche wir im zweiten Teilprojekt (siehe unten) näher eingehen.

Darüber hinaus werden wir uns mit Zusammenhängen zwischen beiden Teilprojekten befassen und planen eine Feinjustierung zwischen der Vorverarbeitung und den Analysemethoden. In diesem Schritt werden Informationen über Rauschwerte und andere Besonderheiten von Tiefenkamera-Systemen explizit berücksichtigt.

Ein zentraler Aspekt unserer Forschung ist der Einsatz unseres Wissens über die Hardware-Spezifikationen solcher Systeme zur Entwicklung speziell zugeschnittener Methoden, die zur Kompensation systematischer Kamerafehler in der Lage sind.

Ein weiteres Ziel ist die Entwicklung von Methoden, welche die Szenenbewegung und die Tiefe berechnen und gleichzeitig Rauschen und Bildfehler, sowohl in der Tiefe als auch in ihrer Intensität, reduzieren. Schlussendlich arbeiten wir aber auch an der Reduktion der Komplexität und damit des Rechenaufwands der entwickelten Algorithmen. Diese sollen durch den Einsatz verfeinerter Multi-Grid-Ansätze und einer Umsetzung auf parallele Hardwarearchitekturen echtzeittauglich gemacht werden.

Kinect Kalibrierungsprozess: links RGB Bild, rechts Infrarotkanal

Teilprojekt II: Analyse

Der zweite Teil des vorgestellten Projekts wird sich auf die Analyse und Interpretation von (niedrig auflösenden) Tiefenabbildungen und Sequenzen für reale Anwendungen konzentrieren.

Unser Ziel ist die Erstellung einer algorithmischen Zwischenschicht, die eine Reihe  generischer Werkzeuge bietet, welche dann wiederum als Basis für komplexere Aufgaben genutzt werden können. Dazu zählt beispielsweise die Objekterkennung in Echtzeit (einschließlich Körperteilen wie Hände oder Köpfe) aus mehreren Teilansichten, die Objektverfolgung oder auch die Positionsbestimmung. Geplant ist, diese Ziele durch die Entwicklung generischer Merkmaldeskriptoren zu erreichen, die eine robuste, multi-modale (Tiefen & Graustufen oder Farbbild) lokale Darstellung von Objekten in einer 3D-Szene liefern.

Kinect Kalibrierung:

Das Kinect-System enthält sowohl eine Standard-RGB- als auch eine Infrarot-Kamera, die zur Berechnung der Tiefe einer Szene mit einem Infrarot-Raster-Projektor ausgestattet ist. Die Qualität der Tiefenabbildung ist recht gut, wohingegen das System jedoch keine geometrisch korrekte Überlagerung der Tiefen und der RGB-Werte bereitstellt.

Deswegen arbeiten wir an Methoden zur Kalibrierung der Kinect, um die RGB- und Infrarot Rohdaten in überlagernde Multi-Channel-Sequenzen zu transformieren.

Unkalibrierte Überlagerung von Tiefen und RGB-Kanälen im Kinect
Kalibrierte Überlagerung von Tiefen und RGB-Kanälen im Kinect

Multi-Modal Range Flow:

Basierend auf den kalibrierten Sequenzen untersuchen wir die multimodalen Algorithmen zur Schätzung der Tiefenbewegung. In unserem ersten Ansatz verwenden wir die RGB-Textur zunächst für eine Berechnung der xy-Bewegung und fügen dann den Tiefenwert hinzu.

Erste Ergebnisse unseres Range-Flow-Algorithmus' aus den ToF Daten. Oben links: Graustufenbild, oben rechts: Tiefenabbildung, unten links: vektorkodierte Strömung in x-y-Richtung, unten rechts: farbkodierte Strömung in z-Richtung.

Teilprojekt III: Auswertung

Ein Kernaspekt des gesamten Projekts ist, dass wir in der Lage sein müssen, sowohl die Leistung eigener als auch die externer Algorithmen zu bewerten. Daher planen wir, einen Satz an Referenzbildern und -sequenzen in Kombination mit referenziellen Tiefenabbildungen und Leistungsmessungen öffentlich zugänglich zu machen. Zur Gewährleistung der Reproduzierbarkeit werden wir – sobald das möglich ist – auch den Quellcode für unsere Algorithmen zur Verfügung stellen.

Objekt für die Datenbank vor dem Scanner.
3D Abbildung des Objektes.-

Zur Lösung des sogenannten Ground-Truth-Problems verfolgen wir zwei Ansätze:

Erstens verwenden wir ein hochauflösendes Stereo-System und einen 3D-Scanner zur Aufzeichnung einer Reihe statischer Szenen für eine Referenzdatenbank. Die Datenbank wird sowohl hochauflösende Graustufen- und Tiefenabbildungen als auch Tiefenwerte mehrerer Kameratypen enthalten. Für Objekt- und Körperteilerkennung, Objektverfolgung und Positionsbestimmung zeichnen wir Sequenzen sowohl mit Ground-Truth als auch als Testdatenbank mit vollen 3D-Scans und partiellen Ansichten aus unterschiedlichen Blickwinkeln auf.

Zweitens untersuchen wir, unter welchen Umständen der Einsatz realistischer Simulationen unter Verwendung unseres physikalischen ToF-Modells zur Bewertung der Algorithmen sinnvoll ist.

Daraus ergibt sich der Vorteil, dass wir Daten mit einer vollkommen bekannten Ground-Truth kreieren können, immer vorausgesetzt, es handelt sich um eine Anwendung mit bekannten Bildeigenschaften.