Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Наверняка, вы видели мемные посты, где пишут "пропт для chatgpt, который восстановит старое фото". И результат, где бот нарисовал новую картинку, лишь похожую на исходник. Так вот, на самом деле, нейронка, которая не рисует, а редактирует фото есть - это Flux1.Kontext [max].

They are the same picture
They are the same picture

Навёл меня на модель пользователь dtf - J Snapper https://dtf.ru/id342684, предложив обратить внимание на black forest labs, ему за это большое спасибо! Остальные сервисы и программы привожу как примеры, на которые не стоит тратить время.

У меня большой архив старых семейных фото 1950+годов - бумажные, слайды, негативы, которые я отсканировал и потихоньку обрабатываю. Процесс небыстрый, я криворукий любитель, поэтому слежу за развитием нейронок и сервисов, в ожидании, когда, наконец, появится кнопка "сделать красиво". Периодически появляются новые сервисы на "AI", обещающие улучшение, реставрацию, восстановление и т.п., я их смотрю, убеждаюсь, что для практических задач они бесполезны и иду дальше. Но в этот раз у нас есть победитель.

На тесты могу предложить 3 фото - лёгкий, средний и высокий уровень сложности.

Лёгкий - фото изначально хорошего качества где просто надо исправить контраст, немного изменить цвет и добавить резкости. Можно ткнуть автотон в фотошопе и получить результат на 80% от идеала.

Средний - есть проблемы с шумами, объектами в тени или в светах. Нужно сделать всё то же, что на easy, плюс вытянуть участки из пересвеченных или тёмных областей, уменьшив шумы.

Сложный - повреждённые, сильно выцветшие фото. Нужно убрать повреждения, полностью восстановить цвет и контраст.

Модель Flux1.Kontext [max]

Сразу начну с минуса - разрешение итоговых фото мало - 1000-1400 по горизонтали или вертикали. Поэтому не верьте заголовкам "Photoshop is dead". Пока нейронка не научится выдавать результат хотя бы в половину от разрешения исходника, фотошоп может спать спокойно. Но 1) результат годится для соцсетей или пересылки родственникам, 2) с ним можно работать дальше - взять из генерации какие-то части изображения, цвет или прогнать фото через AI-апскейлер, 3) я надеюсь, что разрабы когда-нибудь улучшат модель и она сможет выдавать картинки более высокого разрешения.

Эту модель можно использовать на разных сервисах по генерации картинок и есть версия для локального использования (для состоятельных энтузиастов с мощной видеокартой). Проще всего попробовать модель в песочнице от её разработчиков, где есть около 40 бесплатных генераций на каждую новую регистрацию: https://playground.bfl.ai/image/edit

Загружаем исходное фото, пишем промпт:

Restore this old photo to look as if it was taken today with high-resolution digital cameras without changing anything about the image. Just repair it, clean it, sharpen it and adjust the colors to look natural and lifelike.

С лёгким вариантом справляется идеально - мне для получения таких цветов нужно несколько минут двигать кривые. У слайдов есть проблемы с нелинейными искажениями цвета и получить одновременно естественные цвета для неба, кожи и жёлтой растительности во всём диапазоне яркостей довольно сложно. Низкое разрешение не позволит распечатать фотку, но отправить в чат с родственниками - норм. Я в данном случае просто возьму цвет из неё (для цвета разрешение картинки почти не играет роли), это сэкономит мне 5-7 минут на каждое фото.

Вам бан
Вам бан

Со второй фотографией справилась похуже - мне не нравится, что детали в тенях остались плохо читаемы.

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Немного модифицирую запрос, чтобы модель обратила внимание на тени:

Restore this old photo to look as if it was taken today with high-resolution digital cameras without changing anything about the image. Just repair it, clean it, sharpen it, improve shadow detail and adjust the colors to look natural and lifelike.

Теперь меня всё устраивает. Очень жаль, что отсюда нельзя взять контраст (для которого нужно высокое разрешение), только цвет. Но зато я вижу, к чему можно стремиться, редактируя вручную.

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Результат обработки выцветшей фотки поражает после всяких remini. Можно наложить 2 фото в фотошопе и увидеть, что контуры оригинала и генерации совпадают процентов на 99. Есть буквально пара косяков на заднем плане. Весь передний отрисован идеально. Тут можно поспорить с нейронкой про цвет пальто, но меня он устраивает.

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Ещё один показательный пример - сильно недоэкспонированное фото. Получить контраст из него легко (всё-таки, это слайд, где детали можно вытащить даже из почти чёрных или почти белых снимков), но править цвета придётся долго и мучительно. Flux сразу даёт фото с корректными цветами.

Оригинал - автоматический контраст - Flux
Оригинал - автоматический контраст - Flux

Ценообразование на playground.bfl.ai довольно гуманное - 1000 кредитов стоит 10 долларов, одна картинка - 4 кредита, 4 варианта одного запроса генерируются секунд 20-30. Если есть возможность оплатить их песочницу иностранной картой, лучше остановиться на этом варианте. Альтернативы в виде ботов типа syntx ai или российских агрегаторов-посредников стоят в 3-4 раза дороже. Ну и регистрации с целью получения халявных генераций никто не отменял.

Полный процесс

Текущий процесс восстановления фотографий у меня выглядит так:

  1. В фотошопе вручную исправляю контраст. Если нет желания запариваться с кривыми и поканальному редактированию, тыкаем Image -> Auto Tone, но ручной результат всегда лучше.
  2. У flux получаю отредактированное фото, которое в 9 случаях из 10 имеет цвет лучше, чем я буду править вручную, кидаю его новым слоем сверху на фото с исправленным контрастом, выравниваю, если фотошоп не сделал это автоматически. Меняю режим наложения на color.
  3. Объединяю слои, запускаю плагин Topaz photo Ai. Там применяю фильтры: sharpen (lens blur v2, strength от 30 до 60 на глаз), recover faces, если есть крупные планы лиц (mode realistic, strength 20).
  4. Всё, возвращаюсь в фотошоп, сохраняю результат.

Пример обработки. Исходное фото вроде норм, но все цвета на нём прошли через мясорубку из слайдовой плёнки и тридцати лет хранения в разных условиях.

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Автотон в фотошопе даёт так себе результат по цветам и контрасту, надо править руками:

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Контраст, выправленный вручную:

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Генерация от Flux:

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Ручной контраст + цвет с flux + резкость в topaz photo ai:

Итог - фото, которое не выглядит так, будто его рисовали в нейронке, на всё про всё меньше 5 минут.
Итог - фото, которое не выглядит так, будто его рисовали в нейронке, на всё про всё меньше 5 минут.

При 100% масштабе виден заметный шум плёнки, его к сожалению без появления артефактов нейронки не убрать - такова цена повышенной резкости. Поэтому считаем, что это "благородное плёночное зерно, придающее фотографии естественной винтажности".

По сути ИИ инструменты заменили сейчас вторую половину процесса из этой книжки: http://www.moderncolorworkflow.com/. Если появятся нейронки, выдающие картинку в нормальном разрешении, то для любительской цветокоррекции фотошоп действительно может умереть.

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Коротко по другим сервисам

Не вижу смысла подробно разбирать каждый сервис. Коротко - они все не подходят для редактирования старых фото, можно закрывать статью или убедиться лично, взяв примеры из начала.

https://www.fotor.com - онлайн-редактор изображений с функциями ии. Авто-улучшайзеры рисуют людям чужие лица, плохо исправляет контраст. Есть опция реставрации старых фото, но она за пейволом, не дают даже один раз попробовать фичу, поэтому я тестировал только базовые функции. Учитывая низкое качество работы местного ии, ждать чего-то приличного от платного реставратора я бы не стал.

https://remini.ai/ - специализированный сервис для исправления фото. Но при этом не умеет исправлять контраст (загружал уже подредактированные фото) и сразу бросается в глаза, что нейронка пытается перерисовать все лица, почти не трогая окружение, и при этом косячит с некоторыми деталями, ухудшает часть изображения. Итоговый результат выглядит ужасно. Вообще, непонятно, кто этим пользуется, тем более, за деньги.

https://hotpot.ai/restore-picture - лучше, чем fotor или remini, всё ещё бесконечно далеко до flux

https://www.oldpicrestore.com - не правит контраст и цвет, только увеличивает резкость, рисует лицо

https://aiphotorestorer.com - ошибка при загрузке изображения

https://photorestore.io - ошибка при загрузке изображения

https://www.pica-ai.com/photo-restoration/ - реставрация за пейволом, авто-улучшайзеры как обычно не работают, скип

Luminar neo - приложение для редактирования фото, под завязку напичканное нейронками, которые ничего толком не делают. Результата просто нет, изображения менялись минимально в режиме auto.

Topaz photo AI - Самостоятельная программа и плагин для фотошопа на основе нейронок. Работает локально. Инструменты стандартные для ai - уменьшение шумов, восстановление резкости, улучшение лиц, апскейл. Как автоматический комбаин всё-в-одном, не годится, но инструменты по увеличению резкости превосходят многие другие решения. Поэтому я использую его в финале обработки фото.

Photoshop имеет встроенные фильтры на основе нейронок, предназначенные специально для восстановления старых фоток. Они как не работали нормально 3 года назад, когда я в предыдущий раз их тестировал, так и не работают сейчас, прогресса в этом плане ноль.

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

ChatGPT - Я не знаю, почему люди на серьёзных щщах советуют чат для реставрации (даже здесь на dtf был пост про это). Чтобы увидеть, что новое изображение не похоже на исходное, достаточно иметь хотя бы один глаз.

Восстанавливаем старые фотки с помощью Flux1.Kontext [max] (+краткий обзор других нейронок)

Спасибо за внимание!

300
48
10
5
1
1
1
98 комментариев