2 Punkte von GN⁺ 2024-05-15 | 1 Kommentare | Auf WhatsApp teilen
  • Auf den ersten Blick ist es ein Foto einer Frau, doch wenn man DCT auf das Bild anwendet, erscheint eine im Frequenzbereich versteckte Katze
  • Zeit- bzw. Raumdomäne und Frequenzdomäne sind durch reversible Transformationen verbunden, sodass dasselbe Bild auf unterschiedliche Weise interpretiert werden kann
  • Mischt man ein per DCT aus einem Katzenfoto erzeugtes „Rausch“-Muster mit geringer Deckkraft ein, bleibt das Originalbild erhalten, während in der Transformationsausgabe die Katzenform bestehen bleibt
  • Im zusammengesetzten Bild bleibt die Katzeninformation auch nach dem Resizing erhalten; beim Vergrößern wiederholt sie sich jedoch kachelartig, beim Verkleinern wird sie abgeschnitten
  • Senkt man die JPEG-Qualität, werden besonders hochfrequente Anteile stark quantisiert, sodass sichtbar wird, wie viele Informationen verlustbehaftete Kompression verwirft

Ein mit DCT erzeugtes Experiment einer „Spiegeldimension“

  • Die Frequenzdomäne ist eine Methode, alltägliche Signale als Amplituden ihrer konstituierenden Wellenformen zu interpretieren
    • Die häufigste Grundlage sind Sinuswellen mit steigender Frequenz
    • Auch andere Wellenformen können verwendet werden, um alternative Frequenzdomänen zu erzeugen
  • Diese Transformation hat zwei Eigenschaften
    • Reversibilität, also die Möglichkeit, zu den ursprünglichen Daten der Zeit- oder Raumdomäne zurückzukehren
    • Ein-/Ausgabe-Symmetrie, bei der dieselbe mathematische Operation die Transformation in beide Richtungen ausführt
  • Bei Kompression ist diese Unterscheidung wichtig
    • Wenn man ein Bild in die Frequenzdomäne überführt und anschließend die Präzision hochfrequenter Anteile verringert oder sie entfernt, kann das Ergebnisbild für die Wahrnehmung weiterhin ähnlich aussehen
    • Entsprechend müssen weniger Daten übertragen oder gespeichert werden

Wie die Katze in der Frequenzdomäne versteckt wird

  • Der Prozess beginnt damit, ein Katzenfoto per diskreter Kosinustransformation (DCT) in eine Darstellung der Frequenzdomäne umzuwandeln
  • Über das Frauenfoto aus dem vorherigen Beispiel wird das „Katzenrauschen“-Muster aus der Frequenzdomäne mit geringer Deckkraft gelegt
    • Die Komposition ist verlustbehaftet
    • Erwartet wurde, dass das Frauenfoto in der DCT in relativ gleichmäßiges Rauschen zerfällt und das eingefügte Katzenrauschen sich wieder zu einem Katzenbild zusammensetzt
  • Tatsächlich erscheint eine Katzenform, wenn man DCT auf das zusammengesetzte Bild anwendet
  • Es gibt ein zusammengesetztes Bild und ein MATLAB-Beispiel zum direkten Ausprobieren
    • woman-with-cat.png
    • Berechnet die DCT mit dct2(woman) und zeigt das mit imgaussfilt(cat, 1) weichgezeichnete Ergebnis an
  • Auch nach dem Resizing bleibt die Katze erhalten
    • Beim Vergrößern wiederholt sich das Bild kachelartig
    • Beim Verkleinern wird das Bild abgeschnitten
  • Wird die JPEG-Qualitätseinstellung gesenkt, gehen die Katzeninformationen kaputt
    • Bei hoher JPEG-Qualität sieht das Bild ziemlich gut aus
    • Bei niedriger Qualität wird der rechte untere Quadrant, der den hochfrequenten Anteilen entspricht, stark quantisiert
  • Diese Visualisierung zeigt, dass der JPEG-Algorithmus viele Informationen auf eine Weise zerstört, die wir kaum bemerken
  • Es gibt frühere Beispiele, etwa versteckte Botschaften in Audio-Spektrogrammen oder Diskussionen über Text-Steganografie auf JPEG-DCT-Koeffizienten
    • Der Fokus liegt weniger auf der Praktikabilität oder völligen Neuheit der Technik, sondern darauf, wie interessant Frequenzdomäne und Zeitdomäne miteinander verknüpft sind
  • Als Bonus gibt es ein Video der Degradation einer „eigenständigen“ Frequenzdomänen-Katze je nach JPEG-Qualitätseinstellung: https://vimeo.com/940487310/8a929a5eb5

1 Kommentare

 
GN⁺ 2024-05-15
Hacker-News-Kommentare
  • Bei den meisten Fotos mit einem erkennbaren Motiv ist die Spektralenergie wie hier um den Ursprung konzentriert, also in der Nähe der linken oberen Ecke

    https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_pr...

    Dasselbe gilt für die DCT des Frauenbilds. Das Motiv eines Fotos liegt dagegen normalerweise eher in der Bildmitte. Deshalb stören sich bei dem zusammengesetzten Bild die Daten im Ortsbereich und die Daten im Frequenzbereich weniger gegenseitig, und nach der Rücktransformation bleibt der Gesichtsausdruck der Katze erhalten

    https://substackcdn.com/image/fetch/w_1456,c_limit,f_webp,q_...

    Für das Frauenbild gilt umgekehrt dasselbe Prinzip

    • Das gilt nur für die DCT. Bei der zweidimensionalen Fourier-Transformation eines Bildes konzentrieren sich die Daten normalerweise eher um die Bildmitte
  • Ich möchte prüfen, ob ich den Prozess richtig verstehe: a) Man nimmt ein Foto einer Frau und ein Foto einer Katze, b) man transformiert die Katze per DCT in den Frequenzbereich, c) man setzt die Katze im Frequenzbereich über das sichtbare Bild der Frau, d) wenn man auf das zusammengesetzte Bild die DCT anwendet, kommt die Katze wieder heraus
    Genauer gesagt entsteht dabei wohl eine Kombination aus der sichtbaren Katze und der Frau im Frequenzbereich, aber offenbar ist die sichtbare Katze dominanter

  • Soweit ich mich an ein altes Studentenprojekt erinnere, bildet diese Technik die Grundlage für robustes digitales Watermarking bei beliebigen Signalen, ob Bild oder Audio

    Der Hauptzweck ist, urheberrechtlich geschütztes Material auch dann noch zu erkennen, wenn das Signal stark bearbeitet wurde. Zum Beispiel bei gerippten oder mit dem Camcorder aufgenommenen Filmen oder bei Material, das als JPEG-2000 bereitgestellt wurde

    Falls jemand aus der Filmbranche mehr technische Details kennt, würde ich das gern hören

    • Ich habe früher einmal ein Watermarking-System getestet; es war robust gegen alle möglichen Störungen und Skalierung, scheiterte aber schon bei einer Rotation des Bildes um nur 1 %
      Ich glaube, es war Digimarc; ich frage mich, ob es ein Fourier-transformationsbasiertes Verfahren war
  • Ein sehr gutes Beispiel für die Zeit-Frequenz-Dualität der Fourier-Transformation, hier als Orts-Frequenz-Dualität
    Die Mathematik der Fourier-Transformation kümmert sich nicht darum, in welche „Richtung“ transformiert wird; daher haben Funktionen, die sich in Zeit/Frequenz ähnlich sehen, auch im Frequenz/Zeit-Raum ähnliche Fourier-Transformationen

    In diesem Fall erscheint die Katze in der Fourier-Transformation des Frauenbilds, wenn man den Frequenz-Plot der Katze in den Orts-Plot der Frau einbettet, und umgekehrt gilt das ebenfalls

  • Eine ziemlich coole und interessante Anwendung von Steganografie
    Wenn man ein illegales Bild in einem harmlosen Bild verstecken wollte, könnte man es in den Frequenzbereich transformieren und in ein anderes Bild einfügen. Wenn der Empfänger nur weiß, wie man es rückgängig macht, wäre das ein Verfahren zur verdeckten Bildübertragung, das schwer zu erkennen sein könnte

    • Wenn das Gegenüber nicht weiß, wonach es suchen soll, wäre es schwer zu entdecken, aber wenn doch, dann wohl leicht

      Wenn man das versteckte Bild mit einem One-Time Pad kombiniert, sollte es doch nicht mehr von Rauschen zu unterscheiden sein, oder? Bei verlustbehaftet komprimierten Bildern wäre Rauschen ohnehin natürlich zu erwarten. Ich frage mich, ob das schon jemand ausprobiert hat, und vermutlich würde man es nie erfahren, wenn es niemand sagt

  • Aphex Twin und andere haben ähnliche nette Tricks verwendet, sodass im Audio-Spektrogramm eines Tracks seltsame Gesichter erschienen: https://news.ycombinator.com/item?id=8509105

    • MetaSynth gibt es schon seit Ende der 90er; es wandelt zwischen Zeitbereichs-Samples von Audio und Frequenzbereichsbildern um und kombiniert das mit Photoshop-artigen Bildfiltern

      https://uisoftware.com/metasynth/

  • Der Artikel wird bis zum Ende immer besser

    Ich kann kaum glauben, dass mir erst jetzt klar wird, dass man den Frequenzbereich für Bildkompression nutzen kann. Wenn man es einmal gesehen hat, wirkt es völlig offensichtlich. Arbeiten die meisten Bildkompressionsalgorithmen so? Dass man im Frequenzbereich einfach die schwächeren Teile wegwirft?

    • Ja. MP3, Ogg-Vorbis und JPEG funktionieren alle so
      Die Gewichtung dafür, welche Frequenzen erhalten bleiben, basiert vermutlich auf psychoakustischen Modellen, aber grob gesagt wirft man tatsächlich hochfrequente Information weg

    • Die DCT wird auch oft als Unterstufe in komplexeren Bild- oder Videokompressionsalgorithmen verwendet
      Zum Beispiel sucht man zuerst Bereiche eines detailreichen Bildes, wendet dort die DCT an, behält mehr vom Spektrum und macht dann dasselbe in anderen Bereichen, wobei man mehr oder weniger vom Spektrum behält. Der Quantisierungsparameter, den man aus Videokompressionsalgorithmen kennt, beeinflusst genau dieses Verhalten

    • Normalerweise werden hohe Frequenzen nicht vollständig gelöscht, sondern mit weniger Bits codiert

    • Bilder sind im eigentlichen Sinn nicht bandbegrenzt, daher kann man sie nicht allein im Frequenzbereich perfekt darstellen
      Deshalb wählt man den Kompromiss, in kleinen Blöcken zu arbeiten und Prädiktoren aus Frequenz- und Ortsbereich beim Codieren zu mischen. Im Kern stimmt die Aussage aber weitgehend

      Die meisten Probleme entstehen an scharfen Kanten. Um solche Kanten darzustellen, braucht man unendlich viele Frequenzen; lässt man einige weg, entstehen Unschärfe oder Ringing-Artefakte

      Ein weiterer Grund ist, dass bandbegrenzte Signale sich unendlich wiederholen, reale Bilder aber nicht. Was links in einem Foto steht, sagt nicht zwingend etwas darüber aus, was rechts zu sehen sein wird

    • Es gibt noch mehr Aspekte. Es geht nicht nur darum, Frequenzen zu verwerfen, sondern auch darum, dass sich Daten mit kleiner Varianz effizienter codieren lassen
      Hochfrequente Information ist nicht nur Rauschen, sondern typischerweise auch vom Betrag her kleiner

  • JPEG 2000 ist noch merkwürdiger. Es verwendet eine Wavelet-Transformation
    Wenn man eine JPEG-2000-Datei in der Mitte abschneidet, kann man trotzdem ein Bild in niedrigerer Auflösung wiederherstellen. Unterhalb einer bestimmten Dateilänge verschwindet die Farbinformation und das Bild wird grau

    • Warum ist das merkwürdig? Klingt eher nach einem Feature
  • Wenn die Katze stärker links oben konzentriert gewesen wäre, hätte diese Demo vermutlich nicht so gut funktioniert
    Bei der DCT gibt es viele starke niederfrequente Komponenten, und wenn die Katze nahe der linken oberen Ecke läge, würden diese Komponenten die Katze überdecken

    • Dass JPEG viele Daten verwirft, ohne dass wir es merken, ist weniger eine Entdeckung als vielmehr der ausdrücklich beabsichtigte Zweck dieses Kompressionsalgorithmus
  • In der quantenmechanischen Darstellung von Ort und Frequenz, also wenn man hbar berücksichtigt, kann man zwei verschiedene Funktionen nicht auf diese Weise in eine einzige hineinzwängen
    Denn auch Funktionen, die sich nur durch eine ortsabhängige Phase unterscheiden, sind verschiedene Quantenzustände