Нейросети становятся всё совершеннее, входят в нашу жизнь всё чаще и вызывают всё больше споров. В конце марта 2023-го разработчики Midjourney закрыли бесплатный пробный доступ из-за злоупотребления технологией. В этом материале поработаем с бесплатным аналогом Midjourney — нейросетью Stable Diffusion. Где скачать, как установить и как работать со Stable Diffusion — разбираемся на котиках.
Читайте также:
Как пользоваться Midjourney: создаём реалистичные фото

Как скачать и установить Stable Diffusion
Где скачать Stable Diffusion
Мощность компьютера и производительность Stable Diffusion.
Как генерировать картинки в Stable Diffusion: показываем на котиках
Делаем несколько вариантов готового фото в Stable Diffusion
Увеличиваем сгенерированное изображение в Stable Diffusion
Использование разных моделей для генерации изображений в Stable Diffusion
Модель Stable Diffusion 1.5
Модель Anything V3
Модель Realistic Vision V2.0
Модель Robo Diffusion 1.0
Как скачать и установить Stable Diffusion
Stable Diffusion — нейросеть, умеющая генерировать изображения по текстовому запросу (txt2img). У неё открытый исходный код, а значит, любой желающий может использовать её для создания красивых картинок (и даже вносить изменения в код, если умеет программировать).
Работает она не на удалённом облачном сервере, как Midjourney или DALL-E, а прямо на компьютере пользователя. В этом есть плюсы: не надо оплачивать подписку, не надо ждать в очереди, пока нейросеть создаст картинки для других клиентов и займётся твоим запросом. Есть и минусы: не каждый компьютер подойдёт для запуска и стабильной работы Stable Diffusion. Нужна мощная видеокарта и несколько десятков гигабайт свободного места на диске. Разработчики рекомендуют использовать видеокарту Nvidia серии RTX 3xxx с объёмом видеопамяти не менее 6 Гб.
Нам удалось установить Stable Diffusion на компьютер с более скромными параметрами: Intel Core i5 4460, 16 Гб оперативной памяти, видеокарта Nvidia GTX 960 c 4 Гб памяти. Правда, работала нейросеть на нём не очень быстро.
Где скачать Stable Diffusion
Существует немало разных сборок Stable Diffusion, отличающихся друг от друга интерфейсом и степенью сложностей, с которыми придётся столкнуться при установке. Самыми удобным для начинающего пользователя можно считать Easy Stable Diffusion. Скачать сборки можно с github.com: вот ссылка на Easy Stable Diffusion.

Запускаем установочный файл и начинаем установку. В процессе вас спросят, куда установить нейросеть. Лучше создавать папку для установки в корне диска (например, C:\EasyDiffusion или D:\EasyDiffusion). Так вам точно не придется потом искать установленную нейросеть.
Процесс установки не очень быстрый, так что налейте себе чаю с печенькой и ждите. В конце установки не забудьте поставить галочку Create Desktop Shortcut, чтобы установщик создал ярлык для быстрого запуска. А вот запускать нейросеть пока рано, так что галочку Run Easy Diffusion стоит снять.

Теперь нужно выбрать и скачать модель. У нейросетей для генерации картинок существуют разные модели, натренированные для создания изображений в разных стилях. Например, у Midjourney есть стандартная модель Midjourney v4, более свежая Midjourney v5, создающая более фотореалистичные изображения, и модель niji•journey, генерирующая картинки в стиле аниме и манга.
У Stable Diffusion из-за открытого кода моделей гораздо больше: есть модели для имитации разных художественных стилей, для реализма, для аниме и для создания архитектурных эскизов. Мы будем использовать одну из самых популярных универсальных моделей Deliberate 2.0, её можно скачать здесь.
В нашей папке с Easy Diffusion находим папку models, а в ней ещё одну папку stable-diffusion. Сюда и кладём скачанный файл модели Deliberate 2.0.

Теперь можно запускать нейросеть. Нажимаем на ярлык, и видим вот такую штуку:

Не стоит сразу пугаться. Примерно через минуту откроется браузер с пользовательским интерфейсом, в котором и происходит общение с нашей нейросетью. Но окно с командной строкой во время работы со Stable Diffusion закрывать нельзя, ядро нашей нейросети работает именно там, а в браузере находится только удобная для работы оболочка.
Вот так выглядит пользовательский интерфейс Easy Diffusion в браузере:

- Поле Prompt. В него мы вводим описание того, что хотим получить на картинке (на английском языке);
- Поле Negative prompt. Здесь пишем про то, чего на картинке быть не должно. Например, если нужно сгенерировать мышь с хвостом и лапками, а нейросеть упорно подсовывает компьютерную мышь, вбиваем в это поле Computer mouse;
- Используемая для генерации модель (в данном случае — Deliberate v2);
- Размеры изображения, ширина (width) и высота (height);
- Количество шагов генерации (inference steps). Чем оно выше, тем дольше нейросеть работает над картинкой. Для приличного результата достаточно 16-20 шагов, на более мощных компьютерах можно ставить 20-30;
- Ползунок Guidance scale. Он отвечает за то, насколько точно нейросеть будет следовать запросу. Если поставить на минимум, Stable Diffusion проявит себя творчески и может проигнорировать большую часть ключевых слов. А значения больше 16 стоит использовать, если вы опытный пользователь и способны создавать очень точные детализированные описания. В большинстве случаев оптимальным будет значение 7-10;
- Переключатель «показывать живое превью (show a live preview)». Если он включён, вы увидите, как генерируется картинка, если выключен — только готовый результат.
Мощность компьютера и производительность Stable Diffusion
Ещё немного технической информации прежде чем перейдём непосредственно к рисованию. Скорость работы Stable Diffusion очень сильно зависит от установленной в компьютере видеокарты и объёма видеопамяти. Важный момент: при работе нейросеть использует ядра CUDA, которые есть только в видеокартах NVidia, и лучше брать именно их.
У нас в тестах нейросети участвовали два компьютера. Большая часть изображений сгенерирована с помощью топовой видеокарты Nvidia RTX 4090 с 24 Гб видеопамяти. На генерацию 12 изображений размером 1024х768 уходило от 40 секунд до 2 минут, а увеличение картинки в четыре раза происходило за 3-4 секунды.
На втором компьютере стояла довольно старая видеокарта Nvidia GTX 960 на 4 Гб (по производительности она примерно равна GTX 1050Ti), и она работала заметно медленнее. С размером 1024х768 она не справляется, не хватает видеопамяти и задача завершается с ошибкой. Так что на ней генерировали изображения в два раза меньше, 768х512 пикселей. На генерацию четырёх изображений такого размера уходило 6-9 минут.
Так что, если хочется поработать с этой нейросетью, убедитесь, что в вашем компьютере стоит хорошая видеокарта. Для запуска и неторопливой работы хватит GTX1050Ti или GTX 1660 Super, или ноутбука с дискретной видеокартой с 4 Гб видеопамяти и выше (например, Xiaomi RedmiBook Pro 15")
А для более комфортной и быстрой работы нужны более производительные видеокарты с объёмом памяти от 8 (а лучше от 12) гигабайт. Например, GeForce RTX 3050 на 8GB или GeForce RTX 4070Ti на 12GB. Что касается ноутбуков, то на ноутбуке Lenovo Legion 5 с видеокартой RTX3060 на 6GB Stable Diffusion должна работать довольно шустро (правда, 6 Гб может не хватить для сильного увеличения готовых картинок). А вот MSI Stealth GS77 точно справится с чем угодно: в нём стоит RTX3080Ti 16Gb.
Как генерировать картинки в Stable Diffusion: показываем на котиках
Давайте посмотрим на Stable Diffusion в деле. Будем генерировать котиков, потому что все любят котиков. В поле prompt вписываем запрос photo of cat (пишем на английском, с другими языками у нейросети плохо).
В качестве модели выбираем Deliberate v2, количество шагов (Inference Steps) поставим 25 и увеличим количество изображений (Number of images), чтобы нейросеть сгенерировала нам сразу 12 картинок, из которых можно выбрать лучшую.

На работу нейросети потребуется некоторое количество времени. Это зависит от мощности компьютера. В результате у нас получился вот такой набор котиков.

Попробуем сделать формат нашего изображения менее квадратным. Ставим ширину изображения (Width) 1024 пикс, а высоту (Height) — 768. Считается, что наилучший результат нейросеть выдает лучший результат при генерации квадратных картинок 512х512 пикселей, так как обучалась именно на таком размере. Если же нужно сделать прямоугольные картинки, рекомендуется делать одну из сторон либо равной 512 пикселей, либо уменьшить или увеличить это значение в два раза, до 256 или 1024 точек соответственно.
Генерируем. На этот раз наш результат состоит из двухголовых и шестилапых котиков чуть более, чем полностью. Это типичная ошибка нейросети при генерации прямоугольных картинок.

Можно вернуться к квадратному формату, а можно попытаться это исправить с помощью поля Negative Prompt, в которое добавим описание того, что не хотим получать в генерации: «deformed, distorted, disfigured, poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, mutated hands and fingers, disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation» (деформированный, искаженный, изуродованный, плохо нарисованный, плохая анатомия, неправильная анатомия, лишняя конечность, отсутствующая конечность, искажённые конечности, мутировавшие руки и пальцы, отсоединенные конечности, мутация, мутировавший, уродливый, отвратительный, размытый, ампутация).
Стало заметно лучше.

Теперь поместим нашего кота в атмосферное место. Думаю, ему подойдёт старая библиотека. Составляем запрос: «photo of cat, sitting on the table, books on the table, medieval windows behind, lancet windows, old library, table lamps, victotrian room, stone walls, chandeliers, many books, HDR, sun rays, cinematic light, volumetric light, soft light, photorealistic, perfect composition» / фото кота, сидит на столе, книги на столе, средневековые окна позади, стрельчатые окна, старая библиотека, настольные лампы, викторианская комната, каменные стены, люстры, много книг, HDR, солнечные лучи, кинематографический свет, объемный свет, мягкий свет, фотореалистичный, идеальная композиция.
Обратите внимание: составление промта для Stable Diffusion немного отличается от того, как это делается в Midjorney. Нейросеть Midjorney лучше понимает сложные связные предложения, и в ней можно писать что-то типа «кот, сидящий на столе среди книг рядом с настольной лампой в старой викторианской библиотеке». Stable Diffusion лучше понимает отдельные слова или сочетания из 2-3 слов, разделённые запятыми. Так что составление промта для этой нейросети похоже на описание фото для фотостока.

Чтобы получить красивый более крупный портрет, придётся немного доработать наш запрос и некоторые настройки. Итоговый промт выглядит вот так: «RAW photo, (((close-up))) portrait of the cat, sitting on the table, books on the table, medieval windows behind, lancet windows, old library, table lamps, victorian room, stone walls, chandeliers, many books, HDR, sun rays, god rays, cinematic light, volumetric light, soft light, photorealistic, perfect composition» / RAW фото, (((крупный план))) портрет кота, сидящего на столе, книги на столе, средневековые окна сзади, стрельчатые окна, старая библиотека, настольные лампы, викторианская комната, каменные стены, люстры, много книг , HDR, солнечные лучи, божественные лучи, кинематографический свет, объемный свет, мягкий свет, фотореалистичный, идеальная композиция.
В начало описания добавили RAW photo— считается, что с таким ключевым словом нейросеть делает более фотореалистичные изображения. Вместо photo of the cat (фотография кота) поставили close-up portrait of the cat (крупный портрет кота). Обратите внимание на скобки вокруг close-up: с их помощью мы даём понять нейросети, что данный параметр для нас очень важен и на него стоит обратить больше внимания. Чем больше скобок, тем больше «вес» этого параметра в промте. Без скобок Stable Diffusion рисовала недостаточно крупных котиков, а вот с тремя скобками котики стали гораздо ближе к камере.

В процессе генерации попадались котики, у которых на месте глаз жёлтые круги без зрачков или с плохо проработанными зрачками. Чтобы повысить качество глаз и избавиться от плохих вариантов, в поле Negative prompt добавили пункты bad eyes, ugly eyes, чтобы исключить варианты с плохими уродливыми глазами.

В результате у нас есть 12 картинок с весьма симпатичными библиотечными котами, две из которых особенно хороши:

Но обычный кот не очень эффективен для охраны библиотеки. Ему нужно спать, есть, да и вообще коты — существа непредсказуемые. Давайте сделаем из него киборга, чтобы он мог охранять библиотеку не только от мышей, но и от слишком шумных посетителей.
Составим такое описание: a cat made out of metal, ((cyborg)), (intricate details), hdr, ((intricate details, hyperdetailed)), sitting on the table, steampunk, books on the table, medieval windows behind, lancet windows, old library, victorian room, table lamps, stone walls, sun rays, soft light, photorealistic, perfect composition, cinematic shot / кот из металла, ((киборг)), (сложные детали), hdr, ((сложные детали, гипердетализация)), сидит на столе, стимпанк, книги на столе, средневековые окна сзади, стрельчатые окна, старая библиотека , викторианская комната, настольные лампы, каменные стены, солнечные лучи, мягкий свет, фотореалистичный, идеальная композиция, кинематографический кадр.
После нескольких попыток у нас получился не один кот, а целых два.

Делаем несколько вариантов готового фото в Stable Diffusion
Те, кто работал с нейросетью Midjourney, помнят, что там есть кнопки, позволяющие сгенерировать немного отличающиеся варианты понравившейся картинки. В Stable Diffusion тоже есть подобная функция.
Если навести мышь на понравившееся изображение, появятся несколько кнопок, среди которых есть кнопка Make Similar Images.

Вот такие варианты котиков у нас получились. Интересные, но исходная картинка всё же была лучше.

Увеличиваем сгенерированное изображение в Stable Diffusion
Наши котики имеют размер 1024х768 пикс, что не так много. Для инстаграма хватит, а вот на большом мониторе особо не порассматриваешь, да и для печати маловато. Поэтому попробуем увеличить размер изображения. Делается с помощью тех же кнопок справа вверху (наводим мышь на картинку, чтобы кнопки появились).

Нажимаем и ждём, пока Stable Diffusion увеличит нашу картинку. На компьютерах со слабой видеокартой возможны ошибки. На нашем подопытном с GTX 960 4 Гб увеличение работает через раз. Но тут ничего не поделаешь: либо пробовать раз за разом, либо менять железо.
Что касается результата увеличения, то тут он не так впечатляет, как в том же Midjourney. Если Midjourney во время увеличение продолжает дорисовывать изображение, добавляя и изменяя детали, то Stable Diffusion просто физически увеличивает картинку, увеличивая резкость и сохраняя плавность линий. В целом, результат увеличения в Stable Diffusion очень похож на работу Topaz Gigapixel.
Так что, если у вас слабый компьютер и не получается увеличить сгенерированные изображения прямо в Stable Diffusion, вы можете использовать программу от Topaz — результат будет не хуже. О том, как это сделать, мы писали в этой статье.
Использование разных моделей для генерации изображений в Stable Diffusion
До этого мы постоянно работали на модели Deliberate 2.0. Она самая распространённая, но есть и другие. Попробуем и их на котиках.
Модель Stable Diffusion 1.5
«Чистая» модель от разработчика Stable Diffusion, именно на её основе натренированы Deliberate и большинство других моделей. Вот её результат по нашему финальному описанию, которое мы использовали для котов-киборгов.

Модель Anything V3
Модель натренирована на аниме и манге. Отлично справляется с рисованием людей. Посмотрим, что сделает с котами.

Модель Realistic Vision V2.0
Свежая модель для генерации фотореалистичных изображений и её результат:

Модель Robo Diffusion 1.0
Модель, натренированная для рисования различных роботов. По идее, должна подходить для котов-киборгов идеально, но тут что-то пошло не так.

1 комментарий
23 мая 2023
Сейчас (версия 2.5) качает сразу модели. И отключайте антивирус, мой чуть систему не повесил, хотя VirusTotal сказал что всё ок.
0
0
Ответить