Гайд по вкату
Cодержание:
- Часть 1: Выбор и установка UI
- Часть 2: Апскейл Hires. fix
- Часть 3: Adetailer
- Часть 4: Исправление дефектов генерации в Inpaint
- Часть 5: Wildcards и динамические параметры генерации
- Часть 6: Controlnet для самых маленьких. Простые примеры.
- Решение проблемы с ошибкой CUDA для видеокарт RTX50XX.
Часть 1: Выбор и установка UI.
Перед продолжением убедитесь в наличии на пк нужного софта.
- Установите правильную версию Python. Обязательно добавьте python в PATH при установке.
- Установите Git.
Для работы с SD существует уже приличное количество интерфейсов и прокладок, но мы остановимся на самых популярных и удобных.
Оба UI имеют свои плюсы и свои минусы, однако, принято считать, что reForge куда дружелюбнее к новым пользователем.
Вы можете перейти по одной из ссылок и установить UI, следуя инструкциям на странице в ручном режиме. Изначально инструкции могут показаться сложными, однако, обычно все сводится к скачиванию архива, распаковке, запуске батника и ожиданию.
Если вы не хотите или вам сложно - альтернативный способ установки предлагает ПО lykos.ai.
- Скачайте и установите Stability Matrix.
- Зарегистрируйтесь на https://civitai.com/.
- В самом низу настроек аккаунта 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 выглядит следующим образом:
Существует множество разных моделей апскейлера, я рассмотрю только самые популярные.
- 4x-Ultrasharp
- Remacri
- Встроенный 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
Для большего понимания происходящего прочтите этот гайд.
Я не использую детейлер при генерации, а включаю его только при апскейле ✨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
- Установите Dynamic Prompts. (так же доступен в Extensions);
- Установите Wildcards. (так же доступен в Extensions);
- Перезапустите UI.
После перезапуска у вас появится новая вкладка Wildcards. Сами .txt карточки класть в папку \reForge\extensions\sd-dynamic-prompts\wildcards. Если ее нет - создайте. Готовые карточки можно найти на циви и других подобных ресурсах.
Я описал только самый базовый синтаксис карточек, достаточный для того, чтобы вы начали ими пользоваться. На самом деле там все гораздо сложнее и интереснее. Изучите оригинальный гайд на английском.
Часть 6: Controlnet для самых маленьких. Простые примеры.
Для контролнета существует множество моделей и способов их применения. Я покажу только базовый способ работы с контролнетом. Может быть, гайд будет расширен. Возможно, даже через сек.
- Загрузите нужные модели.
Первая.
Вторая. - Положите их в \models\ControlNet\models
- Подключите юнит. Настройки - на скриншоте
Пробуйте другие Control mode и Resize Mode, пробуйте выключать Pixel perfect, регулируйте Control Weight и другие параметры. Мои настройки не догма, а просто рабочий пример.
4. Пришло время выбрать референс. Закиньте свой референс в шапку юнита. Вот так:
На разных чекпоинтах контролнет может работать по разному. А может вообще не работать. Где-то плохо работает отрисовка лиц, где-то рук. Эксперементируйте.
В этом примере я использую свой стандартный чек: manticoreVPredTraditional.
Промпт желательно должен примерно описывать позу персонажа на рефе. Это может упростить задачу.
Попытки скопировать крупные планы этим способом могут окончиться фиаско - и это нормально. Более детализированные и аккуратные способы и их примеры будут описаны позже. Это всего лишь минимальная база.
Решение проблемы с ошибкой CUDA видеокарт RTX50XX.
- Перейдите в \Forge\system\python;
- В адресной строке напишите 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 решение аналогичное.