Бюст Зевса, увеличение разрешения в 4 раза
Бюст Зевса, увеличение разрешения в 4 раза

Почти 4 года назад вашим покорным слугой была опубликована статья Увеличь это! Современное увеличение разрешения, которая набрала +376 хабролайков и 176 тысяч просмотров. Но прогресс на месте не стоит! Новые нейросетевые методы жгут! Их результаты прекрасны и великолепны. 1,5 года назад на хабре была неплохая статья Апскейл, который смог (+160), в которой были показаны плюсы новых алгоритмов.

Но всегда ли все прекрасно? Конечно нет! 

Мой любимый пример фантастических способностей нейросетевых алгоритмов выше. В шарике отражается наша лаборатория. Бюст Зевса был взят в датасет, чтобы оценить работу нейросетей с полутенями, но результат «обработки полутеней» сильно превзошел ожидания. Во-первых, мудрые голубые глаза и покрасневшие губы! Во-вторых, Зевс теперь причесан! В-третьих, его борода стала короче и тоже аккуратно подстрижена! Наконец, Зевс теперь выглядит ощутимо моложе и… человечнее! О, жители Олимпа, согласитесь, это просто божественно! 

Почему нам таки есть что сказать по теме? За последние годы мы создали 3 бенчмарка Video Super-Resolution под разные кейсы использования, которые на данный момент занимают первые 3 (из 14) места в соответствующем разделе на сайте paperswithcode.com. Кроме того, в наши бенчмарки входят коммерческие апскейлеры (что редкость!): 

Подобная деятельность безмерно актуальна, поскольку если 4 года назад на GitHub было меньше 200 репозиториев Super-Resolution, то сейчас их там больше 900 и разобраться в этом море исходников стало совсем непросто.

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

Кому интересно посмотреть, какие забавные косяки бывают у новых алгоритмов, а также как выглядят наилучшие результаты, которые даже меня, занимающегося темой 14+ лет, удивляют — добро пожаловать под кат (много картинок и букв)! 

Поехали!

Краткое содержание предыдущих серий

Если кратко пересказать начало прошлой статьи, то алгоритмы Super-Resolution (SR) делятся на улучшающие результат визуально («сделай мне красиво») и восстанавливающие информацию:

Когда мы работаем с видео, то есть возможность восстановить разрешение, взяв информацию с прошлых или следующих кадров. Но сделать это алгоритмически намного сложнее, поэтому более 90% алгоритмов заняты именно бьютификацией, то есть пытаются не «восстановить», а «догадаться», что было изображено в этом месте (сюда относятся, например, все алгоритмы Image Super-Resolution). Иногда это получается хорошо, иногда нет. Процент успешных случаев каждый год растет. Заметим, что именно прогресс в «угадывании» текстуры в прошлом году помог выстрелить нашумевшим DALL-E 2, Stable Diffusion и Midjourney, поскольку по ресурсам намного эффективнее оказалось генерировать из промпта картинку 512×512 и дальше повышать ее разрешение вариациями на тему SR, чем сразу пытаться генерировать картинку большого разрешения.

Автора, впрочем, интересуют больше восстанавливающие SR, и в первую очередь работающие достаточно быстро (то есть практические). Один из подходов тут — накапливать качественный кадр высокого разрешения, каждый раз используя следующий кадр низкого разрешения для уточнения. Ключевыми при этом являются точная процедура оценки движения (motion estimation) и собственно функция синтеза нового High Resolution кадра по Low Resolution и старому High Resolution. 14 лет назад моим студентом Кареном Симоняном был создан довольно удачный алгоритм на эту тему (см. Fast video super-resolution via classification), а позднее Карен закончил аспирантуру в Англии, где придумал архитектуру VGG, работал в Google DeepMind, а сейчас Chief Scientist в Inflection.AI. Вот так звездно складывается судьба тех, кто рано успешно займется Super-Resolution, говорю я студентам…

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

По вертикальной оси тут субъективное качество, то есть оценка людьми. По горизонтали — время в логарифмической шкале. Крайние слева быстрее крайних справа больше чем в 1000 раз. При этом обычно развитие идет через взятие новых планок качества, за счет усложнения архитектуры и кардинального падения скорости. С дальнейшим серьезным ускорением, уже за счет небольшого падения качества. И так по кругу. На графике хорошо видно, что хотя самый быстрый алгоритм (пока) Image SR, все остальные алгоритмы на парето-оптимальном фронте — Video SR, более того — большинство из них свежие (хотя график строился прошлой весной). И потенциал их развития, что по качеству, что по ускорению далеко не исчерпан.

Также напомню, что сегодня алгоритмы Video Super-Resolution добрались уже до фотографий на смартфонах. Еще в прошлой статье я описывал, как Google Pixel 3 из пачки кадров восстанавливает кадр с большим разрешением. Вы с рук снимаете фото, а на самом деле в буфер кладется несколько кадров в RAW (по сути — видео), и из них смартфон восстанавливает кадр большего разрешения с большим количеством реальных деталей. Этот цифровой зум нового поколения сегодня повторили многие флагманские смартфоны.

Но еще перспективнее ситуация с телевизорами. Количество 4K экранов растет на глазах. Еще в 2019 году их доля в продажах новых телевизоров по миру превысила 50% (!) и продолжает расти. Более того, давно не проблема купить 8К экран. Вот предложения от 150 тыс. руб. на маркете, озоне и далее по списку. Сегодня если покупается умный телевизор, то он обязан быть минимум 4K (эта характеристика востребована более, чем HDR или любая другая характеристика): 

И их покупатели таки хотят смотреть на них картинку в высоком разрешении, а не это ваше жалкое замыленное древнее 2K (про типичное вещание в 480р некоторых онлайн-кинотеатров деликатно промолчим)! 

Все вышеизложенное создает огромный спрос на Super-Resolution как со стороны компаний, так и со стороны обычных пользователей. И, казалось, 900+ репозиториев GitHub должны решить все проблемы! Берешь репозиторий с самым большим числом звезд, заводишь у себя на компе (с хорошей GPU карточкой, которая почему-то есть не у всех) и радуешься прогрессу. Ведь так? Сейчас увидим!

Ключевое этой части:

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

  • Сегодня даже при съемке фотографии смартфоном все чаще используется восстанавливающий Video Super-Resolution, но основной спрос на такие алгоритмы придет с массовым распространением 4K и 8K телевизоров. И это произойдет в ближайшие годы на наших глазах.

Артефакты Super-Resolution

Если посмотреть репозитории и свежие статьи, то хорошо видно, что основной фокус сегодня сместился с алгоритмов, увеличивающих разрешение в 2 раза (2х), к увеличивающим разрешение в 4 раза (4х), ибо разрешение телевизоров растет и нужно из FullHD делать 8K:

То есть в новой картинке у нас не 3 из 4 пикселей интерполированы, а 15 из 16, что заметно сложнее. Происходит так потому, что почти всегда, если просто 2 раза последовательно применить алгоритм увеличения 2х, результат будет заметно хуже, чем применение 4х за один раз. Но артефактов у 4х хватает. Зато если подход дает меньше артефактов на 4х, то, как правило, его работа на 2х очень хороша, то есть отлаживать алгоритмы таким образом оказывается проще.

Изменение текстов

Хуже всего пока SR даются тексты. Ниже художества от Real-ESRGAN (на секундочку 17 тысяч звезд гитхаба, 3-е место среди всех SR репозиториев, а учитывая акцент первого места на лица, а второго на анимацию — это первый по звездам репозиторий среди универсальных):

Bicubic vs Real-ESRGAN: хорошо видно, что у бикубика читаемость цифр и текста выше
Bicubic vs Real-ESRGAN: хорошо видно, что у бикубика читаемость цифр и текста выше

Наиболее неприятна на практике проблема с автомобильными номерами, когда 6 превращается в 8, или 8 — в 0 даже у лучших алгоритмов. А видео с дешевого китайского видеорегистратора (с дешевой матрицей, объективом и выкрученным до безобразия сжатием) люди хотят восстановить довольно часто.

DISCLAIMER: ЕСЛИ У ВАС ВОЗНИКНЕТ МЫСЛЬ ПРИСЛАТЬ НАМ ВИДЕО НА ВОССТАНОВЛЕНИЕ НОМЕРА ИЛИ ЛИЦА — ПОЖАЛУЙСТА, СНАЧАЛА ВНИМАТЕЛЬНО ПОЛНОСТЬЮ ПРОЧИТАЙТЕ ПРОШЛУЮ СТАТЬЮ! 

Ниже пример, как восстанавливают российские номера разные SR (GT — это исходная картинка):

Фрагмент российского номера в бенчмарке MSU Video Super-Resolution Benchmark: Detail Restoration
Фрагмент российского номера в бенчмарке MSU Video Super-Resolution Benchmark: Detail Restoration

Хорошо видно, что есть довольно удачные реализации, есть ужасные. Сортировка — по нашей метрике ERQA (Edge Restoration Quality Assessment — ссылка на исходники). Вариации звездного и хайпового Real-ESRGAN (который на других кейсах работает неплохо) прочно обосновались в конце списка.

А это для разнообразия — китайские автомобильные номера (также отсортированные по ERQA):

Фрагмент китайского номера в бенчмарке
Фрагмент китайского номера в бенчмарке

Интересно, что лидеры несколько поменялись, но эпичных примеров (в том числе от Real-ESRGAN) хватает. Обратите внимание, что весь низ списка на этом примере занимает «второй по звездочкам» SR с GitHub waifu2x (которого на данном примере специально погоняли с разными параметрами). Количество звезд, как хорошо видно из этих примеров, не означает пристойной работы алгоритма в вашем кейсе.

Особенно сильно страдают иероглифы, поскольку в одном символе там намного больше деталей (плата за большую компактность текстов), которые часто могут сильно убиваться при применении Super-Resolution:

И снова большой привет от Real-ESRGAN
И снова большой привет от Real-ESRGAN

Изменение текстур

Другая распространенная проблема SR — это изменение текстур. Ниже пример, на котором на относительно шумном видео часть кожи на лице бабушки алгоритм превратил в некий кусок бороды (если у бабушки борода, это уже не бабушка, а дедушка, но нейросеть этого пока «не знает» и добавила волосы даже на губу):

И опять звездный Real-ESRGAN
И опять звездный Real-ESRGAN

 А тут зубы молодого человека стали золотыми. В середине прошлого века это было модно, кстати:

Приключения с RealBasicVSR 
Приключения с RealBasicVSR 

А вот пример, который мне очень нравится. В оригинале была кирпичная стена, и в увеличенном изображении… тоже кирпичная стена! И это, безусловно, фантастический успех нейросетей в «понимании» характера текстур. Есть маленькое «но» — размер кирпичей стал примерно в 3 раза меньше, и идут они существенно менее ровно (кстати, мелкая кирпичная кладка «проявилась» и на светлой колонне рядом, происходит «сползание» текстуры):

Это опять наш любимый Real-ESRGAN
Это опять наш любимый Real-ESRGAN

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

Бывают забавные примеры и у коммерческого софта. Например, был грустный жираф со вполне себе аутентичными пятнами, а после увеличения его голова словно сделана из пластика. Опять немного изменилась текстура материала, но для человека это очень заметно и критично: 

Коммерческий Topaz Video Enhance AI AMQS 1
Коммерческий Topaz Video Enhance AI AMQS 1

Подобные артефакты крайне нетривиально автоматически ловить. Визуально проблема хорошо видна, и если немного изменить параметры или метод (которых в том же Topaz очень много), то проблема уходит. Но хотелось бы все это делать автоматически, а не оч умелыми ручками. Пока это сложно. Работаем над этим.

Неравномерная резкость

Еще одна проблема, весьма характерная для Super-Resolution, — это неравномерное увеличение резкости объектов заднего плана. Особенно актуально это для фильмов, где съемка с малой ГРИП (глубиной резко изображаемого пространства) — базовый прием. А SR может из своих высших соображений внезапно сделать отдельные фрагменты дальше расположенных объектов резкими, сохраняя размытыми ближе расположенные объекты: 

Наш пока еще горячо любимый Real-ESRGAN
Наш пока еще горячо любимый Real-ESRGAN

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

Для разнообразия SwinIR (то, что девушка стала резче — хорошо, но дальние окна испорчены)
Для разнообразия SwinIR (то, что девушка стала резче — хорошо, но дальние окна испорчены)

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

Добавление и искажение объектов

Отдельная интересная тема, когда сеточке что-то там «показалось» и она добавляет объект в сцену или искажает его. Например, у девушки ниже были довольно крупные ресницы (накладные?), которые самый залайканный SR на GitHub на сегодня мало того, что превратил в оправу очков, так еще и добавил в глаз еще одно лицо. Что характерно — тоже в очках: 

Работа с лицами очень неплохого GFPGAN
Работа с лицами очень неплохого GFPGAN

Или вот в глаз младенца алгоритм лицо добавил. И опять в очках! Это уже тенденция, как вы понимаете (не поворачивайтесь боком к этой нейросети!):

И это лучший GFPGAN!
И это лучший GFPGAN!

Но это не все проблемы с самым лучшим (по звездам) алгоритмом. Например, ниже он превратил палочку в длинный-длинный зуб (еще один с другой стороны и будет вампир!):

Оригинал, бикубик и GFPGAN
Оригинал, бикубик и GFPGAN

Но и это не самое веселое! Если присмотреться — молодой человек изначально вполне себе европейской внешности после SR стал… немного азиатом (хорошо видно по глазам). А вот не надо было щуриться! Эту сеть обучила и выложила в открытый доступ китайская компания Tencent, поэтому неудивительно, что в обучающей выборке могло быть некоторое (скажем вежливо) смещение национального состава, но в любом случае уже можно предсказывать, что на 8К телевизорах использование этого алгоритма приведет к тому, что герои вашего любимого сериала станут (иногда!) чуть более китайскими. А если загрузить другие веса, то наоборот — чуть более европейскими. В общем — для кого-то бага, а для кого-то новая бизнес-ниша и уникальная опция Super-Smart-AI-TV 2030! С большой вероятностью пересматривать любимые старые дорамы, щелкая пресетами на 16К экранах, через 10 лет может оказаться весьма занятным развлечением! Откроется много новых деталей!

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

Картинки, приведенные выше, взяты из нашего создаваемого сейчас датасета артефактов Super-Resolution. Его цели:

  • Поиск контента наиболее сложного для современных SR.

  • Более глубокий анализ плюсов и минусов текущих алгоритмов SR (сразу проверять их на сложных примерах).

  • Создание базы для обучения новых метрик качества SR.

  • Создание максимально автоматического pipeline для конвертации материалов в 8K на базе имеющихся алгоритмов (со всеми их недостатками).

Ниже показан пример автоматической разметки артефакта (подсказка зоркому глазу):

Плохо заметный без подсказки баг и тепловая карта метрики
Плохо заметный без подсказки баг и тепловая карта метрики

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

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

Ключевое этой части:

  • Прогресс алгоритмов Super-Resolution за последние 3 года колоссальный, однако идеального алгоритма нет и в ближайшие годы точно не будет. 

  • Более того, артефакты новых алгоритмов становятся все более изощренными и сложными в обнаружении (одни «более китайские» лица чего стоят!). Выше были показаны существенные проблемы у всех алгоритмов из TOP-3 по звездам на GitHub в топике SR.

  • Параллельно с совершенствованием алгоритмов сейчас совершенствуются метрики артефактов, что позволит в относительно короткой перспективе заметно повысить качество полностью автоматического увеличения разрешения.

  • Мы опубликовали сравнительно простую метрику Edge Restoration Quality Assessment (just run pip install erqa) и сейчас работаем над более сложными и интересными метриками. Желающие поучаствовать в создании и использовании датасета артефактов SR — you are warmly welcome! 

Наши бенчмарки Super-Resolution

Я довольно регулярно рассказываю, по каким причинам средняя эффективность научных исследований оставляет желать лучшего (наука живет в своей башне из слоновой кости). В очередной раз проиллюстрируем тему на примере бенчмарков. Пальцем некультурно показывать не будем, но многие бенчмарки построены на открытых датасетах. Ведь открытость — это всегда хорошо и благо, согласитесь! Из плюсов:

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

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

  • Цитирование такого бенчмарка и его лидерборд растут весьма быстрыми темпами. А цитирование в современном научном мире — это главное. Снова профит!

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

Дальше кто-то говорит: «Да это уже полное безобразие (с воспроизводимостью), мы тут новый датасет собрали, посмотрите, на нем совсем другие алгоритмы в топе!» Так рождается N+1 бенчмарк (верно для любого N), естественно также открытый, и история повторяется. При этом выбирать лучшие алгоритмы все равно можно, но для этого надо искать методы, которые более-менее высоко (но не в топе) на нескольких бенчмарках. Иногда, бывает, приходит компания и финансирует создание бенчмарка с закрытым датасетом. Он менее выгоден ученым (и цитирование растет медленнее, и алгоритмы нужно тяжело и мучительно прогонять самостоятельно). Но в итоге (на какое-то время) удается понять, кто реально работает.

Так вот, нами как людьми, которым не нужны цитирования, работающими в основном с компаниями, создано 3 бенчмарка разных кейсов Video SR на закрытых датасетах. Правда Low Quality данные открыты, что облегчает сабмиты (и заточку, поэтому с получением финансирования планируем полностью закрытые треки для лидеров), и нам удается держаться в топе категории Video Super-Resolution среди 16 бенчмарков. Каждый из этих бенчмарков достоин отдельной статьи, я считаю, но более интересные результаты там будут при увеличении числа методов в лидерборде. Поэтому пообещаем написать про них отдельные статьи, когда у первого будет 100, второго 150, а у третьего 250 строчек в лидерборде. А пока кратко расскажем, о чем они и почему в них разное число строк.

Video Super-Resolution Benchmark: Detail Restoration

Данный бенчмарк сравнивает алгоритмы на датасете, снятом на физическом стенде со следующими разделами: 

  • “Board” — с разными текстурами, в том числе лицами.

  • “Car numbers" — с номерами машин разных стран.

  • “Noise” — шаблон псевдослучайного шума для анализа близости алгоритмов, анализируемых методом черного ящика. 

  • “QR" — для анализа, насколько убиваются QR коды (а они, как правило, убиваются).

  • “Text" — для анализа, как выживают шрифты, иероглифы и рукописный шрифт.

  • “Mira" — для анализа заточки алгоритма под миры.

  • “Metal paper" — для анализа работы с реальным шумом.

  • “Color lines" — для анализа искажений цветов.

Это разные виды анализа, которые в совокупности могут много интересного поведать о конкретных характеристиках SR.

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

Из интересного — мы (пусть с задержкой) прогоняем лучшие алгоритмы сами, чтобы получить скорость, и прогоняем через субъективное сравнение (то есть через оценку людьми), поэтому можно строить такие интересные графики соотношения скорости к качеству, в том числе на отдельных частях бенчмарка:

Video Upscalers Benchmark: Quality Enhancement

Этот бенчмарк менее академичен и активно сравнивает на разном контенте коммерческие апскейлеры, в том числе: 

  • Adobe Lightroom Super-Resolution

  • Davinci Resolve Super Scale

  • Topaz Gigapixel

Сравнение идет в 4 треках: увеличение в 2 и в 4 раза, а также съемка и анимация (каждый вариант с каждым). Для лучших методов также прогоняется субъективное сравнение. 

Обратите внимание ниже, что на некоторых клипах новые SR обгоняют исходные видео по субъективным результатам (оценка людьми) даже при масштабировании в 4 раза. И так происходит не один раз!

Там же легко сравнить клипы визуально и понять, почему люди так оценивают SR вслепую:

Первые впечатляющие результаты у алгоритмов SR были на анимации/мультфильмах/аниме и многие методы специально на них ориентируются. Поэтому в бенчмарке есть отдельный трек для них. Хорошо видно, что Bicubic для увеличения разрешения анимации сегодня — это однозначно выбор неудачников:

Всего в бенчмарке сейчас 42 метода. Вы можете помочь нарастить их число, сделав свой сабмит так же, как в предыдущем бенчмарке.

Super-Resolution for Video Compression

Ну и, наконец, в каком-то смысле профессиональный бенчмарк — это измерение качества работы SR в зависимости от использования разных алгоритмов сжатия

Для максимизации качества увеличения разрешения критичны так называемые высокие частоты в кадре. При этом не секрет, что именно высокие частоты наиболее страдают при сжатии. Как следствие, алгоритм, который демонстрирует великолепные результаты на RAW, может очень сильно провалиться, когда ему на вход придет обычное видео с YouTube. Более того, выясняется, что небезразлично, каким именно стандартом был сжат поток. И чем более свежий стандарт (и лучше он сжимает), тем относительно хуже показывают себя алгоритмы увеличения разрешения.

Глобально это означает, что для ваших любимых 8К телевизоров и заметно сжатого контента необходимо использовать другие алгоритмы и (по крайней мере пока) подбирать алгоритм в зависимости от контента и кодека.

В данный момент в бенчмарке представлены стандарты H.264 (AVC), H.265 (HEVC), H.266 (VVC), AV1 и китайский AVS3. По сути это основной набор, претендующий на лидерство в ближайшие 10 лет, после ухода на заслуженную пенсию H.264. 

Существенное отличие этого бенчмарка заключается в том, что в силу заметной разницы в результатах SR между стандартами сжатия видео приходится прогонять пары SR+Codec. Всего сейчас прогнано 87 пар и видно, что для x264, x265 и AVS3 наилучший результат показал RealSR (в первую очередь для «убитых» низким битрейтом видео), для VVC — COMISR, а для AV1 — SwinIR. В таблице ниже приведены значения BSQ-rate (Bitrate-for-the-Same-Quality), поэтому чем ниже значение в таблице, тем лучше и все значения в единой шкале:

Значения BSQ-rate для каждой метрики, сортировка по субъективному качеству
Значения BSQ-rate для каждой метрики, сортировка по субъективному качеству

Из-за вычислительной и финансовой сложности результатов с субъективными сравнениями в бенчмарке не так много, поэтому это своего рода скоринг и отладка методики, которые позволят в дальнейшем в большем масштабе (скорее всего на деньги какой-то компании) сделать более серьезное исследование. Но уже сейчас интересно посмотреть, как некоторые SR весьма неплохо отрабатывают с x264. На примере ниже коммерческий Topaz (пресет ahq-11) + low resolution x264 отрабатывает заметно более качественно, чем «чистый» x264, да и RealSR хорош:

В данной работе, пожалуй, сильнее всего проявились недостатки «старых» метрик, когда в некоторых случаях их коэффициенты корреляции с субъективной метрикой ушли в отрицательные значения (чем лучше качество согласно метрике, тем хуже результат!):

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

В рамках этого бенчмарка у нас в свое время был выпущен отчет на 80 страниц который дает представление о том, сколько в этой теме тонких моментов. Пока результат можно сформулировать так: создание SR специально ориентированных на работу в паре с кодеком имеет смысл и даст ощутимый прирост качества результата, особенно на устройствах с высоким разрешением, но поле это на данный момент почти не паханное. Специально акцентирую для желающих восстановить лицо или номер на сильно сжатой последовательности — это ваш кейс. И работы здесь до годного результата еще очень много.

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

Ключевое этой части:

  • Быстрый рост числа репозиториев и невозможность воспроизвести результаты многих SOTA алгоритмов на наших данных спровоцировали нас на создание трех бенчмарков с разными датасетами и анализом кейсов практического применения SR.

  • Выше дан смысл бенчмарков, дальше можно идти на их страницы и смотреть конкретику. Помните, что если вам не хватает методов, то вы можете помочь, сделав сабмит понравившегося вам метода. Во-первых, вы увидите его на графиках, а во-вторых, если метод будет хорош, мы сделаем для него субъективное сравнение.

Измерение качества Super-Resolution

В комментариях обязательно найдутся профессиональные фотографы, которые возведут очи к небу и скажут что-то типа: «зачем выдумывать что-то новое, ведь уже два века ЕСТЬ МИРЫ!» Спорить с этим очень сложно. Миры действительно существуют давно, и деды наши их использовали, и прадеды для оценки объективов фотоаппаратов, потери резкости телевизионного сигнала и так далее. Если кратко, то это специальная картинка, по которой (с поправкой на муар) с момента слияния различимых линий в единый серый можно судить о разрешении:

Про миры мы, конечно, знаем (см. описание первого бенчмарка). Но в новой чудной нейросетевой реальности с ними есть одно маленькое-маленькое «НО». Как показывает опыт, даже способностей третьекурсника хватает, чтобы добавить миры в обучающую выборку и резко улучшить результат SR. Ниже пруф:

Сверху исходный Real-ESRGAN, снизу — дообученный третьекурсником (картинка кликается, смотреть в исходном разрешении)
Сверху исходный Real-ESRGAN, снизу — дообученный третьекурсником (картинка кликается, смотреть в исходном разрешении)

Поэтому результат на мирах для нейросетевых методов показывает только наличие чего‑то похожего в обучающей выборке (заметим, что это мы еще не использовали нагло ту же картинку для обучения). Оптиков может немного смутить, конечно, что поменялось направление косых линий между 7 и 8. Но у исходного Real‑ESRGAN изменения направления линий было намного больше! Можно надеяться и верить, что авторы алгоритма ничего такого в выборку не подмешали. Это очень профессиональный религиозный подход (поскольку основан на вере). Здравствуй, вычислительная фотография!

Именно из‑за возможности легко добавить в обучающий датасет миры измерение на них потеряло практический смысл. Понятно, что остаются еще всякие ухищрения, типа забора из датасета Kodak (тот случай, когда компании уже почти нет, а забор еще остался):

Но, к сожалению, если в обучающей выборке были похожие картинки, то заборы, лестницы, ряды окон небоскребов и другие подобные паттерны будут обрабатываться выше среднего, что на резкости остальных деталей практически не скажется… Вот такая печаль!

В свое время мы проанализировали почти 400 статей по SR на предмет используемых метрик и хорошо видно, что в большинстве статей до сих пор используется PSNR:

На картинке ниже видно, что 99% людей считает, что левая картинка лучше, а PSNR считает, что правая лучше, причем значительно:

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

Если внимательно посмотреть на график в начале этой части, можно увидеть там рост популярности метрики LPIPS для измерения качества SR. Метрика неплохая, дифференцируемая (то есть может быть поставлена в loss), но… как выяснилось, она взламывается (можно существенно увеличить результат, не улучшая алгоритма, подробнее про взлом метрик рассказано тут). Вот пример накрутки метрики в 10 раз:

LPIPS, взломанный с сохранением других метрик (что сложнее)
LPIPS, взломанный с сохранением других метрик (что сложнее)

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

Профессионалы знают, что у реального объектива резкость в разных частях кадра разная (идеальных объективов не бывает), но разница не слишком велика. У вычислительной фотографии (в виде Super-Resolution) резкость в кадре может существенно (в разы!!!) отличаться, причем зависит она:

  • От контрастности краев текстуры в конкретном месте.

  • От характера движения и размера объекта («крупный, движущийся параллельно» — одно, «маленький вращающийся» — другое).

  • От того, насколько хорошо этот объект виден в прошлых (а для продвинутых методов и в следующих) кадрах…

Поэтому резкость разных объектов после повышения разрешения может заметно отличаться, даже если в исходном видео у них резкость была одинакова… Вот такое оно заковыристое — качество цифрового зума ближайшего будущего! 

Ключевое этой части:

  • Старые добрые метрики умирают на новых методах SR.

  • Миры измеряют по сути свое присутствие в обучающей выборке.

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

Свежие результаты 

Я обещал рассказать о развитии SR. И вообще… Выше мы много раз показали, как ломается столь любимый многими Real-ESRGAN. «Ломать-то каждый может,» — скажет дотошный читатель, — «а вот строить вы могете?» Вежливо замечу, что мы ломали исключительно в конструктивных целях, которые будучи доведены до результата, заметно поспособствуют его улучшению. И если бы таких ломающих было больше, то оно (в ваших руках!) ломалось бы заметно меньше. Впрочем, со строительством тоже есть, о чем рассказать. Сейчас 99% методов SR обучаются на синтетических данных (картинки тупо уменьшены бикубиком), что не соответствует реальным данным на пиксельном уровне. Мы занялись этой темой еще год назад, но как это часто бывает в быстро развивающихся областях, вскоре обнаружили статью китайцев, которые (хорошо видно, что по-быстрому) уже проделали эту работу и получили вполне неплохой результат. Мы воспроизвели их результат на других SR, а потом улучшили (о чем ниже):

В левом столбце исходное изображение (низкого разрешения), посередине — исходный Real-ESRGAN, справа — дообученный
В левом столбце исходное изображение (низкого разрешения), посередине — исходный Real-ESRGAN, справа — дообученный

Ниже приведен пример, в котором RCAN SR и бедняга Real-ESRGAN весьма заметно улучшаются дополнительной тренировкой:

В первой строке: исходный RCAN, исходный Real-ESRGAN
Во второй строке дообученный RCAN, дообученный Real-ESRGAN
В первой строке: исходный RCAN, исходный Real-ESRGAN Во второй строке дообученный RCAN, дообученный Real-ESRGAN

Интересно, что составить датасет из данных, реально снятых в разных разрешениях, непросто, и это может приводить к проблемам, хорошо известным нам по работе со стерео (поскольку расположить камеры в одном месте вы не можете, и у вас для двух камер по определению будет стерео), а именно:

Эти вещи можно поправить, например, в этом примере контрастность Low Resolution фрагмента приведена к High Resolution:

И если таким образом «почистить» датасет, то можно добиться заметного улучшения результата, причем заметим, что это опять Real-ESRGAN (результат пока не опубликован, поэтому без деталей, но характер артефакта и его исправление в том же направлении, в котором исправлен датасет, хорошо видны):

В левом столбце исходный Real-ESRGAN, в среднем — дообученный на исходном датасете, справа — дообученный на «почищенном» датасете
В левом столбце исходный Real-ESRGAN, в среднем — дообученный на исходном датасете, справа — дообученный на «почищенном» датасете

Более того, мы только недавно с приключениями создавали датасет для нового бенчмарка расфокуса, в котором благодаря бим-сплиттеру из фигни и палок полупрозрачного зеркала (купленного на Авито) и материалов со строительного рынка две камеры одновременно снимали сцену из одной точки. Камеры брали в аренду на 3 дня и, несмотря на месяцы подготовки, потребовалось 2 почти бессонные ночи чтобы не зафейлить съемку… Ниже фото девайса. Синяя изолента в кадр не попала, но поверьте, она выполняет ключевую несущую роль и без нее конструкция не работала как положено: 

Данные с этих камер пришлось исправлять по геометрии и цвету:

Сверху разница потоков без исправлений, с исправленной геометрией, исправленным цветом (чем темнее, тем лучше) и сам фрагмент теста
Сверху разница потоков без исправлений, с исправленной геометрией, исправленным цветом (чем темнее, тем лучше) и сам фрагмент теста

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

Также я обещал рассказать о новых результатах, которые меня, воробья стреляного, поразили. Обычно раньше речь шла о реальном повышении разрешения в 2 раза. Изредка больше 2 раз. Сейчас можно констатировать следующий скачок. Оцените, как улучшается читаемость текста мелким шрифтом (скоро в макросъемке каждого смартфона!): 

На примере ниже хорошо видно, что это именно восстановление из нескольких кадров (в данном случае 14). Никакой интерполяцией подобного результата не получить, поскольку повышение разрешения тут примерно в 4 раза:

Обратите внимание, как у кремлевской башни, во‑первых, проявились «шишечки» на крыше (их практически не было на low resolution кадрах), а во‑вторых, стали видны балясины (белые ограждения внизу фото)! Более того, ясно видно, что у них неодинаковая толщина по вертикали.

Если присмотреться к башне ниже, то тоже видно заметное увеличение числа деталей (окна, украшения стен):

Такой фокус достигается за счет того же приема, что и у Google Pixel 3, то есть идет обработка именно RAW данных. Если обрабатывать интерполированный RGB, результат будет заметно хуже. Это означает, что завтра смартфоны (с их небольшими объективами, но довольно мощными процессорами) еще сильнее приблизятся по качеству к фотоаппаратам (с заметно большим размером объектива и матрицы).

Интересно, что даже тряска не сильно влияет, и можно восстанавливать разрешение в том числе и для фотографий с дронов:

Увеличение разрешения хорошо видно по фарам, колесам, ручкам дверей, надписи «NO PARKING», и, главное, порогам дверей
Увеличение разрешения хорошо видно по фарам, колесам, ручкам дверей, надписи «NO PARKING», и, главное, порогам дверей

Чтобы охладить пыл сразу замечу, что это прототип — когда демонстрируется, чего в принципе можно достичь. При этом достаточно поменять формат RAW, как все рассыпается (фотографы знают, что таких форматов море, причем различается не только то, как мы положили субпиксели в файл, но и их физическое расположение в матрице, что в данном случае критично), и нам нужно как минимум дообучать алгоритм на данных с другого сенсора. В этом разница между ML/DL и классическими подходами: ML/DL позволяет больше «выжать» из данных (в том числе неявно используя тонкие зависимости, которые очень сложно учесть аналитически), но при изменении характера данных (например, у нас физически другой сенсор) объем работ по переделке значителен. И далее все нужно превращать в продукт, т. е. оптимизировать код, добиться того, чтобы он перестал падать, и прочие радости жизни программистов (от которых заказчик хочет всего и вчера, но так почему‑то не работает). В любом случае это решаемо, и прогресс впечатляет.

С массовым уходом вычислительной фотографии в широкие народные массы также возникает задача определения — это реальное фото, или Super‑Resolution, причем желательно понимать — делающий красиво или восстанавливающий. Задача эта, как показала практика, намного сложнее, чем кажется. Иногда по некоторым текстурам можно с большой уверенностью сказать, что это было цифровое увеличение с использованием SR. А иногда понять это крайне сложно. Например, на этой картинке показана тепловая карта блоков, которые с большой вероятностью (с точки зрения детектора) были увеличены с использованием Super‑Resolution (и это действительно так):

Более прагматичная задача — определить исходное разрешение видео, пожалуй еще сложнее. Как я писал выше, разрешение SR динамическое и может меняться как от сцены к сцене, так и быть неравномерным внутри кадра. Так что здесь нам еще много открытий предстоит!

Ключевое этой части:

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

  • Новые методы SR успешно увеличивают разрешение в 4 раза ВОССТАНОВЛЕНИЕМ исходных деталей. Можно штурмовать следующие более сложные рубежи — увеличение восстановлением в 8 раз!

  • Определять реальное разрешение исходных данных в ближайшем будущем станет значительно сложнее.

Ну и выводы по статье в целом:

  • Новые метрики произведут революцию. Сейчас очевидно, что можно еще поднять качество, если научиться лучше его измерять. Даже с теми же самыми архитектурами и алгоритмами. Серьезный challenge на ближайшие годы — детектирование и уменьшение новых видов артефактов (изменение текстур, добавление объектов и так далее). Это можно делать за счет совершенствования алгоритмов и увеличения обучающих выборок, но результат это в ближайшее время гарантировать не может. Поможет детекция и, возможно… опять GAN архитектура.

  • Увеличение разрешения до 8К станет базовым, начнутся работы с 16К. Если посмотреть, то работы по 8x Super-Resolution уже довольно много. Для узких кейсов, типа электронной микроскопии, работы вообще давно идут. Для случая универсальных данных работы только начинаются, но уже понятно, что они будут и актуальны, и весьма перспективны (поскольку те же результаты 4х помогут ощутимо улучшить).

  • Китай захватит мир. Ну и традиционно хочу обратить внимание на то, что творят эти проклятые китайцы. Если посмотреть топ репозиториев гитхаба по SR, то мы видим:

    1. GFPGAN, Tencent PCG Applied Research Center, Китай

    2. waifu2x, на основе статьи The Chinese University of Hong Kong, Китай

    3. Real-ESRGAN, Shenzhen Institutes of Advanced Technology, Китай

    4. Anime4K, оболочка, включающая предыдущие два метода, свой метод и FSRCNNX The Chinese University of Hong Kong, Китай, разработчик из Канады

    5. PaddleGAN — библиотека, включающая в себя много методов, разрабатывается в Китае

    6. video2x — библиотека нескольких методов, разрабатывается китайцем из Торонто, поэтому гордо пишем Канада

    7. BasicSR — библиотека нескольких методов, разрабатывается в Китае

У нас недавно тоже появились гранты типа «Код ИИ» фонда Бортника для поддержки опенсорсных проектов, но масштаб результатов несопоставим (даже если пересчитать с учетом разницы населения). Не устаю повторять, что на 1 рубль, который наше государство дает на науку, наши компании дают 50 копеек, а на 1 юань, который китайское государство дает на науку, китайские компании дают 4 юаня. Относительная разница в 8 раз принципиально меняет практическую направленность китайской науки.

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

Надеюсь порадовать вас продолжением этой увлекательной истории раньше, чем через 4 года. И сейчас тот редкий случай, когда любой человек, запускающий SR с GitHub может помочь ускорить этот момент! 

Stay tuned! )

Также можно почитать:

Благодарности

В этой статье только 3 картинки из 44 подготовлены не нами, за что хотелось бы сердечно поблагодарить:

  • в первую очередь своих коллег Евгения Богатырева, Николая Каретина, Анастасию Кириллову, Евгения Ляпустина, Егора Кашкарова, Ивана Молодецких, Никиту Алутиса, Вячеслава Мещанинова, Егора Чистова, Карена Симоняна за проведение работ в данной области, чьи результаты нашли отражение в этой статье,

  • ВМК МГУ и Институт ИИ МГУ за материальную и моральную поддержку развития данной темы,

  • и, наконец, огромное спасибо Алексею Брынцеву, Егору Кашкарову, Дарье Церех, Ивану Молодецких, Евгению Богатыреву, Кириллу Малышеву, Евгению Ляпустину, Константину Кожемякову, Халеду Абуду и Максиму Смирнову за большое количество дельных замечаний и правок, сделавших этот текст намного лучше!

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


  1. vadimr
    00.00.0000 00:00
    +5

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


    1. csharpreader
      00.00.0000 00:00
      +11

      И часто у вас размер кирпичей в воспоминаниях изменяется в три раза? ) Уж что-что, а кирпич – вещь достаточно константная.

      Тезис понятный, но пример неудачный.


      1. vadimr
        00.00.0000 00:00

        Ну, умственно отсталый пока что человек слегка.


        1. csharpreader
          00.00.0000 00:00
          +4

          Скорее, совсем маленький ребёнок )


          1. Moskus
            00.00.0000 00:00
            +5

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

            Ребёнок сначала изобразил две пары параллелельных линий (как два знака "=" один за другим), две перпендикулярные им линии покороче, а потом соединил концы этих линий неровным кольцом. А потом, рядом, изобразил кривой квадрат. На вопрос психолога, что это за фигура, которую он нарисовал первым, он ответил (используя "детские" слова) что параллельные линии - это стороны, перпендикулярные им - это "острые штуки" (углы), а кольцо показывает, что они - вместе.

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

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

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


      1. Ged2023
        00.00.0000 00:00
        +1

        "кирпич" может быть белый силикатный или красный (из глины) - размеры хоть и отличаются, но не сильно. Но вот рядом сарай или даже дом из пено/газо-бетонных блоков - издали они то же на кирпичи походят, а еще есть саманный кирпич - там вообще размер штука не постоянная обычно (тк делается он в разных местах немного по разному и его размер нигде не стандартизован - +/- достаточно много в размере может быть в зависимости от состава и людей, которые его изготавливали


      1. Schwalbach
        00.00.0000 00:00

        размер одного кирпича в руках или лежащего рядом - не меняется. размер кирпича в воспоминаниях когда субьект смотрел на сплошную стену с 20 метров - вполне. особенно при малоосознанном воспоминании типа сна. vadimr все верно сказал


      1. BigBeaver
        00.00.0000 00:00
        +1

        присмотритесь к левой нижней четверти
        image

        или вот так
        image

        а еще у него 3 грани, и можно укладывать как угодно
        image


        1. zhzhitel
          00.00.0000 00:00

          Граней все-таки шесть.


          1. BigBeaver
            00.00.0000 00:00

            Очевидно, подразумевалось «3 размера грани»


  1. GeorgeIV
    00.00.0000 00:00
    +7

    Увидим больше привидений и НЛО на фото-видео в будущем )))


    1. 3Dvideo Автор
      00.00.0000 00:00
      +9

      Да, если человек с манией преследования начнет покадрово разглядывать на 16К мониторе свои видео с дачи, то с текущими SR его худшие подозрения рискуют полностью подтвердиться!)))

      Вообще тема persecution mania safety методов может стать актуальна)))


  1. csharpreader
    00.00.0000 00:00
    +10

    Спасибо за такой подробный, ёмкий материал. Далёк от AI и ML, но прочитал, открыв рот.


    1. 3Dvideo Автор
      00.00.0000 00:00
      +3

      Спасибо! Такие комментарии помогают выкраивать время для статей)


  1. vconst
    00.00.0000 00:00
    +2

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

    Фото увеличенного текста до полной читаемости — это просто чудо какое-то!
    Никакие старые алгоритмы с повышением микроконтраста так не смогут, однознанчо

    Интересно, что вы скажете про технологию увеличения резкости в Фотошпе? Она явно не из самых последних разработок. По результатам очень напоминает «дообученный Real-ESRGAN».

    По ссылкам скриншоты до и после «улучшения» через рав-конвертер (осторожно — трафик). Это сьемки с дрона, очень люблю я это дело! ))
    habrastorage.org/webt/4c/w1/uv/4cw1uvdljmkddlguncroluiqswm.png
    habrastorage.org/webt/oe/q6/rr/oeq6rrgr27cnda_2s8vammtkhki.png

    Конкретно эти фото с довольно старой модели, DJI Mavic 1 поколения. Сейчас у меня уже более современный Air 2s, там с шумами и четкостью — получше.

    Потому, увеличение пикапа с дроно-фото — меня очень сильно впечатлило и заинтересовало. Не знаете о планах DJI на подобные алгоритмы? Они денег на это жалеть не должны, одна только покупка Хасселя — много о чем говорит.


    1. 3Dvideo Автор
      00.00.0000 00:00
      +2

      Офигенно интересная статья, прошлые тоже читал с большим удовольствием!

      Спасибо! Не хватает времени писать на хабр. Такие комментарии способствуют)

      Очень уместно добавили везде сравнение с простым бикубиком. Так все нагляднее, но, все еще, не хватает сравнения с старыми добрыми алгоритмами увеличения резкости по микроконтрасту. Например — аншарп маск показал бы куда лучший результат на номерах машин

      Гм... Интересная тема. С точки зрения восстановления разрешения unsharp mask скорее портит картинку и мешает восстановлению (столкнулись с таким), но в бенчмарк вполне можно добавить, поскольку визуально сравнивать с ним хорошо, согласен.

      Фото увеличенного текста до полной читаемости — это просто чудо какое-то! Никакие старые алгоритмы с повышением микроконтраста так не смогут, однознанчо

      Дык!)

      Интересно, что вы скажете про технологию увеличения резкости в Фотошпе? Она явно не из самых последних разработок. По результатам очень напоминает «дообученный Real-ESRGAN».

      Рук не хватает все прогнать. Пока только Adobe Lightroom прогнали из адобовских. Если кто Photoshop прогонит - будет здорово)

      По ссылкам скриншоты до и после «улучшения» через рав-конвертер (осторожно — трафик)

      Да, конечно продвинутая интерполяция RAW дает лучше результат (картинка чуть резче). Но именно "чуть". Мне лично интересно именно повышение разрешения, причем желательно в разы)

      Не знаете о планах DJI на подобные алгоритмы? Они денег на это жалеть не должны, одна только покупка Хасселя — много о чем говорит.

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


      1. vconst
        00.00.0000 00:00
        +1

        С точки зрения восстановления разрешения unsharp mask скорее портит картинку и мешает восстановлению
        Я о том, что в некоторых кейсах, например повышение читаемости номеров — Аншарп выдаст более четкую и понятную картинку, чем приведенные вами алгоритмы

        Вот смотрите - старый добрый фотошоппинг, аншарп и трешолд

        Значительное повышение четкости — распознавалка уже не ошибется

        «Энчантинг» в рав-конверторе — это всего лишь продвинутая интерполяция?
        Согласен, новых деталей он не нарисовал, но четкость повысилась очень значительно. Размытые детали — прорисовались тоньше и четче

        Тема для смартфонов и профессиональных камер известна уже несколько лет
        Может есть какой-то софт в открытом доступе или какой-то способ запихать пачку равов с дрона в смартфон (тот же Пиксель), который умеет пересчитать их них более детальное изображение?

        Уж очень круто получается, прогресс с примерами из ваших прошлых статей — колоссальный

        любой человек, запускающий SR с GitHub может помочь ускорить этот момент
        Вы хотите сказать, что есть проекты, которые получают от пользователей данные по обучению алгоритмов и улучшают свои, таким образом?
        Навскидку, я ничего такого в репозиториях — не нашел


        1. 3Dvideo Автор
          00.00.0000 00:00

          Аншарп выдаст более четкую и понятную картинку, чем приведенные вами алгоритмы

          Там возможно нечетко написано. GT - это Ground Truth - исходник высокого разрешения. И у нас не везде есть бикубик (что неправильно, согласен). Думаю, исправим!

          «Энчантинг» в рав-конверторе — это всего лишь продвинутая интерполяция?

          Да. Существует более сложные продвинутые методы интерполяции RAW, которые лучше интерполируют, но дольше работают. Самые свежие из них - это уже Image SR. Многие текстуры он сделает заметно лучше. Но может и начудить, естественно.

          Может есть какой-то софт в открытом доступе или какой-то способ запихать пачку равов с дрона в смартфон (тот же Пиксель), который умеет пересчитать их них более детальное изображение?

          Пока не видел. Хотя с текущим ростом числа репозиториев SR на гитхабе легко и пропустить ненароком) И скорее не в смартфон (где алгоритм заточен под конкретный сенсор), а в комп)

          Вы хотите сказать, что есть проекты, которые получают от пользователей данные по обучению алгоритмов и улучшают свои, таким образом?

          Я про то, что можно к нам методы сабмиттить (и видеть, где они получаются в рейтинге в том числе по субъективной оценке).


          1. vconst
            00.00.0000 00:00

            Спасиб за ответы )
            Будем ждать, когда китайцы из DJI запилят софт для улучшения фото с дронов. Это тема очень актуальна, ибо «просто взять и переснять» — почти нереально


  1. DistortNeo
    00.00.0000 00:00
    +2

    Такой фокус достигается за счет того же приема, что и у Google Pixel 3, то есть идет обработка именно RAW данных. Если обрабатывать интерполированный RGB, результат будет заметно хуже. Это означает, что завтра смартфоны (с их небольшими объективами, но довольно мощными процессорами) еще сильнее приблизятся по качеству к фотоаппаратам (с заметно большим размером объектива и матрицы).

    Сырые данные с сенсора 48МП будут занимать около 96 мегабайт, 16 снимков потребуют для хранения 2 гигабайта памяти. Видимо, то, что до сих подобные алгоритмы пока не пошли в массы, является следствием высоких вычислительных затрат.


    1. 3Dvideo Автор
      00.00.0000 00:00
      +1

      С точки зрения пользователя (и производителя) это немного не так работает.

      У пользователя появляется возможность сильнее зазумить объект в кадре. При этом реально кропается только часть сенсора. Соответственно даже для финального разрешения 48МП для 2x SR это будет 336Мб, а для 4x (для которого, собственно, и нужно 14 кадров) - только 84Мб (1/16 сенсора 14 раз). Т.е. затраты по памяти невелики (и могут быть даже меньше, чем для "полного" фото), а вот вычислительные затраты действительно сильно больше, но терпимы для современных смартфонов.

      Как-то так!)


    1. VBDUnit
      00.00.0000 00:00

      Уже давно есть же телефоны с 1 Тб памяти ~ 8000 снимков. Вполне неплохо.


  1. kovserg
    00.00.0000 00:00
    +6

    А пикселы удалить может?
    image


  1. XenRE
    00.00.0000 00:00
    +2

    Также я обещал рассказать о новых результатах, которые меня, воробья стреляного, поразили.

    На примере ниже хорошо видно, что это именно восстановление из нескольких кадров (в данном случае 14).

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


    1. vconst
      00.00.0000 00:00
      +3

      Это стандартный способ обработки снимков в астрофотографии, уже очень давно


    1. DistortNeo
      00.00.0000 00:00
      +4

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


      1. Moskus
        00.00.0000 00:00

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


        1. IvanPetrof
          00.00.0000 00:00

          30 лет назад у нас в СЮТе ребята пилили проект увеличения детализации изображения по отсканированным кадрам киноплёнки. Основная идея состояла в том, чтобы за счёт разного пространственного наложения зёрен плёнки на разных кадрах, математической обработкой получить "субзерновые" детали изображения.


      1. 3Dvideo Автор
        00.00.0000 00:00
        +2

        Я бы сказал так - для астрономических объектов нам и движение очень точно можно посчитать, и довольно точно получается восстановить так называемую PSF - point spread function (след точки на снимке), которая может быть довольно сложной, но если ее восстановить - можно аналитически заметно поднять разрешение.

        Выше PSF телескопа Хаббл отсюда. Там весьма серьезное увеличение качества фотографий возможно:

        А у "обычного фото" из-за тряски рук и движения объектов в кадре предсказание PSF становится крайне нетривиальной задачей. Ну и дальше сложности с неидеальностью объективов, матриц и т.д.

        Выясняется, что аналитически восстановить намного сложнее, чем обучить восстанавливать сеточку.


      1. 3Dvideo Автор
        00.00.0000 00:00

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

        Картинка выше из старой статьи https://www.researchgate.net/publication/252709898_APEX_blind_deconvolution_of_color_Hubble_space_telescope_imagery_and_other_astronomical_data


        1. XenRE
          00.00.0000 00:00
          +1

          Кстати да, а как обстоят дела с компенсацией расфокуса/смаза, есть ли что новое? А то все что мне попадалось из нового — упарывается исключительно в апскейл с дорисовыванием.


          1. 3Dvideo Автор
            00.00.0000 00:00
            +1

            Есть. Очень много. И мы этим тоже плотно заняты)

            Опубликовали в конце прошлого года бету бенчмарка
            MSU Video Deblurring Benchmark
            https://videoprocessing.ai/benchmarks/deblurring.html

            Как расширим лидерборд про наиболее интересные достижения напишу. В расширении можно помочь)

            Там уже есть один ооочень классно работающий метод.


  1. Rtyfgh
    00.00.0000 00:00

    Очень понравился пример с текстом.

    Как бы научится делать это в уме... И быстро.


  1. Vaitek
    00.00.0000 00:00
    +2

    Забавно, у меня телефон при цифровом зуме показывает очень похожие на некоторые фотки здесь артефакты. Причем деталей он вытаскивает больше, чем есть в оригинальном 108мп снимке. Особенно заметно на тексте, когда на 108мп без зума читается плохо, а на 12мп с зумом буквы гораздо понятнее. Телеобъектива честного нет конечно.


    1. 3Dvideo Автор
      00.00.0000 00:00

      А какая у вас модель? (во флагманах 3 года назад начала технология появляться)

      И если примеры кинете - было бы интересно!


      1. DistortNeo
        00.00.0000 00:00
        +2

        У меня вот так. Xiaomi 11T.


        Зум 10x (полностью цифровой):
        https://habrastorage.org/webt/tm/mp/0f/tmmp0fb57ei8vvntpbhl7twlw6i.jpeg


        108MP:
        https://habrastorage.org/webt/ch/gp/zu/chgpzuxhw3_zsac1yfdvdt4mw2w.jpeg


        1. 3Dvideo Автор
          00.00.0000 00:00

          Интересно, спасибо!

          Что-то подсказывает, что 10х таки не полностью цифровой. Оптика тоже работает.

          А у 108МП явно так проявляют себя жесткие алгоритмы подавления шумов.

          У DXO есть неплохой обзор камеры вашего телефона
          https://www.dxomark.com/xiaomi-11t-camera-review-decent-detail-low-noise/
          но они, увы, не сравнивают одновременную работу разных камер (только разные телефоны в одинаковых условиях).


          1. DistortNeo
            00.00.0000 00:00

            Я проверял, закрывая камеры пальцем. И в 1х, и в 10х используется только одна камера.


            1. vconst
              00.00.0000 00:00

              Может софт просто слишком умный и думает типа: «Тааак… В одну камеру это @#%$ пользователь палец засунул — будем пользоваться теми, что остались»


              1. DistortNeo
                00.00.0000 00:00

                Нет. Смартфоны практически всегда используют только одну камеру. Одновременное использование нескольких камер высаживает батарею (сенсоры очень энергоёмкие) и требует использования дополнительных вычислений.


                1. vconst
                  00.00.0000 00:00

                  Жаль, столько информации теряется зря

                  Кстати, могли бы использовать, только предупреждать, что «съёмка и обработка в этом режиме будет отнимать много времени и энергии». При съёмке слоу мо — они это пишут


                  1. DistortNeo
                    00.00.0000 00:00
                    +1

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


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


                    1. vconst
                      00.00.0000 00:00
                      +1

                      Зато перешли на восстановление информации из нескольких последовательных снимков — пример в статье очень впечатляет


            1. ArtRoman
              00.00.0000 00:00

              Могут использоваться разные камеры в зависимости от условий, например, освещения — брать 3x с доп.камеры меньшей светосилы, или переходить на цифровой кроп с основной 1x, если света мало (замечал на своём Huawei P30). Данные с соседней камеры могут использоваться для вычисления глубины в доп. режимах типа "портрет" или "эмуляция диафрагмы" (в этом случае потом, уже на готовой фото можно изменить фокус или размытие).

              То, как сейчас работают камеры на смартфонах, уже почти чудо)) На S21/S22 Ultra можно сделать снимок в 108 мп (9000x12000px!), причём отдельно есть режим повышения чёткости, на котором видно "дорисовку" в стиле Super Resolution. Но апскейл выполняется на базе уменьшенного фото (где меньше шума), а результат по качеству не уступает честному 108-мегапиксельному. А в S23 Ultra аж 200мп, 16-кратный биннинг!


              1. vconst
                00.00.0000 00:00
                +1

                результат по качеству не уступает честному 108-мегапиксельному.
                Уступает. Артефакты дорисовки там заметны, ни о какой попиксельной резкости речи не идет


              1. Moskus
                00.00.0000 00:00

                а результат по качеству не уступает честному 108-мегапиксельному

                По какой метрике сравнения?

                Образцы - в студию.


  1. Moskus
    00.00.0000 00:00
    +4

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


    1. vconst
      00.00.0000 00:00

      Это кто, например?


      1. Moskus
        00.00.0000 00:00
        +1

        https://habr.com/ru/post/681404/

        https://habr.com/ru/post/695962/

        https://habr.com/ru/post/573564/

        См. комментарии, это что сходу нашлось.


        1. vconst
          00.00.0000 00:00

          Дааааа…
          Печальненько
          Удивительно, но они и правда ничего не понимают

          Рейтинг статей довольно низкий, потому я их и не видел. Надо быть подписанным на определённый хаб?


          1. Moskus
            00.00.0000 00:00

            Не имею понятия, каким именно образом я их увидел.


    1. 3Dvideo Автор
      00.00.0000 00:00

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

      Вы намекаете что именно восстановить, а не дорисовать правдоподобно ни для картинок, ни тем более для видео невозможно? )


      1. Moskus
        00.00.0000 00:00
        +4

        Я не "намекаю". Если информация действительно не содержится, "восстановить" её не из чего.

        Случаи с тем, когда она искажена по известному закону или рассеяна в пространстве или времени - другая история.


      1. Moskus
        00.00.0000 00:00
        +1

        На самом деле, мне несколько непонятна ваша ирония (а ваш вопрос звучит именно так, начинаясь с "намекаете", включая упоминание видео, как источника с темпоральной избыточностью, заканчивась смайликом).

        Я не давал ни единого повода предположить, что мое утверждение выше основано на какой-нибудь глупости типа отрицания обращения PSF, уточнения wavelet-разложений по нескольким изображениям и т.п. "Отсутствующие детали" означает их отсутствие, ни больше, ни меньше.


        1. 3Dvideo Автор
          00.00.0000 00:00

          "Отсутствующие детали" означает их отсутствие, ни больше, ни меньше.

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


          1. BigBeaver
            00.00.0000 00:00

            Как это противоречит исходному тезису?


  1. vanxant
    00.00.0000 00:00
    +1

    Вместо бикубика и аншарпа была бы интереснее "честная" интерполяция через БПФ или ДКП. Т.е. строим спектр, расширяем его в область высоких частот в 2 или 4 раза (дополняя нулями), восстанавливаем картинку в 2 или 4 раза большего разрешения, которая будет честно содержать всю информацию, которая есть в исходной картинке. Хотя ВЧ-область до расширения можно и немного усилить.

    PS. Уверен, что вы в курсе, и просто не стали перегружать и без того насыщенную статью, но формат RAW в принципе почти с самого начала никакой не RAW, и над ним уже куча алгоритмов потрудилась. Шумодав, замыливатель битых пикселей, софтверный АА-фильтр, часто исправления геометрии и т.д. В-общем, довольно тяжелая обработка, уникальная для каждого семейства камер. Очевидно, что это будет влиять на последующие успехи SR-алгоритма.

    PPS. Ну и да, обязательно пишите ещё, крайне интересно!


    1. Vytian
      00.00.0000 00:00
      +1

      В ряду интерполяций очень много шагов на пути к "генераторам": кроме чисто спектральных, авторегрессии всех видов, уже старый добрый МГК, ту же PSF можно старыми ML-методами выцепить, типа отжига или генетики. Но оно чем дальше, тем вычислительно тяжелее тех же ГАНов, где лучше день потерять, потом за пять минут долететь, а то всё вкусное съедят.


      1. 3Dvideo Автор
        00.00.0000 00:00

        оно чем дальше, тем вычислительно тяжелее тех же ГАНов, где лучше день потерять, потом за пять минут долететь, а то всё вкусное съедят.

        Все так. И не только! Оно и по качеству ганам уже проигрывает вчистую. А ровно это сейчас начинает становится определяющим (с ростом качества восстановления).


    1. 3Dvideo Автор
      00.00.0000 00:00
      +2

      Вместо бикубика и аншарпа была бы интереснее "честная" интерполяция через БПФ или ДКП.

      Такие идеи были популярны в конце 90-х - можно поискать на сколаре super resolution dct fourier transform в этих статьях были так себе результаты для картинок и тем более видео (в отличие от восстановления звука, например).

      Уверен, что вы в курсе, и просто не стали перегружать и без того насыщенную статью, но формат RAW в принципе почти с самого начала никакой не RAW, и над ним уже куча алгоритмов потрудилась. Шумодав, замыливатель битых пикселей, софтверный АА-фильтр, часто исправления геометрии и т.д. В-общем, довольно тяжелая обработка, уникальная для каждого семейства камер. Очевидно, что это будет влиять на последующие успехи SR-алгоритма.

      Это жестокая правда! То, что RAW сегодня часто ни разу не "чистый RAW", причем у каждого девайса свой, даже если сенсор в них используется один - это большая проблема для создания и распространения SR. Можно прогнозировать, что для восстановления сделают режим типа pure RAW, в котором всего этого счастья не будет и на котором SR будет проще восстановить разрешение. А пока это приводит к артефактам и необходимости дообучать под новый девайс, увы.

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

      PPS. Ну и да, обязательно пишите ещё, крайне интересно!

      Эх, время бы понять где взять!)


    1. vconst
      00.00.0000 00:00
      +1

      Как-то я баловался софтом для дебайеризации, который из старой никоновской зеркалки доставал «исходник» — массив матрицы до обработки. Получалась ч/б картинка с разрешением в два раза выше штатного цветного.

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

      Может на дронах не так все плохо. Надо бы попросить равов с Хасселевской камеры последнего Мавика, поковыряться. Там сенсор здоровый, его нет необходимости поганить картинку шумодавом, ибо здоровенные пиксели и расстояние между ними большое


      1. DistortNeo
        00.00.0000 00:00

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

        Справедливости ради, у сенсора ещё есть показатель эффективности (quantum efficiency, например). И прогресс здесь тоже не стоит на месте. Сенсор 2005 года при одинаковом ISO будет давать сильно больше шума, чем сенсор 2020+ года.


        1. vconst
          00.00.0000 00:00
          +1

          Но если сенсор размером в блошиную пипиську — чуда все равно не произойдет

          А так, я своими глазами видел два фотоаппарата, зеркалку и беззеркалку, с одинаковыми обьективами, зеркалка, в раве, дает нормальный портрет, беззеркалка — пособие для дерматолога. В руках держал, равы ковырял…

          «РАВы уже не торт» (С)


    1. XenRE
      00.00.0000 00:00
      +3

      строим спектр, расширяем его в область высоких частот в 2 или 4 раза (дополняя нулями), восстанавливаем картинку в 2 или 4 раза большего разрешения

      Я пробовал такое, результат весьма так себе — около резких границ появляется ВЧ звон. Уж лучше билинейкой интерполировать.


      1. vanxant
        00.00.0000 00:00

        Ну, положим, звон убирается аккуратным антиалиасингом и добавлением белого шума в младшие 1-2 бита результата. Я тоже пробовал, тоже знаю, что тот же бикубик плюс немного аншарпа дают зрительно более приемлемый результат и заметно быстрее.

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


      1. 3Dvideo Автор
        00.00.0000 00:00

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


  1. echo10
    00.00.0000 00:00

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


    1. vconst
      00.00.0000 00:00
      +3

      Кажется, это что-то очень старое…


    1. 3Dvideo Автор
      00.00.0000 00:00
      +1

      Любой софт, а особенно замечательный - это просто здорово! Если у вас есть - прогоняйте, добавляйте в бенчмарк обязательно! Мы не успеваем все прогонять физически.


  1. Rikhmayer
    00.00.0000 00:00
    +2

    Зевс на Трампа похож. Что-то в этом есть...


  1. DrZlodberg
    00.00.0000 00:00
    +1

    Немного не в тему. Вы случаем не в курсе, что сейчас с увеличением временнОго разрешения? В смысле — конвертации в более высокий фпс? Задача в целом имеет общие моменты. Пробовал несколько — везде всё печально. Даже сам пытался играться с opencv, но так совсем печаль. Явно нужно что-то более интелектуальное.


    1. 3Dvideo Автор
      00.00.0000 00:00
      +1

      В курсе)

      Работаем. Делаем бенчмарк
      MSU Video Frame Interpolation Benchmark
      https://videoprocessing.ai/benchmarks/video-frame-interpolation.html

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


    1. yTom48
      00.00.0000 00:00

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


      1. 3Dvideo Автор
        00.00.0000 00:00

        Это отдельные темы - увеличение пространственного разрешения при motion blur removal и увеличение разрешения во времени:
        frame rate interpolation https://scholar.google.ru/scholar?hl=en&as_sdt=0%252C5&q=frame+rate+interpolation
        или frame rate up-conversion https://scholar.google.ru/scholar?hl=en&as_sdt=0%252C5&q=frame+rate+up-conversion

        Статей море, коммерческий софт тоже есть (но там названия маркетинговые типа SlowMo и т.п.).


  1. Kostushko
    00.00.0000 00:00
    +2

    Подскажите чем увеличили четкость текста (там где состав печенья)?


    1. 3Dvideo Автор
      00.00.0000 00:00

      Раскроем позднее. Там пока довольно сыро (хоть и многообещающе). Ищем компании, которые могли бы профинансировать доведение до юзабельного вида.


      1. xcilessMore
        00.00.0000 00:00

        На «ГитХабе» в сопутствующем разделе нейросетей не нашлось на первый взгляд, пробежал верхние пару страниц из вашего списка, тоже нигде не упоминается тэг text recognition. Так что условный 4K OCR upscaling (пусть как-то так будет) пока интрига...))


        1. 3Dvideo Автор
          00.00.0000 00:00

          Не-не, алгоритм универсальный! Просто на буквах очень наглядно видно, как оно дает улучшение.


  1. greatvovan
    00.00.0000 00:00

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


    1. 3Dvideo Автор
      00.00.0000 00:00

      Это отдельная тема - в каких случаях восстановление идет неверно и можно ли посчитать точность восстановления.

      Оказывается - можно. Пусть и сложно.

      Другой вопрос - можно ли, чтобы сеть вообще не дорисовывала, если не уверена - сложнее, но тоже решаемо.

      Запрос на "чистое" восстановление вполне себе есть. В какой-то момент компании его проспонсируют.

      Причем в ближайшее время будет увеличение разрешения в первую очередь для смартфонов для фото - это самый понятный рынок и если освещения хватает, чтобы снять 20 кадров, а процессора телефона, чтобы из зума восстановить х4 с удаленным объектом или макро - люди будут счастливы и это очень заметно (явная плюшка телефона). И я вас уверяю - народ там будет каждую детальку разглядывать, сравнивая у кого лучше получилось из разных моделей))) (и уже разглядывает!)

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

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

      Но и сжатый поток постепенно будет улучшаться (см. результаты отдельного бенчмарка SR+Codec, ссылка была в тексте)


  1. Wijey
    00.00.0000 00:00

    Это всё здорово, а есть какие-то юзер-френдли программы для всего этого, кроме Topaz? Не для программистов.


    1. 3Dvideo Автор
      00.00.0000 00:00

      В тексте было:

      Этот бенчмарк менее академичен и активно сравнивает на разном контенте коммерческие апскейлеры, в том числе: 

      Adobe Lightroom Super-Resolution

      Davinci Resolve Super Scale

      Topaz Gigapixel


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


    1. zenhower
      00.00.0000 00:00
      +2

      Есть опенсорсные решения. Описываю те, что использовал сам.

      Рабочий вариант с обзорами в интернетах - Waifu2x-GUI. Упрощенный рабочий вариант - Video2x. Ещё есть форк с ускорением обработки - Dandere2x (у меня крашился).


      1. 3Dvideo Автор
        00.00.0000 00:00

        Все так. И про них есть что сказать (и про качество результата, и про скорость). Обязуемся опубликовать наиболее интересные и полезные результаты, как достигнем увеличения лидерборда до заявленных в статье значений.