Skip to content

Instantly share code, notes, and snippets.

@sergei-mironov
Last active March 12, 2019 16:52
Show Gist options
  • Save sergei-mironov/2346e0d82e80b0506df9cd5621a78921 to your computer and use it in GitHub Desktop.
Save sergei-mironov/2346e0d82e80b0506df9cd5621a78921 to your computer and use it in GitHub Desktop.
Text2image

Что нужно знать

  • Народ активно работает над задачей генерации картинки по тексту
  • Особенно активно работают китайские исследователи
  • Но картинки пока получаются маленькие - 256x256 пикселей, хотя вроде бы красиые.
  • И на узкие темы. Например - только о птичках.
  • Чтобы сеть овладела вопросом, нужно примерно 10 тыс. картинок с описаниями.
  • Для работы над приложением задачи нужно:
    • Собрать и разметить датасет. Наверное, это самое основное и важное. Пример данных см. по ссылки ниже, в "датасеты". Размечальщиков картинок можно нанять, см. MTurk.
    • Нанять кого-то кто знает как устроены GAN, также нужно чтобы были знания про LSTM, возможно про Attention-слои.
    • Программируетя это всё на Питоне, у специаллиста должен быть опыт работы с библиотеками TensorFLow или PyTorch.

Как мне представляется, малый размер картинок - существенное ограничение практической применимости. Возможно, его можно побороть, воспользовавшись результататми решения другой задачи машинного обучения - Super Resolution. В ней интеллектуально увеличивают разрешение, додумывая окружение каждого пикселя исходной картинки. Про это нужно смотреть дополнительно.

История вопроса

Обзор 2018 года https://arxiv.org/pdf/1805.00676.pdf

Подробнее, по статьям:

  • 2014, Generative Adversarial Networks
    • Работа общего характера, изложен метод совместной тренировки генеративной сети и сети - "критика". На входе - датасет картинок, на выходе - генеративная модель, имеющая возможность генерировать картинки, напоминающие исходные.
    • Статья Goodfellow https://arxiv.org/abs/1406.2661
  • 2016, Generative Adversarial Text to Image Synthesis,
    • GANы используются для генерации картинок ("пискелей") по текстовому описанию: одному предложению на английском языке. Для кодирования предложений используются либо char-level CNN, либо LSTM.
    • Использовались эмбеддинги GoogLeNet.
    • Для тренировки использовались картинки 64х64х3.
    • Датасеты - CUB-200, Oxford-102, COCO.
    • Статья Scott Reed, https://arxiv.org/abs/1605.05396
  • 2017-04, A Neural Representation of Sketch Drawings
    • Подход к генерации скетчей, использующий Рекуррентные сети (Bidirectional RNN)
    • Написана сотрудниками Гугла.
    • Генерирует схематичные картинки, напоминающие детские рисунки карандашом.
    • Датасет QuickDraw
    • Статья https://arxiv.org/abs/1704.03477
  • 2017-09, StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks
    • Подход к генерации картинок по описанию, использующий деревья из GAN-сетей.
    • Все авторы с китайскими фамилиями
    • High-resolution (для данной задачи) images, 256х256
    • Датасеты: CUB, Oxford-102, COCO, LSUN, ImageNet
    • Статья https://arxiv.org/abs/1710.10916
    • ГитХаб https://github.com/hanzhanggit/StackGAN-v2
  • 2017-11, AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks
    • Генерация картинок GAN-сетью с attention-механизмом.
    • Картинки разрешения 256х256
    • Датасеты CUB, COCO
    • Авторы с китайскими фамилиями, некоторые - теже что и StackGAN++
    • Статья https://arxiv.org/abs/1711.10485
    • ГитХаб https://github.com/taoxugit/AttnGAN

Датасеты

@sergei-mironov
Copy link
Author

sergei-mironov commented Mar 12, 2019

Нужно бы ещё посмотреть время генерации одной картинки. Может оказаться не вжух.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment