April 30

Гайд по вкату

Cодержание:

  1. Часть 1: Выбор и установка UI
  2. Часть 2: Апскейл Hires. fix
  3. Часть 3: Adetailer
  4. Часть 4: Исправление дефектов генерации в Inpaint
  5. Часть 5: Wildcards и динамические параметры генерации
  6. Часть 6: Controlnet для самых маленьких. Простые примеры.
  7. Решение проблемы с ошибкой CUDA для видеокарт RTX50XX.

Часть 1: Выбор и установка UI.

Перед продолжением убедитесь в наличии на пк нужного софта.

  1. Установите правильную версию Python. Обязательно добавьте python в PATH при установке.
  2. Установите Git.

Для работы с SD существует уже приличное количество интерфейсов и прокладок, но мы остановимся на самых популярных и удобных.

  1. reForge
  2. ComfyUI - нодовый веб-интерфейс.

Оба UI имеют свои плюсы и свои минусы, однако, принято считать, что reForge куда дружелюбнее к новым пользователем.

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

Если вы не хотите или вам сложно - альтернативный способ установки предлагает ПО lykos.ai.

  1. Скачайте и установите Stability Matrix.
  2. Зарегистрируйтесь на https://civitai.com/.
  3. В самом низу настроек аккаунта civitai найдите раздел с API KEYS, создайте новый ключ и вставьте его в интерфейс Stability Matrix.

Выберите интерфейс - reForge и чекпоинт - WAI-NSFW-illustrious и дождитесь окончания загрузки и установки, после чего запустите UI.

UI всегда доступен по адресу http://127.0.0.1:7860/?__theme=dark

Настройки reForge

Обычно авторы чекпоинтов указывают рекомендуемые настройки в описании. Для WAI они такие:

WAI, как и другие чекпоинты будут работать с другими настройками, экспериментируйте.

Итак, укажите рекомендуемые настройки в UI.

Должно получиться примерно так:

Разрешение можно и нужно менять, но для примера я буду использовать дефолтный квадрат 1024х1024.
Batch count - количество генераций. Выставляйте по желанию.

На этом этапе уже можно что-нибудь сгенерировать - нажимайте Generate.
Получится что-то вроде:

Поздравляю, вы великолепны!
Следующий уровень - копирование чужих работ.

В качестве обучения повторим одну из превьюшек чекпоинта WAI:

Скачайте пик и перетащите его во вкладку PNG Info, а затем нажмите на кнопку Send to txt2img:

Получится примерно так:

И запускайте генерацию.

Получите что-то вроде:

Отлично, теперь вы можете копировать чужие работы!

Изучите базовый гайд по промтингу, чтобы понять, что вообще написано в полях ввода промптов - и вы уже в мире AI генераций.

Часть 2: Апскейл Hires. fix

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

Интерфейс Hires. fix выглядит следующим образом:

Существует множество разных моделей апскейлера, я рассмотрю только самые популярные.

  1. 4x-Ultrasharp
  2. Remacri
  3. Встроенный R-ESRGAN 4x+ Anime6B

Загрузите интересующую (или обе) модель и положите ее в stable-diffusion-webui-reForge-main\models\ESRGAN, после чего перезапустите SD. Модель станет доступна для выбора в выпадающем списке.

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

Остальные настройки выставьте как на скриншоте выше. Галку рядом с Hires. fix смысла ставить нет - в таком случае все ваши пикчи будут автоматически апскейлиться на этапе генерации.

Нажимаем ✨ и ждем завершения работы апскейлера.

Экспериментируйте с денойзом самостоятельно, мои средние настройки не обязательно идеальные.

Часть 3. Adetailer

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

Детейлер применяется для локального улучшения качества - лица, рук, персонажа, предметов, etc с автоматическим обнаружением.

Для установки перейдите в Extensions → Available → Load from и введите в поле поиска adetailer, после чего нажмите на кнопку Install. (у меня он уже установлен).

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

Так же, существует достаточно много других моделей.

Для детализации лица я обычно использую модель Anzhc Face seg 640 v2 y8n.

Перейдите по ссылке, загрузите модель и положите ее в папку stable-diffusion-webui-reForge-main\models\adetailer.

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

Полностью перезапустите UI.

Для большего понимания происходящего прочтите этот гайд.

Установите эти настройки:

Я не использую детейлер при генерации, а включаю его только при апскейле ✨Hires. fix.

Итак, у нас есть генерация. Я выделю только лицо, так как работаем мы с ним.

WВключите ADetailer (поставьте галочку) и запустите ✨Hires. fix.

Результат:

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

Часть 4. Исправление дефектов генерации в inpaint


Итак, у нас есть картинка с проблемной рукой:

Сразу после генерации нажимаем на 🎨️ и попадаем во вкладку inpaint. Вы так же можете перейти туда вручную и перетащить интересующую вас пикчу, все будет работать точно так же.

Удаляем весь позитивный промпт и делаем как на картинке (пример для пальцев и рук, для других частей тела все аналогично).

В некоторых случаях придется указать стилелоры. Если вы только начинаете - не парьтесь и делайте без них.
К примеру, без лор на стиль:

С лорами на стиль:

Выделяем область инпеинта:

Выставляем остальные настройки:

Настройки могут немного отличаться в зависимости от вашего чекпоинта. Возможно, придется немного покрутить денойз, padding pixels, sampling steps. Экспериментируйте, не ссыте.

Запускаем генерацию и выбираем самый адекватный результат.

Допустим, у нас это:

Если все - поздравляю, если нужно продолжить - читайте дальше.

Вы можете вернуть готовый результат в область inpaint, нажав на 🎨️ или перетащив изображение в рабочую зону инпеинта и продолжить работу над другими деталями, соответствующе изменяя маску и промт.

Допустим, нам нужно продолжить работу и исправить еще и лицо. Возвращаем результат в рабочую зону inpaint и выделяем лицо:

Изменился объект инпеинта - изменился и промт:

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

Можно оставить так, а можно вернуть ее в img2img и продолжить. Дальнейшая обработка поможет вернуть общий стиль изображения на отредактированные зоны.
Если решили продолжить - нажимаем 🖼️.

Возвращаем весь позитивный промт из txt2img (тот самый, с которым вы изначально генерировали картинку) и выставляем примерно следующие настройки.

Настойки могут отличаться в зависимости от сцены, фокуса, чепоинта, etc. Экспериментируйте с денойзом.

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

Инпеинт других частей тела\объектов\неба\Абу делается аналогично и я не вижу смысла его демонстрировать.

Часть 5: Wildcards и динамические параметры генерации

Wildcards (подстановочные знаки) позволяют значительно разнообразить и автоматизировать процесс генерации изображений, особенно при создании больших серий с вариативными элементами.

Что такое Wildcards?

Wildcards — это специальные маркеры в промптах, которые автоматически заменяются на значения из заранее подготовленных списков. Это особенно полезно при генерации множества изображений с различными характеристиками, такими как цвета, стили, объекты и т.д.

Пример использования:

Допустим, у вас есть файл genshingirls.txt со следующим содержимым:

Amber  
Barbara  
Beidou  
Candace  
Charlotte (и далее по списку)  

В промпте вы можете использовать wildcard следующим образом:

__genshingirls__ 

При генерации система будет подставлять вместо __genshingirls__ одно из значений из файла genshingirls.txt, создавая разнообразие в изображениях.

Как настроить Wildcards в reForge

  1. Установите Dynamic Prompts. (так же доступен в Extensions);
  2. Установите Wildcards. (так же доступен в Extensions);
  3. Перезапустите UI.

После перезапуска у вас появится новая вкладка Wildcards. Сами .txt карточки класть в папку \reForge\extensions\sd-dynamic-prompts\wildcards. Если ее нет - создайте. Готовые карточки можно найти на циви и других подобных ресурсах.

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

Часть 6: Controlnet для самых маленьких. Простые примеры.

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

  1. Загрузите нужные модели.
    Первая.
    Вторая.
  2. Положите их в \models\ControlNet\models
  3. Подключите юнит. Настройки - на скриншоте

Пробуйте другие Control mode и Resize Mode, пробуйте выключать Pixel perfect, регулируйте Control Weight и другие параметры. Мои настройки не догма, а просто рабочий пример.

4. Пришло время выбрать референс. Закиньте свой референс в шапку юнита. Вот так:

На разных чекпоинтах контролнет может работать по разному. А может вообще не работать. Где-то плохо работает отрисовка лиц, где-то рук. Эксперементируйте.
В этом примере я использую свой стандартный чек: manticoreVPredTraditional.

Промпт желательно должен примерно описывать позу персонажа на рефе. Это может упростить задачу.

Результат:

Попытки скопировать крупные планы этим способом могут окончиться фиаско - и это нормально. Более детализированные и аккуратные способы и их примеры будут описаны позже. Это всего лишь минимальная база.

Решение проблемы с ошибкой CUDA видеокарт RTX50XX.

  1. Перейдите в \Forge\system\python;
  2. В адресной строке напишите CMD и нажмите ввод. Откроется командная строка.

Вставьте и выполните команду:

.\python.exe -s -m pip install --pre --upgrade --no-cache-dir torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cu128

Обновление докачает около 3.5Гб. После окончания установки все должно работать.
Для FramePack решение аналогичное.