In der Computer Vision ist eine Salienzkarte ein Bild, das entweder die Region hervorhebt, auf die sich die Augen von Menschen zuerst fokussieren, oder die relevantesten Regionen für Modelle des maschinellen Lernens. Das Ziel einer Salienzkarte ist es, den Grad der Bedeutung eines Pixels für das menschliche visuelle System oder ein ansonsten opakes ML-Modell widerzuspiegeln. In einem Bild einer Landschaft könnte eine Person beispielsweise zuerst auf eine Festung und leichte Wolken schauen, sodass diese Regionen auf der Salienzkarte hervorgehoben würden. Salienzkarten werden häufig in Anwendungen eingesetzt, die von der Bildkompression bis zur erklärbaren künstlichen Intelligenz reichen, wo sie visuelle Erklärungen von Modellentscheidungen liefern.
Das Konzept der Salienz stammt aus Studien zur menschlichen visuellen Aufmerksamkeit. Der primäre visuelle Kortex (V1) scheint für die Salienzkarte verantwortlich zu sein, gemäß der V1-Salienzhypothese. Im maschinellen Lernen werden Salienzkarten typischerweise für tiefe neuronale Netze erzeugt, insbesondere für faltende neuronale Netze und Transformer, um anzuzeigen, welche Teile der Eingabe den Ausgang am meisten beeinflussen.
Anwendungen für das menschliche Auge
Salienzkarten haben Anwendungen in einer Vielzahl unterschiedlicher Probleme. Für die Aufmerksamkeit des menschlichen Auges werden sie verwendet in:
- Bild- und Videokompression: Das menschliche Auge fokussiert nur auf eine kleine Region von Interesse im Frame. Daher ist es nicht notwendig, den gesamten Frame mit gleichmäßiger Qualität zu komprimieren. Die Verwendung einer Salienzkarte reduziert die endgültige Größe des Videos bei gleicher visueller Wahrnehmung.
- Bild- und Videoqualitätsbewertung: Die Hauptaufgabe einer Bild- oder Videoqualitätsmetrik ist eine hohe Korrelation mit Benutzermeinungen. Unterschiede in salienten Regionen erhalten mehr Gewicht und tragen somit mehr zum Qualitätswert bei.
- Bild-Retargeting: Dies zielt darauf ab, ein Bild zu skalieren, indem nicht-informative Regionen vergrößert oder verkleinert werden. Retargeting-Algorithmen verlassen sich auf die Verfügbarkeit von Salienzkarten, die alle salienten Bilddetails genau schätzen.
- Objekterkennung und -klassifikation: Anstatt einen rechenintensiven Algorithmus auf das gesamte Bild anzuwenden, kann man ihn auf die salientesten Regionen eines Bildes anwenden, die am wahrscheinlichsten ein Objekt enthalten.
Erklärbare KI
Salienzkarten sind ein prominentes Werkzeug in der erklärbaren künstlichen Intelligenz, das visuelle Erklärungen des Entscheidungsprozesses von Modellen des maschinellen Lernens, insbesondere tiefer neuronaler Netze, liefert. Diese Karten heben die Regionen in den Eingabedaten hervor, die den Ausgang des Modells am meisten beeinflussen, und zeigen effektiv an, wohin das Modell "schaut", wenn es eine Vorhersage trifft. Bei Bildklassifikationsaufgaben können Salienzkarten beispielsweise Pixel oder Regionen identifizieren, die am meisten zu einer bestimmten Klassenentscheidung beitragen.
Für faltende neuronale Netze entwickelte Salienzkartentechniken reichen von der einfachen Berechnung des Gradienten der Klassenscore in Bezug auf die Eingabedaten bis zu komplexeren Algorithmen wie integrierten Gradienten und Klassenaktivierungszuordnung. In der Transformer-Architektur führten Aufmerksamkeitsmechanismen zu analogen Salienzkarten, wie Aufmerksamkeitskarten, Aufmerksamkeits-Rollouts und klassendiskriminativen Aufmerksamkeitskarten.
Salienz als Segmentierungsproblem
Die Salienzschätzung kann als eine Instanz der Bildsegmentierung betrachtet werden. In der Computer Vision ist die Bildsegmentierung der Prozess der Partitionierung eines digitalen Bildes in mehrere Segmente (Mengen von Pixeln, auch bekannt als Superpixel). Das Ziel der Segmentierung ist es, die Darstellung eines Bildes zu vereinfachen und/oder in etwas zu ändern, das bedeutungsvoller und leichter zu analysieren ist. Die Bildsegmentierung wird typischerweise verwendet, um Objekte und Grenzen (Linien, Kurven usw.) in Bildern zu lokalisieren. Genauer gesagt ist die Bildsegmentierung der Prozess der Zuweisung eines Labels zu jedem Pixel in einem Bild, sodass Pixel mit demselben Label bestimmte Merkmale gemeinsam haben.
Klassische Algorithmen
Es gibt drei Formen klassischer Salienzschätzungsalgorithmen, die in OpenCV implementiert sind:
- Statische Salienz: Verlässt sich auf Bildmerkmale und Statistiken, um die Regionen von Interesse eines Bildes zu lokalisieren.
- Bewegungssalienz: Verlässt sich auf Bewegung in einem Video, die durch optischen Fluss erkannt wird. Objekte, die sich bewegen, gelten als salient.
- Objektness: Objektness spiegelt wider, wie wahrscheinlich ein Bildfenster ein Objekt abdeckt. Diese Algorithmen erzeugen eine Menge von Begrenzungsrahmen, wo ein Objekt in einem Bild liegen könnte.
Zusätzlich zu klassischen Ansätzen sind auch Methoden auf Basis neuronaler Netze beliebt. Es gibt Beispiele für neuronale Netze zur Bewegungssalienzschätzung:
- TASED-Net: Besteht aus zwei Bausteinen. Zuerst extrahiert das Encoder-Netzwerk räumlich-zeitliche Merkmale mit niedriger Auflösung, und dann dekodiert das folgende Vorhersagenetzwerk die räumlich kodierten Merkmale, während es alle zeitlichen Informationen aggregiert.
- STRA-Net: Betont zwei wesentliche Aspekte. Zuerst werden räumlich-zeitliche Merkmale durch die Kopplung von Erscheinung und optischem Fluss integriert, und dann wird mehrskalige Salienz durch einen Aufmerksamkeitsmechanismus gelernt.
- STAViS: Kombiniert räumlich-zeitliche visuelle und auditive Informationen. Dieser Ansatz verwendet ein einzelnes Netzwerk, das lernt, Schallquellen zu lokalisieren und die beiden Salienzen zu fusionieren, um eine endgültige Salienzkarte zu erhalten.
Es gibt eine neuere statische Salienzmethode namens visuelle Verzerrungsempfindlichkeit. Sie basiert auf der Idee, dass die wahren Kanten, d.h. Objektkonturen, salierter sind als andere komplexe texturierte Regionen. Sie erkennt Kanten auf eine andere Weise als klassische Kantenerkennungsalgorithmen. Sie verwendet einen relativ kleinen Schwellenwert für die Gradientenmagnituden, um das bloße Vorhandensein der Gradienten zu berücksichtigen. Sie erhält vier Binärkarten für vertikale, horizontale und zwei diagonale Richtungen. Morphologisches Schließen und Öffnen werden auf die Binärbilder angewendet, um kleine Lücken zu schließen. Um blobartige Formen zu beseitigen, nutzt sie die Distanztransformation. Schließlich sind die verbundenen Pixelgruppen einzelne Kanten (oder Konturen). Ein Schwellenwert für die Größe der verbundenen Pixelmenge wird verwendet, um zu bestimmen, ob ein Bildblock eine wahrnehmbare Kante (saliente Region) enthält oder nicht.
Beispielimplementierung
Eine einfache Salienzkarte kann berechnet werden, indem der Abstand jedes Pixels zu den restlichen Pixeln im selben Frame berechnet wird. Der Salienzwert für ein Pixel \(I_k\) ist gegeben durch:
\(\mathrm{SALS}(I_k) = \sum_{i=1}^{N} |I_k - I_i|\)
wobei \(I_i\) der Wert von Pixel \(i\) ist, im Bereich von [0,255]. Die erweiterte Form ist:
\(\mathrm{SALS}(I_k) = |I_k - I_1| + |I_k - I_2| + ... + |I_k - I_N|\)
wobei N die Gesamtzahl der Pixel im aktuellen Frame ist. Die Formel kann umstrukturiert werden, indem Pixel mit demselben Intensitätswert gruppiert werden:
\(\mathrm{SALS}(I_k) = \sum_{n=0}^{255} F_n \times |I_k - I_n|\)
wobei \(F_n\) die Häufigkeit des Intensitätswerts \(I_n\) ist. Die Häufigkeiten werden in Form eines Histogramms ausgedrückt, und die Berechnungszeit des Histogramms ist \(O(N)\). Dieser Ansatz ist effizient und bildet die Grundlage für viele klassische Salienzerkennungsmethoden.
Ansätze mit neuronalen Netzen
Die moderne Erzeugung von Salienzkarten verlässt sich oft auf Deep Learning. Für faltende neuronale Netze berechnen gradientenbasierte Methoden die Ableitung des Klassenscores in Bezug auf das Eingabebild und erzeugen eine Salienzkarte, die Pixel mit dem stärksten Einfluss hervorhebt. Integrierte Gradienten und Klassenaktivierungszuordnung (CAM) sind fortgeschrittenere Techniken, die glattere und diskriminativere Karten liefern. In Transformatoren erzeugen Aufmerksamkeitsmechanismen Aufmerksamkeitskarten, die über Schichten hinweg aggregiert werden können, bekannt als Aufmerksamkeits-Rollouts, um Salienzkarten für visuelle und textuelle Eingaben zu erstellen. Diese Methoden werden häufig in maschinellem Lernen und Deep Learning für die Modellinterpretierbarkeit verwendet.
Anwendungen in anderen Bereichen
Obwohl Salienzkarten in der Computer Vision am häufigsten vorkommen, wurden sie an andere Bereiche angepasst. In der Verarbeitung natürlicher Sprache können Salienzkarten Wörter oder Token hervorheben, die die Vorhersage eines Modells am meisten beeinflussen, insbesondere in Transformer-basierten Modellen wie großen Sprachmodellen. In der Audioverarbeitung können Salienzkarten Zeit-Frequenz-Regionen anzeigen, die für die Klassifikation relevant sind. Das zugrunde liegende Prinzip bleibt dasselbe: Identifiziere die Teile der Eingabe, die für den Ausgang am wichtigsten sind.
Herausforderungen und Einschränkungen
Salienzkarten sind nicht ohne Kritik. Sie können empfindlich auf kleine Störungen in der Eingabe reagieren, was zu instabilen Erklärungen führt. Einige Methoden erzeugen Karten, die nicht klassendiskriminativ sind, was bedeutet, dass sie Regionen hervorheben, die allgemein salient sind, anstatt spezifisch für eine bestimmte Vorhersage. Darüber hinaus ist die Bewertung der Qualität von Salienzkarten schwierig, da es keine Grundwahrheit für die Modellaufmerksamkeit gibt. Forscher entwickeln weiterhin neue Techniken, um die Zuverlässigkeit und Interpretierbarkeit zu verbessern, wobei sie oft auf Erkenntnisse aus der Neuronale-Netze-Forschung und der Ethik der künstlichen Intelligenz zurückgreifen.
Zukünftige Richtungen
Da KI-Modelle komplexer werden, wächst der Bedarf an transparenten Erklärungen. Salienzkarten werden wahrscheinlich ein Schlüsselwerkzeug in der erklärbaren KI bleiben, insbesondere für Anwendungen mit hohem Risiko wie medizinische Bildgebung und autonomes Fahren. Fortschritte in generativer KI und multimodalen Modellen könnten zu neuen Formen der Salienz führen, die visuelle, textuelle und auditive Hinweise kombinieren. Forschung an Institutionen wie MIT CSAIL, Stanford AI Lab und Berkeley AI Research erweitert weiterhin die Grenzen der Interpretierbarkeit, wobei Salienzkarten als grundlegende Technik dienen.