Ansichten eines Informatikers

Verblüffende Fortschritte und enorme Gefahren bei der Bildinterpolation

Hadmut
2.12.2021 20:35

Jetzt scheint möglich, was früher nur Phantasie schlechter Drehbuchautoren war.

Es gibt so eine ganze Reihe von Filmen, in denen immer derselbe Handlungskniff auftaucht. Irgendeine Überwachungskamera hat den Täter fotografiert, aber so schlecht, unscharf, niedrig aufgelöst, dass man ihn oder irgendwelche ganz wichtigen Details, nicht erkennen kann.

Dann geht man zu einem komischen Computer-Nerd, so die Klischee-Sorte, die keine Freundin findet, aber jede Verschlüsselung mit dem neuesten multidimensionalen Umkehralgorithmus knackt und in einfach jeden Rechner reinkommt, weil sie spätestens im dritten Versuch erraten, nach welcher Begebenheit der Inhaber sein Passwort gewählt hat. Die Sorte Mensch, die einfach alle Daten aus jedem Rechner rauskriegen und sie ruckzuck übertragen können, aber erstens nie ohne satellitenverfolgte Hops über alle Kontinente, und zweitens natürlich niemals ohne Fortschrittsbalken auf dem Bildschirm. Nerd halt, wie ihn sich Hollywood vorstellt. Selbiger Nerd kann dann entweder sofort oder mit geheimnisvollen Superalgorithmen noch das letzte Detail aus dem Bild rausholen und das ganz plötzlich total scharf rechnen. So dass man auf einem Weitwinkelfoto mit Witzauflösung noch die Nummer lesen kann, die auf dem Display des Handys des Mannes am anderen Ende der Straße steht.

Im Film No Way out von 1987 mit Kevin Kostner und Gene Hackman beruht sogar der ganze Film darauf, dass der Fotografierte den wahren Täter überführen muss, bevor der Computer aus dem lausigen Kleber von einem Polaroidfoto mit einem geheimnisvollen Wunderalgorithmus, der auf dem Bildschirm abwechseln zeilen- und spaltenweise Balken über das Bild laufen lässt (weil Algorithmen ja auch nicht rechnen können, wenn man das nicht gleichzeitig für das Kinopublikum visualisiert, aber das ist dramaturgisch geschenkt, denn es soll ja ein Kinofilm sein) und aus einem Fleck das Gesicht wieder errechnet. Und das sogar so gut und genau, dass der Kumpel des Protagonisten sogar den Computer zurücksetzen muss, damit der nicht zu schnell zum Ergebnis kommt.

Ansonsten gibt es jede Menge Krimis, in denen man in jedes noch so lausige Matschfoto beliebig tief reinzoomen kann, wenn nur der geniale Chef der Ermittlungsabteilung den Befehl dazu gibt, weil man zwar in jedes matschige Foto beliebig scharf reinzoomen kann, aber auch niemand auf die Idee kommt, es zu tun, solange nicht der Chef den Befehl dazu gibt.

Bisher galt das immer so als der running gag des Computerlaientums, denn eine Information, die nicht im Bild ist, kann man auch nicht reinrechnen. Ich empfehle in solchen Fällen immer, das Bild einfach groß oder bildschirmfüllend anzuzeigen, und dann so lange rückwärts vom Monitor wegzugehen, bis das Gehirn das Bild richtig erfassen und interpretieren kann. Verblüffenderweise nämlich sind grobpixelige Bilder nämlich aus großer Entfernung besser erkennbar als aus der Nähe. Wenn die Pixel erkennbar sind, stört das die Bilderkennung im Gehirn. Paradoxerweise muss man nämlich nicht rein-, sondern rauszoomen, um die Bildverarbeitung im Gehirn, die für das Sehen mit dem Auge gebaut ist, in die Lage zu versetzen, das Bild zu verarbeiten. Und das geht nicht, solange man Pixel erkennt.

Forschung

Seit einiger Zeit forscht man nun daran, wie man Bilder tatsächlich brauchbar hochskalieren – interpolieren, weil man ja zusätzliche Pixel zwischen den alten errechnen muss – kann. Der naive Ansatz, einfach linear zu interpolieren und den Mittelwert zu bilden, bringt nichts, weil man damit ja nur den Unschärfeeffekt eines unscharfen Bildes nachahmt.

Es gibt Ansätze mit Kantenerkennung, andere arbeiten mit Fourier-, Laplace- oder Wavelettransformationen, um das in den verschiedenen Bildfrequenzen unterschiedlich zu machen, also ein Bild, in dem, salopp gesagt, „wenig los ist“, platt, und eines, in dem viel los ist, mit Action auszufüllen. Man würde also beispielsweise eine Hauswand anders interpolieren als die langen, strähnigen Haare eines Menschen oder das Laub eines Baumes. Und das kann durchaus zu – auf den ersten Blick – guten Ergebnissen führen, ist aber faktisch auch nichts anderes, als die Fugen mit gemustertem Kleister auszuspachteln.

Ein neuerer Ansatz beruht auf dem hochtrabenden Begriff der „KI“ – Künstlichen Intelligenz. (Wobei ich übrigens die Methode für richtig, aber die Bezeichnung für falsch halte, dazu gleich.)

Man füttert den Rechner mit einer Vielzahl hochauflösender Bilder und deren runtergerechneter unscharfer Varianten, damit der Rechner als Mustererkenner „lernt“, welches hochauflösende Bild zu welchem niedrig aufgelösten Bild „passt“.

Das sieht dann wirklich verblüffend gut aus.

Ist es aber informationstheoretisch nicht. Denn so ein Algorithmus rechnet das Bild nicht noch oder scharf, sondern findet zu einem unscharfen Bild (genauer gesagt: zu jedem kleinen Stückchen davon) eines von vielen möglichen scharfen Bildern (Stückchen davon), das dann unscharf gerechnet zu diesem Ergebnis führen würde. Das aus dem Lern-Fundus, was dem unscharfen Ding am nächsten kommt.

Aber nicht, was zwingend das ursprüngliche Bild war.

Es ist so ein bisschen, als wollte man das Ergebnis eines Aktenvernichts rückgängig machen wollen, indem man weiß, aus welchen Akten schon mal so ähnliche Streifen geworden sind. Als ob die Eingabe gleich sein müsste, wenn die Ausgabe ähnlich ist.

Und das ist die Gefahr daran: Die Ergebnisse sind zwar oft sehr beeindruckend und plausibel, aber eben nur ein Vorschlag von vielen. Nur weil das, was man sieht, dem Gehirn schön vorkommt, ist es nicht wahrheitsgemäß. Dass aber dem Laien, schlimmer noch, dem Juristen, klar zu machen, ist enorm schwer. Der sieht etwas, was der tolle Algorithmus liefert, und plötzlich ist das Bild scharf – genau wie im Kino. Dass aber der Algorithmus nicht das Bild scharf rechnet, sondern nur aus seinem Wissensfundus Bildstücke liefert, die, unscharf gemacht, zum selben schlechten Ergebnis führten. Motto: Ich weiß nicht, was das für ein Frosch war, bevor er überfahren wurde, aber ich habe hier einen, der sieht so ähnlich aus, wenn man ihn überfährt. Vielleicht war es ja so einer.

Deshalb ist das aus meiner Sicht und Kenntnisstand eigentlich auch keine KI, sondern seiner Struktur nach ein Dekompressionsalgorithmus für eine verlustbehaftete Kompression.

Man kann nämlich ein unscharfes, niedrig aufgelöstes Bild informationstheoretisch als das Ergebnis einer verlustbehafteten Kompression des hochaufgelösten Bildes betrachten. Und dann sind die Teile, die dann fehlen, eben einfach weg und nicht mehr wiederzukriegen.

Weil man aber dann weiß (nur dann funktioniert es), dass bestimmte Originalinformationen, die zu diesem Kompressionsergebnis führen, höher wahrscheinlich sind als andere, „rät“ man zur Dekompression einfach, indem man von allen Vollinformationen, aus denen man sich was aussuchen kann, die nimmt, die am wahrscheinlichsten ist.

Das geht aber nur, wenn man eine Wahrscheinlichkeitsverteilung wenigstens so dem Grunde nach hat.

Und das geht vor allem dann, wenn man Messwerte, Digitalisierungen der realen Welt hat, weil wir eben nicht in einer vollrauschenden Welt leben. Fotografiere ich meinen Schreibtisch oder meine Küche oder aus dem Fenster, dann herrschen da gewisse kontinuierliche Strukturen wie Flächen und Kanten, und kein beliebiges Rauschen. Wenn mir jemand ein Bild zeigt, das nur aus Rauschen, Zufallspixeln, besteht, kann ich sagen, dass das nicht meine Wohnung zeigt, auch sonst keinen Platz, an dem ich je gewesen wäre. Weil unsere Natur so nicht funktioniert.

Man kann also bei realen Fotos unterstellen, dass wenn man dan im grob aufgelösten eine Kante über mehrere Pixel sieht, die Kante hochstwahrscheinlich auch im feiner aufgelösten Bild da wäre und nicht etwa eine Kamm-Struktur oder mit zufälligen Strukturen dazwischen. In unserer Natur, Wirklichkeit kommen eben manche Dinge häufiger vor, andere weniger, weil wir nur auf diesen Strukturen existieren können. Im Inneren der Sonne oder eines Schwarzen Loches ist das mit den Strukturen anders. Da herrschen vielleicht gar keine oder wirklich zufällige. Wir sind hier aber auf der Erde.

Udn deshalb funktionieren verlustbehaftete Kompressionsverfahren wie JPEG-Bilder, MP3-Musikdateien oder DVB-T-Fernsehen. Das sind nämlich alles verlustbehaftete Kompressionsverfahren, bei denen man die Information, die fehlte, einfach durch die wahrscheinlichste ersetzt, was mitunter eben schief geht oder zu Abweichungen führt (vgl. JPEG-Artefakte). Für uns aber auch dann noch plausibel erscheint, weil das Gehirn die Information, auch wenn sie eigentlich falsch ist, noch frisst, weil sie eben wahrscheinlich ist, oder wir sie so genau gar nicht verarbeiten können.

Rät man nun per KI, wie ein niedrigaufgelöstes Bild bei höherer Auflösung zwischen diesen Pixeln aussehen würde, dann macht man im Prinzip genau das: Ergänzen von fehlender Information durch die, die nach den Wahrscheinlichkeiten unserer Umwelt eben am wahrscheinlichsten dazu passen.

Gegenbeispiel: Bei der Kompression von Software, Excel-Tabellen oder Buchtexten geht das nicht. Die muss man verlustfrei komprimieren, um sie exakt wieder herstellen zu können. Das basiert zwar auch auf Wahrscheinlichkeiten, in dem man für höher wahrscheinliche Zeichenfolgen kurze und für andere längere Codestücke verwendet, und damit im Mittel Platz spart, aber umkehrbar auf jeden Fall die Information exakt wieder herstellen kann. Dafür ist die Kompression nicht so stark und kann sogar negativ ausfallen, das Komprimat also länger werden. (Einfache Mathematik, an der so mancher Informatik-Professor bereits scheiterte.)

Es ist aber ein ziemlich aussichtsloses Unterfangen, Laien – selbst noch den meisten der „Informatik-Professoren“ – den Unterschied zwischen verlustbehafteter und verlustfreier Kompression klarzumachen. Dass die verlustbehaftete wirklich deshalb so heißt, weil Information wirklich weg ist und fehlt und nicht mehr zu ersetzen ist, und bei der Dekompression die fehlenden Teile nach Wahrscheinlichkeit „dazugeraten“ werden, man also ein Wahrscheinlichkeitsmodell braucht und eine Informationsstruktur, die es toleriert, wenn Teile der Information nur eben die „wahrscheinlichsten“ sind und nicht die Echten. Stört bei Bildern oder Musik nicht so.

Bilder per KI zu interpolieren heißt zwar hochtrabend „KI“, ist aber im Prinzip nichts anderes, als genau das. Nur dass man es nicht algorithmisch ausformuliert, sondern der KI-Mustererkennung und dem neuralen Netz überlässt, die Muster zu erkennen und zuzuordnen. Und die Wahrscheinlichkeiten für Bildinformationen beruhen dann auch einfach nur auf dem, was man der KI als Trainingsbilder vorgelegt hat. Daraus „lernt“ die, was nun wahrscheinlich ist und was nicht. Weil sie jeweils Paare lernt, wie etwas scharf und unscharf aussieht.

Und wenn sie dann was Unscharfes sieht, dann fällt ihr ein, was aus ihrem Fundus das Scharfe ist, was als Unscharfes dem vorgelegten Unscharfen am nächsten kommt. Wie beim Frosch.

Kann gut gehen. Kann schief gehen.

Ist aber ganz übel, wenn man versucht, einem Juristen klar zu machen, dass das Foto dann nur mit gewisser Wahrscheinlichkeit dem Urbild entspricht und den Angeklagten vielleicht doch nicht so eindeutig überführt, wie gedacht.

Google

Google kam nun mit einem neuen Verfahren um die Ecke, natürlich „KI“-basiert. Siehe den Artikel von dpreview und den Ur-Artikel von Google selbst dazu.

Die Ergebnisse erscheinen verblüffend gut und beeindruckend, vor allem, weil jeder Schritt eine Verdopplung der Pixelzahl bringt, und sie das iterativ anwenden können, also Beispiele sogar von 32×32 auf 256×256 oder von 64×64 auf 1024×1024 aufgeblasen wurden, und das verblüffend gut und realistisch.

Die Ergebnisse sind einfach toll.

Und damit leider sehr laienverführend.

Denn die Ergebnisse sind nur schön, aber nicht wahr.

Wenn man ein Bild von 64×64 auf 1024×1024 aufbläst, also auf die 16-fache Seitenlänge oder die (16*16=)256-fache Fläche, dann stammen 255/256 oder 99,6% der Bildinformation eben nicht aus dem Urbild, sondern aus dem Lernfundus.

Und vor allem dann, wenn jeder dieser Verdopplungsschritte mit demselben Fundus erfolgt, besteht die Gefahr, dass da irgendein Musster die Kontrolle übernimmt und mehr aus dem Fundus als aus der Quellinformation kommt. Erinnert Euch mal an die psychedelischen Bilder, die vor ein paar Jahren als „Computerträume“ rumgingen. Im Prinzip genau das, was ich hier fürchte, nämlich eine Übererkennung der gelernten Muster, bei der der Algorithmus Muster nicht mehr in den Quellen sieht, sondern das Erlernte reinphantasiert.

Man sieht das sogar bei einem dieser Demo-Bilder. Scrollt mal auf der dpreview-Seite runter zur dritten Person, dem etwas indisch aussehenden Mann mit Vollbart und Brille. Das (von ihm aus gesehen rechte, von uns aus gesehen linke) Brillenglas verschwindet einfach ins Nichts und die beiden Scharniere der Brille sind völlig unterschiedlich. Da haben unterschiedliche Stücke aus dem Fundus gepasst.

Schaut Euch mal die Zähne der Frau darüber an. Der eine Eckzahn fast wie beim Vampir, der andere kurz und rund. Sowas kann schon ausreichen, um einen als Täter hinzustellen oder auszuschließen.

Weil, vereinfacht gesagt, die Ur-Information schlicht nicht ausreicht, um die Zähne zu beschreiben. Der Algorithmus pappt dann was aus seinem Fundus rein.

Kenner erinnern sich: Es gab mal Fotokopierer, die beim Kopieren von Schriftstücken Zahlen austauschten, weil der Kompressionsalgorithmus Bildteile durch andere, ähnliche ersetzte. Schema: Warum müssen wir uns mit der Darstellung einer 8 herumschlagen, wir hatten doch vorhin weiter oben erst eine 6, nehmen wir doch die, die sieht hinreichend ähnlich aus. Damit konnte man dann Verträge und so was kopieren und in der Kopie standen dann andere Zahlen.

Oder eben andere Zähne.

Höchst unglaubwürdig kommt mir deshalb das Portrait der schwarzen Frau auf der Google-Seite vor. In der niedrig aufgelösten Version 64×64 sieht man in den Haaren nur ein paar helle Pixel-Flecken. Der Algorithmus macht daraus bei 1024×1024 detaillierte Darstellungen der Flechtknoten. Das ist im Urbild aber nicht drin. Das kann nur aus dem Lernfundus kommen.

Hochgefährlich

Ich halte das zwar einerseits für hochinteressant, und auch nützlich, weil wir ja aus der Frühzeit des Internet und der Digitalfotografie noch jede Menge niedrig aufgelöster Bilder haben.

Und über kurz oder lang wird das in jede Bildbearbeitungssoftware einziehen, um damit Bilder hochzuskalieren oder scharfzurechnen.

Das Problem ist aber, dass wir damit einer Flut von Fake-Bildern gegenüber stehen, die wir nicht nur als Publikum nicht mehr als Fake erkennen, sondern bei denen sogar die Autoren selbst nicht mehr merken, dass sie gerade faken. Hochkritisch in Zeiten, in denen man sich per Bildbeweis darum streitet, wieviele Zuschauer denn nun bei Trumps Inauguration waren oder nicht.

Bei den olympischen Spielen hatte man bunte Sitze, damit es nicht so auffällt, dass da kein Publikum sitzt. Das wird nicht lange dauern, und solche Algorithmen setzen da oder bei Inaugurationen automatisch Publikum ein.

Ich habe neulich nicht nur den Film über Freddy Mercury, sondern auch ein Making Of oder Hinter-den-Kulissen gesehen. Im Film spielt ja Rami Said Malek die Rolle des Freddy Mercury und legt sehr originalgetreu den Auftritt im Wembley-Stadion vor. Auf Youtube gibt es Vergleiche, in denen die Szenen parallel laufen. Verblüffend gut.

Im Making-Of sieht man aber, dass die da nur auf irgeneinem Parkplatz auf einer Popelbühne ohne Publikum standen, und der Rest vom Rechner eingefügt ist. Es ist eine Frage der Zeit, wann ich mir nur eine Matte mit dem Muster von Publikum, wie es unscharf aussieht, auf den Boden legen muss, und die Software dann automatisch ein Bild daraus macht, wie ich vor hunderttausend Menschen spreche.

Vor allem dann, wenn man selbst die Auswahl treffen kann, womit man die Software trainiert.

Wenn man beispielsweise die Software von vornherein ausschließlich mit Bildern von Trump trainiert, Trump in allen Lebenslagen, und dann ein unscharfes Vergewaltigungsfoto aufbläst, wird als Ergebnis zwangsläufig ein Bild mit Trump als Vergewaltiger herauskommen, weil die Software ja gar nichts anderes kennt und im Fundus hat, als eben Trump.

Genau so wird es dann davon abhängen, ob man die Software mit Weißen, Schwarzen, Asiaten, Arabern, Männern, Frauen trainiert. Sie wird immer das in das Bild reinpumpen, was sie gelernt hat.

Ich halte das für hochgefährlich, was das läuft.