Суть проблемы
Не так давно для нас, фотографов, было доступно только линейное увеличение фотографии и мы балансировали между кратностью увеличения и сохранением деталей/резкости.
В чем основная проблема? В отсутствии текстуры малых объектов.
Представим фотографию леса, в которой некоторые листья занимают несколько пикселей. По сути, это просто пятно, которое мы воспринимаем как листву. При линейном увеличении это пятно просто увеличится. И будет занимать (условно) не 4 пикселя, а 8. Но текстуры листа так и не получит — её неоткуда взять.
Сейчас ИИ, а тем более генеративные нейросети, как раз могут додумать что это, что за текстура нужна и добавить её.
Посмотреть лекцию про нейросети для пейзажного фотографа можно у меня на Ютуб
Где это может вообще пригодиться?
Кажется, что в мире высоких разрешений и новых матриц фотоаппаратов вопрос размера вроде бы не стоит. Это так, но при условии, что мы будет публиковать свои шедевры исключительно в соц.сетях. В мире же физической печати и/или подготовке к ней фотографий вопросы увеличения изображений все еще стоят довольно остро. Сюда же можно добавить высококлассную и высокоточную обработку.
В итоге как минимум в трех моментах мы обязательно вспомним про апскейл:
- Подготовка к печати форматов больше, чем дает разрешение вашей камеры
- Ретушь с потерей деталей (с помощью генеративного увеличения мы можем генерировать детали, уменьшить результат до оригинального размера и вставить в ретушируемую фотографию)
- Ну и потеря исходника, когда большой формат нужен :)
О ком сегодня пойдет речь?
В последнее время с развитием генеративных нейросетей стали повышаться требования к компьютерам, которые могли бы ворочать такими массивами данных. Поэтому все чаще в этой сфере появляются облачные решения и тем ценнее становятся хорошие локальные — которые можно установить на компьютер и использовать без интернета. В статье мы не сможем опробовать и рассказать обо всех существующих нынче стартапах, которые появляются чуть ли не ежедневно. Постараемся поговорить о лидерах рынка:
- Magnific.Ai (облако)
- Clipdrop (облако)
- Stable Diffusion (локально)
- Topaz Photo Ai (локально)
- ChaiNNer (локально)
-
Adobe Photoshop (локально)
А тренироваться мы будем на фотографии справа. Она
уменьшена до 2000px по длинной стороне, изобилует текстурой и для
разнообразия есть текст.
Magnific.Ai
Я уже писал об этом инструменте заметку в Телеграм и показывал его в лекции о нейросетях для пейзажного фотографа. Впечатляющая генеративная нейросеть, которая действительно умеет дорисовывать :)
Я взял скриншот из игры и апскейлил его с дорисовкой деталей. Так сказать wow-тест.
Да, впечатляюще, да интересно, да настраиваемо…
Но давайте посмотрим на пейзаже?
Интерфейс лаконичен, настроек минимум и пока есть возможно увеличивать максимум в 2 раза и/или до 4000px, но при этом есть возможность выбрать одну из восьми генеративных моделей, а так же уровни кративности, hdr и соответствия оригиналу.
Давайте попробуем на нашем примере
Результат:
Тут мы видим действительно огромное количество дорисованной текстуры. Причем дорисованной логично: очень хорошо проработан камень, трава, но вот с человеком уже не так однозначно. Возможно это связано с тем, что модель для увеличения была выбрана «Landscape».
Но главный философский вопрос в другом — это всё еще та же самая фотография? Оставлю вам возможность для дискуссий :)
Clipdrop
Эта разработка принадлежит компании, создавшей нейросеть Stable Diffusion — одну из трёх самый популярных генеративных нейросетей.
Интерфейс еще проще и еще лаконичнее, но вот уровень увеличения доходит уже до 16-кратного при платной подписке. В бесплатной версии все так же можно увеличить фотографию вдвое.
Но этим возможность Clipdrop не ограничена — тут есть еще дополнительные инструменты редактирования фотографии.
Давайте сравнивать!
Результат:
Тут мы видим попытку увеличить фотографию «без креативности» максимум оригинальных деталей, не такая звенящая резкость как у magnific.ai, но и без самоуправства с дорисовкой. Лучше всего Clipdrop себя показывает при больших кратностях.
Stable Diffusion
Раз мы заговорили про компанию-создателя нейросети, то в Stable Diffusion тоже можно увеличивать изображение. И в этом случае тоже работает генеративная дорисовка деталей.
Настройка и возможности Stable Diffusion — это тема отдельного разговора. В интернете полно видео и примеров (правда больше про арт или портреты), но если коротко, то нам понадобится:
- Stable Diffusion (я пользуюсь интерфейсом AUTOMATIC1111)
- Модель генерации (попробуйте для пейзажа CyberRealistic)
- ControlNet — расширение, позволяющее контролировать генерации
- Расширение Ultimate SD Upscale для выбора типа апскейла и управлением им
Если вы смогли все это установить, то парметры с которых имеет смысл начать эксперементировать можно посмотреть на скриншоте справа :)
Посмотрим на примеры?
Результат:
Тут мы тоже видим сгенерированные текстуры, которые соответствуют логике. При этом Stable Diffusion — это такой линукс в мире нейросетей. И результат очень сильно зависит от правильно подобранной модели для генерации. Минусом будет пожалуй большие компьютерные (и как следствие — временные) затраты и невозможность посмотреть «на лету» будущий результат выставленных параметров.
Topaz Photo Ai
Отвлечемся от генеративных нейросетей и перейдем к почти классическим программным продуктам, выполненным в виде привычных приложений, хотя под капотом всё тот же ИИ.
Несомненно лидером апскейла тут будет компания Topaz, у которой раньше было семейство приложений, но сейчас они все их свели в одно: Topaz Photo Ai. В нем можно делать шумоподавление, увеличение резкости, лечение микросмазов и увеличивать фотографии.
Программа имеет несколько обученных моделей, которые условно разбиты на: Standart, High Fidelity Graphics и Low Resolution — то есть по типу контента на загруженной фотографии.
Результат:
Очень быстро и без генерации текстур. Это может быть и плюсом (фотография остается максимально сама собой) и минусом (при больших кратностях увеличения начинается странная дорисовка особенно на контрастных или текстурных объектах). Зато в Topaz можно пакетно загонять фотографии и всех их увеличивать за один присест с одинаковыми выбранными настройками.
Нейросетевой комбайн chaiNNer
— Скачать и установить ChaiNNer можно тут: chainner.app/
— А на гитхабе есть ссылки на модели, дискорд, способы восстановления и реставрации лиц и многое другое: github.com/chaiNNer-org/chaiNNerP. S. А еще тут можно… апскейлить видео!
И напоследок — моя новая любимая нейросетевая игрушка, которая по сути является связкой-интерфейсом разных нейросетей. chaiNNer построен на нодах, комбинируя которые можно делать просто космические вещи, у которых под капотом все так же будут нейросетевые генеративные функции.
Если же возвращаться к увеличению фотографии, то мы берем фотографию, ноду upscale, к ней подключаем модель апскела (большой список с описаниями тут), можем модифицировать выходное имя файла и куда сохранять. На скришотах ниже представлены два варианта конфигов увеличения фотографий. Хотя можно еще больше придумать при необходимости :)
А самое интересное заключается в том, что в ChaiNNer можно… пакетно обрабатывать фотографии!
Сравниваем…
Результат:
Пожалуй этот результат можно сравнить с Magnific.Ai за исключением того, что он локальный и бесплатный. Да и фотография больше похожа на саму себя без креативных дополнений.
А с учетом того, что тут все можно настроить более точно да еще и подобрать разные модели под разные задачи, то вариант выглядит более чем интересно! За одним минусом — требования к железу (компьютеру).
А что же Фотошоп?
Фотошоп в плане увеличения фотографии все еще апеллирует линейными понятиями, но возможно они подтянутся к гонке апскейлеров и если даже не возглавят, то как минимум фотографов перетянут обратно к себе, потому что для фотографа идеальным решением будет то, которое оставит его в одной программе и в рамках одного рабочего процесса.
Почему же я добавил в эту статью Фотошоп?
Дело в том, что лично для меня пока еще лучшим решением является микс представленных инструментов и потом смешение их с линейно увеличенной в Фотошопе фотографией. Нейросети нейросетями, но иногда они не справляются или ошибаются. Поэтому маски и прорисовка где надо по-больше, а где по-меньше даст максимально возможный на текущий момент результат.
Выводы
Генеративные нейросети подбираются всё ближе и ближе к нашему рабочему процессу. И отказываться от них точно не стоит. А такие «обёртки» вроде chaiNNer только помогают нам войти в эту сферу без программирования и каких-то серьёзных знаниях в IT.