Попросили Midjourney, DALL-E 2 и Stable Diffusion изобразить любовь и свой автопортрет. Показываем, что из этого вышло

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

Попросили Midjourney, DALL-E 2 и Stable Diffusion изобразить любовь и свой автопортрет. Показываем, что из этого вышло

Навигация по тексту:

Особенности в работе с нейросетями

Перед тем, как перейти к результатам экспериментов, скажем пару слов об особенностях каждой нейросети.

Midjourney

→ Работает через Discord-канал: для генерации изображений нужно отправить текстовый запрос в чат-канале newbies. Другие пользователи будут видеть ваши результаты.

Окно Discord-канала Midjourney.
Окно Discord-канала Midjourney.

→ Каждому новому пользователю доступны бесплатные 25 запросов. Дополнительные 200 запросов обойдутся в $10.

→ В ответ на запрос нейросеть рисует коллаж из четырех изображений. Их размеры можно устанавливать с помощью специальных флагов --w и --h.

Пример настройки разрешения изображений.
Пример настройки разрешения изображений.

→ Изображения можно улучшать или генерировать для них дополнительные варианты.

Пример работы апскейлинга и генератора дополнительных вариантов.
Пример работы апскейлинга и генератора дополнительных вариантов.

DALL-E 2

→ Проект бесплатный и не ограничивает в количестве запросов. Работает через API, но для пользователей из России доступен только через VPN. Кроме того, при аутентификации понадобится SMS-подтверждение — работает только для иностранных номеров.

<p>Сообщение об ошибке: «Что-то пошло не так. OpenAI недоступен в вашей стране»</p>

Сообщение об ошибке: «Что-то пошло не так. OpenAI недоступен в вашей стране»

→ С помощью встроенного модификатора можно изменять отдельные участки изображений. Например, превращать котиков в… кепки.

Пример работы модификатора.
Пример работы модификатора.

→ Для каждого изображения можно сгенерировать дополнительные варианты и отобрать лучшие из них.

Генерация дополнительных вариантов.
Генерация дополнительных вариантов.

→ В DALL-E 2 нельзя устанавливать размеры изображений. Нейросеть умеет работать только с форматом 1:1. Это минус, если нужно сделать широкоугольную обложку для статьи.

Stable Diffusion

→ Исходный код проекта есть в открытом доступе. Для работы с нейросетью можно скачать git-репозиторий и развернуть свой веб-сервер.

<p>Stable Diffusion, WebUI.</p>

Stable Diffusion, WebUI.

→ В Stable Diffusion есть ряд параметров для гибкой настройки генератора изображений:

  • Height, Width — размер изображения.

  • Classifier Free Guidance Scale — насколько точно изображение должно соответствовать запросу. Рекомендуем использовать стандартное значение — 7,5.
  • Number of batches to generate — сколько всего подборок сгенерирует нейронная сеть.
  • Images per batch — количество изображений в одной подборке.
  • Sampling steps — количество раз, которое нейронная сеть обрабатывает изображение. Для всех изображений в статье параметр равен 70.

  • Sampling method — метод выбора «лучших» изображений во время генерации — для простых запросов разница незаметна. В большинстве случаев использовали стандартный метод k_lms.
<p>Изображения с разными значениями Sampling method.</p>

Изображения с разными значениями Sampling method.

Идея эксперимента

Несмотря на различия между проектами, есть общие правила по формированию запросов. Основные описаны в нашем прошлом эксперименте.

Для баттла нейросетей мы придумали и провели пять испытаний.

  • Литературный персонаж. Нейросети сгенерировали образ того, чье имя нельзя называть.
  • Историческая личность. Как думаете, каким нейросети нарисуют Уинстона Черчилля: с сигарой или без?
  • Айтишный сценарий. Проверили, «слышали» ли нейросети про Assembler и программирование.
  • Абстракции. Нарушили правила формирования запросов и попросили изобразить чувство.
  • Набор объектов. Что получится, если просто перечислить объекты в запросе?
  • Видение себя. Проверили, что сгенерируют нейросети, если в запросах написать их названия.

Испытание 1. Волан-Де-Морт

В серии фильмов про Гарри Поттера роль лорда Волан-Де-Морта играли пять актеров. Нам стало интересно, каким чародея «запомнили»‎ нейросети.

Запрос: Lord Voldemort stands and smiles digital art

Попросили Midjourney, DALL-E 2 и Stable Diffusion изобразить любовь и свой автопортрет. Показываем, что из этого вышло

Несмотря на прописанный в запросе стиль digital art, «испытуемые» показали разные результаты. Самым удачным кажется вариант от Midjourney. Он похож на персонажа из фильмов о Гарри Поттере.

Сложней всего было сгенерировать картинку в Stable Diffusion. В большинстве случаев у персонажа силуэт был неуклюжим, с глюками.

Изображение, сгенерированное Stable Diffusion.
Изображение, сгенерированное Stable Diffusion.

Испытание 2. Уинстон Черчилль

Лондон, 1947 год. По тротуарам ходят люди в выглаженных костюмах, а вдоль дорог стоят красивые фонари. Дайте угадать: представили картину в черно-белых тонах или сепии? DALL-E 2 и Stable Diffusion — да.

Запрос: Winston Churchill standing in front

Попросили Midjourney, DALL-E 2 и Stable Diffusion изобразить любовь и свой автопортрет. Показываем, что из этого вышло

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

На общую картину это не влияет. У нейросетей получилось «визуализировать» запрос. Однако Midjourney, кажется, справилась лучше. Она по умолчанию сгенерировала полноценную цветную картину. С помощью DALL-E 2 и Stable Diffusion можно получить похожие результаты, но для этого нужно «пошаманить» со стилями и настройками.

Еще один результат этого испытания: ни одна нейросеть не сгенерировала Уинстона Черчилля с сигарой.

Испытание 3. Программирование на Assembler

В прошлый раз мы пытались повторить обложку для одной из статей блога. И обнаружили, что Midjourney не может изобразить программный код. Решили проверить, какая из нейросетей лучше всего справится с иллюстрацией на тему программирования.

Запрос: man programming in Assembler

Попросили Midjourney, DALL-E 2 и Stable Diffusion изобразить любовь и свой автопортрет. Показываем, что из этого вышло

На первом и третьем изображениях — люди за компьютером. Программируют они или нет — неизвестно. Но отдаленно похоже на это. А вот на второй картинке не понятно, что нейросеть хотела показать. Иногда Midjourney рисует слишком абстрактные вещи.

Скорректировали запрос и добавили деталей: Man sits at computer and programming in Assembler

Попросили Midjourney, DALL-E 2 и Stable Diffusion изобразить любовь и свой автопортрет. Показываем, что из этого вышло

Мыслитель сидит в позе лотоса и программирует. Результат Midjourney.

Испытание 4. Чувство любви

Представить чувство просто, а объяснить трудно. Оно абстрактно и субъективно. Вопреки рекомендациям по запросам проверили, какой любовь видят нейросети.

Запрос: feeling of love, digital art

<p>Sampling method = k_euler </p>

Sampling method = k_euler

Абстрактные композиции лучше выходят у DALL-E 2. Они не тривиальны и передают сюжет. Midjourney и Stable Diffusion фокусируются же на шаблонном решении — сердце.

Испытание 5. Набор объектов

Во время создания иллюстраций дизайнер думает о том, как лучше объединить разные элементы, прописанные в техническом задании. Иногда сложно представить «сцену»: объекты могут быть не связаны, а их нужно как-то «скрепить» в композицию. Мы решили проверить, что придумают нейросети, если просто перечислить ключевые элементы через запятую.

Запрос: computer, photos with cats, robot, fish

Попросили Midjourney, DALL-E 2 и Stable Diffusion изобразить любовь и свой автопортрет. Показываем, что из этого вышло

Что не так с третьим изображением? Сначала подумали, что нужно откалибровать параметр Classifier Free Guidance Scale (cfgscale). Он отвечает за то, насколько точно изображение должно соответствовать запросу. Но это ни на что не повлияло: при разных значениях cfgscale получаются обычные слияния картинок.

Результаты по запросу «computer, photos with cats, robot, fish» при разных значениях cfgscale.
Результаты по запросу «computer, photos with cats, robot, fish» при разных значениях cfgscale.

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

Испытание 6. Видение себя

И напоследок: как нейросети видят сами себя?

Попросили Midjourney, DALL-E 2 и Stable Diffusion изобразить любовь и свой автопортрет. Показываем, что из этого вышло

Stable Diffusion ассоциирует себя с лошадьми, Midjourney — с пейзажами и закатами, DALL-E 2 смотрит на себя по-разному. Сначала как на пиво с тумбочкой, а теперь — как на гедзе. Кажется, разработчики от нас что-то скрывают.

Какая нейросеть победила?

Midjourney, DALL-E 2 и Stable Diffusion способны генерировать как потрясающие, так и «слабые» изображения. В каких-то случаях нужно больше поработать с запросами, а в других — достаточно одной попытки, чтобы получить хороший результат. И сложно сказать, какая нейросеть победила. Но в частных случаях выбирать не приходится.

Если нужно сгенерировать изображение здесь и сейчас — используйте Midjourney

Достаточно подключиться к Discord-каналу. Не нужно настраивать VPN или разворачивать целый web-сервер. Можно получить хорошее изображение даже без настроек стилей. Хотя иногда может понадобиться не одна попытка.

У Midjourney есть свой «универсальный почерк». Она по умолчанию генерирует картины, будто написанные маслом, а не фотографии или рисунки, как это делают DALL-E 2 и Stable Diffusion. Преимущество ли это — решать вам.

Хотите объединить несколько разных объектов? С этим поможет DALL-E 2

Она умеет строить сложные и «осмысленные» композиции. Это полезно, когда дизайнеру нужно получить большое количество референсов в сжатые сроки.

Также в DALL-E можно изменять изображения при необходимости. Пример: нейросеть нарисовала пейзаж, но на горизонте стоит лишнее дерево. Вы можете его выделить и удалить.

Но помните: для работы с нейросетью нужен VPN и иностранный номер телефона. Это затрудняет работу. Зато сервис бесплатный и не ограничивает в количестве запросов.

В Stable Diffusion есть настройки для гибкой работы с генератором изображений

Например, если нужно контролировать нагрузку нейросети на сервер, можно уменьшить параметр Sampling steps. А если ресурсов достаточно и цель — получить наиболее качественные рисунки, достаточно выкрутить параметры на максимум. Хотя с Classifier Free Guidance Scale лучше не экспериментировать. Крайние значения параметров генерируют изображения, состоящие из одних «глюков».

Однако для работы с нейросетью нужно развернуть Google Collab или собственный web-сервер. Это решение может оказаться дороже, чем подписка в Midjourney.

Какая нейросеть — ваш любимчик? Поделитесь в комментариях. А также подпишитесь на блог Selectel, чтобы не пропустить обзоры, новости, кейсы и полезные гайды из мира IT.

Читайте также:

4444
15 комментариев

по поводу последнего эксперимента: с миджорни и стейбл диффужн все понятно. MidJourney нарисовала картину "посреди путешествия", что и означает ее название. Stable - это конюшня.
Насчет гедзе не уверена, что это значит. Но думаю, что тоже связано с семантикой слова или каким-то брендом чего-то.

6
Ответить

это так забавно, что DALL-E 2 видит себя как пельмешек))) а вообще, мне кажется, что победителя здесь нет, кто-то где-то лучше, кто-то где-то хуже

2
Ответить

Справедливо!

А про DALL-E 2, кажется, все мы время от времени чувствуем себя пельмешками :)

2
Ответить

Я всё же считаю, что победила Midjourney. Самые топовые рисунки получились.

Ответить

Для более справедливого теста нужно было подробно прописывать promt, а иначе выйдет.. то что вышло, вот к примеру генерация midjourney по запросу - Theodore John Kaczynski, cinematic image, 85mm - добавлять в конец промта характеристики очень важно, а иначе выходит что-то нелепое, чем более подробный promt - тем лучше результат генерации.

2
Ответить

Действительно, для более качественных изображений нужно использовать расширенные запросы. Наглядный тому пример — результаты третьего испытания. Но сложность промптов зависит от выбранной нейросети.

Мы ориентировались на простые, чтобы посмотреть, что генерируют нейросети по умолчанию. От этого зависит удобство работы с ними.

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

Ответить

потому что stable - конюшня

1
Ответить