Расширение WebUI для ControlNet и других элементов управления SD на основе внедрения.
Это расширение предназначено для веб-интерфейса AUTOMATIC1111 Stable Diffusion и позволяет веб-интерфейсу добавлять ControlNet к исходной модели Stable Diffusion для генерации изображений. Добавление происходит «на лету», объединение не требуется.
https://github.com/Mikubill/sd-webui-controlnet.git
в «URL-адрес репозитория git расширения».Вы можете найти все ссылки для скачивания здесь: https://github.com/Mikubill/sd-webui-controlnet/wiki/Model-download.
Теперь у нас есть идеальная поддержка всех доступных моделей и препроцессоров, включая идеальную поддержку адаптера стиля T2I и ControlNet 1.1 Shuffle. (Убедитесь, что имена файлов YAML и имена файлов моделей совпадают. См. также файлы YAML в «stable-diffusion-webuiextensionssd-webui-controlnetmodels».)
Теперь, если вы включите High-Res Fix в A1111, каждая управляющая сеть будет выводить два разных управляющих изображения: маленькое и большое. Маленький предназначен для базовой генерации, а большой — для генерации исправлений высокого разрешения. Два контрольных изображения вычисляются с помощью интеллектуального алгоритма, называемого «повторная выборка контрольного изображения сверхвысокого качества». Это включено по умолчанию, и вам не нужно менять какие-либо настройки.
Теперь ControlNet тщательно тестируется с различными типами масок A1111, включая «Inpaint с маской» / «Inpaint без маски» и «Все изображение» / «Только замаскировано», а также «Только замаскированное дополнение» и «Размытие маски». Изменение размера идеально соответствует параметрам «Просто измените размер» / «Обрезать и изменить размер» / «Изменить размер и заполнить» A1111. Это означает, что вы можете без труда использовать ControlNet практически в любом месте пользовательского интерфейса A1111!
Теперь, если вы включите режим «Идеальный пиксель», вам не нужно вручную устанавливать разрешения препроцессора (аннотатора). ControlNet автоматически рассчитает для вас наилучшее разрешение аннотатора, чтобы каждый пиксель идеально соответствовал стабильному рассеянию.
Мы реорганизовали некоторые ранее запутанные элементы пользовательского интерфейса, такие как «ширина/высота холста для нового холста», и теперь они находятся в кнопке. Теперь графический интерфейс предварительного просмотра управляется опцией «разрешить предварительный просмотр» и кнопкой-триггером ?. Размер изображения предварительного просмотра стал лучше, чем раньше, и вам не нужно прокручивать вверх и вниз — ваш графический интерфейс a1111 больше не будет испорчен!
Теперь ControlNet 1.1 может поддерживать практически все методы масштабирования/мозаики. ControlNet 1.1 поддерживает сценарий «Ultimate SD upscale» и почти все другие тайловые расширения. Пожалуйста, не путайте "Ultimate SD upscale" с "SD upscale" - это разные скрипты. Обратите внимание, что наиболее рекомендуемым методом масштабирования является «Tiled VAE/Diffusion», но мы тестируем как можно больше методов/расширений. Обратите внимание, что «SD upscale» поддерживается с версии 1.1.117, и если вы его используете, вам необходимо оставить все изображения ControlNet пустыми (мы не рекомендуем «SD upscale», так как оно содержит ошибки и не может поддерживаться — используйте « Вместо этого «Ultimate SD upscale»).
Мы исправили множество ошибок в режиме «Угадай» в предыдущей версии 1.0, и теперь он называется «Режим управления».
Теперь вы можете контролировать, какой аспект важнее (ваша подсказка или ваша ControlNet):
«Сбалансированный»: ControlNet по обе стороны шкалы CFG, аналогично отключению «Режима предположения» в ControlNet 1.0.
«Моя подсказка важнее»: ControlNet по обе стороны шкалы CFG, с постепенно уменьшающимся количеством SD-впрысков U-Net (layer_weight*=0,825**I, где 0<=I <13, а 13 означает, что ControlNet ввел SD 13 раз ). Таким образом, вы можете быть уверены, что ваши подсказки идеально отображаются на сгенерированных изображениях.
«ControlNet более важен»: ControlNet только на условной стороне шкалы CFG (условие в пакетном условии-условии A1111). Это означает, что ControlNet будет в X раз сильнее, если ваш масштаб cfg равен X. Например, если ваш масштаб cfg равен 7, то ControlNet будет в 7 раз сильнее. Обратите внимание, что здесь «X раз сильнее» отличается от «Контрольных весов», поскольку ваши веса не изменяются. Этот «более сильный» эффект обычно имеет меньше артефактов и дает ControlNet больше возможностей угадать, чего не хватает в ваших подсказках (а в предыдущей версии 1.0 он назывался «Режим предположения»).
Ввод (глубина+канни+изгородь) | «Сбалансированный» | «Моя подсказка важнее» | «ControlNet важнее» |
Теперь у нас есть препроцессор reference-only
, который не требует никаких моделей управления. Он может напрямую направлять распространение, используя изображения в качестве ссылок.
(Подсказка: «Собака, бегущая по лугу, лучшее качество...»)
Этот метод аналогичен эталону на основе рисования, но он не делает ваше изображение беспорядочным.
Многие профессиональные пользователи A1111 знают способ рассеивания изображения с помощью ссылок с помощью Inpaint. Например, если у вас есть изображение собаки размером 512x512 и вы хотите создать другое изображение 512x512 с той же собакой, некоторые пользователи соединят изображение собаки 512x512 и пустое изображение 512x512 в изображение 1024x512, отправят его в inpaint и замаскируют. пустая часть размером 512x512, чтобы выделить собаку похожей внешности. Однако этот метод обычно не очень удовлетворителен, поскольку изображения связаны между собой и появляется много искажений.
Эта сеть ControlNet reference-only
может напрямую связывать уровни внимания вашего SD с любыми независимыми изображениями, так что ваш SD будет считывать произвольные изображения для справки. Для его использования вам потребуется как минимум ControlNet 1.1.153.
Чтобы использовать, просто выберите reference-only
в качестве препроцессора и поместите изображение. Ваш SD будет просто использовать изображение в качестве образца.
Обратите внимание, что этот метод максимально «беспристрастный». Он содержит только самые простые коды подключения без каких-либо личных предпочтений для соединения слоев внимания с вашими эталонными изображениями. Однако, даже если мы изо всех сил старались не включать какие-либо авторские коды, нам все равно нужно написать некоторые субъективные реализации, которые будут иметь дело с весами, масштабом cfg и т. д. — технический отчет уже в разработке.
Больше примеров здесь.
См. также документы ControlNet 1.1:
https://github.com/lllyasviel/ControlNet-v1-1-nightly#model-спецификация
Это моя настройка. Если у вас возникнут какие-либо проблемы, вы можете использовать этот параметр для проверки работоспособности.
https://huggingface.co/lllyasviel/ControlNet/tree/main/models
Вы по-прежнему можете использовать все предыдущие модели в предыдущей версии ControlNet 1.0. Теперь предыдущая «глубина» теперь называется «глубина_мидас», предыдущая «нормаль» называется «нормал_мидас», предыдущая «хед» называется «мягкая кромка_хед». А начиная с версии 1.1 все линейные карты, карты ребер, карты линейных карт и карты границ будут иметь черный фон и белые линии.
(Из адаптера TencentARC/T2I)
Чтобы использовать модели адаптера T2I:
Обратите внимание, что «CoAdapter» еще не реализован.
Приведенные ниже результаты получены из ControlNet 1.0.
Источник | Вход | Выход |
---|---|---|
(без препроцессора) | ||
(без препроцессора) | ||
Приведенные ниже примеры взяты из T2I-Adapter.
Из t2iadapter_color_sd14v1.pth
:
Источник | Вход | Выход |
---|---|---|
Из t2iadapter_style_sd14v1.pth
:
Источник | Вход | Выход |
---|---|---|
(клип, без изображения) |
--xformers
и включенным в пользовательском интерфейсе режимом Low VRAM
, разрешение достигает 768x832 Эта опция позволяет использовать несколько входов ControlNet для одного поколения. Чтобы включить эту опцию, измените в настройках Multi ControlNet: Max models amount (requires restart)
. Обратите внимание: вам потребуется перезапустить веб-интерфейс, чтобы изменения вступили в силу.
Источник А | Источник Б | Выход |
Вес — это вес «влияния» сети управления. Это аналогично привлечению внимания/акцента. Например (myprompt: 1.2). Технически, это коэффициент, на который умножаются выходные данные ControlNet перед объединением их с исходным SD Unet.
Начало/окончание навигации — это процент общего количества шагов, которые применяет сеть управления (сила навигации = окончание навигации). Это аналогично быстрому редактированию/перемещению. Например, [myprompt::0.8] (применяется с начала до 80 % общего количества шагов)
Переведите любое устройство в пакетный режим, чтобы активировать пакетный режим для всех устройств. Укажите каталог пакета для каждого модуля или используйте новое текстовое поле на вкладке пакета img2img в качестве запасного варианта. Хотя текстовое поле находится на вкладке пакета img2img, вы также можете использовать его для создания изображений на вкладке txt2img.
Обратите внимание, что эта функция доступна только в пользовательском интерфейсе градиента. Вызывайте API столько раз, сколько хотите, для индивидуального планирования пакетов.
Это расширение может принимать задачи txt2img или img2img через API или вызов внешнего расширения. Обратите внимание, что вам может потребоваться включить Allow other scripts to control this extension
в настройках внешних вызовов.
Чтобы использовать API: запустите WebUI с аргументом --api
и перейдите по http://webui-address/docs
для документов или примеров оформления заказа.
Чтобы использовать внешний вызов: Checkout Wiki.
Это расширение добавляет в webui следующие аргументы командной строки:
--controlnet-dir ADD a controlnet models directory
--controlnet-annotator-models-path SET the directory for annotator models
--no-half-controlnet load controlnet models in full precision
--controlnet-preprocessor-cache-size Cache size for controlnet preprocessor results
--controlnet-loglevel Log level for the controlnet extension
--controlnet-tracemalloc Enable malloc memory tracing
Протестировано с помощью pytorch каждую ночь: № 143 (комментарий)
Чтобы использовать это расширение с mps и обычным pytorch, в настоящее время вам может потребоваться запустить WebUI с --no-half
.
Предыдущая версия (sd-webui-controlnet 1.0) заархивирована в
https://github.com/lllyasviel/webui-controlnet-v1-archived
Использование этой версии не является временной остановкой обновлений. Вы навсегда остановите все обновления.
Пожалуйста, обратите внимание на эту версию, если вы работаете с профессиональными студиями, требующими 100% воспроизведения всех предыдущих результатов попиксельно.
Эта реализация вдохновлена kohya-ss/sd-webui-additional-networks.