Как правильно писать запросы для нейросетей, генерирующих изображения

Написание эффективных запросов для нейронных сетей, которые генерируют изображения, таких как DALL-E, Midjourney или Stable Diffusion, может помочь вам достичь желаемого визуального результата. Вот несколько советов по созданию четких и точных запросов:

  1. Будьте конкретны в теме, начинайте запрос со слова “нарисуй”.
    Четко укажите основную тему, укажите, первостепенный и второстепенный планы изображения.
    Пример: «Нарисуй рыжую лису на фоне заснеженного леса» вместо «Лиса».
  2. Включайте детали и описания.
    Используйте описательные прилагательные, добавляйте детали, чтобы описать тему более ярко.
    Пример: «Нарисуй рыжую лису с большим пушистым хвостом на фоне заснеженного леса с высокими соснами».
    Укажите желаемый художественный стиль или среду.
    Пример: «Нарисуй рыжую лису с большим пушистым хвостом на фоне заснеженного леса с высокими соснами, в стиле акварельной живописи».
  3. Предоставьте описание окружающей среды.
    Добавьте информацию об окружающей среде.
    Пример: «Нарисуй рыжую лису с большим пушистым хвостом на фоне заснеженного леса с высокими соснами, на рассвете, с мягким солнечным светом, пробивающимся сквозь деревья, в стиле акварельной живописи».
  4. Укажите желаемую композицию.
    Сосредоточьтесь на элементах композиции, укажите, как вы хотите расположить или подчеркнуть элементы.
    Пример: «Нарисуй крупный план рыжей лисы с большим пушистым хвостом на переднем плане, на заднем плане — заснеженный лес с высокими соснами».
  5. Укажите настроение или атмосферу.
    Укажите атмосферу или эмоции, которые вы хотите передать с помощью изображения.
    Пример: «Нарисуй рыжую лису с большим пушистым хвостом на фоне заснеженного леса, рисунок должен передавать спокойную, безмятежную атмосферу».
  6. Четко обозначьте освещение.
    Опишите условия освещения, укажите конкретные детали освещения, если это важно.
    Пример: «Нарисуй рыжую лису с большим пушистым хвостом на фоне заснеженного леса, освещенного мягким рассеянным утренним светом».
  7. Укажите дополнительные элементы или действия.
    Включите дополнительные элементы, которые вы хотите включить в изображение.
    Пример: «Нарисуй рыжую лису с большим пушистым хвостом на фоне заснеженного леса на берегу небольшого ручья, частично покрытого льдом».
  8. Избегайте сложных сцен, используйте односложные сюжеты.
    Нейросеть легко справится с таким запросом: “Нарисуй рыжую лису с большим пушистым хвостом, сидящую на снегу на фоне заснеженного леса” (рис. 1).
Рис. 1

Или нейросеть легко справится с таким запросом: “Нарисуй черную ворону, сидящую на ветке дерева, на фоне заснеженного леса” (рис. 2)

Рис. 2

Однако нейросеть плохо справляется со сложными сюжетами, когда на картине присутствует несколько объектов, причем, эти объекты расположены определенным образом относительно друг друга и, вдобавок, связаны между собой определенным смысловым образом. Например, “Нарисуй большое дерево на фоне заснеженного леса. На ветке дерева сидит черная ворона. Под деревом на снегу сидит рыжая лиса с большим пушистым хвостом и смотрит вверх на ворону”. Здесь должно быть соблюдено правильное смысловое взаимодействие трех объектов: дерево, ворона, лиса. Этого очень сложно добиться от нейросети. Лучший рисунок, который мне удалось сгенерировать с помощью нейросети Fusion Brain, показан на рис. 3, который очень далек от замысла запроса.

Рис. 3

Конечно, качество картинки зависит от используемой нейросети. Нейросеть DALL-E сгенерировала картинку, показанную на рис. 4. Картинка гораздо лучше изображенной на рис. 3 и является почти “то, что надо”. Наверное, в качестве недостатка я бы все-таки отметил несоответствие пропорций вороны и лисы.

Рис. 4

А если дополнительно к запросу добавить фразу “ворона держит в клюве кусочек сыра”, то такое задание для нейросети окажется просто невыполнимым.
9. Используйте отрицательные запросы, то есть отсекайте лишние детали на изображении.
Пример:
Запрос (промпт): “Старинный замок на высоком берегу бурной реки. На небе мрачные облака”.
Отрицательный (негативный промпт) запрос: “Лодки на реке”.
На сгенерированном изображении будут отсутствовать лодки на реке.

Примеры корректных запросов

Простые и понятные: «Нарисуй безмятежный пляж на закате с мягкими волнами».
Подробные и описательные: «Нарисуй оживленную средневековую рыночную площадь с продавцами, продающими красочные фрукты и специи, в стиле детальной масляной живописи».
Художественный стиль: «Нарисуй футуристический городской пейзаж ночью, с неоновыми огнями и летающими автомобилями, в стиле киберпанк-искусства».
Конкретные действия: «Нарисуй девушку, сидящую в кресле-качалке под большим дубом, в руках девушки книга, неяркое осеннее солнце создает теплую атмосферу, вокруг девушки падают редкие осенние листья».
Настроение и атмосфера: «Нарисуй уютный домик в зимнем лесу, из окон льется теплый свет, из трубы на крыше вьется легкий дымок».

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