Продолжаем наше знакомство с ControlNET. Управление позами и копирование композиции далеко не единственное применение данного расширения в Stable Diffusion. Частый вопрос о тексте на изображении побудил меня разобраться в данном вопросе.
В сети есть подобные инструкции, но они описывают процесс со вписыванием уже в готовое изображение – мы попробуем все подготовить на этапе генерации и максимально упростим процесс с точки зрения настроек.
Понятный текст в 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].
Переходим на вкладку text2img и пишем описание нашей будущей картинки (подробно о написании промт в отдельной заметке) и настраиваем ControlNET – где и происходит вся магия.
На первой вкладке мы подгружаем нашу картинку с текстом. Препроцессор не используем, модель выбираем depth. Я поставил Ending Control Step в положение 0,8 чтобы в конце нейросеть могла добавить больше креатива в нашу картинку.
На второй вкладке мы добавляем изображение, с которого заберем позу для нашего персонажа. Здесь уже используем препроцессор openpose_full и модель openpose. С параметрами веса и процессом контроля можете поэкспериментировать – результаты могут быть как лучше, так и хуже.
Остается только нажать кнопку Generate и наблюдать за процессом формирования картинки. Многие считают, что все должно получаться с первого раза – это далеко не всегда так. Я всегда запускаю несколько вариантов, а уже из них выбираю лучший и беру в работу. Используя тематику морских глубин я получил такие результаты:
Понравившийся вариант уже дорабатываем, увеличиваем детализацию и готовим для публикации. Если вы все еще игнорируете вкладку inpaint – то самое время разобраться с ее назначением. Когда вы уже наигрались с простой генерацией – приходит осознание того, что вся работа проходит именно здесь!
От автора
Теперь вы можете красиво врисовывать в ваше изображение текст. Мне нравится возможность внести на нашу картинку надпись не теряя стилистики иллюстрации. Способ очень простой и наверняка пригодится вам для генерации тематичных картинок, открыток и просто интересных иллюстраций.
Бред! Текст, надписи и шрифты можно задать в промте, причем каждую букву можно написать своим шрифтом. Мало того, можно взять шрифты с любого фильма, игры, сайта, да чего угодно. Насколько ваша фантазия работает так и реализуете!
Добрый день, не видел еще генерации русскоязычного текста на изображении в нейронках. Подскажите – где вы нашли такую возможность?