Metriken zur Bildevaluation

Motivation

Digitale Bilder spielen in vielen Geschäftsprozessen eine zentrale Rolle – von der Qualitätskontrolle in der Produktion über Produktbilder im E-Commerce bis hin zur automatisierten Auswertung durch Machine-Learning-Modelle. Doch sobald Bilder verändert, komprimiert oder durch Algorithmen verarbeitet werden, stellt sich eine zentrale Frage: Wie lässt sich die Bildqualität objektiv messen?

Genau hier kommen sogenannte Bildmetriken ins Spiel. Kennzahlen wie Mean Squared Error (MSE), Peak Signal-to-Noise Ratio (PSNR) und Structural Similarity Index (SSIM) werden in der Praxis häufig eingesetzt, um Unterschiede zwischen Bildern zu quantifizieren. Sie bilden die Grundlage für die Bewertung von Bildverarbeitungspipelines und Validierung von KI-Modellen im Computer Vision Bereich.

In der Praxis zeigt sich jedoch schnell: Nicht jede Metrik misst das, was für den Menschen tatsächlich „sichtbar“ relevant ist. Während einige Verfahren rein pixelbasierte Abweichungen erfassen, berücksichtigen andere die strukturelle Wahrnehmung des menschlichen Auges. Die Wahl der richtigen Metrik ist daher kein Detail, sondern entscheidend für valide Ergebnisse – insbesondere in produktiven Anwendungen.

In diesem Beitrag zeige ich anhand eigener Bildbeispiele und reproduzierbarer Python-Experimente, wie sich verschiedene Bildmetriken in realistischen Szenarien verhalten. Ziel ist es, ein  Verständnis dafür zu entwickeln, wann welche Metrik sinnvoll ist – und wann sie in die Irre führt.

MSE – der Klassiker beim Training neuronaler Netze für Bildaufgaben

Der Mean Squared Error (MSE) misst den durchschnittlichen quadratischen Fehler auf Pixel-Ebene und liefert damit eine direkte Aussage darüber, wie stark sich ein verändertes Bild vom Original unterscheidet.

Formal ist der MSE definiert als:

MSE(x,y)=1Ni=1N(xiyi)2MSE(x, y) = \frac{1}{N} \sum_{i=1}^{N} (x_i – y_i)^2

Dabei bezeichnet (x_i) den Pixelwert des Originalbildes, (y_i) den entsprechenden Pixelwert des veränderten Bildes und (N) die Gesamtanzahl aller Pixel. Durch das Quadrieren der Differenzen werden größere Abweichungen stärker gewichtet als kleinere.

Ein niedriger MSE-Wert bedeutet, dass die beiden Bilder sich im Durchschnitt nur gering unterscheiden, während ein hoher Wert auf deutliche Abweichungen hinweist. Wichtig ist jedoch: Der MSE betrachtet ausschließlich pixelweise Unterschiede und ignoriert dabei vollständig die räumliche Struktur eines Bildes. Zwei Bilder können daher einen relativ niedrigen MSE aufweisen, obwohl sie für das menschliche Auge deutlich unterschiedlich wirken.

Diese Eigenschaft macht den MSE zwar einfach und effizient berechenbar, aber auch in vielen praktischen Anwendungen begrenzt aussagekräftig. Genau deshalb spielt er in der Bildbewertung häufig eher die Rolle einer technischen Referenzgröße.

Gleichzeitig ist der MSE eng mit dem Training neuronaler Netze verknüpft. In vielen Regressionsproblemen – insbesondere bei bildbasierten Aufgaben wie Denoising, Super-Resolution oder Bild Transformationen – wird der MSE als Loss-Funktion verwendet. Modelle lernen dabei, die quadratische Abweichung zwischen Vorhersage und Zielbild zu minimieren. Das führt in der Praxis oft zu glatten, „gemittelten“ Ergebnissen, da starke Abweichungen (durch das Quadrieren) besonders stark bestraft werden.

Diese Verbindung erklärt auch, warum MSE-optimierte Modelle häufig zwar gute numerische Werte erzielen, aber visuell weniger überzeugende Ergebnisse liefern: Die Optimierung erfolgt strikt pixelweise und nicht entlang der menschlichen Wahrnehmung.

PSNR – mathematisch korrekt, aber praktisch begrenzt

Die Peak Signal-to-Noise Ratio (PSNR) basiert auf der Idee, das Verhältnis zwischen dem maximal möglichen Signal (dem ursprünglichen Bild) und dem durch Verarbeitung entstandenen Fehler („Rauschen“) zu quantifizieren. Der PSNR-Wert wird typischerweise in Dezibel (dB) angegeben und erlaubt damit eine gut interpretierbare, logarithmische Bewertung von Bildunterschieden.

Formal baut PSNR auf dem Mean Squared Error (MSE) auf, also dem durchschnittlichen quadratischen Unterschied zwischen zwei Bildern. Die Definition lautet:

PSNR(x,y)=20log10(MAXIMSE(x,y))PSNR(x, y) = 20 \cdot \log_{10} \left( \frac{MAX_I}{\sqrt{MSE(x, y)}} \right)

Dabei ist MAXIMAX_I der maximal mögliche Pixelwert (bei 8-Bit-Bildern typischerweise 255). Ein höherer PSNR-Wert deutet darauf hin, dass das veränderte Bild näher am Original liegt.

Ein wesentlicher Vorteil von PSNR ist die einfache Berechnung und die klare Interpretation: Unterschiede werden auf einer logarithmischen Skala dargestellt, wodurch große Fehler stärker gewichtet werden als kleine. Gleichzeitig ist der PSNR-Wert jedoch eine rein pixelbasierte Metrik. Das bedeutet, dass strukturelle Unterschiede oder wahrnehmungsrelevante Veränderungen (z. B. durch Unschärfe) nicht immer adäquat erfasst werden.

In der Praxis eignet sich PSNR daher gut für technische Vergleiche, etwa bei Kompressionsverfahren oder zur groben Qualitätsbewertung. Für Anwendungen, bei denen die visuelle Wahrnehmung im Vordergrund steht, sollte PSNR jedoch immer in Kombination mit strukturorientierten Metriken wie SSIM betrachtet werden.

SSIM – Struktur statt Pixel

Der Structural Similarity Index (SSIM) ist eine wahrnehmungsorientierte Bildmetrik, die entwickelt wurde, um die Qualität von Bildern näher an der menschlichen Wahrnehmung zu orientieren als rein pixelbasierte Verfahren wie MSE oder PSNR. Statt absolute Intensitätsunterschiede zu betrachten, nutzt SSIM die Struktur, den Kontrast und die Helligkeit der Bilder.

Die grundlegende Idee dabei ist, dass das menschliche Auge besonders empfindlich auf strukturelle Veränderungen reagiert – also auf Kanten, Muster und Texturen – und weniger auf gleichmäßige Helligkeitsverschiebungen. Formal wird SSIM zwischen zwei Bildern (x) und (y) wie folgt definiert:

SSIM(x,y)=(2μxμy+C1)(2σxy+C2)(μx2+μy2+C3)(σx2+σy2+C4)SSIM(x,y) = \frac{(2 \mu_x \mu_y + C_1)(2 \sigma_{xy} + C_2)}{(\mu_x^2 + \mu_y^2 + C_3)(\sigma_x^2 + \sigma_y^2 + C_4)}

Dabei gilt:

  • (μx,μy\mu_x, \mu_y): Mittelwerte der Bildintensitäten (Helligkeit)
  • (σx2,σy2\sigma_x^2, \sigma_y^2): Varianzen (Kontrast)
  • (σxy\sigma_{xy}): Kovarianz zwischen beiden Bildern (Strukturähnlichkeit)
  • (C1,C2,C3,C4C_1, C_2, C_3, C_4): Konstanten zur Stabilisierung der Division

Die Formel lässt sich in drei interpretierbare Komponenten zerlegen:

  • Luminanzvergleich: Wie ähnlich ist die durchschnittliche Helligkeit?
  • Kontrastvergleich: Wie ähnlich sind die Intensitätsschwankungen?
  • Strukturvergleich: Wie ähnlich sind lokale Muster und Abhängigkeiten?

Der SSIM-Wert liegt im Bereich zwischen 0 und 1, wobei ein Wert von 1 identische Bilder bedeutet. Im Gegensatz zu MSE und PSNR korreliert SSIM deutlich besser mit der wahrgenommenen Bildqualität.

In der Praxis zeigt sich der Vorteil besonders bei strukturellen Veränderungen: Während ein leicht verrauschtes Bild oft noch als „ähnlich“ wahrgenommen wird, führt Unschärfe zu einem starken Verlust an Struktur – und damit zu deutlich niedrigeren SSIM-Werten. Genau diese Eigenschaft macht SSIM zu einer bevorzugten Metrik in vielen Computer-Vision-Anwendungen, insbesondere wenn es um visuelle Qualität und nicht nur um numerische Genauigkeit geht.

Praxisbeispiel

Nach den theoretischen Grundlagen stellt sich die entscheidende Frage: Wie verhalten sich diese Metriken in einem realen Szenario?

Um das greifbar zu machen, betrachte ich ein konkretes Beispiel: ein Bild eines Raspberry Pi auf einem weißen Tisch – also eine Szene mit klaren Kanten, aber gleichzeitig relativ wenig Hintergrundstruktur.

Auf dieses Bild wende ich zwei unterschiedliche Arten von Bildveränderungen an:

  • Gaussian Blur (Kernel Size 29) → reduziert gezielt die Bildschärfe und zerstört feine Strukturen
  • Gaussian Noise (σ = 60) → fügt pixelweises Rauschen hinzu, ohne die grundlegende Struktur zu verändern

Beide Transformationen erzeugen visuell deutliche Veränderungen – allerdings auf sehr unterschiedliche Weise. Die Erkenntnis daraus vorab: Die Metriken reagieren nicht gleich auf diese beiden Transformationen.

Im folgenden Vergleich sind zunächst die drei Bilder nebeneinander dargestellt: das Original, die verrauschte Variante und das unscharfe Bild. Darunter folgt eine Tabelle mit den berechneten Werten für MSE, PSNR und SSIM.

Vergleich von Originalbild, Rauschen und Unschärfe

Während der visuelle Vergleich bereits kleine Unterschiede zwischen den Transformationen erkennen lässt, wird die Bewertung erst die quantitativen Metriken möglich. Die folgende Tabelle zeigt die berechneten Werte für MSE, PSNR und SSIM und macht sichtbar, wie unterschiedlich die beiden Verzerrungsarten bewertet werden.

TransformationMSEPSNRSSIM
Rauschen (Noise)2632.3813.930.094
Unschärfe (Blur)71.2829.60.867
Quantitative Ergebnisse des Vergleichs

Als nächstes eine komplexere Szene: eine Garten- bzw. Landschaftsaufnahme mit vielen feinen, natürlichen Strukturen sowie zusätzlichen Reflexionen im Fensterglas. Solche Bilder stellen deutlich höhere Anforderungen an Bildmetriken, da sie eine Vielzahl lokaler Details und nicht-homogener Muster enthalten.

Vergleich von Originalbild, Rauschen und Unschärfe
TransformationMSEPSNRSSIM
Rauschen (Noise)3133.6613.170.309
Unschärfe (Blur)422.6421.870.326

Im Vergleich zum vorherigen Beispiel verändert sich hier das Verhalten der Metriken spürbar. Zwar wird das verrauschte Bild weiterhin als deutlich vom Original abweichend erkannt, jedoch fällt auf, dass die strukturelle Bewertung weniger stark differenziert als zuvor.

Eine wichtige Erkenntnis beim unscharfen Bild: Während die pixelbasierten Metriken (MSE und PSNR) weiterhin eine geringere Abweichung anzeigen als beim Rauschen, nähert sich die strukturelle Bewertung (ausgedrückt durch den SSIM-Wert) deutlich an. Der Unterschied zwischen Noise und Blur, der im vorherigen Szenario noch klar erkennbar war, wird hier wesentlich kleiner.

Der Grund liegt in der Bildcharakteristik selbst. Die Szene enthält viele feine Details – etwa Blätter, Äste und komplexe Texturen –, die sowohl durch Rauschen als auch durch Unschärfe stark beeinträchtigt werden. Während Rauschen die Pixelwerte zufällig verändert, führt Blur dazu, dass genau diese feinen Strukturen geglättet und teilweise vollständig entfernt werden.

Aus Sicht von strukturbasierten Metriken wie SSIM resultieren beide Effekte daher in einer ähnlichen Bewertung: In beiden Fällen geht ein erheblicher Teil der lokalen Bildinformation verloren.

Für die Praxis bedeutet das: Je komplexer und strukturreicher ein Bild ist, desto schwieriger wird es, unterschiedliche Bildfehler voneinander zu unterscheiden.

Diese Beispiele sollen eine wichtige Grenze von Bildmetriken zeigen: Selbst wahrnehmungsorientierte Verfahren wie SSIM können unterschiedliche Artefakte in komplexen Szenarien ähnlich bewerten – obwohl die visuelle Wirkung für den Menschen unterschiedlich sein kann.

Fazit

MSE, PSNR und SSIM messen unterschiedliche Aspekte von Bildqualität – und genau darin liegt ihre Stärke und ihre Grenze. MSE und PSNR erfassen präzise pixelweise Abweichungen, reagieren jedoch kaum auf wahrnehmungsrelevante Veränderungen. SSIM berücksichtigt zusätzlich strukturelle Informationen und ist damit näher an der menschlichen Wahrnehmung, verliert jedoch in komplexen Szenen an Differenzierungsfähigkeit.

Meine Empfehlung: Keine dieser Metriken sollte isoliert betrachtet werden – erst im Zusammenspiel liefern sie ein vollständigeres Bild der tatsächlichen Bildqualität.


Code Beispiele (Python)

from skimage.metrics import structural_similarity as ssim

def compute_ssim(img1, img2):
    gray1 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
    gray2 = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY)

    score, _ = ssim(gray1, gray2, full=True)
    return score
from skimage.metrics import mean_squared_error as mse

def compute_psnr(img1, img2):
    mse_val = mse(img1, img2)
    if mse_val == 0:
        return float('inf')
    return 20 * np.log10(255.0 / np.sqrt(mse_val))