Термин «апскейл» используется для обозначения процесса увеличения разрешения цифровых изображений с фокусом на создание иллюзии «настоящего» высокого разрешения. Правда, 90% таких продуктов — это барахло, больше намёк на перспективы, чем волшебство. Недавно мои ручки добрались до двух алгоритмов повышения чёткости, которые оказались настолько хороши, что появилась эта статья. Будут субъективные и объективные тесты алгоритма Real-ESRGAN для увеличения разрешения и алгоритма GFPGAN для детализации лиц.
Traffic_Warning: в статье демонстрируется множество примеров.

Методика тестирования


Обучение алгоритмов производится на относительно ограниченном наборе данных, и на практике рано или поздно встретятся изображения, которые будут неправильно обработаны. Невозможно заранее предсказать ценность алгоритма без тестирования в рамках конкретной задачи, отчётам разработчиков сложно доверять, ведь их задача — «продать» свою работу. Проверка алгоритма должна начинаться с тестирования на данных, которые повстречаются наиболее вероятно. Если первичные результаты удовлетворяют ожиданиям, следует оценить диапазон применимости, подбирая всё более маргинальные варианты. Для оценки качества работы алгоритмов тренированного глаза достаточно, но ради придания статье тончайшего налёта профессионального исследования, сравнение будет сопровождаться количественными оценками.

Алгоритм тестирования:

  1. Уменьшить эталонное изображение обратно пропорционально коэффициенту увеличения алгоритма (2 или 4 раза).
  2. «Заапскейлить» уменьшенное изображение тестируемым алгоритмом, а также Lancoz (базовая точка) и Topaz Gigapixel (предыдущий чемпион).
  3. Проверить адекватность увеличения.
  4. Проверить детали.
  5. Вычислить «попугаи».

Cравнить исходное и увеличенное изображения можно разными методами, начиная с квадратичного среднего и заканчивая специализированными нейросетями. Вменяемым выбором был бы MSSIM, поскольку он одновременно самый устойчивый и соответствует человеческому пониманию одинаковости картинок. Но так как чёткость увеличенного изображения формируется за счёт имитации текстур (грубо говоря, подбираются и вырисовываются микрокусочки от других изображений), то MSSIM покажет сильное отличие. Согласитесь, вне научного применения предпочтение получит правдоподобное чёткое изображение, но не математически точное мыло. При обучении нейросетей правдоподобность измеряется выделенной нейросетью, которая умеет оценивать реалистичность и качество. Но демонстрация циферок от чёрных ящиков не вызовет доверия, если только это не какой-то стандарт. Из оценок такого типа общепризнанным является VMAF, которую использует Netflix для подбора оптимальных настроек передачи и хранения видеопотоков. Эта интегральная оценка учитывает степень сходства оригинального и изменённого изображения и набор показателей качества картинки.

Кроме того, будут использоваться следующие косвенные оценки:

  1. «Резкость». Очень простая оценка, которая является аналогом второй производной. Чем более размыто изображение, тем меньше в нём резких переходов значений.
  2. Энтропия текстур. Мутноватая штука, но если на пальцах, то это показатель сложности «раскраски» поверхностей (запомнить цвет покрашенной стены проще, чем узор обоев).
  3. Размер файла PNG. Колхозная оценка общей энтропии изображения, чем больше размер файла, тем больше деталей в картинке.

Тестирование апскейла


В рамках проекта Real-ESRGAN доступно несколько предобученных моделей:

  • RealESRGAN_x4plus — для общего применения, увеличение 4х
  • RealESRNet_x4plus — устаревшая модель для общего применения, увеличение 4х
  • RealESRGAN_x4plus_anime_6B — для рисованных изображений, увеличение 4х
  • RealESRGAN_x2plus — для общего применения, увеличение 2х
  • official ESRGAN_x4 — модель, использовавшаяся для публикации официальных результатов, увеличение 4х

Для тестирования подобраны изображения, которые представляют широкий диапазон того, что может пожелать заапскейлить среднестатистический землянин. Средний размер изображений после уменьшения в четыре раза составляет 350х250 пикселей. Бóльшая сторона исходных изображений имеет длину в диапазоне от 1200 до 2000 пикселей, приводить их целиком неуместно, поэтому только ссылки и уменьшенные версии.

Для проверки использована модель ESRGAN_SRx4_DF2KOST_official-ff704c30, которая субъективно превосходит прочие.

▍ Тестовое изображение «sample01»


Уменьшение 4x ➟ 300x200



Lancoz Gigapixel RealESRGAN Оригинал
После первого теста уже можно заподозрить, что RealESRGAN превосходит на голову существующие разработки. Если не знать, что изображение было увеличено, то заметить подвох сложно. Gigapixel демонстрирует неплохие результаты, но заметно, что это синтетика.

▍ Тестовое изображение «sample02»


Уменьшение 4x ➟ 350x231



Lancoz Gigapixel RealESRGAN Оригинал
На результате от RealESRGAN листья деревьев выглядят не только реалистично, но и более чётко чем в оригинале, что-то необычное.

▍ Тестовое изображение «sample03»


Уменьшение 4x ➟ 320x180



Lancoz Gigapixel RealESRGAN Оригинал
Настоящий дождь, чёткое лицо. Как? Пришлось перепроверять, уж слишком хорошо, чтобы это было правдой, но это действительно апскейл.

Ещё больше удивительных примеров (ОЧЕНЬ МНОГО КАРТИНОК)

▍ Тестовое изображение «sample04»


Уменьшение 4x ➟ 350x232



Lancoz Gigapixel RealESRGAN Оригинал
Снова сложно поверить, что это алгоритмически увеличенное изображение. Обратите внимание на ручку двери и руль.

▍ Тестовое изображение «sample05»


Уменьшение 4x ➟ 300x201



Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample06»


Уменьшение 4x ➟ 238x128




Lancoz Gigapixel RealESRGAN Оригинал
Тут я просто обалдел, апскейл от RealESRGAN не то что близок к оригиналу, а просто как оригинал, даже плёночное зерно прорисовано. «Подделка» отличается только циферблатом часов.

▍ Тестовое изображение «sample07»


Уменьшение 4x ➟ 250x167




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample08»


Уменьшение 4x ➟ 300x200




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample09»


Уменьшение 4x ➟ 350x350




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample10»


Уменьшение 4x ➟ 375x250




Lancoz Gigapixel RealESRGAN Оригинал
В очередной раз обращает на себя внимание прорисовка плёночного зерна. Даже закрадываются сомнения: уж не наложенный ли это эффект, хотя распределение зерна специфично, алгоритмический шум лежал бы равномернее. Может это какое-то читерство, так или иначе, это впечатляет.

▍ Тестовое изображение «sample11»


Уменьшение 4x ➟ 405x270




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample12»


Уменьшение 4x ➟ 450x300




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample13»


Уменьшение 4x ➟ 320x213




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample14»


Уменьшение 4x ➟ 272x181




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample15»


Уменьшение 4x ➟ 300x200




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample16»


Уменьшение 4x ➟ 280x280




Lancoz Gigapixel RealESRGAN Оригинал
И визуально и по объективным оценкам (далее в таблице) понятно, что Real-ESRGAN нарисовал больше деталей, чем было в оригинале, не артефактов, а именно дополнительных деталей. Нейросети всегда фантазируют на тему вероятного оригинала, но обычно это выстрел в сторону цели с недолётом. Но качественно превзойти оригинал? Такое встречалось в очень специализированных алгоритмах. Апскейл изображений реального мира — это задача c огромной вариативностью, поэтому это серьёзное достижение.

▍ Тестовое изображение «sample17»


Уменьшение 4x ➟ 320x180




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample18»


Уменьшение 4x ➟ 512x341




Lancoz Gigapixel RealESRGAN Оригинал
Этот тест показывает насколько уверенно Real-ESRGAN умеет работать с боке. На уменьшенном изображении теряется информация о границах фокуса. Gigapixel рисует резкие линии там, где их быть не должно. Real-ESRGAN правдоподобно воспроизводит эти нюансы.

▍ Тестовое изображение «sample19»


Уменьшение 4x ➟ 267x200




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample20»


Уменьшение 4x ➟ 350x350




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample21»


Уменьшение 4x ➟ 256x205




Lancoz Gigapixel RealESRGAN Оригинал
Если вам показалось, что «INDIAN OCEAN» чётко видно на интерполяции Lancoz, то вам показалось. Буквы I, E, A без контекста не различить.

▍ Тестовое изображение «sample22»


Уменьшение 4x ➟ 250x167




Lancoz Gigapixel RealESRGAN Оригинал


▍ Тестовое изображение «sample23»


Уменьшение 4x ➟ 512x341




Lancoz Gigapixel RealESRGAN Оригинал


*конец спойлера*



Далее будут таблицы с измерениями, но перед этим приведу примеры, которые наглядно продемонстрируют, как зависят значения от картинки.
Изображение VMAF Резкость Энтропия Т Размер PNG
Эталон
- 13.43 35.100 86192
Смешивание двух изображений
0 14.30 34.630 91211
Легкое размытие
76.202 9.089 34.630 73769
Очень сильное размытие
0 0.585 25.425 31142
Небольшое добавление шума
71.508 14.44 38.98 112848
Только шум
5.023 22.24 46.34 152585
Чем ближе VMAF к 100, тем лучше. Остальные параметры абсолютны.
Резкость Энтропия Т
Изображение Lncz Ggpxl RlSRGN ориг. Lncz Ggpxl RlSRGN ориг.
sample01 4.808 9.987 10.91 13.38 34.404 35.458 35.934 36.183
sample02 6.877 13.98 15.80 14.05 34.710 36.845 37.279 36.969
sample03 4.006 8.985 9.579 10.66 34.581 36.657 37.550 37.464
sample04 4.642 9.566 10.11 9.958 34.941 36.167 37.314 36.648
sample05 3.279 8.140 7.852 8.600 33.012 34.206 34.449 34.100
sample06 3.700 8.862 9.285 8.695 33.070 34.277 36.042 35.576
sample07 3.912 10.43 14.94 11.68 29.422 31.893 35.169 33.416
sample08 2.535 6.782 8.809 7.996 30.850 32.649 34.398 33.193
sample09 3.318 9.598 9.974 9.736 26.678 28.092 29.321 28.086
sample10 3.743 9.340 10.53 11.22 33.454 34.953 36.421 35.981
sample11 4.061 8.909 9.631 8.728 32.131 33.907 35.637 35.230
sample12 3.427 9.246 9.610 10.08 28.949 30.486 31.718 30.553
sample13 2.153 6.405 6.647 7.666 29.660 30.980 31.623 31.214
sample14 4.574 10.64 12.10 10.14 32.805 34.507 36.684 35.553
sample15 3.872 9.374 9.971 9.030 32.555 34.075 36.128 34.956
sample16 5.298 12.82 16.91 15.43 33.018 36.027 39.132 37.246
sample17 4.396 9.462 9.781 11.78 31.430 33.032 33.470 32.714
sample18 1.973 6.046 6.666 6.379 31.289 32.273 33.677 32.201
sample19 4.602 11.57 13.21 13.82 32.734 34.925 36.793 35.987
sample20 4.096 9.534 10.77 11.86 32.727 34.067 34.739 35.467
sample21 5.177 12.22 13.77 14.71 33.251 35.719 37.279 37.607
sample22 4.121 11.08 13.88 12.50 33.594 36.068 38.204 36.590
sample23 4.695 11.91 16.39 15.49 31.826 36.248 39.623 38.458
RealESRGAN показывает самые высокие результаты, которые иногда превосходят показатели исходного изображения.
Размер PNG VMAF
Изображение Lncz Ggpxl RlSRGN ориг. Lncz Ggpxl RlSRGN
sample01 1040909 1533964 1593418 1486472 57.8 45.1 46.8
sample02 1606323 2560961 2708832 2234673 50.5 41.0 45.6
sample03 894173 1714758 1813965 1210865 60.9 54.4 55.9
sample04 1311025 2081947 2278960 1846145 65.6 56.4 57.4
sample05 849558 1416970 1456258 1172864 68.6 63.9 63.0
sample06 452241 745710 842382 695724 68.1 65.1 66.6
sample07 482440 936809 1195696 1038522 58.3 60.0 60.9
sample08 765887 1424501 1621607 1235084 72.7 63.7 63.4
sample09 1123533 2141817 2400667 1710914 55.3 59.3 62.4
sample10 1278387 2355468 2637193 1963767 63.2 58.2 59.7
sample11 1612505 2786874 3151952 2524981 78.4 65.9 66.6
sample12 1169958 2264390 2588812 1824693 61.9 66.5 69.8
sample13 590845 1296764 1380995 903423 74.8 74.3 73.2
sample14 776364 1245854 1472989 1226939 58.6 52.0 55.2
sample15 866486 1400401 1605220 1332608 69.6 64.5 65.5
sample16 1310238 2125275 2608758 2096532 39.1 29.7 33.0
sample17 698017 1249952 1280725 937598 56.2 54.2 56.7
sample18 1732631 3292749 3752564 2892373 78.8 75.3 76.0
sample19 738134 1293668 1464700 1108550 48.2 41.9 44.7
sample20 1685835 2837290 3088802 2529888 56.9 51.4 53.6
sample21 907662 1505524 1665626 1438411 47.0 39.6 42.6
sample22 648045 1098574 1285524 1041852 56.5 49.0 53.1
sample23 2908706 4989519 6136962 5476397 45.0 36.0 37.4
Интерпретируя оценку VMAF, следует помнить, что её значительную часть формирует буквальное соответствие оригиналу, что ведёт к формальному превосходству Lancoz, так как он ничего не сочиняет от себя. Сравнивать стоит оценки RealESRGAN и Gigapixel между собой. Cреднее значение VMAF 56,92 против 55,10 подтверждает превосходство RealESRGAN.

▍ Далее проверяем режим увеличения рисованных изображений


В качестве алгоритма для сравнения был выбран Waifu, который долгое время считался стандартом. Не имею дела с рисованной анимацией, поэтому могу только эмпирически предположить, что сейчас топовым алгоритмом является Anime4k. На примерах в интернете не наблюдается значительной разницы между Anime4k и RealESRGAN, поэтому в тестировании Anime4k не используется (нет смысла устанавливать ради нескольких картинок).

Уменьшение 4x ➟ 300x200



Lancoz Waifu RealESRGAN Оригинал
На целевом типе анимации RealESRGAN проявляет себя ожидаемо превосходно, собственно поэтому будет интересно протестировать разные типы графики.

Ещё немного примеров
Уменьшение 4x ➟ 300x225




Lancoz Waifu RealESRGAN Оригинал
RealESRGAN и здесь крут. Линии четкие, цвета яркие, мыльных наплывов совсем нет. Есть проблемы с мелкими деталями, то есть из очень низкого разрешения чуда не сотворить, но из разрешения DVD уже нечто достойное получится.

Уменьшение 4x ➟ 256x379




Lancoz Waifu RealESRGAN Оригинал
Интересно, что RealESRGAN может как бы перерисовать детали за счёт знания, как это «должно выглядеть», правда, навязывая при этом свой графический стиль. Ленивый способ преобразования рисунка в коммерческую иллюстрацию?

Уменьшение 4x ➟ 203x311




Lancoz Waifu RealESRGAN Оригинал
Получилась крутая перерисовка в другом стиле. Тонкие линии, добавленные осмысленно, очень впечатляют.

Уменьшение 4x ➟ 375x211




Lancoz Waifu RealESRGAN Оригинал
Настоящая магия Deep Learning: адекватная фантазия RealESRGAN получилась детальнее оригинала.

Специально для простых смертных существует версия RealESRGAN, упакованная в один файл, которая не требует установки вспомогательных библиотек.

Ссылки под разные ОС:


Портативная версия использует модели в своём формате, в комплекте есть следующие:

  • realesrgan-x4plus (для общего применения)
  • realesrnet-x4plus (устаревшая модель для общего применения)
  • realesrgan-x4plus-anime (для рисованных изображений)

Самая мощная модель, аналогичная той, что использовалась в данном сравнении, лежит почему-то в другом месте:

  • models-DF2K — это «official ESRGAN_x4»
  • models-DF2K_JPEG — это та же модель, но способная переносить сильно сжатые JPEG. Пригодится, если на других моделях результат разваливается в мозаику.

Файлы моделей следует поместить в каталог ./models, переименовав по примеру содержимого.

Командная строка для запуска с дефолтной моделью realesrgan-x4plus:
realesrgan-ncnn-vulkan.exe -i dir_in -o dir_out -j 1:1:2

Для переключения модели нужно добавлять специальный ключ: "-n realesrgan-x4plus-anime",
"-n df2k-x4"

GFPGAN


Решение GFPGAN предназначено для восстановления детализации лиц с изображений низкого разрешения.

Существуют две модели:

  • GFPGANCleanv1-NoCE-C2 — упрощённая модель
  • GFPGANv1 — сложная модель

Сложная модель рисует настоящее лицо с фотографической точностью. У неё есть три проблемы:

  1. Требует дополнительной мороки с установкой.
  2. Не подстраивается под освещение фотографии.
  3. Почти всегда искажает цвет области вокруг лица, то есть нужно допиливать в фотошопе.

Простая модель соответственно не имеет таких проблем, но качество её работы заметно ниже.

Ради эксперимента проверим, что будет, если запустить алгоритм на хорошем разрешении.

Уменьшение 2x ➟ 512x512



GFPGAN_cl GFPGAN_v1 RealESRGAN Remini
Улучшения не только не происходит, но и есть сильная потеря деталей. Штош ????. Зато мы узнали, что можно пользоваться RealESRGAN вместо Remini, разница незначительна.

Теперь проверим: насколько малое изображение сможет восстановить алгоритм.
Ещё примерчик
Оригинал GFPGAN_v1


Похожесть на оригинал сохраняется на очень низком разрешении, соотношение 10 раз! А если хочется большего разрешения чем 512х512 (фиксированный размер на выходе генератора лиц), можно пропустить последовательно через RealESRGAN и Remini.

image

Теперь протестируем возможности восстановления лиц на чём-нибудь практически значимом.

Апскейл приводится как исходная точка. Сравнивать будем с работой MS restore, который был лучшим из открытых алгоритмов восстановления лиц.

image

RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1
Попробуем на фотопортретах середины 19 века (ОЧЕНЬ МНОГО)
А вы знали, что первое селфи было сделано в 1839 году?

image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


Все эти изображения являются дагерротипами из коллекции конгресса США, их точной датировки нет, примерная охватывает 1840-1860 гг.

image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1


image


RealESRGAN MS_restore GFPGAN_cl GFPGAN_v1



Бонусы


Для собственного удовольствия захотелось сделать цветные версии с помощью штуки из прошлой статьи. Пришлось сутки ждать пока она нагенерирует по 20 вариантов раскраски для каждой фотографии, выбирать удачные детали и стыковать в фотошопе.

Большие картинки по клику.



Ещё больше интересных картиночек




















new abraham lincoln photo color





mona lisa real face

P.S.


Так вот к чему я это всё вёл: «Легко найти выключатель, если лампочка уже горит.» (Конфуций, VI в до н.э.) Проведя достаточное количество тестов, можно смело утверждать, что оба алгоритма офигеть какие крутые (и при этом, находятся в открытом доступе).

doom guy real face

Комментарии (78)


  1. Galperin_Mark
    29.09.2021 16:59
    +3

    Статья, развивающая поднятую тему.
    А также анимация от Google Brain Team:


  1. Aquahawk
    29.09.2021 17:01

    В sample 03 совсем другая эмоция на губах. Какой-то Сильвестр Сталоне проявился. А вообще шикарная статья на тему достоверности восстановления https://habr.com/ru/post/490620/


    1. man_of_letters Автор
      29.09.2021 17:20
      +13

      image

      Вы шутите так, верно? То, что такое сильное увеличение похоже на оригинал уже чудо.


  1. Moldovich
    29.09.2021 17:04

    | На результате от RealESRGAN листья деревьев выглядят не только реалистично, но и более чётко чем в оригинале, что-то необычное.

    эмм, чётче, или вы про резкость всё же ?


    1. man_of_letters Автор
      29.09.2021 17:14
      +4

      Оригинал — это оригинальное изображение, т.е. чётче исходного изображения.


      1. Moldovich
        29.09.2021 17:20
        +1

        Да да, позже дошло, даже отредактировать успел до вашего ответа )


      1. ALF_Zetas
        29.09.2021 19:49
        +1

        банальный эффект шарпнесс


  1. dlinyj
    29.09.2021 17:04
    +3

    Потрясающее исследование, просто поражает воображение! Хабр торт.
    Хочется снять монокль и немного пошутить.

    image

    Когда немного перебрал :).

    А, вот если серьёзно, то всякие истории фильмов, когда в отражении номера видят что-то уже не кажется такой уж глупостью.

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


    1. lxsmkv
      29.09.2021 18:50
      +21

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

      И вообще вопрос, насколько изображения полученые искуственным путем могут применяться для сличения. Боюсь тут очень долго не будет нормального законодательства. Или до громких прецедентов.


      1. Thero
        30.09.2021 09:40
        +4

        в целом с плохим законодательством фантазии сотрудника полиции для вас страшнее фантазий нейросети.


      1. DWZ
        30.09.2021 23:17
        +1

        из-за того, что фантазии искуственного интеллекта случайно немного похожи на мою рожу.

        Самое интересное, что большинство людей поверит компьютеру и *в принципе* не поймёт, где здесь "ха-ха"


        1. xenon
          05.10.2021 12:22

          Причем, в принципе, в основном будут склонны верить всякие.... кхм... гуманитарии. От судьи и прокурора до постовых полицейских.


    1. Thero
      29.09.2021 20:51
      +1

      увы эта информация будет недостоверной. номерок телефона с салфетки отражённой в пуговице вы так не восстановите.


      1. lxsmkv
        29.09.2021 22:18

        нельзя тут не вспомнить фильм «Бегущий по лезвию» (1982).


      1. Tarakanator
        30.09.2021 09:10

        но вы можете восстановить информацию какого номера там точно нет. И этим очень сильно сузить список возможных вариантов номеров. И если у вас есть ещё какие-то данные про этот номер, то в итоге вполне возможно что и восстановите.


        1. Thero
          30.09.2021 09:39

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


          1. Tarakanator
            30.09.2021 09:50

            Да, но не забывайте, что чтобы получить номер, нам не нужно восстанавливть изображение цифры. Нам достаточно восстановить саму цифру.
            Если упрощая не нужно восстанавливать шрифт, которым написана эта цифра. Т.е. количество информации необходимое для восстановления номера сильно ниже, чем кажется на первый взгляд. из пары пикселей конечно не восстановить... но вот 4 пикселя на цифру может уже и достаточно.


      1. Johnneek
        30.09.2021 12:29

        номерок телефона с салфетки отражённой в пуговице вы так не восстановите.

        Зависит от качества исходного изображения.


        1. Thero
          30.09.2021 13:19

          ну если номерок в пуговице на исходном фото кое как видно без апскейла то да поможет угадывать что там написано.


      1. xenon
        05.10.2021 12:25

        Если нейросеть обучать по голливудским фильмам, то первые три цифры (555) она будет восстанавливать достаточно хорошо.

        А еще, она всегда будет знать, что на салфетке либо написан номер телефона, либо просьба о помощи, либо секретные данные, которые шпион вынужден передавать связному таким образом, но никак не каляка-маляка и не подсчет стоимости ужина в ресторане.


    1. Tarakanator
      30.09.2021 09:09

      Так тут была статья с чудесными результатами восстановления строк символов низкого качества.


    1. vsb
      30.09.2021 11:40
      +6

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

      Как я понимаю, эти апскейлы можно представить, как работу художника, которому показали размытую картинку и попросили нарисовать на её основе чёткую. Он вполне может нарисовать очень красивую картинку, но какая надпись была на размытой дощечке, он не поймёт. Зато он каждый день ходит мимо бара с похожей надписью и воспроизведёт её.

      Или другой пример - фотография человека с орденами. Апскейл вполне может поставить какой-нибудь случайный орден, похожий на исходный. Или художник, который не слишком разбирается во всём этом. Вот историк, который знает, когда эта фотография была снята, какие в то время были ордена, какие происходили события, может сделать более осознанную догадку. Но это уже не уровень текущих ИИ.


      1. czz
        30.09.2021 14:34

        Да, на примере фотографии стены каменного дома очень хорошо видно, что алгоритм придумал текстуру.


  1. dcoder_mm
    29.09.2021 17:08
    +15

    Плюс за использование HTML таблиц с маленькими жипегами, вместо неприлично больших png картинок


    1. man_of_letters Автор
      29.09.2021 17:23
      +26

      Благодарю-с, загрузить 840 картинок — это было весело


      1. dcoder_mm
        29.09.2021 17:41
        +2

        Понимаю вашу боль. У меня в посте про вертолет была всего сотня картинок, но они все были относительно крупные, и к середине поста habrastorage через раз отказывался загружать картинку из редактора (а через свой веб интерфейс отказывался с самого начала).


        1. man_of_letters Автор
          29.09.2021 17:50
          +9

          Статья была сверстана с локальными картинками.
          Потом картинки из каждой папки загружались в сторадж, ссылки сохранялись для каждой папки.
          Потом скрипт по ссылке картинки определял нужный комплект и по индексу подменял на ссылку в сторадже.
          Боль была в создании мотивации так заморочиться. Подействовал аргумент «иначе, всё поперепутаешь и будешь переделывать минимум дважды и перепроверять 10 раз»


          1. dcoder_mm
            29.09.2021 18:00

            картинки из каждой папки загружались в сторадж

            Вот на этом этапе меня ждала самая большая боль, потому что пачка в N картинок обычно переставала загружаться на 2-3.

            А вы не думали опубликовать этот скрипт?


            1. man_of_letters Автор
              29.09.2021 18:05
              +5

              И статья и скрипт живут внутри эзотерического редактора Leo Editor, код привязан к дереву статьи внутри редактора, так что никому это не пригодится)

              p.s. Очень много и подробно писал про редактор тут


            1. vvzvlad
              30.09.2021 00:42

              А он точно нашел человека, а не оригинал картинки?


  1. mSnus
    29.09.2021 17:52

    но иногда интересно косячит! из ваших же примеров, посмотрите на лица:



    странно как-то


    1. man_of_letters Автор
      29.09.2021 17:56
      +10

      image

      Господа! Те маленькие картинки в каждом примере это исходник с которого я увеличивал. Это невероятно малый размер. Лицо — это 12 на 12 точек. Потерпите еще два года, тогда будет уже чёткое лицо.


      1. lamerAlex
        29.09.2021 20:26
        +7

        тогда будет уже чёткое лицо

        Один вопрос - чьё?


        1. vvzvlad
          30.09.2021 00:06
          +3

          А какая разница? Из 150 пикселей-то?


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


  1. Thero
    30.09.2021 09:29

    такой сервис натренирован сильно в пользу лучше найти лицо там где его нет, чем пропустить там где оно есть, у апскейл сетки такой приоритет считается ошибочным, но да потенциал в улучшении определения лиц есть.


  1. TiesP
    29.09.2021 18:02

    SR3 не пробовали для сравнения?


    1. man_of_letters Автор
      29.09.2021 18:19
      +3

      1. Он закрыт
      2. Люди пилят и выкладывают свои версии, но без обучения на промышленных мощностях, это не имеет ценности для использования


  1. TheRaven
    29.09.2021 18:05
    +4

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


    1. vicsoftware
      29.09.2021 18:38
      +3

      Я бы ещё сказал, что RealESRGAN старается везде подрисовать черные границы, даже там, где их нет.


    1. man_of_letters Автор
      29.09.2021 18:55
      +1

      Ценителям конечно виднее.

      А если не ультрамаленький размер в нормальный, а нормальный в 4K?

      image


      1. RarogCmex
        30.09.2021 08:22

        Комикс в 1 Мб весом и кодировкой jpeg превращается в 80+ мегабайт png. Чуда не происходит, но качество значительно возрастает в основном за счёт удаления jpeg-шумов. Я ожидал, что будет значительно больше артефактов.


        1. man_of_letters Автор
          30.09.2021 20:28

          Несколько моделей
          Исходник -> upsc -> downsize (кроме модели x2)

          Cпойлер
          image


  1. anonymous
    00.00.0000 00:00


  1. anonymous
    00.00.0000 00:00


    1. SADKO
      30.09.2021 10:41

      Овершарп и в кадрах кино видно, а тут ИМХО самое показательное это машинки на трассе, чётко видна потеря детализации, и это плохо...


  1. drWhy
    29.09.2021 18:45
    +2

    Женщину в красном можно было просто скачать из Матрицы в виде детализированной модели.
    Остальное впечатляет — результаты, объём проведённых исследований, настойчивость и методичность при публикации.

    Повышение качества изображения ведь кроме улучшения восприятия даёт возможность улучшать степень сжатия, устраняя шумы, занимающие в сжатом изображении большую долю. Особенно велик выигрыш будет для рисованных фильмов.

    А если в видео восстановить модель заднего фона по всей сцене (газоны, дороги, стены и прочее преобразовать в «текстуры» и «градиенты»), то можно несущественный для восприятия сцены фон сжать значительно сильнее, чем с помощью традиционных алгоритмов, без существенного ухудшения качества результата.

    Контрастные же объекты на переднем фоне после восстановления формы так и просятся быть векторизованными (сразу в 3D?), тогда последующий апскейл будет неактуален.


  1. MaM
    29.09.2021 18:56

    1. man_of_letters Автор
      29.09.2021 19:39
      +4

      О, классно! Ссылка на тысячи статей про «Super resolution». Спасибо!


  1. debagger
    29.09.2021 18:57

    Интересно, как оно отработает на восстановлении видеофрагментов.


    1. Thero
      30.09.2021 09:32

      также как и все апскейлеры не учитывающие предыдущие и последующие кадры.


  1. lxsmkv
    29.09.2021 18:58

    Хотелось бы больше примеров с темнокожими, мне показалось, что он слабо справляется с темной кожей. А у африканских лиц и биометрия другая. Вообще интересно насколько маленьким должна быть фотография чтобы ИскИн начал менять биометрию африканского лица на биометрию европеоида.


    1. man_of_letters Автор
      29.09.2021 19:34
      +3

      Примеры
      image


      1. lxsmkv
        29.09.2021 21:17
        +2

        Спасибо. Мне кажется, или у лица появляются монголоидные черты?


        1. man_of_letters Автор
          30.09.2021 11:08
          +2

          Так и есть. При сильном недостатке информации алгоритм часто уходит в Азию. Разработка китайская, можно поспекулировать, что у них перекос в наборе обучения, но это мои домыслы, может это на самом деле приближение с наименьшей ошибкой.


        1. Loki3000
          30.09.2021 12:27
          +1

          Есть такое. А у Морфеуса — волосы на макушке:)


  1. Enginfury
    29.09.2021 19:09
    +3

    Все эти алгоритмы - хорошая вещь, но далеко не все справляются хорошо. Тот же Topaz Gigapixel меня не удивил, хотя я перебрал много алгоритмов. Но прогресс есть и это не может не радовать. Спасибо за статью.


  1. Shaginov
    29.09.2021 19:16
    +1

    Самая мощная модель, аналогичная той, что использовалась в данном сравнении, лежит почему-то в другом месте:
    models-DF2K — это «official ESRGAN_x4»

    Что-то у меня с этой моделью каша получается из картинки. Где бы взять модель которую Вы использовали?
    мой результат
    image


    1. man_of_letters Автор
      29.09.2021 19:36
      +3

      Ваша картинка сжата больше некоторого порога, который недоступен для программы, видно сетку сжатия, она начинает воспринимать её как информацию. Попробуйте models-DF2K_JPEG, но чуда не будет.


      1. Shaginov
        29.09.2021 21:14
        +1

        Эта картинка из архива realesrgan-ncnn-vulkan-20210901-windows.zip, на который ведёт ссылка из статьи. Конечно я пробовал и другие фото с этим модулем, результат один — такое вот крошево из кубиков. Если я использую другие модели, то всё получается хорошо (с разной степенью качества). Но мне хочется попробовать модель, которую вы использовали. Об этом и вопрос :)


        1. man_of_letters Автор
          30.09.2021 11:49

          Понятия не имею что было в голове у тех кто паковал этот exe. Но это возмутительно! Нашел исходник этой картинки, уменьшил до такого же размера. Вот.

          Спойлер
          image
          image


  1. kr12
    29.09.2021 19:54

    Как можно заметить, текстуры в тему получаются только для кожи и волос. Остальное или замазывает градиентом или крупнозернистым шумом, который на вид хуже, чем если вообще не применять. Итого: лучше, чем Topaz Gigapixel, но смысла для чего-то, кроме lineart, не вижу. Думаю даже лучше было бы, если алгоритм сложные места не трогал, а работал только по четким участкам без текстур


  1. eugeneb0
    29.09.2021 23:19

    У меня есть старая фотография куска газеты. Плёночная ещё. С очень нечётким текстом. Возьмётесь улучшить? Хочется прочесть если не текст, то хотя бы дату выпуска и заголовок.


    1. TheRaven
      29.09.2021 23:28
      +3

      Алгоритмы из статьи превратят всё в нечитаемую кашу, вам нужно смотреть в сторону deblur


      1. eugeneb0
        30.09.2021 00:12

        Собственно, примерно этого я и ожидал. Но хотелось услышать подтверждение.


        1. man_of_letters Автор
          30.09.2021 11:22
          +1

          Подтверждаю, точное восстановление информации делается другими алгоритмами.

          Попробуйте программу хабраавтора отсюда habr.com/ru/post/180393
          smartdeblur.net


  1. Arxitektor
    30.09.2021 09:42

    Будет ли работать RealESRGAN с изображениями большого разрешения ?

    Например сделать из картинка 1920*1080 изображение 3840*2160 ?


    1. man_of_letters Автор
      30.09.2021 11:14
      +1

      Собственно в этом весь смысл. Если алгоритм справляется с низким разрешением, то с высоким подавно справится. На высоких разрешениях обычно возникает загвоздка с требованиями к видеопамяти, но в
      алгоритм встроена хитрость: он может разбивать картинки на кусочки и обрабатывать их раздельно. Поэтому ничего не мешает сделать 4K.


      1. olegbask
        23.10.2021 19:29

        А алгоритм запустится на процессорах M1 Max или требует отдельного GPU? У м1 как раз 64 гига видеопамяти.


  1. PzVI
    30.09.2021 11:09

    Алгоритмы может и хороши, но перешарп итогового результата дикий. Вопрос только один. Авторы кода подслеповаты?!


  1. FedorovDimulya
    30.09.2021 15:33
    +1

    Надеюсь, сегодня усну ночью после этого



  1. krote
    01.10.2021 12:41
    +1

    Я все жду когда уровень сжатия видео дойдет до того что фильм скажем будет сжиматься в некий скрипт, где будет тайминг, описание движения объектов, их класс, движение камеры, описание эффектов и прочее. Чтобы приложив к такому фильму свой любимый набор актеров ,предметов, текстур подстроить его под себя. Хотят чернокожие фильм "властелин колец" с черными актерами - пожалуйста, а я например только с белыми, и сам выберу какой актер будет эльфом и т.п.

    Да и в принципе книгу тоже ИИ сможет когда то превращать в фильм.

    Это еще далекое будущее, но не нереальное.


    1. drWhy
      01.10.2021 13:14



      Хм. А что, технология виртуальной камеры на Аватаре и Гравитации отработана, пора в «матрёшку» добавлять потоки геометрии сцены, перемещения камер и света, физики и т.д.


  1. yupych
    25.10.2021 18:49
    +1

    Как обошлась статья про работу с изображениями без нестареющей классики?


  1. lagudal
    29.10.2021 11:00

    Кто то сам пробовал уже, действительно ли реально получить такое качество на выходе при увеличении? Сейчас очень надо как раз…


    1. man_of_letters Автор
      29.10.2021 19:02

      В статье только мои личные эксперименты.