Ein interessantes Einsatzgebiet für moderne KI/Deep Learning Anwendungen ist die nachträgliche Kolorierung von Schwarz-Weiß Photos. Mussten früher noch mühsam die Einzelbilder von Hand koloriert werden, kann heutzutage ein neuronales Netzwerk anhand einer großen Anzahl von Photos trainiert werden, um relativ zuverlässig die verschiedenen Objekte in Photos zu erkennen und entsprechend seiner Erfahrung korrekt einzufärben. Alte Photos werden so überraschend lebendig und bringen uns vergangenes viel näher.

Seit etwas über einem Jahr gibt es das Open Source Hobby-Projekt DeOldify von Jason Antic, welches genau das macht - seit einiger Zeit kann es nicht nur Photos, sondern auch Videos kolorieren. Der verwendete spezielle Algorithmus für Videos ist dabei so konsistent, dass er tatsächlich alle Einzelbilder ohne Bezug auf die Bilder davor oder danach so zuverlässig gleich einfärbt, dass es nicht zu den sonst so berüchtigten Effekten wie Flackern und Farbsprüngen kommt. Interessanterweise kommen verschiedene Modelle mit unterschiedlichen Trainingsmethoden mehr oder weniger zu ähnlichen Ergebnissen, was die Farben z.B. von Kleidung, Autos oder sogar Spezialeffekten (wie in Metropolis) betrifft.
Wie funktioniert die Kolorierung per Deep Learning?
Trainiert wird das neuronale Netz (ein Self-Attention Generative Adversarial Network) anhand von S/W-Versionen von Farbbildern, denen zusätzlich noch zufällige Änderungen unter anderem von Helligkeit und Kontrast hinzugefügt wurden, um typische Alterungsschäden von Photos zu simulieren. Die Farb-Originale werden von einem weiteren neuronalen Netz dazu genutzt, die Ergebnisse des ersten zu beurteilen. Das erste kann daraufhin seine Gewichtungen verändern, um bessere Ergebnisse zu erzielen. Das führt dazu, dass das Netz allmählich lernt typische Formen/Muster/Objekte zu erkennen und welche Farbe diese normalerweise besitzen. Dieses Wissen setzt es dann beim Kolorieren ein.

Ein großes Problem jeder nachträglichen Kolorierung bleibt: die Farben beruhen auf Erfahrungen bzw. Wahrscheinlichkeiten und indirekten Hinweisen auf den Bildern, die die Farbversionen von Schwarz-/weiß-Photos zwar relativ realistisch aussehen lassen, aber nicht stimmen müssen. Unterschiedliche Farben können in demselben Grauton resultieren - wird das Objekt also wieder eingefärbt, muss aufgrund der verlorengegangenen Informationen geraten werden, welche Farbe dem Grau zugrunde lag.
Deep Learning führt aufgrund der vielen Beispielbilder automatisiert zu wahrscheinlichen/realistischen Einfärbungen, die unseren Erwartungen entsprechen, weil auch diese aufgrund von Erfahrungen zu gewissen Erwartungen führen. So erwarten wir von einem hellgrauen Herrenhemd auf einem S/W-Photo eher, dass es eingefärbt hellblau ist als rosa, auch wenn es in Wirklichkeit letzteres gewesen sein kann.
Allerdings vermutet der Entwickler von DeOldify Jason Antic, dass die relativ hohe Konsistenz der Einfärbungen auch dadurch entsteht, dass der Algorithmus für uns kaum erkennbare Hinweise (wie etwa Reflektionen) auf die ursprüngliche Farbe in einzelnen Objekten der S/W-Bilder erkennt und sie so zum Teil korrekt koloriert - was auf eine Besonderheit neuronaler Netze hinweist, sie finden nämlich ihre Regeln selbst und können für den Entwickler eine Black Box sein: er sieht nur den In- und Output und versucht, letzteren seinen Zielen entsprechend zu optimieren - wie das Netz das letztendlich macht, ist ihm unersichtlich. Hier eine ausführliche Erklärung der Funktionsweise von DeOldify.
Hier ein schönes Beispiel (ein Gesicht wird gezeichnet), das zeigt, wann der Algorithmus einzelne Objekte erkennt und entsprechend einfärbt:
Mithilfe von DeOldifiy könnte man im Zusammenspiel mit Tools wie DAIN alte Stummfilme nicht nur kolorieren, sondern auch nachträglich mittels interpolierten Frameraten flüssiger laufen lassen. Weitere Tools könnten sich darum kümmern, die Bildqualität zu verbessern etwa durch nachträgliche Bildschärfung, Entfernung von Bildschäden und Angleichung stark schwankender Helligkeit zwischen einzelnen Frames.

Kolorierungs-Fehler
Aber natürlich hat auch diese Methode die typischen Probleme mit schwer zu erkennenden Teilen von Objekten und oft schillern die Farben eines Objekts (z.B. Kleidung) auch lila (ein inhärentes Problem des verwendeten Verfahrens - lila bedeutet, dass das neuronale Netzwerk eine Farbe nicht sicher bestimmen kann) oder die Farben eines Objekts bluten in die Umgebung aus. Und - je nach Trainingsmaterial - wirken die Ergebnisse den Einfärbung oft wie Hobby Super 8 Filme.

Zombie-Hände: Die Hände werden nicht als Teil des Körpers erkannt und deswegen falsch eingefärbt
DeOldify online oder lokal selbst ausprobieren
Wer alte S/W-Photos hat, kann sie hier vom DeOldify-Algorithmus online kolorieren lassen (allerdings wird hier nicht die aktuell beste Version genutzt).
Wer Videos kolorieren will, und mehr Kontrolle über das Verfahren haben will, kann den Orginal Code von DeOldify selbst ausprobieren. Hier ein Tutorial für die Installation und das Setup von DeOldify online per Google Colab:
Oldify kann aber natürlich auch lokal installiert werden - als Betriebssystem für das Setup aller notwendigen Deep Learning Tools (die Fast.AI Biblitothek, PyTorch, Jupyter Lab, Tensorboard und ImageNet) wird Linux oder Windows 10 empfohlen. Fürs Training wird eine leistungsstarke Grafikkarte benötigt - die 11 GB RAM in seiner GeForce 1080Ti erscheinen dem Entwickler Jason Antic dürftig (sie braucht fürs Training vier Tage), weniger wären seiner Meinung schlecht (wer gleich starten will, findet fertige Trainingsdaten auf der Github-Seite des Projekts).
Die Kolorierung selbst dagegen benötigt nur eine GPU mit 4 GB RAM und erfolgt in wenigen Sekunden. Es gibt zur Auswahl drei Kolorierungs-Modelle mit jeweils spezifischen Vor- und Nachteilen (eines davon speziell für Video). Eine einfacher zu installierende und bedienende DeOldify-Software ist aber in laut Entwickler schon Arbeit. Laufend neue Beispiele von kolorierten Photos (mit der jeweils besten Version von DeOldify) sowie Neuigkeiten zur Entwicklung finden sich auf Jason Antics Twitter-Kanal.
Interessant ist auch zu sehen, welches Potential es noch gibt in der Weiterentwicklung: Hier ein Bildvergleich zwischen dem aktuellen Open Source Modell und einer neuen noch unveröffentlichten Version von DeOldify: