Продолжая погружаться в глубины генеративного искусственного интеллекта, нельзя не затронуть тему апскейлинга. В контексте нейросетей апскейлинг – это процесс масштабирования изображения путём увеличения его разрешения. Допустим, вы сидите на стандартных Stable Diffusion моделях – Deliberate или любой другой — и создаёте квадратные картинки с разрешением 512х512, а что делать, если вам нужна FullHD картинка? И внимательные читатели скажут – да-да, помним-помним – outpainting (https://on24.media/2025/01/04/ii-v-tvoyom-kompyutere-img2img/), ты уже писал про него. Но Outpainting лишь один инструмент и не самый лучший – почему? Потому, что outpaint именно расширяет существующее изображение – продлевает фон, добавляет какие-то объекты… А теперь представьте, что вам нужна не FullHD карточка, а, скажем, 4к или 8к. То есть у вас картинка 512х512, а вы её будете расширять до 3800 (4К) + или 7600 (8к) +, и что ж там останется от прежней картинки? Именно для этого и используется upscale, он позволяет сохранить исходное изображение нужного соотношения сторон и выдать его в большем разрешении. На моделях прежнего поколения, основанных на Stable Diffusion 1.5, которые обучались на картинках в разрешении  512х512 outpaint обычно используется как раз, чтобы придать изображению правильное соотношение сторон, сделав его широкоформатным (ну, или 4:3, хотя зачем оно сейчас нужно, не очень представляю). То есть вы генерируете стандартное квадратное изображение, расширяете его в аутпейнте до нужного соотношения сторон, а потом раз и 4к. Магия? Попробуем её воплотить. Кстати, если используете flux в Forge webui, то и расширять с помощью outpaint придётся, применяем апскейлер, и всё – дама в шапке. Тьфу, шашка в дамках.

Что такое апскейлер, где его взять и как установить?

Апскейлер – это небольшая дополнительная ИИ-модель, которая специализируется именно на увеличении изображений, она не просто растягивает пиксели, как это происходит при изменении разрешения средствами того же фотошопа, а перегенерирует картинку, добавляя новые пиксели, которые незначительно изменяют картинку. Представим себе, что на изначальным фото у нас изображён банан. Его высота – 200 пикселей, закрашенных разными оттенками жёлтого. Так вот, апскейер создаст рядом с существующими пиксели тех же оттенков, а не растянет имеющиеся.

Таких мини-моделек довольно-таки много под разные задачи, свои для аниме и артов, свои для реалистичных фото. Работающие над фотореалистичными изображениями чаще всего используют 4x_NMKD-Siax_200k, его, как и другие апскейлеры, можно взять на давно известно всем нейронщикам ресурсе HuggingFace . Разумеется, здесь представлены далеко не все апскейлеры, их тысячи под разные нужды!

Среди самых популярных можно также выделить 4x_foolharby_Remacri, 4x_Valar_v1, 4x_Uniscale-Balanced, ESERGAN, LDSR. Для того, чтобы сориентироваться в мире апскейлеров, можно воспользоваться такими сайтами, как https://upscale.wiki/wiki/Main_Page и https://openmodeldb.info/, где присутствуют и  описания моделей, и ссылки на их скачивание. Для некоторых также имеются скриншоты с демонстрацией работы.

Вы могли бы спросить — а почему сразу не поставить нужное разрешение? Не сгенерировать, допустим, 3840Х2160? Потому, что это потребует огромных ресурсов от видеокарты, плюс совершенно не факт, что ваша модель умеет работать с таким разрешением. Мне, например, Flux Dev даже fp8 версии при повышении разрешения данные артефакты изображений выдавала.

апскейлер

Установка и применение

Установка очень проста. Нужно просто забросить скаченный файл в папку, предназначенную для моделей апскейлеров — models\ESRGAN. В моём случае полный путь — D:\Forge\webui\models\ESRGAN. Если у вас открыт веб-интерфейс – перезапустите его, и всё. Можно приступать к увеличению изображений.

апскейлер

Апскейл

Ну, и давайте пробовать. Выберем модель Flux bnb nf4, установим количество шагов на 20 и сгенерируем нечто вроде этого:

Photo of a little girl wearing Victorian style clothing. She is sitting on a sofa near the wall of an ancient castle, on which a torch is fixed

В переводе:

Фото маленькой девочки в одежде в викторианском стиле. Она сидит на диване у стены древнего замка, на которой закреплен факел.

Разрешение мы ставим 1280 на 720  и крутим, пока не получим фотку, которая нам понравится. Получили? Закрепляем Seed, нажав на иконку с тремя  зелёными линиями.  Почему именно такое разрешение? Потому, что при увеличении в три  раза мы получим 3840х2160. Теперь отправляемся на вкладку IMG2IMG, щёлкнув иконку картины, и прокручиваем в самый низ, к сценариям. В выпадающем списке Script выбираем SD upscale, ниже переключателем выбираем нужный нам, в моём случае 4x_NMKD-Siax_200k, и выставляем параметры:

Tile overlap ставим на 192, а Scale Factor — на 3. При этом способе апскейлиннга все изображение обрабатывается тайлами – плитками, а данный параметр отвечает за то, на какое количество пикселей одна плитка перекрывает другую, создавая бесшовное изображение. После того, как вы выбрали апскейлер, параметры width и height уже отвечают за размер тайла, а не всего изображения. Также обратите внимание, что поставил Denoising strength на 0, запретив нейронке менять изображение вообще для наглядности, обычно же рекомендуется давать ей минимальную свободу, устанавливая для фотореалистичных работ показатель в 0.2-0.3 и пропорционально увеличивая количество шагов. То есть – чем меньше denoising strength, тем больше ставим Sampling steps. Я установил 0.25, результат получился вполне достойный. На величину также влияет то, какую часть фото занимает лицо человека. Чем оно дальше – тем большее значение мы ставим.

Думаю, понятно, что, если вам нужно изображение в 8к, то просто поставьте Scale Factor на 6.

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

Фото: автор

Александр Меркушев

Специально для Агентства Особых Новостей (on24.media)

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *