Посмотрел видео Хачатура по генерации широкоформатных изображений, но метод мне его показался не идеальным, так как маска, нарисованная вручную, часто давала артефакты по ее краям + приходилось рисовать ее руками, что не круто. Представьте, что вам нужно проработать все отверстия, неровности и т.п. Слишком долго и муторно.
В связи с этим я вспомнил про такое расширение, как depthmap2mask, которое само будет создавать маску, а нам останется лишь поправить мелкие косяки и выделить лицо.
Что нам понадобится?
Во-первых, установленный либо локально, либо в облако Automatic1111. Прикреплю ссылки на лучшие по моему мнению гайды, можете смело пользоваться. В случае проблем готов помочь в чате.
Также нужно поставить расширение depthmap2mask — устанавливается оно через раздел Extensions.
Собственно, это все, нам нужно лишь расширение и автоматик.
Перейдем к практике
Первым делом либо генерируем персонажа на каком-либо фоне, либо загружаем уже существующее изображение в раздел img2img. Я создам свою девчулю с нуля, поэтому перемещусь во вкладку txt2img.
Далее переношу ее в раздел img2img, где нам и понадобится применить скачанное расширение. Предупрежу, что модели из этого расширения будут скачиваться долго, поэтому запаситесь терпением.
Выбираем из представленных алгоритмов самый первый — dpt_beit_large_512, а уровень Denoising Strength выставляем на 0.
Еще нужно поставить галочку в пункте Invert DepthMap, чтобы предметы ближе были черными, а дальние белыми — так правильно, даже писал гайд на эту тему.
Как только все сделали, жмем Generate. У нас появится исходное изображение и его маска.
Переходим во вкладку Inpaint upload и наверх загружаем исходник, а вниз маску.
Далее кликаем по разделу Sketch, и перетаскиваем в него нашу карту глубины. Не забывайте отключить расширение, оно нам больше не понадобится. Кистью закрашиваем поля по бокам белым цветом, а лицо черным.
Теперь меняем нашу предыдущую маску на новую.
И финальный штрих — ставим Resize mode на Resize and fill, чтобы края по бокам изображения заливались новым содержимым. Далее выставляем ширину нашего изображения, к примеру, на 1216 пикселей, а параметр Denoising Strength заменяем на 0,65 или выше. Если ставить деноиз ниже этого значения, то пиксели по краям будут растягиваться, что нам не подходит.
Вот, что получилось у меня во второй раз. Работает данный метод хоть на реалистичных фото, хоть на артах — совершенно без разницы.
Это изображение уже можно дорабатывать в разделе Inpaint, выставив параметр Inpaint area на Inpaint masked. Вот что у меня получилось после обработки.
Принцип такой: вы закрашиваете сначала лицо — работаете с ним, затем перекидываете полученный результат обратно в Inpaint, после чего дорабатываете уже украшение на груди, и т.д.
Для тех, кому интересно, стиль я использовал художницы Kelly Vivanco.
Congratulations, вы справились!
Теперь кто-то умеет расширять границы фото и генераций с помощью лучшего фреймворка для Stable Diffusion на сегодняшний день. Буду рад обратной связи и вашим комментариям, а также приглашаю в свой телеграм чат, где отвечу на все вопросы касаемо SD.
Буду рад видеть вас в телеграм-канале, где я собираю лучшие гайды по Stable Diffusion. А если не найду, то пишу сам.
#stablediffusion #арт #гайд #outpainting #automatic1111 #нейросети #ии #ai.