КОНСТАНТИН ШАМИН
Увеличение фотографий с помощью нейросетей
Будущее наступило: теперь не так важно, какая у вас камера — нейросети увеличивают фотографии, дорисовывая необходимые текстуры!
КОНСТАНТИН ШАМИН

Увеличение фотографий с помощью нейросетей

Будущее наступило: теперь не так важно, какая у вас камера — нейросети увеличивают фотографии, дорисовывая необходимые текстуры!
КОНСТАНТИН ШАМИН
Увеличение фотографий с помощью нейросетей
Будущее наступило: теперь не так важно, какая у вас камера — нейросети увеличивают фотографии, дорисовывая необходимые текстуры!
Проблема низкого разрешения фотографий ушла в прошлое с появлением современных фотоаппаратов? Такое впечатление может сложиться только если публиковать снимки исключительно в интернете.

В мире физической печати вопросы увеличения изображений до сих пор стоят очень остро. И тут нейросети делают большой шаг вперед, помогая нам в этом.
В этой статье мы сравним несколько программ по так называемому апскейлу (от англ. upscale) — увеличению фотографий. Причём мы сконцентрируемся на приложениях, которые имеют в своей основе искусственный интеллект.
Новые методы увеличения
Раньше фотографам было доступно только линейное увеличение фотографии. Приходилось балансировать между кратностью увеличения и сохранением деталей/ резкости. Основная проблема — отсутствие текстуры малых объектов.

Представим фотографию леса, в которой некоторые листья занимают несколько пикселей. По сути, это просто пятно, которое мы воспринимаем как листву. При линейном увеличении это пятно просто увеличится. И будет занимать (условно) не 4, а 8 пикселей. Но текстуры лист не получит — её неоткуда взять. Сейчас ИИ, а тем более генеративные нейросети, могут «додумать» что за текстура нужна и аккуратно добавить её.
Облачные решения и локальные приложения
С развитием генеративных нейросетей, стали повышаться требования к компьютерам, которые могли бы ворочать большими массивами данных. Поэтому всё чаще в этой сфере появляются облачные решения, и тем ценнее становятся хорошие локальные — которые можно установить на компьютер и использовать без интернета.

В рамках статьи мы не сможем рассказать обо всех существующих стартапах, которые появляются чуть ли не ежедневно. Зато подробно рассмотрим основных лидеров рынка — как облачные решения, так и классические десктопные приложения:
Тренироваться мы будем на этой фотографии. Она уменьшена до 2000px по длинной стороне, изобилует текстурой и для разнообразия присутствует текст:
исходный кадр
Тренироваться мы будем на этой фотографии. Она уменьшена до 2000px по длинной стороне, изобилует текстурой и для разнообразия присутствует текст

Magnific.Ai
Передовая технология искусственного интеллекта позволяет добиться безумно высокого разрешения. Не только увеличить, но и улучшить!
Впечатляющая генеративная нейросеть, которая действительно умеет дорисовывать. Я уже писал об этом инструменте заметку в Telegram. Для наглядной демонстрации эффекта, я взял скриншот из игры с низкой детализацией и увеличил его с дорисовкой деталей. Так сказать, wow-тест:
Да, впечатляюще, да интересно, да настраиваемо… Но, давайте, посмотрим как она справится с пейзажной фотографией?
интерфейс Magnific.Ai
Интерфейс управления лаконичен, настроек минимум, при этом есть возможность выбрать одну из восьми генеративных моделей, а также уровни креативности, HDR и соответствия оригиналу. К сожалению, пока есть возможность увеличивать не более чем в 2 раза и/ или до 4000px.
Результат
Тут мы видим действительно огромное количество дорисованной текстуры. Причём, дорисованной логично: очень хорошо проработан камень, трава, но вот с человеком уже не так однозначно. Возможно, это связано с тем, что модель для увеличения была выбрана «Landscape». Но главный философский вопрос в другом — это всё ещё та же самая фотография? Оставлю вам возможность для дискуссий.

Clipdrop
Эта разработка принадлежит компании, создавшей нейросеть Stable Diffusion — одну из трёх самых популярных генеративных нейросетей.
Интерфейс Clipdrop ещё проще и ещё лаконичнее, а уровень увеличения доходит до 16-кратного (при платной подписке). В бесплатной версии всё так же можно увеличить фотографию только вдвое. Также в Clipdrop есть дополнительные инструменты редактирования фотографии.

Давайте сравним:
Результат
Тут мы видим попытку увеличить фотографию «без креативности»: максимум оригинальных деталей, не такая звенящая резкость как у magnific.ai, но и без самоуправства с дорисовкой. Лучше всего Clipdrop себя показывает при больших кратностях.

Stable Diffusion
Нейросеть от группы студий Stability.ai с открытым исходным кодом, которая позволяет генерировать изображения на основе текстового запроса, а также дорисовывать наброски и редактировать исходные картинки.
Раз мы заговорили про компанию-создателя нейросети, то в Stable Diffusion тоже можно увеличивать изображение. И в этом случае тоже работает генеративная дорисовка деталей. Настройка и возможности Stable Diffusion — это тема отдельного разговора. В интернете полно видео и примеров (правда больше про арт или портреты), но если коротко, то нам понадобится:
  • Stable Diffusion (я пользуюсь интерфейсом AUTOMATIC1111)
  • Модель генерации (попробуйте для пейзажа CyberRealistic)
  • ControlNet — расширение, позволяющее контролировать генерации
  • Расширение Ultimate SD Upscale для выбора типа апскейла и управлением им
Если вы смогли всё это установить, то параметры с которых имеет смысл начать экспериментировать можно посмотреть на скриншоте:
интерфейс Stable Diffusion
Посмотрим на примеры?
Результат
Тут мы тоже видим сгенерированные текстуры, которые соответствуют логике. При этом Stable Diffusion — это такой Линукс в мире нейросетей. И результат очень сильно зависит от правильно подобранной модели для генерации. Минусом будут, пожалуй, большие компьютерные (и как следствие — временные) затраты и невозможность посмотреть «на лету» будущий результат выставленных параметров.

Topaz Photo Ai
Классический программный продукт, выполненный в виде привычных приложений, хотя под капотом всё тот же ИИ.
Несомненно, лидером апскейла тут будет компания Topaz, у которой раньше было семейство приложений, но сейчас они их свели в одно: Topaz Photo Ai. В нём можно делать шумоподавление, увеличение резкости, лечение микросмазов и увеличивать фотографии.
интерфейс Topaz Photo Ai
Программа имеет несколько обученных моделей, которые условно разбиты на Standart, High Fidelity Graphics и Low Resolution — то есть по типу контента на загруженной фотографии.
Результат
Очень быстро и без генерации текстур. Это может быть и плюсом (фотография остается максимально сама собой) и минусом (при больших кратностях увеличения начинается странная дорисовка, особенно на контрастных или текстурных объектах). Зато в Topaz можно пакетно загонять фотографии и всех их увеличивать за один присест с одинаковыми выбранными настройками.

Нейросетевой комбайн chaiNNer
Графический интерфейс обработки изображений на основе узлов, призванный упростить и настроить цепочку задач обработки изображений. Родившись как приложение для повышения уровня искусственного интеллекта, chaiNNer превратился в чрезвычайно гибкое и мощное программное приложение для обработки изображений.
Моя новая любимая нейросетевая игрушка, которая по сути является связкой-интерфейсом разных нейросетей. ChaiNNer построен на нодах, комбинируя которые можно делать просто космические вещи, у которых под капотом всё так же будут нейросетевые генеративные функции. В ChaiNNer можно пакетно обрабатывать фотографии, а еще тут можно… апскейлить видео!

Скачать и установить ChaiNNer можно на официальном сайте, а на гитхабе есть ссылки на модели, дискорд, способы восстановления и реставрации лиц и многое другое.
Бесплатно:
Вступи в сообщество Nature Photo Team чтобы получить безлимитный доступ ко всем статьям.
Войдите, если у вас уже есть аккаунт на сайте Nature Photo Team
ChaiNNer может пользоваться возможностями и комбинировать между собой модели и функции pyTorch, NCNN, ONNX и Stable Diffusion.
Если же возвращаться к увеличению фотографии, то мы берем фотографию, ноду upscale, к ней подключаем модель апскела (большой список с описаниями тут), можем модифицировать выходное имя файла и куда сохранять. На скриншотах ниже представлены два варианта настроек увеличения фотографий.
Сравниваем…
Результат
Пожалуй этот результат можно сравнить с Magnific.Ai за исключением того, что он локальный и бесплатный. Да и фотография больше похожа на саму себя без креативных дополнений.

А с учётом того, что тут всё можно настроить более точно, да ещё и подобрать разные модели под разные задачи, то вариант выглядит очень интересно! За одним только минусом — требования к железу (компьютеру) довольно высокие.

Adobe Photoshop
Классический графический редактор для обработки фотографий.
Фотошоп в плане увеличения фотографии всё ещё апеллирует линейными понятиями. Ждём, когда они подтянутся к гонке апскейлеров, потому что для фотографа идеальным решением будет то, которое оставит его в одной программе и в рамках одного рабочего процесса.

Почему же я добавил в эту статью Фотошоп? Дело в том, что лично для меня пока ещё лучшим решением является микс представленных инструментов и потом смешение их с линейно увеличенной в Фотошопе фотографией. Нейросети нейросетями, но иногда они не справляются или ошибаются. Поэтому маски и прорисовка, где надо побольше, а где поменьше даст максимально возможный на текущий момент результат.
интерфейс Adobe Photoshop
Выводы
Генеративные нейросети подбираются всё ближе и ближе к нашему рабочему процессу. И отказываться от них точно не стоит. А «обёртки» вроде chaiNNer только помогают нам войти в эту сферу без программирования и каких-то серьёзных знаний в IT.

ps Для желающих самостоятельно сравнить кадры на полном экране мы выложили исходники в облако
  • Константин Шамин

    Профессиональный пейзажный и travel-фотограф

    Константин Шамин занимается фотографией более 20 лет. Работает в разных жанрах: творческие и коммерческие съёмки, тревел, пейзаж, постановочная фотография, аэросъёмка. Любит экспериментировать в жанрах и техниках съемки. Основатель Школы Первого Фото Канала, сооснователь компании-организатора профессиональных фототуров Еврофототур.

    Сайт автора

Смотрите также
    Нода - это узел, который выполняет определенное действие (или набор действий) и передает результат дальше. Обычно ноды узкоспециализированны на определенных функциях/действиях и поэтому максимально быстры в их выполнении. Структура нод позволяет комбинировать различные действия и таким образом строить собственный рабочий процесс, не завися от разработчика ПО.
    NPT РЕКОМЕНДУЕТ