Scene Graph
Ein Szenengraph ist eine visuelle Darstellung von Objekten, Attributen und Beziehungen, die Schlussfolgerungen, Bildersuche und Robotik unterstützt.
Ein Szenengraph ist eine strukturierte Darstellung einer visuellen Szene, in der Knoten Objekte repräsentieren, Attribute deren Eigenschaften beschreiben und beschriftete Kanten die Beziehungen zwischen ihnen darstellen. Er verwandelt ein Bild in zusammenhängende Fakten: welche Objekte zu sehen sind, welche Eigenschaften sie haben und wie sie miteinander interagieren. In der Bildverarbeitung unterstützt diese Struktur Schlussfolgerungen über eine Szene, die über das Erkennen einzelner Objekte hinausgehen.
Justin Johnson, Ranjay Krishna und Kollegen stellten die moderne, an Bilder gebundene Formulierung 2015 in ihrer Arbeit zur Bildersuche mithilfe von Szenengraphen vor. Ihre Darstellung umfasste Objekte wie einen Mann und ein Boot, die weiße Farbe des Boots sowie die Beziehung „Mann steht auf Boot“. Damit wurden Suchanfragen ermöglicht, die neben Objektkategorien auch Beziehungen angeben.
Objekte, Attribute und Beziehungen#
Jeder Knoten bezeichnet eine Objektinstanz. Zwei Pferde in einem Bild erhalten separate Identitäten, auch wenn ihre Kategorien gleich sind. Eine Bounding Box gibt die Position jeder Instanz an und stellt so die Verankerung her: die Verbindung zwischen einem symbolischen Objekt und seinem Bildbereich. Attribute ordnen dieser Instanz Eigenschaften wie Farbe oder Material zu. Beziehungen verknüpfen zwei Instanzen mithilfe eines Prädikats, also einer Bezeichnung für ihre Verbindung. Das resultierende Subjekt-Prädikat-Objekt-Tripel drückt einen relationalen Sachverhalt aus.
Der von Ranjay Krishna und Kollegen entwickelte Datensatz Visual Genome enthält 108.077 Bilder mit strukturierten visuellen Annotationen. Szenengraphen sind bildspezifische Formen eines Wissensgraphen. Ihre semantischen Beziehungen ermöglichen mehrere Verbindungen zwischen Objekten und nicht zusammenhängende Komponenten. Daher benötigt ein Szenengraph eines Bildes keinen festgelegten Wurzelknoten.
Das Beispiel für einen Szenengraphen im Python-Treiber von Visual Genome enthält die Aussagen „Pferd trägt Zaumzeug“ und „Fenster ist neben Tür“. Diese Annotationen lassen sich mit einem gerichteten Graphen mithilfe von NetworkX darstellen, das mit pip install networkx installiert wird:
import networkx as nx
graph = nx.MultiDiGraph()
graph.add_node("horse", label="horse")
graph.add_node("bridle", label="bridle")
graph.add_node("window", label="window")
graph.add_node("door", label="door")
graph.add_edge("horse", "bridle", predicate="is wearing")
graph.add_edge("window", "door", predicate="is next to")
for subject, obj, relation in graph.edges(data=True):
print(f"{subject} -> {relation['predicate']} -> {obj}")Die Ausgabe stellt zwei abfragbare relationale Fakten bereit, wobei jedes Prädikat seiner gerichteten Kante zugeordnet ist.
Funktionsweise der Szenengraph-Generierung#
Die Generierung von Szenengraphen (SGG) sagt diese Darstellung aus visuellen Eingaben voraus. Eine typische Pipeline kombiniert Objekterkennung, Merkmalsextraktion und Beziehungsklassifizierung. Objektmerkmale beschreiben einzelne Bereiche; Merkmale von Objektpaaren beschreiben mögliche Interaktionen. Kontextmodelle wie MotifNet nutzen umgebende Objekte, um Beziehungen vorherzusagen. Auch Graphen neuronaler Netze können Informationen zwischen verbundenen Objekten austauschen und so Einbettungen erzeugen, die den relationalen Kontext kodieren.
Ultralytics YOLO YOLO26 liefert über seine Erkennungsausgaben die Objektinstanzen für diese Pipeline: Boxen, Klassenbezeichnungen und Konfidenzwerte. Ein nachgelagertes Beziehungsmodell verwendet diese Instanzen, um Kanten wie „trägt“ oder „steht auf“ vorherzusagen.
Anwendungen für visuelles Schlussfolgern und Robotik#
Explizite Beziehungen unterstützen Aufgaben, bei denen verstanden werden muss, wie Objekte zueinander passen:
- Visuelle Fragebeantwortung: GQA verwendet aus Visual Genome abgeleitete Szenengraphen, um Fragen und Programme für funktionales Schlussfolgern zu erstellen. Das Durchlaufen von Objektbeziehungen unterstützt visuelles Schlussfolgern, etwa das Erkennen von Objekten anhand ihrer Attribute und Verbindungen.
- Robotik: Kimera erstellt dynamische 3D-Szenengraphen aus visuellen und inertialen Eingaben. Seine geschichtete Darstellung verknüpft Objekte, Personen, Räume und Gebäude und unterstützt so semantische Kartierung sowie hierarchische Wegplanung. Räumliche Koordinaten und Zeit erweitern die Darstellung über ein einzelnes Bild hinaus.
- Bildgenerierung: Das von Justin Johnson, Agrim Gupta und Li Fei-Fei entwickelte System zur Bildgenerierung aus Szenengraphen wandelt Graphen in Objektanordnungen um, sagt Boxen und Segmentierungsmasken voraus und generiert aus dieser Anordnung ein Bild. Der Graph legt sowohl die Szeneninhalte als auch die Beziehungen fest.
Evaluierung und Fehler bei Beziehungen#
Bei der Evaluierung von Szenengraphen werden üblicherweise drei Aufgaben unterschieden. Bei der Prädikatsklassifizierung werden Objektboxen und -bezeichnungen vorgegeben und die vorhergesagten Beziehungen bewertet. Bei der Szenengraph-Klassifizierung werden Boxen vorgegeben und Objekt- sowie Beziehungsbezeichnungen verlangt. Bei der Szenengraph-Erkennung muss der vollständige Graph aus dem Bild ermittelt werden. Diese Unterscheidung zeigt, ob Fehler bei der Lokalisierung, der Objekterkennung oder der Vorhersage von Beziehungen entstehen.
Häufigkeiten von Beziehungen führen zu Datensatzverzerrungen: Häufige Prädikate dominieren die Vorhersagen, während seltene, aussagekräftige Beziehungen übersehen werden. Recall@K misst den Anteil der annotierten Beziehungen, die unter den K Vorhersagen mit der höchsten Rangfolge wiedergefunden werden. Mean Recall@K berechnet den Recall für jede Prädikatkategorie separat und bildet den Mittelwert dieser Werte. So erhalten seltene Prädikate auf Kategorieebene dasselbe Gewicht wie häufige.










