Wie Algorithmen unsere Welt erlernen

Das Fraunhofer IPM entwickelt lernfähige Algorithmen, die fusionierte Kamera- und Scandaten im Hinblick auf bestimmte Objektklassen interpretieren.

Messsysteme wie Laserscanner oder Kameras zur Erfassung geometrischer Strukturen liefern immer hochwertigere 3D-Daten. Um diese Daten zu nutzen, mussten sie bisher manuell gesichtet und interpretiert werden – ein aufwendiger und ineffizienter Prozess. Das Fraunhofer-Institut für Physikalische Messtechnik IPM in Freiburg entwickelt deshalb entsprechende Verfahren für die automatische Erfassung, Klassifizierung und Interpretation von 3D-Daten. Im Mittelpunkt stehen lernende Algorithmen, die auf dem Konzept des sogenannten „Deep Learning“ beruhen. Grundlage für die Algorithmen sind künstliche neuronale Netze (KNN).

Deep Learning

Kamerabild und ausgewertetes Messbild: Die farbigen Segmentierungsmasken markieren die Form der erkannten Objekte. Foto: Fraunhofer IPM

Deep Learning auf Basis von künstlichen neuronalen Netzen unterscheidet sich von klassischen Methoden der Objekterkennung vor allem dadurch, dass die zu erkennenden Objekte oder Objektklassen nicht durch einen Satz manuell vordefinierter Merkmale beschrieben werden. Stattdessen wird die Merkmalsrepräsentation eines Objekts vom neuronalen Netz gelernt. „Objekterkennungsverfahren, die KNNs einsetzen, sind den klassischen Methoden inzwischen überlegen“, erklärt Prof. Dr. Alexander Reiterer, Leiter der Abteilung „Objekt- und Formfassung“ am Fraunhofer IPM. Dies gelte vor allem dann, wenn es darum geht, viele verschiedene Objekte zu erkennen, deren Erscheinung stark variiert, wie etwa bei der Klassifizierung von Verkehrswegebauten und Straßenszenen (Verkehrsschilder, Leitplanken). Zudem sind KNN-basierte Ansätze laut Reiterer robuster gegenüber Variationen wie Verdeckungen, Ausbleichen von Farben, Beschädigungen oder Verschmutzungen. Für die Objektidentifikation sind insbesondere die sogenannten Convolutional Neural Networks (CNNs oder ConvNets) relevant. Diese machen sich die Tatsache zunutze, dass Informationen in Bildern oder auch Punktwolken meist auf einen kleineren Teilbereich beschränkt sind. So sind weniger Neuronen als in einem vollständig verbundenen Netz notwendig, was Rechenzeit und Speicherbedarf einspart. Dass diese Netze allerdings mit der großen Menge an Eingangsdaten für eine Erkennung komplexer Objekte tatsächlich umgehen können, ist noch relativ neu und insbesondere der Verfügbarkeit leistungsfähiger und hoch parallelisierter Grafikprozessoren (Graphical Processing Units, GPUs) zu verdanken.

Training des KNN

Wie das menschliche Gehirn kann das KNN nur jene Objekte zuverlässig klassifizieren, die es auch kennt. Deshalb wird das KNN mittels eines Trainings auf die Klassifizierungsaufgabe vorbereitet. Dazu wird ein spezieller Trainingsdatensatz generiert, der wiederum tausende Datensätze mit prototypischen Elementen der entsprechenden Szene enthält. Auf Baustellen sind das zum Beispiel Fahrzeuge, Schilder, Zäune und Leitplanken. Die Trainingsdatensätze werden zunächst manuell annotiert, das heißt, alle Randbereiche eines Objekts werden manuell und pixelgenau markiert. Das Erzeugen der Ausgabe im produktiven Einsatz gestaltet sich dann zudem komplex und ist nicht alleine durch das KNN zu bewältigen. „Oft müssen Teilstücke eines Objekts zusammengefasst, überlappende Bereiche bereinigt, umschließende Polygone errechnet und eine Projektion in die Ebene vorgenommen werden.“ Am Ende dieser Verarbeitungskette stehe beispielsweise ein Output-File für GIS- oder Visualisierungstools, um mit bekannten Hilfsmitteln die Daten nutzen zu können.

Prozesskette des Deep Learning Frameworks des Fraunhofer IPM: KNN-Design, Training und Anwendung. Foto: Fraunhofer IPM

Wie viele Trainingsdaten notwendig sind, hängt von der Anzahl der Objektklassen, ihrer Diversität und den final zu verarbeitenden Messdaten ab. „Wir sprechen bei komplexen Problemstellungen mit 30 bis 40 Objektklassen aber schnell von mehreren zehntausend Trainingsdaten. Der Aufwand für die Annotierung – also die Erstellung dieser Daten – ist entsprechend hoch und macht einen beträchtlichen Teil des Entwicklungsaufwands bei der vollautomatisierten Dateninterpretation aus“, so der Wissenschaftler. Wie lange das Training dauert, hängt von der Anzahl der Trainingsdaten, der Komplexität des Netzes und der Rechenpower ab. Vorher muss das KNN designt und implementiert werden. Zudem muss eine Prozesskette vor und hinter dem KNN platziert werden, um die Daten aufzubereiten und nach der Klassifizierung in das gewünschte Ausgabeformat zu bringen. Des Weiteren gelte, je detaillierter die Informationen im Datensatz, desto besser gelingen Objekterkennung und -klassifizierung.

Um die Trainingsdaten zu erstellen bietet das Fraunhofer IPM mit dem KNN-Framework ein eigenes Tool, mit dem sich die 2D- und 3D-Daten schneller annotieren lassen. Das trainierte Netz wird als ausführbares Programmpaket für Windows oder Linux ausgegeben und kann bezüglich Schnittstellen je nach Bedarf entsprechend angepasst werden. Bei Bedarf kann die gesamte Prozesskette inklusive des KNN in die Cloud gebracht werden. Während das Training vor wenigen Jahren noch Wochen oder Monate in Anspruch nahm, ist dieser Prozess aufgrund massiver Parallelisierung heute laut Reiterer in wenigen Stunden möglich. Abhängig von der GPU/CPU erfolgt die Auswertung neuer Datensätze auf Basis eines trainierten KNN dann sogar in Echtzeit mit mehreren Bildern pro Sekunde.

Aktuell ist das KNN-Framework unter anderem bei dem Bauunternehmen STRABAG SE im Einsatz, wo es zur Baustellendokumentation genutzt wird. (siehe BG 03/2018, Anm. d.Red.) Hier liefert ein von Fraunhofer IPM entwickeltes Messsystem, das neben Kameras auch einen Laserscanner nutzt und auf einer UAV-Plattform (Unmanned Aerial Vehicle) installiert ist, neben Kameradaten direkt eine georeferenzierte 3D-Punktwolke.

Fusionierte Scanner- und Kameradaten

Um die Daten automatisch verarbeiten zu können, müssen sie eine gewisse Qualität haben. Gibt es Lücken in den Punktwolken und eine unvollständige 3D-Darstellung, so ist das für die automatisierte Objekterkennung eine große Herausforderung. „Werden Punktwolken beispielsweise durch mobile Laserscanner erzeugt, so nimmt der Abstand zwischen den Scanprofilen bei hoher Fahrgeschwindigkeit zu“, erklärt der Wissenschaftler. „Objekte mit geringer Ausdehnung, wie etwa Schilder oder Masten, beinhalten nur wenige Scanprofile, was die Auswertung anhand geometrischer Merkmale erschwert.“

Außerdem gibt es nach wie vor ein prinzipielles Problem mit Laserscanning- Daten: Beim Scannen wird immer nur die dem Laserstrahl zugewandte Oberfläche der umgebenden Objekte aufgenommen. Die dem Scanner abgewandten Teile eines Objekts werden nicht erfasst. Diese auch „2 ½-D“-Daten genannte Darstellung eignet sich nur eingeschränkt für eine automatisierte Auswertung, da die geometrischen Merkmale eines Objekts nur unvollständig repräsentiert sind. Für eine zielgenaue Identifizierung und Klassifizierung von Objekten müssten deshalb weitere Informationen wie beispielsweise Kameradaten hinzugezogen werden.

Für die Fusion werden georeferenzierte Punkte der Scannerdaten üblicherweise zunächst in ein Rasterformat überführt, welches Tiefeninformationen enthält. Diese werden dann mit den RGB-Kameradaten zu einem pixelbasierten RGBD( epth)-Datensatz verknüpft, sodass jedes RGB-Kamerabild einem entsprechenden Tiefenbild zugeordnet werden kann. „Die Verknüpfung von RGB-Bildern und 3D-Daten bildet ein ideales Eingabeformat für das KNN“, so Reiterer. „Wenn Scandaten allerdings genügend gut aufgelöst sind und die Farbe bei den interessanten Objekten kein wichtiges Beschreibungselement darstellt, gelingt die Identifizierung auch mit dem Scanner als einzigem Datenkanal.“ Für die Zukunft haben sich Reiterer und sein Team vorgenommen, Systeme zu bauen, die annähernd an die menschliche Schlussfolgerungsfähigkeit herankommen. „Das ist eine große Herausforderung für uns. Derzeit sind etwa 80 Prozent Zuverlässigkeit machbar, unser Ziel ist aber, 90 bis 100 Prozent zu erreichen“, so Reiterer.

Grenzen der merkmalbasierten Objekterkennung

Bei der Objekterkennung (engl. object recognition) werden Eingangsdaten mit zuvor bereits gesehenen Objekten abgeglichen, um Ähnlichkeiten zu finden. Am besten funktioniert dies, wenn als Eingabe ein einzelnes mehr oder weniger isoliertes Objekt zur Verfügung steht, welches aus einer typischen Perspektive aufgenommen ist (engl. iconic object). Objektklassenerkennung (engl. object class recognition) bezeichnet die Klassifizierung von Objekten, die ein abstraktes Konzept repräsentieren und deshalb in ihrer Erscheinung stärker variieren. Ein typisches Beispiel ist die Klasse „Auto“.

www.ipm.fraunhofer.de