Neues-Terrain-01 – Freiflächen

Daniel Koester (cv:hci) und Sebastian Ritterbusch (iXpoint) erklären, wie Computer für uns den freien Weg vor unseren Füßen erkennen können:
Freiflächen (2:10:58, 62MB)

Im Gespräch mit Daniel Koester am Computer Vision for Human-Computer Interaction Lab (cv:hci) geht es um die Erkennung des freien Weges vor unseren Füßen. Das cv:hci befasst sich mit der Fragestellung, wie Menschen mit Computer oder Robotern interagieren, und wie gerade die Bildverarbeitung dazu beitragen kann. Das Thema lässt sich auch gut mit dem Begriff der Anthropromatik beschreiben, der von Karlsruher Informatikprofessoren als Wissenschaft der Symbiose von Mensch und Maschine geprägt wurde und im Institut für Anthropromatik und Robotik am Karlsruher Institut für Technologie (KIT) erforscht und gelebt wird. So wurde der ARMAR Roboter, der elektronische Küchenjunge (Video), ebenfalls am Institut an der Fakultät für Informatik  entwickelt.

Schon früh stellte sich heraus, dass die Steuerung von Programmierung von Computern mit höheren Programmiersprachen wie Fortran, BASIC oder Logo durch Anlehnung an die menschliche Sprache große Vorteile gegenüber der Verwendung der Maschinensprache besitzt. Damit liegt das Thema ganz natürlich im Bereich der Informatik ist aber auch gleichzeitig sehr interdisziplinär aufgestellt: Das Team des KaMaRo (Folge im Modellansatz Podcast zum KaMaRo und Probabilistischer Robotik) entwickelt den Roboter in einem Team aus den Disziplinen Maschinenbau, Elektrotechnik und Informatik.

Mit der Freiflächenerkennung befasst sich Daniel Koester seit seiner Diplomarbeit, wo er die Frage anging, wie die Kurzstreckennavigation für blinde Personen erleichtert werden kann. Hier besteht eine Herausforderung darin, dass zwischen einer Fußgängernavigation und der Umgebungserfassung mit dem Blindenlangstock eine große informative Lücke besteht. Nach Abschaltung der Selective Availability des GPS liegt die erreichbare Genauigkeit bei mehreren Metern, aber selbst das ist nicht immer ausreichend. Dazu sind Hindernisse und Gefahren, wie Baustellen oder Personen auf dem Weg, natürlich in keiner Karte verzeichnet. Dabei können Informationen von anderen Verkehrsteilnehmern Navigationslösungen deutlich verbessern, wie das Navigationssystem Waze demonstriert.

Die Erkennung von freien Flächen ist außer zur Unterstützung in der Fußgängernavigation auch für einige weitere Anwendungen sehr wichtig- so werden diese Techniken auch für Fahrassistenzsysteme in Autos und für die Bewegungssteuerung von Robotern genutzt. Dabei kommen neben der visuellen Erfassung der Umgebung wie bei Mobileye auch weitere Sensoren hinzu: Mit Lidar werden mit Lasern sehr schnell und genau Abstände vermessen, Beispiele sind hier das Google Driverless Car oder auch der KaMaRo. Mit Schall arbeiten Sonor-Systeme sehr robust und sind im Vergleich zu Lidar relativ preisgünstig und werden oft für Einparkhilfe verwendet. Der UltraCane ist beispielsweise ein Blindenstock mit Ultraschallunterstützung und der GuideCane leitet mit Rädern aktiv um Hindernisse herum. Mit Radar werden im Auto beispielsweise Abstandsregelungen und Notbremsassistenten umgesetzt.

Die hier betrachtete Freiflächenerkennung soll aber keinesfalls den Langstock ersetzen, sondern das bewährte System möglichst hilfreich ergänzen. Dabei war es ein besonderer Schritt von der Erkennung bekannter und zu erlernenden Objekte abzusehen, sondern für eine größere Robustheit und Stabilität gerade die Abwesenheit von Objekten zu betrachten. Dazu beschränken sich die Arbeiten zunächst auf optische Sensoren, wobei Daniel Koester sich auf die Erfassung mit Stereo-Kamerasystemen konzentriert. Grundsätzlich ermöglicht die Analyse der Parallaxe eine dreidimensionale Erfassung der Umgebung- dies ist zwar in gewissem Maße auch mit nur einer Kamera möglicht, die sich bewegt, jedoch mit zwei Kameras in definiertem Abstand wird dies deutlich leichter und genauer. Dies entspricht dem verbreiteten stereoskopischen Sehen von Menschen mit Augenlicht, doch mitunter kommt es zu Situationen, dass Kinder bei einem schwächeren Auge das stereoskopische Sehen nicht erlernen- hier können temporär Augenpflaster zum Einsatz kommen.

Zur Rekonstruktion der Tiefenkarte aus einem Stereobild müssen zunächst korrespondierende Bildelemente gefunden werden, deren Parallaxenverschiebung dann die Bildtiefe ergibt. Ein Verfahren dazu ist das Block-Matching auf Epipolarlinien. Für ein gutes Ergebnis sollten die beiden Sensoren der Stereo-Kamera gut kalibriert und die Aufnahmen vor der Analyse rektifiziert sein. Die Zuordnung gleicher Bildelemente kann auch als lokale Kreuzkorrelation gesehen werden. Diese Tiefenrekonstruktion ist auch den menschlichen Augen nachempfunden, denen durch geeignete Wiederholung zufälliger Punkte in einem Bild eine räumliche Szene vorgespielt werden kann. Dieses Prinzip wird beim Stereogrammen oder Single Image Random Dot Stereogram (SIRDS)  ausgenutzt. Weiterhin muss man die Abbildungseigenschaften der Kameras berücksichtigen, damit die Parallaxverschiebungen auf horizontalen Linien bleiben. Ebenso müssen Vignettierungen ausgeglichen werden.

Algorithmen, die nur lokale Informationen zur Identifikation von Korrespondenzen verwenden, lassen sich sehr gut parallelisieren und damit auf geeigneter Software beschleunigen. Für größere gleichmäßige Flächen kommen diese Verfahren aber an die Grenzen und müssen durch globale Verfahren ergänzt oder korrigiert werden. Dabei leiden Computer und Algorithmen in gewisser Weise auch an der Menge der Daten: Der Mensch ist ausgezeichnet darin, die Bildinformationen auf das eigentlich Wichtige zu reduzieren, der Computer hat damit aber große Schwierigkeiten.

Für den Flowerbox-Testdatensatz (2GB) wurden Videos mit 1600×1200 Pixeln aufgelöste und synchronisierte Kameras in Stereo aufgezeichnet. Beispiele für synchronisierte Stereokamera-Systeme im Consumer-Bereich sind die Bumblebee oder das GoPro 3D-System. Die Kameras wurden leicht nach unten gerichtet an den Oberkörper gehalten und damit Aufnahmen gemacht, die dann zur Berechnung des Disparitätenbildes bzw. der Tiefenkarte verwendet wurden. Ebenso wurden die Videos manuell zu jedem 5. Bild gelabeled, um die tatsächliche Freifläche zur Evaluation als Referenz zu haben. Der Datensatz zeigt das grundsätzliche Problem bei der Aufnahme mit einer Kamera am Körper: Die Bewegung des Menschen lässt die Ausrichtung der Kamera stark variieren, wodurch herkömmliche Verfahren leicht an ihre Grenzen stoßen.

Das entwickelte Verfahren bestimmt nun an Hand der Disparitätenkarte die Normalenvektoren für die Bereiche vor der Person. Hier wird ausgenutzt, dass bei der Betrachtung der Disparitätenkarte von unten nach oben auf freien Flächen die Entfernung kontinuierlich zunimmt. Deshalb kann man aus der Steigung bzw. dem Gradienten das Maß der Entfernungszunahme berechnen und damit die Ausrichtung und den auf der Fläche senkrecht stehenden Normalenvektor bestimmen. Die bestimmte Freifläche ist nun der zusammenhängende Bereich, bei denen der Normalenvektor ebenso aufrecht steht, wie bei dem Bereich vor den Füßen.

Die Evaluation des Verfahrens erfolgte nun im Vergleich zu den gelabelten Daten aus dem Flowerbox-Datensatz. Dies führt auf eine Vierfeld-Statistik für das Verfahren. Im Ergebnis ergab sich eine korrekte Klassifikation für über 90% der Pixel auf Basis der realistischen Bilddaten.

Die veröffentlichte Software ist im Blind and Vision Support System (BVS) integriert, in der erforderliche Module in der Form eine Graphen mit einander verknüpft werden können- bei Bedarf auch parallel. Eine ähnliche aber gleichzeitig deutlich umfassendere Architektur ist das Robot Operation System (ROS), das noch viele weitere Aspekte der Robotersteuerung abdeckt. Eine wichtige Bibliothek, die auch stark verwendet wurde, ist OpenCV, mit der viele Aspekte der Bildverarbeitung sehr effizient umgesetzt werden kann.

Die Entwicklung der Hardware, gerade bei Mobilgeräten, lässt hoffen, dass die entwickelten Verfahren sehr bald in Echtzeit durchgeführt werden können: So können aktuelle Smartphones Spiele Software des Amiga Heimcomputers in einem interpretierten Javascript Emulator auf der Amiga Software Library auf Archive.org nahezu in Orginalgeschwindigkeit darstellen.

Für die Umsetzung von Assistenzsystemen für blinde und sehgeschädigte Menschen ist aber auch immer der Austausch mit Nutzern erforderlich: So sind Freiflächen für sich für blinde Personen zunächst Bereiche ohne Orientierbarkeit, da es keinen tastbaren Anknüpfungspunkt gibt. Hier müssen entweder digitale Linien erschaffen werden, oder die Navigation sich weiter nahe an fühlbaren Hindernissen orientieren. Am cv:hci ist der Austausch durch das angeschlossene Studienzentrum für sehgeschädigte Studierende (SZS) unmittelbar gegeben, wo entwickelte Technik sich unmittelbar dem Alltagsnutzen stellen muss.

Die entwickelte Freiflächenerkennung war nicht nur wissenschaftlich erfolgreich, sondern gewann auch einen Google Faculty Research Award und die Arbeitsgruppe wurde in der Lehre für ihr Praktikum den Best Praktikum Award 2015 ausgezeichnet.

Literatur und weiterführende Informationen