Амбициозная задача
В преддверии крупнейшего форума природной фотографии Nature Photo Talks решили сделать необычное: взять фотографию со старой камеры и увеличить ее до размеров печати 180×120см и 400 dpi.
За исходный материал была взята фотографии Владимира Медведева, снятая на Canon EOS 5D Mark II в 2011 году (то есть 13 лет назад). Фотография имеет разрешение 20 мегапикселей. А мы захотели её увеличить до 535 мегапикселей (28346×18898px) — то есть в 26 раз!
Особенность увеличения
При таком большом увеличении нам неоткуда брать детали поэтому было принято решение разрешить нейросетям их придумывать и дорисовывать.
Рабочий инструмент
Для такого увеличения была выбрана нейросеть Stable Diffusion c моделью cyberrealistic (v41). Эта модель хорошо справляется с фотореалистичными изображениями.
Плюсы:
- Работает локально
- Имеет огромное количество ручных настроек
- Бесплатно
Минусы:
- Надо разобраться в установке
- Имеет огромное количество ручных настроек (тоже надо разобраться)
- Требовательна к железу
В этой статье мы опустим нюансы установки нейросети на компьютер, поиска и добавления моделей, ControlNet, препроцессоров и скриптов. Всё это есть в огромных количествах в интернете — достаточно погуглить название того или иного и вы найдете как это устанавливать.
Как происходит увеличение?
Когда мы говорим о нейросетях, всегда имеет смысл помнить, что они не готовы на текущей стадии развития работать сразу с большим изображением. Поэтому с ними часто работают или в маленьких разрешениях или раскладывают фотографию на «плитки». В случае увеличения фотографии как раз работает второй способ.
Наша фотография автоматически режется на квадраты (обычно
512×512px) после чего нейросеть их перебирает и увеличивает, дорисовывая внутри
детали из контекста и согласовывая с соседними квадратами. Это с одной
стороны позволяет работать с большими изображениями, а с другой —
привозит к забавным коллизиям, с которыми мы сегодня тоже столкнемся :)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/TA7eFukK_V83ONIt9Ln8zaAy4Am6syBW/Bis4rfJfBwgtc5fB-VPJ4FvxzOLi0Y05/ugNJ-CB0zL_9toNHBqSdgL6CGI3-8Zb5/G3-YOwkZc--umdJGEurXQn8dLpoDRoDB/Y-kx-cKd71jDNhGNhAtLH1N27KS21iND/W5Vqxh4jjuI.jpg)
Настройки Stable Diffusion
Так как мы не генерируем новое изображение, а увеличиваем существующее, то нам нужен режим img2img, в котором мы выберем модель, которую предпочитаем и загрузим оригинал фотографии.
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/vrWpiII-LPWlPKzO5JSOPClmTphXyNKo/EdpCt6jfshaOViXx5TjAuFgMastcYjFn/NMf4vh69A2rNKE9mVf-nB26ZVaKWF30B/vtiPd3zMXJ26KLZPYEhdLD2m2SVCCPYc/pprrp5_1NLOW4V_2ZWDijNtpr6GNGj4t/YHR_yLN9bn8.png)
Далее нам необходимо выставить параметры генерации:
- Семплер: для реалистичных изображений я предпочитаю DPM++ 2M Karras
- Количество шагов — это то, сколько проходов сделает нейросеть чтобы достичь нужного уровня детализации. Чем меньше — тем более «простым» (меньше деталей) будет результат. Для каждой модели есть свои предпочтительные значения шага, но обычно шаг в 20-30 пунктов подходит для практически всего.
- Уровень шума — пожалуй самый важный параметр! Он определяет то, насколько новое изображение будет идентично старому. Чем меньше это значение тем ближе к оригиналу будет сгенерированное изображение.
Разбивка фотографии на блоки
Для этого нам понадобится дополнение ControlNet, в котором:
- Мы опять загружаем оригинал
- Выбираем препроцессор tile_resample с моделью control_v11fle_sd15_tile.
- и выбираем чекбокс ControlNet is more important
ControlNet выполняет несколько задач:
- Контролирует чтобы новая сгенерированная картинка соответствовала оригиналу
- Разбивает фотографию на блоки (препроцессор) и по очереди отдает блоки на генерацию
- Следит, чтобы картинка загруженная в ControlNet была важнее всего остального (каждый раз сверяется с оригиналом)
Увеличение фотографии
Остается последний шаг настройки — это указать Stable Diffusion как и с помощью чего увеличивать блоки. Для этого:
- В модуле Script выбираем Ultimate SD upscale
- Выбираем как рассчитывать увеличение (проще в кратностях: в 2 раза, в 4 раза…)
- И модель апскейлера. Я предпочитаю 4x-UltraSharp
Далее остается только эксперементировать!
Важно!
Лучший результат получится, если мы сделаем несколько увеличений с разными значениями шума и сложим их в фотошопе!
Уровень шума — самый важный параметр!
Если выше вы внимательно смотрели настройки, то заметили, что я специально сделал акцент на уровень шума. Именно он определяет сколько деталей будет придумано и дорисовано и насколько сильно новое изображение будет отличаться от оригинала.
Я рекомендую пользоваться значениями от 0.2 (максимально близко к оригиналу) до 0.5, но в рамках статьи в качестве иллюстрации покажу варианты до 0.7.
Уровень шума 0,2
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/G40bq3kEjfl4M8GtzHEqC_-nt2gYqKVQ/rUQNwh2VJRcd3WTqM2097rwP_e45Tp-A.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/bLkalBRF5Ybi0hDxC6yLhvokPco3UvkA/tEfBDWQlK9YCSaxyHGs3aelyfoat8nwv.jpg)
При таком уровне шума мы видим, что изображение стало резче (слева оригинал, увеличенный в Фотошопе, а справа — в нейросети). Кроме резкости появилась детализация, которой не было в оригинале, но в целом это похоже на апскейлеры типа Topaz Photo Ai — без генерации новых текстур.
Уровень шума 0,3
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/KL6JkRfo9K6mkLk8qtvpMxZyMRP01zNc/u8lWgyckbTEwEQ3mj4XdyvLSr4OSw2X3.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/nO0a1rhQENLvqqOBKuGrdG8G4rNmtRxc/qGr---8vXDkqLzYIn1DVBro_-SKRw936.jpg)
Тут мы видим еще больше деталей, но также на однородных поверхностях (вода/небо) из-за того, что фотография изначально имела шум нейросеть начинает добавлять вольности — пририсовывать то, чего не было
Уровень шума 0,4
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/pqaxIF3QVQDwBskZDZf2RZXt1yqhRenZ/BuaOXfakMMMzy411lc2dMAqp_3HLdt9K.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/L6Jt8YdxT48YDPtxxPKrfjGrgotu5_1s/dxz70EGUkMQYH2VmKgsKF9pNRG_tVD6l.jpg)
Еще больше деталей, но начинают появляться артефакты. Кроме усилившихся искажений однородных поверхностей вроде неба и воды нейросеть может воспринять любое небольшое цветовое/световое пятно за самостоятельный объект.
Уровень шума 0,5
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/NI1llaD55xTkS0LIxBzfVA4VDzhnADXN/WLlKQF4eHQ2h-TNC3-0DuqH--p9ohDxB.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/fA4ROW7JaEZlIFCD6zVBk_-8UpWSVS4D/X4ObQ4bGOLvwiIpabbXUFHD-ATUgZVTN.jpg)
Появляется все больше генеративных элементов, но и новых артефактов — тоже. Например — туристическое снаряжение :)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/1deUVBHJT_J-ZRPhaKBn8Far98-PFATw/FvVpNY-p6x31A-WQH03SuNv_ArQrudUW.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/5BQ0Pto3cMbyra0l-TFopn6hwo6VY27Y/swsRPOseAR9Ej4igvBJCe_oBI1Et8NXY.jpg)
А лес на заднем плане — полностью преобразился и наполнился деталями
Уровень шума 0,6 и 0,7
Эти варианты изобилуют различными новыми сущностями и уже мало реалистичными рисовками. Предлагаю просто насладиться кропами лучших моментов :)
Собираем итоговую фотографию
Как вы могли заметить, при разном значении уровня шума у нас хорошо получаются разные части фотографии. Поэтому изначально я и говорил, что лучший результат — это сборка из разных вариантов апскейла. Поэтому для финального результата мы возьмем:
- лес с варианта с шумом 0.5
- горы с шумом 0.3
- камни с шумом 0.4
- воду и небо с шумом 0.2
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/QZ4Ol6EY3irYEe2HNF7rVJNB_DeKCMdJ/mpzZw3vtya3aoxgtdaWUKUquSrexo_Mf/zm76mQsEaEoSlk5W2jWqk94Wfnjm9ZEz/OfOBY6gTPnBL52XpOItfEWiTRCqheLxv/UMIT8AyngEvRHWSSH7Kcsg.png)
Несколько сравнений оригинала и получившегося результата
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/99K3oRB7D9iOBhGyxHFf8NpBHXhYtbmd/PYUml_r6RnV7GT05ELOzbtg6rRn44A7H.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/r3lFW94QXRQoKtyZnm2x6Zt24x6lOeHS/TtDTXkuG9eRI5ZuziqZRv_Td9f4bZ4lJ.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/CVsvQupp4AWdsYXB5Nvpm85PDPYlkta9/4mZ8KT13ZOpks0S8kxWcJKdlDTt_KHtx.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/oolYHaahVc4pUjmzm8LtpjYwIK3Prkm_/TpYjdoskdKZUO46iWacC0W1-0btLhbWe.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/A3oBuYlVPlgn3gm3E_qQRlbt0MR1nr_r/s9OhwvusegTyiSui0cyQqIJkzosh4HKr.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/5aLFfKrbxuROOBZbuPkClO8hgqHKq8Mx/oLocn_xaBpMM0rd3Bvx5hT3rjb5h6isH.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/peinb8y9vgA5Smx7ai_XI5bEef2cPthl/qKXQJ5b8qCCBz_rNUB6lidraQahCqEgl.jpg)
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](https://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/tOEAO5dQtMP9zs3c_VxX-NUGosqJ9hmE/a_VaqJ344ly27MRhm0D0TB7MgDKetUVb.jpg)
Результат отдельной фотографией
Даже при просмотре на сайте видно насколько более детализированная стала фотография
Заключение
За последний год возможности генеративного увеличения фотографии сильно продвинулись. Стали появляться как бесплатные так и коммерческие решения и, думаю, дело ближайшего будущего внедрение это в классический софт фотографа.
И это, как ни странно, дает второй шанс нашим старым фотографиям, снятым на старые камеры и имеющие небольшое разрешение. Убедиться в этом вы можете как на примере этой статьи, так и посетив фото-форум Nature Photo Talks, где сможете в живую посмотреть на распечатанную большим форматом фотографию!
Ну, а я оставил вам на ней пасхалку. Найдете?
P. S. А вот классический философский вопрос «Это все еще та же фотография или уже что-то новое» мы снова оставим открытым :)
Комментарии
Статьи
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/_Xlw_5Kx0YLf5REZUFpn5zfKE7ew2fls/2pRm7CMzTtprF2gIxVaDIb5TYKXgxVgL.jpg)
Тест аккумуляторов и зарядного устройства PALO
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/uqo3MD52ORIRIKJ2UY5Suh6RxmOKG8ve/g0XgE6iad9iWMa-GjTWlhR39S9mNKGmj.png)
Увеличение фотографии с помощью нейросетей
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/F7yKMj7NkDIXzRzhdo3wBl84-huWJlzj/y0HO__mh_uYxLqFKNDUsMkYnSTs41uYa.jpg)
Фонарь на дрон
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/KfN2JhbB89-m6UeUSQ-43cSGNBDUivJr/9XYvpjgORLh50pBAjo1RnKAWpcl0KVBj/id_nsQlAFv4bMD5uah02exGsnlqA54aZ/22D4sQxmpZU.png)
Программы для планирования пейзажных фотосъемок
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/IkdRPDP49x3eEX-5SMHCjOqov3KtRIwt/GBsZ33ErRJI.jpg)
Стекинг в ночной фотографии
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/SHesViCG7Fv2TbdysYjNOhGOmZXY58t7/Z4K0pMVgY0I.jpg)
Хорошие китайские аккумуляторы для вашей камеры. Тест SmallRig
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/dBnq50BEvyXQfl1Izw6kFu_ur3INFCjr/3U05EypQbAE.png)
Удаляем звезды на астро-пейзаже правильно
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Sjpgrm2v20FR6Cth5viRkySQXwdNMnI8/PNba8pyNInjwo8WXlMvl477mvCJgjoKc/b2xrgprwYn8xOF0UxeBB0RKroDDHJLr6/xADqc50WkGA.jpg)
Нейросети для фотографа
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/3VJubfzX9N5ngyO6EK6Xuwb-2HOaja1N/eWYCP0JIZ6E.jpg)
Кольцевое штативное крепеление как замена L-pate
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/KfN2JhbB89-m6UeUSQ-43cSGNBDUivJr/9XYvpjgORLh50pBAjo1RnKAWpcl0KVBj/yz0NbrCUZ6-94HIazvhDZuzk-5tU0OyH/5Lr8wTfq0s0.png)
Увеличение изображения с помощью ИИ
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/1sZRhbsZs-ACd5BlYdQ0Eyj4ydwrSY-O/wkAStpETjUs.jpg)
Задача обработки — уменьшение динамического диапазона
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Sjpgrm2v20FR6Cth5viRkySQXwdNMnI8/PNba8pyNInjwo8WXlMvl477mvCJgjoKc/dhS0aIC1T5Q1UaaTv-NWHxo1deTq5HuU/NjoTAA5ccBM.jpg)
Откуда появляются дырки в звездных треках?
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/KfN2JhbB89-m6UeUSQ-43cSGNBDUivJr/9XYvpjgORLh50pBAjo1RnKAWpcl0KVBj/OAbrI3BH_rIrzDHJNEN8E7g3ek8LFIEn/oP8rrCkblVM.png)
Нормальная интервальная съемка на Canon
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Erhj60RfGoSDn6LYN1vjjtPjHSou3Auq/OZzwdQTXxoKzF_NukPblF1KgBZdfdlzT/638ZiTHeKStFxkzkbQP3Awe5dBY7RQju/Pnd-MVbrsHk.jpg)
Рабочее место фотографа
![Увеличение фотографии с помощью нейросетей. Часть 2. Фотограф Константин Шамин](http://i.wfolio.ru/x/Sjpgrm2v20FR6Cth5viRkySQXwdNMnI8/PNba8pyNInjwo8WXlMvl477mvCJgjoKc/qk-wY65_et9A2GamIV_JGWX_BnC625P_/CDoeNcfODe8.png)