Добавляем надписи в Stable Diffusion

Продолжаем наше знакомство с ControlNET. Управление позами и копирование композиции далеко не единственное применение данного расширения в Stable Diffusion. Частый вопрос о тексте на изображении побудил меня разобраться в данном вопросе.

Текст в StableDiffusion

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

Понятный текст в Stable Diffusion

Мой телеграм канал Алиса GPT ведет женский персонаж и на первые 100 подписчиков было желание сгенерировать картинку с символичным числом. К сожалению в настоящий момент невозможно стандартными средствами генерировать внятный текст и надписи на изображениях любой нейросетью.

Часто встречаю тесты с задание определить фото это или сгенерированная картинка. В случае, если вы можете отчетливо прочитать текст (при его наличии) – это 146% обычное фото!

Так вот – меня попросили в комментариях показать каким образом происходит такая генерация текста и как ей пользоваться. Сейчас обо всем подробно расскажу.

Подготовка будущего изображения в редакторе

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

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

Алиса - готовая композиция
Алиса - текст
Алиса - поза

Обратите внимание, чтобы ваше изображение для генерации совпадало с размером вашего холста в графическом редакторе. Я в Adobe Photoshop использовал 512*640 – соответственно и в Stable Diffusion мы используем такие же параметры.

В итоге у вас получилось 2 картинки – это сам текст и положение персонажа на иллюстрации.

Процесс генерации картинки в Stable Diffusion

Что нам понадобится? – Это сам Stable Diffusion от Automatic1111 и расширение ControlNet для него. По умолчанию у нас только одно окошко с параметрами ControlNet, а изображений у нас несколько – поэтому необходимо включить возможность работы сразу с несколькими окнами. Делается это в настройках Stable Diffusion [SETTINGS > CONTROLNET > Multi ControlNet: Max models amount (requires restart)]. Не забудьте нажать [Apply Settings] и [Reload UI].

Несколько окон ControlNET

Переходим на вкладку text2img и пишем описание нашей будущей картинки (подробно о написании промт в отдельной заметке) и настраиваем ControlNET – где и происходит вся магия.

На первой вкладке мы подгружаем нашу картинку с текстом. Препроцессор не используем, модель выбираем depth. Я поставил Ending Control Step в положение 0,8 чтобы в конце нейросеть могла добавить больше креатива в нашу картинку.

Вкладка 0 - ControlNet

На второй вкладке мы добавляем изображение, с которого заберем позу для нашего персонажа. Здесь уже используем препроцессор openpose_full и модель openpose. С параметрами веса и процессом контроля можете поэкспериментировать – результаты могут быть как лучше, так и хуже.

Вкладка 1 - ControlNET

Остается только нажать кнопку Generate и наблюдать за процессом формирования картинки. Многие считают, что все должно получаться с первого раза – это далеко не всегда так. Я всегда запускаю несколько вариантов, а уже из них выбираю лучший и беру в работу. Используя тематику морских глубин я получил такие результаты:

Результат - подводный мир

Понравившийся вариант уже дорабатываем, увеличиваем детализацию и готовим для публикации. Если вы все еще игнорируете вкладку inpaint – то самое время разобраться с ее назначением. Когда вы уже наигрались с простой генерацией – приходит осознание того, что вся работа проходит именно здесь!

Алиса - предитог
Алиса - Итог

От автора

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

Василий Григорьев

Привет, я автор этого сайта. Мое знакомство с компьютером началось в далекие 2000 когда Windows 98 была чем-то невероятным. А еще казалось что нажатие кнопки "Пуск" действительно что-то запустит... Готовы окунуться в мир технологий со мной?

Оцените автора
Блог Айтишнега
Добавить комментарий

  1. Александр Игнатов

    Бред! Текст, надписи и шрифты можно задать в промте, причем каждую букву можно написать своим шрифтом. Мало того, можно взять шрифты с любого фильма, игры, сайта, да чего угодно. Насколько ваша фантазия работает так и реализуете!

    Ответить
    1. Василий Григорьев автор

      Добрый день, не видел еще генерации русскоязычного текста на изображении в нейронках. Подскажите – где вы нашли такую возможность?

      Ответить