Forschungsbericht Arbeitsgruppe Echtzeitbildverarbeitung (Udo Frese)
Mein Forschungsschwerpunkt ist Multisensordatenverarbeitung in Echtzeit, durch probabilistische Modellierung von Unsicherheit.
Die folgende Tabelle zeigt meine Forschungsaktivitäten und die meiner Arbeitsgruppe. Übergreifend ist die Herausforderung, Bedeutung aus sensoriellen Wahrnehmungen zu erschließen, wobei Kameras die wichtigsten Sensoren sind, wir aber auch Inertialsensoren und Laserscanner verwendet haben. Informationen von Sensoren, besonders aus Bildern, sind immer unsicher. Daher besteht mein Ansatz aus der meist probabilistischen Modellierung dieser Unsicherheit und der Auswertung der Information trotz Unsicherheit.
Simultaneous Localization and Mapping (SLAM)
SLAM hat die Aufgabe, unsichere lokale Information zu einer globalen 3D-Karte zusammenzusetzen. Im Idealfall bewegt man eine Kamera durch ein Gebäude und erhält hinterher ein dichtes 3D-Modell, wie in der Computergrafik üblich. Häufig reicht auch die Position einzelner markanter Punkte, wodurch die Bewegung rekonstruiert wird. Die Herausforderung liegt darin, dass nach jedem Schritt eine aktualisierte Karte gewünscht ist, so dass diese schnell und inkrementell berechnet werden muss. SLAM ist mein Heimthema und das Gebiet, in dem ich am besten international etabliert bin. Ich selbst habe das Thema mit mehr theoretischer Ausrichtung weitergeführt, besonders zusammen mit S. Huang from ARC Centre of Excellence for Autonomous Systems (The University of Technology, Sydney).
Außerdem habe ich die Implementierung meines vor dem Berichtszeitraums entwickelten Treemap SLAM-Algorithmus überarbeitet und als open-source library auf www.openslam.org veröffentlicht. Sie wird z.B. an der Universität Örebro (Schweden) dazu verwendet, einen autonomen Gabelstapler zu navigieren. Im Projekt A7-[FreePerspective] haben wir außerdem einen Benchmarkdatensatz für SLAM zusammengestellt und mit ground-truth Information annotiert. Der open-source Gedanke ist uns sehr wichtig, in zwei Artikeln diskutieren wir, welche Möglichkeiten die zur Zeit verfügbare open-source SLAM-Software dem Anwender außerhalb des SLAM-Feldes bietet. Die erwähnte Seite für open-source SLAM Implementierungen haben Cyrill Stachniss (Universität Freiburg) und ich gemeinsam im SFB/TR 8 gegründet.
Das SLAM-Feld zeigt einen gewissen Grad der Reife, die meisten algorithmischen Fragestellungen sind überzeugend gelöst. In A7-[FreePerspective] sind wir gerade dabei, mit der Erfahrung aus Treemap einen höchst effizienten Algorithmus für bundle-adjustment (visuelles SLAM) zu entwerfen und hochoptimiert zu implementieren. Gelingt uns dies, soll er auch open-source veröffentlich werden, was ein sehr überzeugender Abschluss wäre, da bundle-adjustment in der Bildverarbeitung eine wichtige Basistechnologie ist.
Davon abgesehen möchte ich den Schwerpunkt auf Anwendungen von SLAM verschieben: SLAM ist eine essentielle Funktionalität für mobile Serviceroboter, da es erlaubt, die zum Navigieren notwendige Karte "einzulernen", indem man den Serviceroboter einmal durchs Gebäude "führt". Es kann auch zur Steuerung von Fahrzeugen in Fabriken oder (zusammen mit GPS) im Außenraum oder gar in der Luft verwendet werden. Es kann z.B. im Wald GPS-Ausfälle kompensieren oder der Navigation eines teilautonomen Rollstuhls dienen. Eine besonders interessante Anwendung, verfolgen wir in A7-[FreePerspective] Phase III: die Suche nach Verschütteten in kollabierten Gebäuden. Mit einer Endoskopkamera können Bilder aus dem Inneren eines Trümmerhaufens gewonnen werden, die aber für einen menschlichen Operator sehr schwer zu verstehen sind. Hier kann visuelles SLAM den Operator mit einem 3D-Modell unterstützen. Diesem Modell kann sogar ein Bild des Trümmerhaufens von Außen überlagert werden, um z.B. einen Zugang zu planen. Wir wollen bundle-adjustment verwenden, um die Kamera zu verfolgen und eine 3D-Kamera um das 3D-Modell zu erzeugen. Dazu sollen die durchaus problematischen Eigenarten dieser Kamera probabilistisch modelliert werden um das Problem als Suche nach der wahrscheinlichsten Karte (Maximum Likelihood) zu formulieren.
Die Anwendung Verschüttetensuche zeigt außerdem den Nutzen eines sogenannten Inertialsensors ("technisches Gleichgewichtsorgan"). Er verleiht einen absoluten Sinn für "unten" und einen störungssicheren Sinn für die relative Bewegung, wenn auch mit akkumulierendem Fehler. Bei der Bildverarbeitung hingegen akkumuliert der Fehler nicht, dafür kann sie ausfallen, wenn im Bild nichts erkannt wird. Diese Kombination ist vorteilhaft komplementär und eines unserer Forschungsthemen. Dabei ermöglicht eine generische Software-Architektur, basierend auf sogenannten Mannigfaltigkeiten, verschiedene Sensoren und Informationsquellen zu integrieren.
Aus den Überlegungen zur Sensorfusion auf Mannigfaltigkeiten hat sich als Nebenresultat ein sehr nützlicher Framework für least-squares Probleme, besonders Kalibrierungen ergeben. Die unterliegende Theorie (vgl. Vorlesung TdS) zusammen mit dem entwickelten Softwareframework ermöglicht, Kalibrierungsprobleme zu lösen, in dem man im wesentlichen die Messgleichung hinschreibt. Verwaltung und das eigentliche Fitting erledigt die Bibliothek. Der Framework ist in C++ als openSLoM veröffentlicht, eine häufig noch praktischere Matlab-Version ist in Arbeit.
A7-[FreePerspective] verlief nicht ohne Schwierigkeiten: Die Mitarbeiterstelle konnte ein halbes Jahr nicht besetzt werden und hatte 2 Jahre später einen Personalwechsel. Eine zentrale Idee aus dem Antrag funktionierte nicht wie erhofft. Trotzdem konnten wir mit der Demonstration aus Abbildung \ref{fig:screenshot_SLAM} in der SFB-Begehung eine Verlängerung in Phase III erreichen.
Sportrobotik
Medienecho auf Sat-1 Bayern (auf 12:20 spulen) und Discovery Channel.
Das beste Beispiel für die oben erwähnte Philosophie der Sensordatenverarbeitung ist unser Kooperationsprojekt B-Catch mit dem DLR / Institut für Robotik und Mechatronik (Abb.~\ref{fig:bcatch}). Dem humanoiden Roboter Justin werden dabei zwei Bälle zugeworfen, er verfolgt diese visuell und fängt jeden mit einer Hand. Diese Aufgabe ist für einen humanoiden Roboter anspruchsvoll, weil sich die Kameras am Kopf mit dem Körper mitbewegen und allein schon durch die Reaktionskräfte der Armbewegungen wackeln. Deshalb nimmt ein Inertialsensor diese Eigenbewegung wahr und wird im Tracker mit den Daten visuell erkannter Kreise fusioniert. Dafür setzen wir probabilistische Methoden ein, um zwischen dem wirklichen Ball und Fehlkreisen, z.B. Köpfen von Zuschauern, zu unterscheiden. Am Ende erkennt das System einen Ball daran, dass er sich wie ein Ball bewegt und setzt keinen statischen Hintergrund oder eine bestimmte Farbe voraus. Eine große Herausforderung war es dabei, Bildverarbeitung und Tracking in Echtzeit auf einem eingebetteten PC zu realisieren. Das System wurde mit großer Resonanz auf dem Stand des DLR bei der führenden Automatisierungstechnikmesse Automatica demonstriert und wird häufig wichtigen Besuchern des Institutes gezeigt.
Diese probabilistische Fusion unterschiedlicher Sensoren und zeitlicher Sequenzen eines Sensors in Echtzeit ist charakteristisch für den von mir verfolgten Ansatz.
Die Kombination aus Breitenfaszination und Benchmark ist auch der Grund, warum wir am Roboterfußball-Wettbewerb RoboCup teilnehmen. Tim Laue (AGEBV) leitet gemeinsam mit Thomas Röfer und Judith Müller das Team B-Human der Uni Bremen und des DFKI. Es besteht derzeit hauptsächlich aus Studierenden des studentischen Projektes Roboterfußball. Das Team spielt in der Standard Platform League (SPL) in der alle Teilnehmer mit gleichen Robotern spielen und nur die Software zählt. Wir konnten 2010 erneut sowohl die German Open in Magdeburg, als auch die Weltmeisterschaft in Singapur gewinnen.
Besonders stolz sind wir darauf, dass unsere zahlreichen wissenschaftlichen Beiträge zum RoboCup Symposium im Allgemeinen auch im Wettbewerb verwendet werden und direkt zum Erfolg beitragen. In diesem Bereich tut sich im Allgemeinen bei vielen Teams eine Schere auf. Besonders bemerkenswert ist der aus einer Diplomarbeit entstandene und preisgekrönte Artikel. In dem dort vorgestellten entropiebasierten Verfahren überlegt sich der Roboter aktiv, wo hinzuschauen ihm am meisten Information über seine Position geben würde. Die Teamentwicklung im studentischen Projekt wird auch durch dir Vorlesung EBV unterstützt, die RoboCup-nahe Anwendungen diskutiert und von vielen Projektteilnehmern besucht wird.
Unser langfristiges Ziel innerhalb der RoboCup Vision ist, den Wahrnehmungsteil des anvisierten Mensch-Roboter-Fußballspiels im Jahr 2050 zu realisieren. Dabei haben wir uns auch mit den Aspekten physischer Interaktion bei dieser Vision beschäftigt.
Sportrobotik wird häufig zwar als schwierige technologische, methodische und wissenschaftliche Herausforderung, aber nicht als ernsthafte Anwendung gesehen. Vor kurzem entstand jedoch in unserer Arbeitsgruppe eine Idee zu einem kommerziell realistischen Sportrobotik-Unterhaltungs-Szenario mit direkter Mensch-Roboter-Interaktion. Unterhaltung ist natürlich eine ernsthafte Anwendung (Umsatz der Computerspielbranche in Deutschland 2008: 1,57 Mrd. Euro), man sieht das u.a. an der Nachfrage nach Show-Auftritten des Teams B-Human (Projekt AUDI-PMMT). So ein Eventmodul steht und fällt mit einer interessanten Ausgestaltung der Interaktion mit dem Spieler über den technischen Kern der Ballbeherrschung hinaus. Letzteres ist mehr Gestaltung als Sensordatenverarbeitung. Wir sind daher gerade dabei, dazu einen Projektantrag mit einer äußerst interessierten Eventagentur und einem Partner von der Hochschule für Künste aufzusetzen.
Die größte Schwierigkeit bei B-Catch war es, technisch Zeitsynchronisation und Kalibrierung bei dem komplexen Multisensorsystem, das ein humanoider Roboter darstellt, so in den Griff zu bekommen, dass eine Endgenauigkeit von unter 2 cm möglich wurde. Besonders kritisch ist dabei die Kalibrierung der zwei Kameras zueinander, die sich bei Arbeiten am Kopf häufig verstellt.
Sichere Sensoralgorithmen
Hierbei geht es um Algorithmen, die Daten von Sensoren zu einem sicherheitsgerichteten Zwecke auswerten, so dass sie vor Gebrauch zertifiziert werden müssen, z.B. vom TÜV nach IEC 61508.
Die wichtigste Aktivität in diesem Gebiet ist das Projekt SAMS. In diesem Projekt haben wir einen Kollisionsvermeidungsalgorithmus für autonome Fahrzeuge und mobile Roboter entwickelt. Dieser berechnet eine Schutzzone abhängig von Geschwindigkeit und Kurvenfahrt. Befindet sich ein Hindernis in dieser Schutzzone, wird eine Notbremsung eingeleitet. Wir haben den Algorithmus implementiert und die C-Implementierung mit dem Theorembeweiser Isabelle mit Logik höherer Stufe verifiziert und dadurch vom TÜV Süd eine Sicherheitszertifizierung nach IEC 61508 SIL 3 erhalten.
SAMS ist mittlerweile abgeschlossen, wir setzen das Thema im Projekt iGEL fort. Dort werden unebener Boden und Rampen berücksichtigt. Ein Laserscanner tastet schrägt den Boden vor dem Fahrzeug ab. In den Daten wird die Bodenebene erkannt und es werden Punkte als Boden oder Hindernis klassifiziert. Die Herausforderung liegt darin, dies mit der Integrität zu tun, die für Sicherheitstechnik vorgeschrieben ist.
Wir haben die algorithmische Technik aus SAMS auf 3D generalisiert um Schutzzonen für einen Roboterarm in Echtzeit zu berechnen (Abb.~\ref{fig:safety}). Im Rahmen des Projektes B-Catch verwenden wir es, um den humanoiden Roboter Justin beim Ballfangen vor Eigenkollisionen zu schützen. Eine langfristige Perspektive ist das Absichern gegen Kollision mit Personen, wie für die Fahrzeuge in SAMS, mit einem geeigneten 3D-Sensor. Eine Möglichkeit wäre das gerade aktuelle Kinect-System, die größte Schwierigkeit besteht in Verdeckungen.
Unsere Arbeiten im Sicherheitsbereich sind sehr industrienah. SAMS und iGEL sind Projekte mit Industriebeteiligung. Das SAMS-3D-Verfahren ist zum zum Patent eingereicht. Das Projekt European Train Control System (ETCS) war ein Gutachten im Industrieauftrag.