fbpx
  • CookGAN: нейросеть генерирует фото блюда по списку ингредиентов

    CookGAN — это генеративно-состязательная нейросеть, которая синтезирует реалистичное изображение блюда на основе списка ингредиентов. Модель основывается на StackGAN. Для того, что бы соотносить списки ингредиентов с изображениями, исследователи обучают отдельную модель с механизмом внимания. Результаты из ассоциативной модели используются затем в генеративной модели.

    Предыдущие подходы к генерации изображений из текста обычно опираются на предобученную текстовую модель, которая извлекает признаки из текста. Затем идет генеративно-состязательная сеть (GAN), которая генерирует фотореалистичные изображения на основе признаков из текста. Предыдущие модели фокусировались в основном на генерации изображений цельных объектов: птиц, цветов и т.п. Задача генерации изображений блюд предполагает, что изначальный вид ингредиентов в списке меняется в процессе готовки. Получается, что итоговое изображение блюда зачастую не содержит ингредиенты в их дефолтном виде. Такая особенность усложняет задачу генерации. Исследователи сначала обучили модель для ассоциирования ингредиентов и изображений, которая включала в себя механизм внимания. Обученная модель далее используется как условие (condition) в GAN. Чтобы контролировать содержание изображений и их качество, исследователи вводят cycle-consistent ограничение.

    Архитектура подхода

    Подход можно разделить на два этапа:

    1. На первом этапе исследователи обучили ассоциативную модель, которая извлекает признаки из текстового списка ингредиентов и соотносит в скрытом пространстве ингредиенты с изображениями. Во время обучения модель принимает на вход три объекта: рецепт, изображение блюда и рецепт другого блюда. Модель учится максимизировать ассоциацию между рецептом и изображением блюда. При этом, ассоциация между изображением блюда и рецептом другого блюда минимизируется;
    2. Генеративная модель основана на архитектуре StackGAN-v2. Она состоит из 3 частей, которые объединены. Каждая часть ответственна за генерацию изображения определенного масштаба. У каждой части сети свой дискриминатор
    Составные части генеративной модели

    Оценка работы модели

    Исследователи посмотрели, как предложенная CookGAN с механизмом внимания и без работает в сравнении с базовой моделью. В качестве задачи они выбрали извлечение рецепта по фотографии блюда (im2recipe) и извлечение изображения блюда по рецепту (recipe2im). Ниже видно, что нейросеть выдает результаты лучше, чем базовая модель.

    Сравнение полной модели с базовым вариантом модели