В прошлый раз мы установили Forge WebUI и новейшую модель Flux. Если вы последовательно учитесь работе с нейросетями вместе со мной, то у вас уже накопилось порядочно сгенерированных фото, и наверняка вы сталкивались с ситуацией, когда получившаяся фотография вас всем устраивает, но она обрезанная. Или же исходное разрешение вам не подходит. Допустим, вы сгенерировали нечто очень красивое и хотите использовать свою работу в качестве обоев рабочего стола на FullHD мониторе, стандартное разрешение которого 1920 на 1080, а у вас картинка 1152 на 896. А, быть может, уже после генерации вам захотелось добавить какой-то объект. Этим сегодня и займёмся.
Итак, давайте создадим милую картинку. Например, вот такой вот добрый мягкий промт: медвежонок-рыцарь стоит перед замком, держит в лапках меч, солнечный день, фэнтезийная атмосфера. Вот на английском:
a teddy bear knight stand in front of castle, holds sword in his paws, sun day, fantasy atmosphere.
Отлично. Один из сгенерированных медвежат мне приглянулся. Теперь давайте дорисуем фотографию, превратив её в обои. Это, кстати, один из методов апскейла (увеличения) изображения. Нажимаем на иконку фотографии под нашим сгенерированным изображением и отправляем его на вкладку img2img (2 — это “to”, то есть предлог «в» ). И здесь просто масса новых возможностей и настроек. Начнём с самого простого: удалим наш промт и откроем выпадающий список под кнопкой генерации. Это список стилей. Их тут огромное количество: и арт-деко, и аниме, и в стилистике игры Майнкрафт, и пиксель-арт – что захочешь. Выбрав стиль по душе, просто нажимаем кнопку Generate и получаем прежнюю картинку в новом стиле. Регулировать силу применения эффекта можно с помощью показателя Denoising strength. Это своего рода сила фантазии нейросети – то, насколько она может додумать картинку. Для наложения стиля я обычно оставляю его без изменений. Вот таким нехитрым образом вы можете делать себе или друзьям довольно необычные аватарки. Главное — следите за тем, чтобы Ширина и высота изображения совпадали с размерами оригинала.

А теперь перейдём к моему одновременно любимому и ненавистному – Inpaint. Под областью фотографий есть кнопки to img2img, to sketch, to inpaint, to inpaint sketch. Они действительно дублируют вкладки подразделов наверху, но выполняют несколько иную функцию: если вы выберете вкладку Inpaint, то у вас просто откроется соответствующий раздел, а если нажмёте кнопку to inpaint, то отправите текущую фотографию в соответствующий раздел. Давайте же пробежимся по настройкам данного раздела, а потом увеличим наше изображение с помощью маски. Настройки, упоминавшиеся в прошлых гайдах, я опущу, иначе статья получится огромной.

Resize mode – тип изменения размера изображения. Содержит следующие варианты: Just resize (только изменить размер), Crop and resize (Обрезать и изменить размер. Подгоняет выделенную область под размер изображение), Resize and fill (Изменить размер и заполнить). Последний же пункт отвечает за встроенный апскейл, то есть масштабирование, но работает из рук вон плохо. Параметр Mask blur (размытие маски) говорит нейросети, на сколько пикселей она может подсмотреть в выделенную область. Mask mode (тип маскирования) даёт нам возможность выбрать, что именно будет дорисовывать нейросеть – то, что внутри выделенной области-маски, или (Inpaint masked), или то, что за её пределами (Inpaint not masked). Следующая настройка Masked content (содержимое маски) как раз определяет, чем нужно заполнить выделенную область. Вариант fill будет заполнять выделенную область (или всё, что вне её в зависимости от ваших настроек типа маски) тем, что вы напишете в промте. Original заполнит выделенную область оригинальным содержимым нашей картинки, например, сохраняя текстуру земли или камня, latent noise – это случайный шум, выбрав данную настройку мы просим нейросеть додумать, что может находиться в выделенной области.

latent nothing – это буквально «ничто», я этим вариантом не пользуюсь. Далее у нас идёт область дорисовки (Inpaint area), которая даёт нам возможность выбрать, что нейросеть должна оценивать при генерации – Whole picture (все изображение, учитывать композицию) или Only masked (только выделенную область). Only masked padding, pixels – отвечает за то, насколько нейронке можно подсмотреть внутрь маски при генерации новой картинки. Distilled CFG Scale – отвечает за проработку деталей изображения.
Итак, давайте расширим нашу картинку сначала по вертикали. Выделим маской (закрасим) то, что должно остаться неизменным, то есть область с медвежонком и замком. Важно, чтобы наша маска не касалась верхнего и нижнего краёв изображения, иначе она их просто вытянет. При этом маска может быть не слишком ровной, как вы видите на картинке. Выставим следующие параметры: Resize mode – Resize and fill (изменить размер и заполнить), Masked content – Original (чтобы при дорисовке он опирался на изначальную картинку), ну, и inpaint area – whole picture, естественно, чтобы он не порол отсебятину. Выставим параметр Height (высота) на 1080, генерация. И вуаля. Наше изображение расширилось, и у замка появились башенки, а внизу картинки стало больше травы. Волшебство, колдунство, магия! Теперь наша картинка имеет разрешение 1152 на 1080, и осталось лишь дорисовать её по горизонтали, чтобы получить FullHD обои. В левой части inpaint закрываем нашу картинку, нажав на значок корзины, который появляется при наведении на изображение и перетаскиваем сгенерированный нами результат из правой части в левую.
Теперь наноси маску таким образом, чтобы она не касалась правого и левого краёв изображения. Всё очень логично – если дорисовываем картинку сверху и снизу, то там оставляем немного пространства вне маски, если слева и справа – то там. Теперь установим нужную нам ширину – 1920 и подберём параметр Denoising strength. Для каждого изображения он свой, потому тут уже надо подбирать под ваше конкретное творение. Общие рекомендации – не ниже 0.4 и не выше 0.9. Но конкретные значения зависят от конкретного изображения, будто назло, нашему мишутке подошло значение 1, хотя обычно оно не используется. Остальные параметры оставляем прежними. В промте укажем то, чем мы хотим заполнить пространство, которое будет дорисовывать нейронка – например, волшебный лес (magic forest). Если у вас не получилось – попробуйте увеличить количество шагов (sampling steps) до 30 или 40 или поиграться с параметром Distilled CFG Scale. Также попереключайте параметр Masked content между значениями fill и original.

В целом на этом всё. Но как-то странно, что наш медвежонок воткнул меч в землю посреди леса. Почему бы не добавить туда маленького милого дракончика? Ну, мол, думал бравый рыцарь, что замку что-то угрожает, а оказалось — милота чешуйчатая прилетела. Закроем изображение с максой в левой части и перетащим готовое из правой. Выделим область перед мечом, выберем Masked content – fill, Masked area – inpaint masked и напишем в промте a cute small dragon. Снова поиграемся с параметром Denoising strength м, при 0.75 получим вполне приемлемую картинку.

У inpaint огромные возможности: можно менять одежду, добавлять звёзды, облака, объекты, редактировать фото на новом уровне. Дерзайте, и всё у вас получится!
Фото: автор
Специально для Агентства Особых Новостей (on24.media)