SEO-продвижение сайта от 150 000 рублей

Заказать звонок
Телефон отдела продаж:
8 (800) 775-16-41
Наш e-mail:
mail@texterra.ru
Заказать услугу
Гайд – реалистичные изображения и их обработка в Stable Diffusion Редакция «Текстерры»
Редакция «Текстерры»

Рассказываем, как установить нейросеть на компьютер, как обработать изображение и как составлять промты!

Stable Diffusion иногда может давать неожиданные результаты. Часто – очень хорошие, в других случаях — очень плохие. Ведь SD использует различные алгоритмы обработки и генерации фотографий, часто эти алгоритмы могут давать не те результаты, на которые мы рассчитываем. Да и навык составления промтов прокачать не так просто.

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

Минимальные системные требования

Чтобы установить SD на свой компьютер, убедитесь, что ваш ПК соответствует этим системным требованиям:

  • CPU: Intel Core i5 или AMD Ryzen 5 или выше.
  • GPU: Nvidia GTX 1060 6 ГБ или выше; AMD Radeon RX 580 8 ГБ или выше.
  • Оперативная память: 8 ГБ или выше.
  • Свободное место на жестком диске: 20 ГБ или более.

Для достижения максимальной производительности понадобится 10 ГБ свободной VRAM на GPU.

Сперва загрузите программу установки с сайта Stable Diffusion.

Для пользователей Windows — может потребоваться .NET Framework 4.6.2 или выше.

Для пользователей Macможет потребоваться установка инструментария командной строки Xcode.

Для пользователей Linux — может потребоваться установка соответствующих зависимостей для вашего дистрибутива (далее расскажем).

Если вам нужно пользоваться нейросетью онлайн, просто сгенерировать несколько изображений — откройте страницу нейросети и нажмите кнопку Get Started for Free:

Stable Diffusion

Введите промт и нажмите кнопку генерации. Для генерации изображения не требуется ничего кодить или устанавливать Python.

Stable Diffusion

Внимание: онлайн-версия Stable Diffusion может работать некорректно время от времени. Всё дело в большом количестве запросов. Если сервер не отвечает и страница зависает, просто повторите попытку через несколько минут.

Первым делом установите Python 3.8 или более позднюю версию. Теперь установите PyTorch. Для этого откройте командную строку и выполните эту команду:

pip install torch torchvision torchaudio

Установите Stable Diffusion. Для этого инсталлируйте репозиторий stable-diffusion-pytorch от Hugging Face. Для установки выполните эту команду:

pip install stable-diffusion-pytorch

Установите дополнительные пакеты и зависимости (numpy, pillow). Они необходимы для корректной работы нейросети. Для этого введите и выполните эту команду:

pip install -r requirements.txt

Установите (или настройте, если они уже установлены) папки colab — для сохранения моделей и выходных данных.

Загрузите контрольные точки для Stable Diffusion. Ссылки на них можно найти здесь.

Распакуйте файлы контрольных точек и поместите их в папку colab.

Теперь вы можете запустить Stable Diffusion локально, другими словами, на своем компьютере.

Чтобы проверить работоспособность нейросети, введите команду:

python run_txt2img.py --text "A landscape under the moon" --prompt default

Если все установлено корректно, вы увидите изображение пейзажа с луной.

Установите Anaconda или Miniconda — для управления средами Python. Теперь откройте окно Anaconda Prompt (окно терминала). Создайте и активируйте новую среду Conda. Чтобы это сделать, используем две соответствующие команды:

conda create --name diffusers python=3.10
conda activate diffusers

Установите PyTorch и другие зависимости. Для этого введите эти команды:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
pip install transformers scipy ftfy regex tqdm

Наконец, установите Stable Diffusion:

pip install stable-diffusion

Скачайте модель контрольной точки. Самый популярный вариант — v1-5 (это хорошо знакомый многим DALL-E от Anthropic:

wget https://cdn.openai.com/dall-e/v1-5/model.ckpt -O model.ckpt

Чтобы проверить работоспособность нейросети — придумайте и отправьте промт. Например, a cute babe cat. Команда будет выглядеть следующим образом:

from stable_diffusion import StableDiffusionPipeline

pipe = StableDiffusionPipeline.from_pretrained("model.ckpt")
pipe(prompt="a cute baby cat", guidance_scale=7.5).images[0]

Если все было установлено правильно, вы увидите милого котенка.

Дополнительные рекомендации

Для получения последней версии можно клонировать репозиторий GitHub, а не просто устанавливать всё с помощью pip. Вот так выглядит команда клонирования:

git clone https://github.com/CompVis/stable-diffusion
cd stable-diffusion
pip install -e .

И еще несколько важных рекомендаций:

  • Контрольные точки можно загрузить из разных источников, это не только HuggingFace. Например, можно поискать на Reddit.
  • Для дополнительных возможностей можно использовать расширения, например, вам нужен полноценный графический интерфейс. Подойдет расширение webui от Automatic1111.
  • При локальной работе (когда нейросеть установлена у вас на компьютере) генерация изображений занимает некоторое время. Если машина слабая или вам нужно генерировать картинки быстрее, можете уменьшить размер пакета, снизить разрешение изображения или снизить количество шагов вывода.

  • Примеры генерации изображений, их масштабирования и обработки вы можете посмотреть вот здесь.
  • Существуют также Torch-версии Stable Diffusion (пригодится, если вы предпочитаете использовать PyTorch напрямую).
Продвинем ваш бизнес
Подробнее

Начнем с трудностей. При обработке и генерации фотографий в Stable Diffusion они обязательно возникнут. Главная сложность — правильное формулирование промтов. Тут нужно будет набить руку. Ну и сама установка, как вы уже поняли, также может вызвать трудности, если вы не работали с GitHub и Python ранее.

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

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

Разрешение

SD-модели обучаются на изображениях низкого разрешения: обычно — это квадрат 256x256 пикселей или 512x512 пикселей. Если вы захотите генерировать изображение высокого разрешения, то готовьтесь к артефактам или общему снижению качества изображения и потери детализации. Чтобы этого избежать, перед отправкой исходного изображения уменьшите его размер.

Соотношение сторон

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

Пакетная обработка

Если у вас тысячи фотографий, то выполнение генераций по одному изображению очень неудобно. Для генерации нескольких фотографий лучше использовать пакетную обработку, но понадобится сначала привести все изображения к одинаковому размеру. Это также займёт некоторое время.

Совмещение цветов

При генерации отредактированной фотографии цвета могут не полностью совпадать с оригиналом — из-за сжатия и различий в цветовом пространстве. Придется тратить время на цветокоррекцию.

Артефакты

Нейросеть может генерировать странные артефакты (лишние конечности, искаженные лица). Может потребоваться тонкая настройка промта.

Несогласованные текстуры

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

Размытость

Характерная болезнь Stable Diffusion. Проявляется характерный блюр вокруг текстурированных областей или краев. Для получения изображения без этой размытости можно поэкспериментировать с сокращением шагов отрисовки.

Детализация лиц

Детали лица на финальном изображении могут быть несогласованными, иметь артефакты. Особенно это заметно, если в референсе лица слишком маленькие или частично скрыты другими объектами.

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

Еще одна особенность и одновременно проблема заключается в том, что Stable Diffusion — модель глубокого обучения: она обучается на большом наборе данных (это изображения). Но реальные фотографии — всегда другие. Вот почему генерация по настоящему реалистичных изображений — все еще недостижимая задача для нейросетей.

Переходим непосредственно к генерации изображений. Первым делом выберите фотографию, которую необходимо отредактировать. Желательно, чтобы это было изображение с высоким разрешением (как минимум 1024x1024 пикселей).

  1. Загрузите фотографию на Яндекс.Диск, затем скопируйте URL-адрес изображения в буфер обмена.
  2. Напишите промт. Попробуйте поэкспериментировать со словами, например: artistic, painted-like effect, stylized, mood lighting, night time, desaturated, high contrast.
  3. Передайте URL на изображение или строку base64, используя флаг --init-image. Например, вот так:

stable-diffusion --v stablediffusion-stablemodel --prompts "photo edit: {photo url/base64}, {prompt}" --img 512 --noinput --init-image {photo url/base64}

Stable Diffusion сгенерирует изображение с внесенными изменениями.

  1. С помощью команды --steps вы можете задать число отрисовок и выбрать наиболее понравившиеся варианты.

Будьте максимально конкретны в своем промте. Вместо простого artistic effect, опишите, какой именно художественный эффект вы хотите получить: watercolor, impressionist, pastel. Чем больше деталей, тем лучше. Или: вместо painted effect, напишите: "impressionist painted effect with bright colours and loose brush strokes".

Stable Diffusion

Используйте модификаторы very, slightly или somewhat для управления интенсивностью редактирования.

Например:

  • very painted, artistic effect.
  • slightly blurred background.
  • somewhat faded colors.
Stable DiffusionStable DiffusionStable Diffusion

Вы можете удалять объекты из сцены. Для этого укажите соответствующее пожелание в промте:

A photo of the same scene without the person, skillfully concealed using AI, high quality.

Stable DiffusionStable Diffusion

Соотнесите стили с цветами в сцене. Например, вот так:

  • Pastel tones, colors resemble a watercolor painting.
  • Colors seem flat and graphic, like a comic book illustration.
Stable Diffusion

Можно передавать дополнительные параметры (например: num_inference_steps, negative_prompt). Нужно это для дальнейшей настройки генерации изображений.

Несколько советов, как добиться наилучших результатов:

Допустим, вы хотите увеличить насыщенность, резкость и яркость изображения на несколько ступеней. Просто добавьте соответствующие атрибуты внутрь промта (насыщенность --sat 2, резкость --sharp 2, яркость --brightness 1.2).

Stable Diffusion

Попробуйте фильтр масляной живописи: --filter-style oilpaint, он даёт очень хорошие результаты даже со сложными промтами.

Stable Diffusion

Измените погоду в сцене. Для этого прописываем слово weather, например, так: --weather cloudy, --weather rainy. Эти настройки могут кардинально изменить настроение изображения.

Stable Diffusion

Добавьте объекты в сцену. Например, вам нужно добавить человека у походного костра: photo of a person sitting by a campfire at night, bright moon.

Stable Diffusion

Экспериментируйте с различными стилями. Особенно хорошие результаты можно получить с фильтрами surreal, artistic, low poly, anime, hyper realistic, oil painted, watercolour, black and white и так далее. Каждый стиль даст совершенно разные результаты.

Stable DiffusionStable DiffusionStable DiffusionStable DiffusionStable Diffusion

Обязательно пробуйте и различные значения шкалы наведения (от 1 до 14 ступеней). Чтобы получить максимальную детализацию используйте самые высокие значения.

Облачные сервисы обеспечивают более простой доступ к нейросети, а локальные — более гибкую ее настройку. Что выбрать?

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

При выборе обратите внимание на стоимость сервиса, простоту использования, лимиты, набор функций и главное — качество изображения.

Начнём с онлайн-сервисов, которые позволяют генерировать изображение через Stable Diffusion в пару кликов.

Сайт: huggingface.co/runwayml/stable-diffusion-v1-5

RunwayML

Плюсы:

  • Поддерживает загрузку изображений для редактирования в разных форматах и разрешениях.
  • Интуитивно понятное управление ползунками.
  • Возможность настройки контрольных точек.

Минусы:

  • Ограниченное количество бесплатных попыток.
  • Низкое разрешение.
  • Отсутствие пользовательских моделей.

Сайт: neural.love/ai-art-generator/

Neural.love

Плюсы:

  • Есть онлайн-версия.
  • Мощные возможности редактирования изображений.
  • Хорошее качество отрисовки даже на первых этапах.
  • Дополнительная фильтрация.

Минусы:

  • Только платно. Но есть бесплатные генерации с лимитами.
  • Пока нет поддержки пользовательских моделей.

Сайт: writesonic.com/photosonic-ai-art-generator

Writesonic

Плюсы:

  • Приятный пользовательский интерфейс.

Минусы:

  • Бесплатное использование только в ограниченном режиме,
  • Максимальное разрешение — совсем небольшое.

Сайт: github.com/AUTOMATIC1111/stable-diffusion-webui

Automatic1111 webui

Плюсы:

  • Работает локально.
  • Поддерживает масштабирование.
  • Можно работать с пользовательскими чекпоинтами.
  • Бесплатен.
  • Есть на GitHub.
  • Обеспечивает большую гибкость, но требует настройки

Минусы:

  • Требуется локальный GPU
  • Более сложная настройка.

Сервис, позволяющий генерировать, обрабатывать и редактировать изображения с помощью Stable Diffusion.

Сайт: mage.space/

Mage.space

Плюсы:

  • Отсутствие очереди.
  • Бесплатное использование.
  • Базовые инструменты редактирования изображения: фильтры, шумоподавление, изменение разрешения.

Минусы:

  • Ограниченный набор функций.
  • Не очень удобный интерфейс.

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

Сайт: playgroundai.com/

Playgroundai

Плюсы:

  • Бесплатное использование.
  • Позволяет использовать пользовательские модификаторы и атрибуты в промтах.

Минусы:

  • Иногда сервер недоступен.
  • Закрытый исходный код.
  • Страдает от периодических ошибок и сбоев.

Каждый из вышеуказанных сервисов предоставляет доступ к возможностям Stable Diffusion, но несколько по-разному.

Чтобы получить максимальный результат от Stable Diffusion — установите её на компьютер. Да, этот вариант чуть сложнее, чем онлайн-версия нейросети. Но вы получите больше возможностей для настройки.

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

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

71 бесплатная нейросеть на все случаи жизни – выбор TexTerra

28 лучших нейросетей для видео: проверенный список

Нейросети увольняют дизайнеров (ну, почти): пример Tiffany и Nike

Поделиться статьей:

Новое на сайте

21 ноя 2024
139
Образы мужчин и женщин в рекламе – в половине случаев они бьют мимо, но есть нюансы

Положительный образ человека в рекламе – выгодная инвестиция, но есть нюансы: многим не нравится то, как их видят и показывают рекламщики.

21 ноя 2024
2 338
Как понять, что ваш SEO-специалист никуда не годится - чек-лист

10 пунктов, которые скажут, что пора искать замену.

Смотреть все статьи

У вас есть деловой запрос? Давайте обсудим!

Оставьте свои контакты, мы свяжемся с вами в ближайшее время.

Нажимая на кнопку «Оставить заявку», вы подтверждаете свое согласие на обработку пользовательских данных

Спасибо!

Ваша заявка принята. Мы свяжемся с вами в ближайшее время.