Создаём свой фильтр с цветными клубами дыма, методом вложения (embedding) для нейросети stable diffusion.
Для сети Stable diffusion сейчас есть три метода тонкой настройки: Embedding, Dreambooth и Hypernetwork.
Embedding (вложение, инъекция, встраивание) определяет новое ключевое слово для описания новой концепции без изменения модели. Векторы встраивания хранятся в файлах .bin или .pt. Размер файла очень мал: менее 100 КБ.
Dreambooth вводит новую концепцию (объект, стиль), редактируя всю модель. Размер файла: 2–4 ГБ. Расширение файла: ckpt.
Гиперсеть — это дополнительная сеть, присоединенная к шумоподавляющей модели UNet. Цель в том, чтобы настроить модель без её редактирования. Размер файла: около 100 МБ.
Чтобы начать понимать, как работают вложения, можно прочитать вот эту ознакомительную статью на английском языке.
How to use embeddings in Stable Diffusion - Stable Diffusion Art
stable-diffusion-art.com/embedding
Чтобы правильно создать и настроить вложение для интерфейса Automatic1111, можно посмотреть вот это видео на русском языке.
Протестировать и скачать новые готовые вложения можно по ссылке
Stable Diffusion Conceptualizer - a Hugging Face Space by sd-concepts-library
Я попробовал создать своё вложение на базе модели v1-5-pruned-emaonly. Для этого я сгенерировал несколько изображений с цветными облаками или клубами пара, или дыма, или растворяющихся чернил:
Далее я создал новое вложение и слегка потренировал его (200 проходов).
Список ключевых слов вложения простой:
colored clouds of smoke, realistic, detailed, stunning, highly detailed, render
Для вызова в модель я использовал новое слово colorclouds. Получившийся простой файл текстового шаблона состоит из одной строки:
[filewords], by colorclouds
У меня получился фильтр, преобразующий изображение в цветные клубы. Вот из такого кролика
я сделал таких
Видимо, из-за того, что я использовал в ключевых словах вложения слово render, у меня результаты получились слегка искусственные, как бы нарисованные в 3D. Поэтому, иногда приходилось снижать коэффициент искажения. Вот такая избушка
превратилась в такие
Можно использовать фильтр на участке изображения. Например, для этого сгенерированного изображения
я во вкладке Inpaint выбрал кудри и прошёлся фильтром
А для этого
исключил лицо, чтобы не искажать, а всё остальное отредактировал. Результат ещё раз прогнал через Image2image, чтобы сгладить границы. Получилось:
Эксперимент показал, что вложения — это гибкий инструмент тонкой настройки сети. Можно использовать природные текстуры (листья, хвою, древесину, капли воды, лучи света и т.п.), искусственные узоры, элементы декорирования (штрихи, мазки кистью, паттерны), чтобы создавать вложения. Можно развивать существующие стили графики или создавать новые.