Делаем красивые и уникальные QR коды
Создаем уникальные QR коды с помощью Stable Diffusion!
Статья носит образовательный характер, мы ни к чему не призываем и не обязываем. Информация представлена исключительно в ознакомительных целях.
Начало
И так, начем с простого. Устанавливаем Stable Diffusion
Постараюсь сказать основное, в интернете по установке очень много гайдов.
Установка Python
Скачиваем Python версии:
Открываем установщик, устанавливаем для всех пользователей и не забываем поставить галочку.
Устанавливаем Stable Diffusion
Скачиваем версию с Github по ссылке выше, распаковываем, закидываем модель в папку models/Stable-Diffusion и запускаем файл.
Скрипт сам все установит и запустит ui на локальном хосте, в консоле появится ссылка.
Рекомендуемые аргументы:
--xformers --autolaunch --no-half-vae
Устанавливаем модели
Вы можете найти модели для Stable-Diffusion на HuggingFace или Civitai, в моем пример я рассмотрю Civitai, потому что сам пользуюсь им.
Здесь вы можете найти огромное количество моделей. Тестировать я буду на модели ReV Animated
Скачанную модель необходимо переместить в папку models/Stable-Diffusion (убедитесь, что модель является SD, а не Lora или чем-то другим).
Как только мы установили модели, запустили UI мы переходим к следующему шагу, а именно установка ControlNet и QR Code Generator в интерфейс.
Выбираем вкладку в интерфейсе Extensions > Install from URL
Устанавливаем генератор QR кодов
В первое поле вставляем ссылку:
Устанавливаем генератор ControlNet
В первое поле вставляем ссылку:
Нажимаем кнопку Install и устанавливаем расширение.
После установки перезагружаем UI.
После перезагрузки у нас должны будут появиться новые вкладки в интерфейсе.
С самым простым мы разобрались, теперь переходим к настройке ControlNet. Для начала заходим в настройки и изменяем параметр Multi ControlNet: Max models amount (requires restart) с 1 на 3.
Применяем настройки и перезагружаем UI.
После этого нам необходимо будет установить две модели для ControlNet.
Скачиваем первую модель, а именно
И вторую модель:
Закидываем модели в папку models/ControlNet.
Теперь нам необходимо переименовать controlnet11Models_tileE в control_v11f1e_sd15_tile.
Перезагружаем UI ещё раз.
Теперь мы можем перейти к генерации QR кода, изображения и самим настройкам ControlNet.
Scale - размер вашего QR кода
Border - границы нашего QR кода, белые по сторонам полоски.
Выставляем все по своему усмотрению или из примера выше. И нажимаем Generate.
Настраиваем ControlNet Unit 0
Копируем полученный QR код и после того как мы скопировали наше изображение, переходим на вкладку txt2img и вставляем его в ControlNet вкладку.
Не забываем про галочку Enable и включаем ее. Затем Preprocessor выставляем inpaint_global_harmonious.
Модель выставляем brightness.
Параметры ниже можете выставить как у меня.
Настраиваем ControlNet Unit 1
Опять же копируем наш QR код и вставляем его.
Не забываем про галочку Preprocessor выставляем inpaint_global_harmonious, а модель control_v11f1e_sd15_tile.
Параметры ниже можете выставить как и у меня.
Control Weight - это значимость ControlNet в процессе генерации изображения. (в нашем случае чем больше поставите, тем сильнее будет виден QR код). Можно играть с ним и пытаться подобрать параметр. Желательно ставить его не ниже 0.4 и не выше 0.7.
Strating Control Step и Ending. Например, если у вас 20 шагов, и вы измените "Starting Control Step" на 0.5, это будет означать, что первые 10 шагов будут генерироваться без сети ControlNet, а вторая половина будет генерироваться с включенной сетью.
После всех настроек мы можем перейти к генерации самого изображения.
Нас ждут два поля. Это Promt и Negative prompt, первый отвечает за то, что мы хотим видеть, а второй, что не хотим видеть. У меня же стоит EasyNegative т.к. я установил текстурную модель
Я рекомендую остановиться на DPM++ 2M Karras или Euler.
Чем больше шагов тем лучше будет изображение, но и времени оно будет занимать больше.
Размер изображения на выходе.
CFG Scale (classifier-free guidance scale) — это величина соответствия текстовому запросу. Чем больше, тем ближе результат к запрошенному, но вместе с тем и более шумный.
Seed - откуда ИИ будет стартовать свою отрисовку. Разные стартовые точки = разные итоговые результаты. Если вам не важна повторяемость результата - ставьте значение минус 1 . Если вы пытаетесь улучшить свой текстовый запрос - лучше зафиксируйте какое-то конкретное стартовое число и не меняйте его.
После того как мы всё настроили можем сгенерировать изображение!
И так, мы получили по нашему промпту прекрасную голую тяночку с рабочим, красивым QR кодом.