Для данной сцены я извлекаю содержащиеся в ней объекты с помощью детектора объектов. Затем я определяю потенциальные унарные (один объект) и бинарные (пара объектов) визуальные отношения в этой сцене (с использованием специализированных классификаторов), определяя наиболее вероятный атрибут для каждой унарной связи (например, Object Cat
с атрибутом "Sitting"
, что означает, что "The cat is sitting"
) и наиболее вероятный предикат для каждой двоичной связи (например, пара объектов [Cup - Table]
с предикатом "On"
, что означает, что "The cup is on the table"
).
Все это определенные отношения моделируются ориентированным графом в форме:
- Каждый узел представляет объект сцены (с его идентификатором).
- Моделируется каждое определенное унарное отношение (атрибут) by al oop (стрелка, идущая от узла к самому себе, с соответствующим атрибутом).
- Каждое определенное двоичное отношение моделируется стрелкой, от узла (левая сторона отношения) к другому ( правая часть отношения) с соответствующим предикатом.
На рисунке ниже показан пример графа отношений c инструкция с места происшествия. Последний содержит четыре объекта: "cup 1"
, "cup 2"
, "cat"
и "table"
. Определены следующие отношения:
- Унарные отношения (только одно): для объекта
"cat"
("standing"
). - Бинарные отношения (5 отношений): три с предикатом
"on"
([Cat - Table]
, [Cup 1 - Table]
, [Cup 2 - Table]
) и два с предикатом "next to"
([Cat - Cup 1]
, [Cat - Cup 2]
).
The goal is to train a GCN-LSTM
which receives (in input) the previous graph and returns (in output) a description (which corresponds to this graph, and therefore, to the initial scene).
The training of this GCN-LSTM
is done by creating, for each training scene, its graph (the input) and the output is its description (a paragraph). E.g. For the previous figure, the description (for training) is: "The cat standing on the table is next to a couple of cups"
. The process for the previous example is shown in the figure below.
I looked for implementation examples of GCN-LSTM
(in particular, in the documentation of StellarGraph
) для аналогичной проблемы, но я ничего не нашел. Итак, я хотел знать, есть ли способ построить такую модель, используя StellarGraph
? если да, то как? еще, какой инструмент может помочь мне построить эту модель?