Skip to main content


Zutaten: Zucker, Kakaomasse (50%), Milchzucker, Weizenmehl, Vollmilchpulver, Magermilchpulver, Butterreinfett, Sahnepulver, Butter (1,4%)
Kann Spuren von Analysis und Geometrie enthalten.

IV_24_skatebahn-titel

Wie tiefe neuronale Netze Bilder rekonstruieren können

Rikes Schwester Jule kommt nach Berlin, um Rike und Ben zu besuchen. Außerdem hat sie ein kleines IT-Problem mitgebracht. Sie hat in einer Zeitung ein Foto von der Lemgoer Skatebahn gefunden – mit einem Graffiti ihres Freundes Nico, dem besten Sprayer überhaupt, was nun übermalt wurde. Zu gern würde sie das Bild rekonstruieren.

skatebahn-136_vr_787_14-04
Ausgangsbild mit Druckraster und Beschädigung

 

Jule Kannst Du mir weiterhelfen?

Algorithmen zur Bildrekonstruktion

Rike Ich versuch’s. Wir haben in letzter Zeit die Arbeiten von Mitra und Kollegen zum Deep Learning in der Bildverarbeitung verfolgt. So gibt es Algorithmen des tiefen Lernens, die nicht pixelweise funktionieren, sondern inhaltlich. Mit solchen Methoden versuchen sie, in diesem Bild Kanten zu finden, Tiefeninformation sowie Flächen zu entdecken. Dabei wird das Rauschen unterdrückt bzw. vernachlässigt.

Wenn diese Informationen gefunden wurden, wird das kleingerechnete und auf das Wesentliche reduzierte Ausgangsbild mit den neuen, hochgerechneten Bildern mit den Kanten, erkannten Objekten, Tiefeninformation und Normalenrichtungen gefaltet. Dabei können sogar fehlende Bildteile rekonstruiert werden und es entsteht ein neues „fehlerfreies“, hochaufgelöstes Bild.

Faltung

Jule Was ist denn falten?

Rike Das ist so eine Art von Multiplikation von 2 Funktionen. Nehmen wir mal die Funktionen f und g. Beide sollen nur auf einer beschränkten Menge ungleich 0 sein, und natürlich integrierbar. Dann kannst Du die neue Funktion

(f \ast g) (y)\;:=\;\int_{-\infty} ^{+\infty}\; f(x)\; \cdot \;g(y\;-\;x) \; dx

berechnen. Das ist die Faltung von f und g.

Jule Hmm. Überschaue ich nicht.

Rike Wir machen das mal eindimensional. Nehmen wir mal an, Du hast eine geometrische Information im Ausgangsbild: Das ist mal die Funktion f, nehmen wir mal ein Rechteck, und Du hast eine Struktur g entdeckt, nehmen wir mal ein weiteres Rechteck. Dann musst Du die Funktion g(x) spiegeln:

g(x)\; \rightarrow\; g(-x),

um y verschieben:

g(x) \; \rightarrow\; g(-x)\; \rightarrow\; g(y-x)

Diese Funktion multiplizierst Du mit f für ein festes y und integrierst dieses Produkt über x. Wenn sich f und g(y-x) nicht überlagern, dann ist das Ergebnis der Faltung 0. Wenn sie sich beim Verschieben von y nach rechts zum ersten Mal treffen, dann wird die neue Funktion f \ast g anwachsen.

 

 

Jule Okay. Gut. Da entsteht so eine Art Rampe!

faltung_fg_vr_05_06
Die Funktionen f und g und ihre Faltung f\ast g

Rike Stimmt!

Rekonstruktion in Jules Beispiel

Jule Und in der Rampe sind alle Informationen von f und g enthalten. Hey, das ist gut. So kannst Du wirklich ein Bild vergrößern. Warte mal, ich versuche das mal zu programmieren. Zuerst gehe ich alle Pixel durch und suche die Tiefeninformation, okay, da muss ich die Unschärfe oder Weichzeichnung lokal vergleichen, hier:

IV_24_skatebahn-136_vr_787_15_VRayZDepth
Rekonstruierte Tiefeninformation zum Ausgangsbild

Dann die Normalenrichtungen: Da brauche ich einen anderen Algorithmus, hier muss ich die Helligkeiten und Farbigkeiten lokal vergleichen, so:

IV_24_skatebahn-136_vr_787_15
Rekonstruierte Flächen und deren Normalenrichtungen im Bild

mit Semantic Labeling, schreiben Eigen und Fergus, findet man die Geometrien im Bild. Das ist so eine Art pixelweise Informations- und Entropieberechnung.

Labels ~ erkannte Geometrien im Bild

Jule Echt stark! Und jetzt muss ich das mit dem Ausgangsbild geschickt falten, na gut, habt Ihr da was?

Rike Ja, ich hab‘ das mal probiert, warte, die fehlenden Stellen kann ich gut ergänzen, das sind ja nur Bäume, das geht mit Deep Learning, hier:

IV_24_skatebahn-136_vr_787_13
Rekonstruiertes Bild

Jule Danke! Das gefällt mir, echt krass! Das rekonstruierte Bild ist viel cleaner und viel größer.

Rike Ja, das geht bis zur 4-fachen Größe!

Jule Diese Technologie hat enormes Potenzial! Echte Digitalisierung von Bildern! Rekonstrution eben auch. Mann! Ich schaue mir dann auch mal die Faltung an!

***

Übungsaufgabe

Was kann man aus der Faltung im Falle zweier Rechtecke rekonstruieren?

Lösung

Die Funktion (f\ast g)(y) hat die folgende Gestalt:

faltung_fg_vr_result_06_03

mit

y_1\; =\; a \;+\; a\prime

y_2\; =\; a \;+\; b\prime

y_3\; =\; b \;+\; a\prime

y_4\; =\; b \;+\; b\prime

O.B.d.A. sei \;b\prime -\;a\prime \; \le b\;-\;a.
Betrachtet man nun die y_i in den 4 Gleichungen als gegebene rechte Seite und a, \; a\prime,\;b,\;b\prime als Unbekannte, so erhält man die Determinante 0 für die Koeffizentenmarix. Es sind nicht alle 4 Unbekannten eindeutig bestimmbar.

Ebenso kann man aus der Höhe der Ergebnisfunktion nicht die einzelnen Höhen bestimmen.

Sind allerdings (f\ast g)(y) mit der Höhe H und den Punkten y_i sowie eine der Funktionen f oder g gegeben, z.B. g mit der Höhe h\prime und dem Träger [a\prime,\;b\prime], so ist daraus f bestimmbar. f ist eine Rechteckfunktion auf [a,\;b] mit der Höhe

h=\frac{H}{(b\prime\;-\;a\prime)h\prime

und

a\; =\; y_1\; -\;a \prime

b\; =\; y_4\; - \;b\prime

Das könnte man inverse Faltung nennen.

Dank

Die fotorealistischen Bilder sind im Sommersemester 2019 mit Fotos von Studierenden des 2. Semesters Medienproduktion entstanden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wir freuen uns, dass Du einen Kommentar hinterlassen möchtest. Denk bitte daran, dass Du dich durch das Abschicken des Kommentars mit unseren Nutzungsbedingungen einverstanden erklärst.