Читайте:
Часто анималистам и бёрдвочерам приходится снимать на очень высоком ISO. Почему так происходит? Этому есть три основных объяснения:
- Использование «темных» телевиков (не все фотографы — олигархи)
- Необходимость снимать на очень коротких выдержках (птицы и животные оказываются двигаются)
- Недостаточность освещения (не все сцены снимаются при ярком солнце)
Всё это приводит к необходимости сильно завышать ISO и несмотря на то, что современные камеры себя ведут значительно лучше на таких параметрах, иногда мы можем получить очень шумное, рыхлое и как следствие не резкое изображение с потерей деталей.
Могут ли нейросети помочь восстановить подобную фотографию?
Наш подопечный
Сегодня в рамках статьи мы будем пытаться восстановить фотографию Владимира Коровяковского с замечательной бородатой неясытью
- Камера: SONY a7R III
- Объектив: Samyang 135 mm f/1.8
- Разрешение: 42Mpx
- ISO: 12800
- Выдержка: 1/500
- Диафрагма: f/1.8
- Время съемки: сумерки
Проблемы
На небольшом превью так же как на экране камеры все выглядит не так уж и плохо, но если мы взглянем на 100% кроп, то сразу понятен объем проблем:
- Самая главная — это огромное количество шумов
- Небольшой промах по фокусу
- Общая рыхлость картинки из-за шума
- Отсутствие детализации (например, перья) так же из-за высокого шума
Всё это мы и собираемся исправлять!
Инструменты для восстановления фотографии
Понятно, что первой и основной проблемой являются шумы. У меня была статья, да и в лекциях я часто упоминаю о лучших шумодавах. На текущий момент на этапе исходного рава лучше всех справляется DxO PureRaw, который в себе содержит нейросеть с моделями, обученными на парах «камера-объектив». Поэтому DxO имеет возможность давить шумы на этапе демозаика рава. При этом на выходе мы получаем все тот же рав, но уже (практически) без шумов.
А вот на этапе уже растрированного (проявленного) изображения лучшее решение будет Topaz Photo Ai, который также имеет на борту ИИ.
Ну, а самым лучшим решением будет совмещение этих двух програм!
Далее я буду показывать и рассказывать этапы восстановления фотографии.
DxO Pure Raw
Какие изменения мы тут видим?
- Пропал цветовой шум и цветовые пятна
- Крупный шум стал мелким зерном
- Уменьшилась рыхлость изображения
Что осталось?
- Шум в виде зерна все еще есть
- Недостаточная детализация
- Все еще виден небольшой промах по фокусу
Но в целом результат уже отличный. Но сможем ли мы лучше?
Topaz Photo Ai
Продолжаем бороться с шумами и раз мы уже проявили рав, то в бой вступает Topaz Photo Ai в режиме Denoise. Тут мы сравниваем результат «после DxO» (слева) с результатом «DxO + Topaz» (справа).
Изменения:
- Фотография стала еще чище, фон совсем избавился от шумов
Что осталось:
- Недостаточная детализация
- Все еще виден небольшой промах по фокусу
Подправим фокус
Для этого воспользуемся уже генеративными нейросетями. В частности ChaiNNer, о котором я рассказывал в статье про апскейл фотографии. Но в этот раз мы будем не увеличивать фотографию, а менять ей фокус с помощью модели 1xReFocus-V3
Как бы в данном случае этот метод не был похож на добавление резкости, но это не просто резкость в обычном понимании. Тут нет ореолов как при обычном шарпе. Тут именно перерисовка границ.
Результат уже хорош, но можно ли лучше?
Однозначно да! Но с одной оговоркой — если мы позволим себе использовать генеративные нейросети.
Какая проблема осталась?
Отсутствие мелких деталей. Например, детализация перьев. Эти детали были «съедены» шумом. Точнее прятались среди шума и когда мы этот самый шум подавили, то и детали пропали.
Чем могут помочь генеративные нейросети?
Они могут «додумать», «дорисовать», «восстановить» пропавшие детали. Их уже нет на нашей фотографии, да и не было, если честно. Но с помощью нейросетей мы можем их добавить.
Stable Diffusion
Как и в статье про апскейл фотографии до очень большого размера, я воспользуюсь Stable Diffusion, моделью CyberRealistic и увеличением в 2 раза.
Почему именно увеличением? Дело в том, что увеличивая фотографию с дорисовкой текстур, мы потом результат уменьшим до исходного размера, тем самым мы сгладим возможные неровности генерации.
И как мы помним все из той же предыдущей статьи — главный параметр для дорисовки деталей и текстур — это уровень шума.
Уровень шума 0.4, промп отсутствует
При отсутствии промта нейросеть пытается просто «нарастить» текстуру исходя из контекста. Тут очень хорошо получилась прорисовка головы совы: добавлены мелкие элементы, текстура пера.
Но при этом практически ничего не улучшилось с перьями на груди, которое еще и судя по всему шевельнул ветер в процессе сьемки. Поэтому дополнительно попробуем уточнить запрос с помощью промта и дать еще немного больше вольности нейросети.
Уровень шума 0.5, промп: owl, feathers, highly detailed
И вот тут мы в полной мере видим магию нейросетей! Добавилась детализация перьев, отличная прорисовка, сохранение вида и направления пера.
Финальное сравнение
Возможно вы уже забыли как выглядел исходник и чтобы не листать в самое начало статьи я приведу тут пример: что у нас было и что мы получили в результате.
Заключение
В который раз мы задаемся вопросами: «А после таких изменений это все еще та же самая фотография?» и «Этична ли такая редактура?». Однозначного ответа у меня нет, но могу точно сказать, что результат стал технически значительно лучше, а мы, как авторы, получили возможность спасти уникальные снимки.