GeoWerkstatt-Projekt des Monats April 2019
Projekt: Deep Learning für fotorealistisches Rendering von Punktwolken
Forschende: Torben Peters, Claus Brenner
Projektidee: Kann man fotorealistische Bilder aus Laserscanning-Punktwolken erzeugen und dabei noch beliebig wählen, ob Sommer oder Winter sein soll? Unser Experiment zeigt, dass es funktioniert und wie man Deep Learning hierfür einsetzen kann.
Hinweis: Nach der Aktivierung des Videos werden Daten an den jeweiligen Anbieter übermittelt. Weitere Informationen finden Sie in unserer Datenschutzerklärung.
Video abspielen
Der Ausgangspunkt unseres Experiments sind Laserscanning-Punktwolken. Diese sind Anhäufungen von sehr vielen einzelnen, dreidimensionalen Messpunkten, welche die Umgebung geometrisch beschreiben, jedoch keine Farbe besitzen. Möchte man aus diesen Daten Bilder erzeugen, die farbigen Fotos ähneln, benötigt man herkömmlicherweise eine zusätzliche Datenerfassung mit Kameras und eine komplexe Berechnung, die leider oft nicht die gewünschten Ergebnisse liefert. Zudem lassen sich damit immer nur Bilder des Ist-Zustands erzeugen: war die Erfassung im Winter, zeigen auch alle erzeugten Bilder die winterliche Umgebung.
Um diese Probleme zu umgehen, haben wir Deep Learning, eine Methode der künstlichen Intelligenz, zur Hilfe genommen. Das funktioniert so ähnlich wie im Sport: Bei einem Spiel oder einem Wettkampf wird das Können der einzelnen Mitspieler gegeneinander gemessen. In der Mathematik wird diese Interaktion in der Spieltheorie beschrieben. Treten zwei Kontrahenten gegeneinander an, können diese durch den Wettkampf ihre Leistung auf ein hohes Niveau steigern. Beim Deep Learning wird eine ähnliche Interaktion zwischen Akteuren bei den sogenannten Generative Adversarial Networks (kurz GAN) benutzt. Ein GAN besteht aus zwei Teilen: einem Generator und einem Diskriminator, die einen Konflikt austragen. Beispielsweise versucht der Generator, ein Bild zu erzeugen, das möglichst fotorealistisch aussieht. Wie real das Ergebnis wirklich wirkt, misst dann der Diskriminator, ein Kritiker, der versucht, echte Bilder von künstlich erzeugten zu unterscheiden. Im Zuge dieses Spiels werden beide Akteure immer besser. Der Generator täuscht den Diskriminator mit immer realistischeren Bildern und der Diskriminator lernt diese immer besser von den echten zu unterscheiden. Das funktioniert mitunter so gut, dass jüngst sogar ein britisches Auktionshaus ein Kunstwerk für 380.000 Euro versteigert hat, welches von einem GAN erzeugt wurde.
Unser Ziel ist, ein GAN zu erstellen, welches aus Punktwolken fotorealistische Bilder erzeugt. Um ein solches Netzwerk zu trainieren, benötigt man große Datenmengen. Darum haben wir innerhalb eines Jahres in 21 Messkampagnen mit unserem mobilen Laserscanning-System (Mobile Mapping) in Hannover 3D-Punktwolken und Fotos aufgenommen. Wir nutzen nur einen Teil der Daten – das sind aber immerhin 15 Milliarden dreidimensionale Punkte und 123.000 Bilder. Um daraus einen Datensatz zu erstellen, haben wir einen Punktwolken Renderer auf einem Hadoop Rechencluster programmiert. Dieser erstellt zu jedem (echten) Foto ein dazugehöriges Punktwolkenbild.
In Abbildung 1 sieht man ein Ergebnis unseres GANs. Der Generator erhält als Eingabe ein von uns erstelltes Punktwolkenbild (links). Daraus synthetisiert er ein Foto, das der echten Umgebung äußerst ähnlich sieht (Mitte). Obwohl die Eingangsdaten aus der Punktwolke keine Farben enthalten, ist der Generator in der Lage, ein realistisch anmutendes Foto zu erzeugen. Interessant an diesem Beispiel ist, dass der Generator die Hausfassade weiß und das Dach rot zeichnet, was einer typischen Hausgestaltung entsprechen könnte, während in der Realität das Dach schwarz und die Fassade rot ist (rechts). Es handelt sich also um eine Schätzung anhand typischer Vorkommnisse in der realen Welt.
Im nächsten Schritt haben wir dem GAN als zusätzliche Eingabe den Monat zur Verfügung gestellt, in dem das Foto entstanden ist, und das GAN hat gelernt, typische Merkmale einer Saison zu unterscheiden. So können wir anhand derselben Punktwolke, nur durch Wahl eines beliebigen Monats, ein Foto erzeugen, das die typischen Merkmale dieses Monats aufweist.
In Abbildung 2 sieht man beispielsweise, dass der Generator von selbst herausgefunden hat, dass im Sommer Bäume eher grüne Blätter haben und im Winter Schnee auf den Gehwegen liegt.
Andersherum können die Farben aus den synthetischen Fotos auch verwendet werden, um die ursprünglichen Punktwolken einzufärben (Abbildung 3). Normalerweise werden dafür Farbwerte aus Kamerabildern übertragen. Dafür müssen jedoch Kameras verfügbar sein und eine hinreichend genaue Kalibrierung durchgeführt werden. Zudem entstehen durch Verdeckungen und Dynamik in der Szene häufig Fehler. Beim Einsatz von GANs ist dieser Schritt hingegen möglich, ohne überhaupt Kameras zu verwenden.
Link zum Workshop-Paper.