Scene Graph
Граф сцены — это визуальное представление объектов, атрибутов и отношений, которое поддерживает логический вывод, поиск изображений и робототехнику.
Граф сцены — это структурированное представление визуальной сцены, в котором узлы обозначают объекты, атрибуты описывают их свойства, а помеченные рёбра — отношения между ними. Он преобразует изображение в набор связанных фактов: какие объекты присутствуют, как они выглядят и как взаимодействуют. В компьютерном зрении такая структура позволяет анализировать сцену, а не только распознавать отдельные объекты.
Джастин Джонсон, Ранджай Кришна и их коллеги представили современный подход к привязке графов к изображениям в своей работе 2015 года о поиске изображений с помощью графов сцен. В их представлении были объекты, например мужчина и лодка, атрибут лодки — белый цвет — и отношение «мужчина стоит на лодке». Благодаря этому можно было задавать поисковые запросы не только по категориям объектов, но и по отношениям между ними.
Объекты, атрибуты и отношения#
Каждый узел обозначает экземпляр объекта. Две лошади на одном изображении получают отдельные идентификаторы, даже если у них совпадают метки категорий. Ограничивающая рамка указывает расположение каждого экземпляра и обеспечивает его привязку к изображению, связывая символический объект с областью изображения. Атрибуты задают свойства экземпляра, например цвет или материал. Отношения связывают два экземпляра с помощью предиката — метки, описывающей их связь. Полученная тройка «субъект — предикат — объект» выражает один факт об отношении.
Набор данных Visual Genome, созданный Ранджаем Кришной и его коллегами, содержит 108 077 изображений со структурированными визуальными аннотациями. Графы сцен — это специфичная для изображений разновидность графа знаний. Семантические отношения позволяют объектам иметь несколько связей, а также образовывать несвязанные компоненты, поэтому у графа сцены изображения не обязательно должен быть корневой узел.
Пример графа сцены в драйвере Python для Visual Genome содержит отношения «лошадь носит уздечку» и «окно рядом с дверью». Эти аннотации можно представить в виде ориентированного графа с помощью NetworkX, установив пакет pip install networkx:
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}")В результате доступны для запросов два факта об отношениях, каждый предикат связан с соответствующим ориентированным ребром.
Как работает генерация графов сцен#
Генерация графов сцен (SGG) предсказывает такое представление по визуальным данным. Типичный конвейер объединяет обнаружение объектов, извлечение признаков и классификацию отношений. Признаки объектов описывают отдельные области, а попарные признаки — возможные взаимодействия. Контекстные модели, такие как MotifNet, учитывают окружающие объекты, чтобы точнее предсказывать отношения. Графовые нейронные сети также могут обмениваться информацией между связанными объектами и формировать эмбеддинги, кодирующие контекст отношений.
Ultralytics YOLO YOLO26 предоставляет для этого конвейера экземпляры объектов через результаты детекции: рамки, метки классов и оценки уверенности. Модель отношений следующего этапа использует эти экземпляры для предсказания рёбер, например «носит» или «стоит на».
Применение в визуальном анализе и робототехнике#
Явно заданные отношения помогают решать задачи, для которых важно понимать, как объекты связаны друг с другом:
- Ответы на вопросы по изображениям: GQA использует графы сцен, построенные на основе Visual Genome, для генерации вопросов и программ логического вывода. Анализ отношений между объектами поддерживает визуальный анализ, в том числе поиск объектов по их атрибутам и связям.
- Робототехника: Kimera строит динамические трёхмерные графы сцен по визуально-инерциальным данным. Многоуровневое представление связывает объекты, людей, комнаты и здания, поддерживая семантическое картографирование и иерархическое планирование маршрутов. Пространственные координаты и время расширяют представление за пределы одного изображения.
- Генерация изображений: Система генерации изображений по графам сцен, созданная Джастином Джонсоном, Агримом Гуптой и Ли Фэй-Фэй, преобразует графы в схемы расположения объектов, предсказывает рамки и маски сегментации, а затем генерирует изображение по этой схеме. Граф задаёт и содержимое сцены, и отношения между объектами.
Оценка качества и ошибки в отношениях#
При оценке графов сцен обычно выделяют три задачи. Классификация предикатов принимает рамки и метки объектов и оценивает предсказанные отношения. Классификация графов сцен принимает рамки и требует определить метки объектов и отношений. Обнаружение графов сцен требует восстановить весь граф по изображению. Такое разделение позволяет понять, вызваны ли ошибки локализацией, распознаванием объектов или предсказанием отношений.
Частотность отношений приводит к смещению набора данных: частые предикаты преобладают в предсказаниях, а редкие информативные отношения остаются незамеченными. Recall@K измеряет долю аннотированных отношений, найденных среди K предсказаний с наивысшим рейтингом. Mean Recall@K отдельно вычисляет полноту для каждой категории предикатов и усредняет значения, поэтому редкие предикаты получают такой же вес на уровне категории, как и частые.










