Comments 237

Очень интересно, спасибо! Приходится иногда и видео и изображения :)

На самом деле я знал ответ. Но кто-то должен был это спросить, иначе шутка бы не удалась.
Изображение. Это информация. И если её нет, то её можно только придумать. Будет красиво, похоже на правду, но это не достоверно. Дальше только вероятность. Классика жанра — Человек, похожий на зам. ген. прокурора… И всё.
Дочитайте хотя бы до середины)))

Как только появляется видео — появляется возможность реального восстановления, масса ссылок и примеров даны.

Редко нравятся статьи на подобные темы, но здесь всё четко :))) Есть ли современные материалы про OCR в таком же стиле? Люблю фундаментальный подход. Что нибудь про контурные алгоритмы.

Спасибо за бальзам на мою душу )

OCR — это не к нам, но боюсь контурный анализ сейчас вчистую проигрывает нейросетевым подходам и там сильно все поменялось в последние 5 лет
Как сказать… Биберы Флибусты ничего хорошего про новые алгоритмы не рассказывают и предпочитаю не самые новые версии Файнридера. Да и сам я никакого особого прогресса не заметил. Или есть другие программы, новые, на нейросетях и с лучшим качеством распознавания?
Я имел ввиду единственное изображение, а не поток кадров. Да и в потоке не все гладко (√
​N) в лучшем случае — статический объект.
У камеры есть разрешение оптики и разрешение матрицы. Честный SR пытается подогнать разрешение матрицы под разрешение оптики. Информация как бы есть, но пожрата aliasing'ом, но пожрата по-разному в каждом из серии снимков или в зависимости от ориентации объекта относительно камеры. Вот за счёт таких различий и делаются догадки, а затем и восстановление.
Простой пример: фотографы-астрономы.

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

В итоге фотография планеты получается очень неплохого качества, как если бы это было одиночное фото с телескопа на порядок более дорогого.
Тут принцип другой. Мы таким образом избавляемся от шумов: при складывании изображений уровень полезного сигнала (с выраженной корреляцией между кадрами в стеке) растёт пропорционально первой степени количества кадров, а уровень шума — пропорционально квадратному корню количества кадров.
А есть ли доступные (ооткрытые и тп) программы/плагины для обработки старых фото? А то есть много фоток времен фотиков с разрешением 2-5мпикс с людьми, которых уже нет в живых, но картинки при печати даже 9*12 выглядят ужасно. Хотелось бы что-то с ними сделать.
2 мегапикселя прекрасно печатаются на 10х15, а при желании и 20х30. Поэтому дело тут не в разрешении. Я рекомендую обратиться к хорошему ретушеру, а не доверять обработку программам.
Вы можете распечатать скажем 1200x600 dpi на фотобумаге. То есть если скажем заложить это как 600 dpi, то на 10x15 дюймов (если уж фото, то большое) выйдет фото 12000x9000 — уже не 2 Мп, а 108 Мп. Предположим, что Вы каким-то фоторедактором склеили такую картинку при исходном файле JPG весом 72 МБайта.
Осталась мелочь — найти принтер с хотя бы таким разрешением и такой фотобумагой.
Вы как будто придумали какой-то комментарий и на него ответили. Или я где-то опечатался и вы так шутите?
Да нет, Вы не опечатались. Просто мне лень было искать разрешение фотопринтеров в сантиметрах и переводить его в дюймы.
А есть ли доступные (ооткрытые и тп) программы/плагины для обработки старых фото?
Безусловно:
www.google.com/search?q=old+photo+restoration

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

К такому лучше подходить индивидуально все же, т.е. фоторедактором каждую, вдобавок можно колоризировать если ЧБ

К этому, и к предыдущему комментарию — вы вопрос читали? Какие пленки, какая колоризация? Речь идет о цифровых фото, снятых на первые цифровые камеры и первые телефоны с камерами в конце 90-начале 00.
Медицина восстановления тут бессильна, а вот сделать красиво могут многие, включая последний фотошоп.

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

Бесплатные не знаю, но есть topaz ai gigapixel, на днях как раз тестил на старых фото, результат поражает. На данный момент лучшее что мне доводилось видеть.
Спасибо за ссылку. Интересный ресурс. Попробовал увеличить картинку им. Ну что сказать, Topaz AI Gigapixel мне понравился больше. Я не большой специалист, но мне приходится апскейлить картинку старого SD PAL формата для использования в современных проектах. Зачастую мне достаточно 2-х или (реже) 4-х кратного увеличения. Я одну и ту же картинку увеличил для сравнения и letsenhance.io увы внес гораздо больше артефактов, если смотреть с увеличением. И уж точно этот ресурс непригоден для апскейла секвенций из видео, т.к. вносимые артефакты дают ощущение неестественного, «дышащего» шума. А вот Topaz вполне сносно позволяет апскейлить, при этом имеет еще и очень неплохой шумодав. По крайней мере ни «продвинутые» алгоритмы Instant 4k ни даже меедленныыый nnedi3 такого результата не показали.

А можно поподробнее, с картинками Topaz vs LE, интересно понять что вы подразумевате под «дышащим» шумом.
То что nnedi3 плохо ресайзит — неудивительно, ведь это интерполяция.

Картинки тут не помогут. На картинках все хорошо. Поскольку там разрешают только 5 картинок бесплатно, я сделал несколько аккаунтов и заапскейлил примерно секунду, слил в видео файл и посмотрел. Вокруг мелких четких объектов наблюдаются артефакты, которые меняются из кадра в кадр и создают впечатление «дышащего» шума. Эффект такой же, как если взять и упаковать в h264 с низким битрейтом слегка зашумленный градиент, но там пляшут квадратики, а тут контур мелких деталей, причем не с частотой кадров, а ощущается медленнее. Не знаю как это лучше объяснить, сами файлы я не сохранил, увы. А вот Topaz с включенным шумоподавлением слегка «съедает» детали, но у него нет подобного побочного эффекта.
Спасибо за интересную статью!
Вопрос не совсем по восстановлению разрешения, но все же близок к теме.
Есть интересная статья от Интел по восстановлению очень темных кадров. Интересно Ваше мнение на сколько это может быть работающая технология.
Выше про это мельком есть. Возможное (и относительно простое в реализации) побочное следствие нормального многокадрового восстановления — получение HDR картинки, у которой можно изменить яркость и контраст довольно неплохо и с кардинально более высоким качеством, по сравнению с обработкой конечного кадра.

У Интела — речь про обработку RAW до дебайеринга, это технологии на уровне картинки и скорее вопрос денойзинга. Характерно, что они с результатами с применением денойзинга не сравниваются. Потому и на архиве публикация.
Спасибо за развернутый материал! Совершенно не ожидал, что затянет и дочитаю до конца.
Причем сперва казалось, что будет очередной срыв покровов. А в результате оказалось, что подобные технологии действительно существуют (хотя в фильмах действительно перегибают палку)
Ровно потому, что они существуют и мы ими занимались эти звонки и идут)

А «перегибают» — это вы очень мягко и деликатно выразились! )

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

собственно восстановление с использованием предыдущих (а иногда и последующих) кадров

Типичное видео содержит средний битрейт 0.11-0.23 бит/писксель. Если Вы сможете выделить честный кадр, это уже будет JPG (сжатие, ЕМНИП, с помощью Фурье и прореживания полученной 2-мерной матрицы) — это скажем 0.45 бит/пиксель, ну может 1 (то есть при 0.11 бит/пиксель мы можем сохранить менее 25% кадров в качестве 0.44 бит/пиксель).
Конечно какой-то алгоритм начнет работу с этим кадром в качестве 1-3 байт/пиксель, но лишней информации Вы не получите. Можете какие-то нейросети заставить из фото разрешением 720x400 в сжатии JPG (взял условное качество 0.44 бит/пиксель), следующего за ним и предыдущего «полного» кадра выхватить информацию (на любом кадре теряется информация, но это может быть разная информация). Таким образом есть вероятность, что последовательность из 5-9 полных кадров даст получить какую-то картинку.
Вывод — Вам нужно проехать область обзора камеры видеонаблюдения (25 или 30 к/с) за 5 кадров, то есть 0.16-0.2 секунды:)
Там некорректно считать биты на пиксель. Если у вас чистая идеальная исходная картинка, например, рендеринг с плавным движением — там будет работать восстановление.

На реальном снятом видео сейчас модная тема — карты салиентности. Следующее поколение камер видеонаблюдения будет «больше бит» тратить на движущиеся объекты в ущерб качеству шумов в остальной части кадра. Это сделает рассуждения в подсчете бит на пиксель некорректным.

Если плавное движение, то интересно было бы иметь камеру, способную снять скажем 15 к/с, но с HDR. То есть за секунду есть 5 групп по 3 кадра, каждый из которых делается с разным уровнем ISO.
Я согласен, что биты на пиксель для видео штука весьма абстрактная. Каким образом задают понятие «информация о движении» между «полными кадрами» — это я не знаю.
По поводу этого:
Дело в том, что 2/3 информации в реальном изображении на самом деле информация интерполированная.

Ну может 50% инфы мы сохраним в видео типа motionJPG — закодируем в 4:2:2 каждый кадр. А упомянутый тут переход от h.264 к h.265 дает повышение степени сжатия, но за счет этого скажем для процессора Celeron 1005M видео Full HD HEVC было весьма сложным — требовалось использовать более подходящий плеер.
Если плавное движение, то интересно было бы иметь камеру, способную снять скажем 15 к/с, но с HDR.
Сейчас модная другая тема — снять больше кадров с одной экспозицией и работать с ними. При одинаковой экспозиции одинаковый motion blur и кардинально меньше проблем с сопоставлением движения.

В следующей статье про это немного будет )
Это вы про «лайфхаки» типа такого, когда в людный день снимают достопримечательности без людей, с помощью hdr с псевдо-брекетингом или софта склеивания панорам?
Тоже прикольная тема, но будет про вычисляемую экспозицию в видео )

Мы как-то по видео больше )
Нет, эта часть проще будет — скорее про возможности нового железа. Про алгоритмы там тоже конечно будет, но про другие)
интересно было бы иметь камеру, способную снять скажем 15 к/с, но с HDR. То есть за секунду есть 5 групп по 3 кадра, каждый из которых делается с разным уровнем ISO.

Это уже минимум лет пять как есть. Hikvision, к примеру, называет эту технологию WDR. Только потом эти три кадра сливаются в один с компрессией динамического диапазона.
Ну я не считаю, что придумал что-то, что не придумали Hikvision 2-3 года назад (а до этого я и не знал производителей камер толком).
Чуть чуть в сторону от темы — о поимке преступника по фото.

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

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

Выглядело это ужасно — как какой-то обряд вуду. Фото маленькой пластилиновой головы было совершенно не похоже на фото молодого преступника. Я предсказуемо прошелся по поводу развода полицаев хитрожопым экспертом.

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

Это я к чему? На мой взгляд, можно «восстановить» — а точнее дорисовать человека с сильно пережатого видео со статьи — только делать это должен эксперт, а не алгоритм.
Так ведь то, про что в статье и пишут

Божественные картинки в некоторых случаях (на которые точились) и «it does not work at all» в остальных.


«Эксперт», как вы его назвали, это тот кто настраивает алгоритм, так, чтобы в конкретно отдельном взятом случае, пластилин алгоритм отработал с вау-эффектом, правда в «массмаркете» этот же алгоритм налажает — это и проблема.
Согласен в том плане, что иногда «подтянуть» качество картинки методами обработки видео будет можно. И настраивать должен эксперт. И действительно будет реально больше деталей видно. Просто для алгоритмов сжатия эта задача настолько нетривиальна, что ее пока даже копают слабо. Раз в 100 слабее красивого улучшения картинок. Хотя надежда есть.
В «бредовом» примере выше — уже не обязательно участие эксперта, по крайней мере, на современном этапе. Нейросети в два клика состарят онлайн любую фотографию. Они уже научились читать рентгеновские снимки лучше профессиональных врачей, а главное, они, за относительно короткое время, могут выдать много вариантов одной и тоже работы. Экспертам остается только выбирать наиболее удачные.

Насколько продвинулись эти технологии именно в подобной обработке видео? Уже можно залить на сервер файл и натравить на него нейросеть, или надо все еще «маять вещь» руками?
Нейросети в два клика состарят онлайн любую фотографию.… Экспертам остается только выбирать наиболее удачные.
Австралийский следователь в письме выше не зря переживал.

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

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

Например: берется обычный видеорегистратор, и, в бытовых условиях, снимается номер известной машины. Искажения, которые превносятся в изображение — абсолютно реальны, но у нас есть на что ориентироваться, потому что известно, какой результат нужно получить. Это позволит отсеять случаи, когда 6 превращается в 8 и тд тп.
Это безусловно получится.
По крайней мере минимизировать превращение 6 в 8 можно будет.
Старик эксперт — предложил бредовую (на мой взгляд) методику
Для человека, поверхностно знакомого с анатомией — в этом нет ничего бредового. Возрастные изменения — распределения жировой ткани и изменение эластичности кожи, давно изучены и легко прогнозируемы. Просто этот эксперт имел навык скульптора и предпочел пластилин — карандашу.
Но да, надо хоть немного уметь в биологию.
Спасибо за статью.

Ещё лет 5 назад принимал участие в разработке сопроцессора для смартфонных камер:

— оптическая стабилизация при встряске до ±1.5 градуса и 10-15 Гц

— геометричесакие искажения в случае тонкой (~5мм) и дешёвой оптической системы
исправляли практически без искажений
image

— исправление смаза слепой деконволюцией
image
Картинки не прогрузились, но все так — там довольно много (и со временем все больше и больше) алгоритмов работает над фотографией. Нам интересны в основном те из них, кто родом из обработки видео, как гугловый выше )
Интересно, есть ли подробности? Где используется?
10-15 Гц — это с каким коэффициентом ослабения (в dB)? и какой самый минимальный?
Насчет слепой деконволюции не понял, почему слепая? Наверняка есть гироскоп, т.е. данные о смазе из «первых рук» и с хорошим временным разрешением.

Выше это 3 разных случая:


  • процесс встряски с достаточно большим углом и частотой (камера в нестабильных руках, катер, в машине) действительно компенсировался с помощью MEMS гироскопа, датчика Холла и PID-регулятора.
  • геометрические barrel/pincushion искажения восттанавливались обратным преобразованием координат от какого-то среднего для всех линз закона искажения.
  • деконволюция для деблёра слепая, т.к. обратная свертка с заранее выбранной и общей для всех изображений матрицей.
Приятно видеть грамотные комментарии коллеги! )

Мы, кстати, экспериментировали с изменением ядра обратной свертки, которое строилось с учетом motion estimation. Там можно хорошо наиграть по резкости, но не для массового использования, увы, из-за нестабильного качества.
А где можно в живую попробовать этот SuperResolution на домашней машине? Пусть медленно и покадрово.

В аватаре, кажется, было не повышение разрешения, а гораздо более реалистичная деконволюция блюра.
deblur

А вы попробуйте эту деконволюцию применить к реальным видео с регистратора, а потом поговорим )

Сразу скажу — работать для реального кейса большой ГРИП регистраторов не будет.

Почему не будет, что будет, а также как делают такие картинки для рекламы — тянет на отдельную статью.

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

Я ответил на ваш пример )

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

Деблюром мы тоже занимались (наши примеры):
image
image
можно смотреть на ноги, в т.ч. человека за игроком, на надпись на спине. Это реальное восстановление в реальном разрешении и видно что где-то движение поймалось нормально, а где-то нет. И характерный узор овершарпенинга при deconvlution появляется.

Я мягко намекаю, что там не все волшебно в жизни. И чудеса пиплу показывают неспортивными методами.
как простому потребителю, мне кажется что картинки одинаковые… Одна слишком размазана а другая слишком «резкая». Надпись на спине — 7 вижу и там и там, буквы — ни там, ни там.
Ну… вторая чуть «поприятнее» для глаза. Но такой вид зачастую получается при простом «зашарпливании». Вроде как и приятнее смотреть, но по факту различаемость объектов не повысилась.
Впрочем это относится к большинству примеров — и в этой статье и в подобных статьях.
Здесь — исключение — надпись 1809 год,… но тут только стопкадры… посмотреть бы оригинал и конкуретные видео… По стоп кадру кажется, что алгоритм мог и «додумать» с вероятностью.
Ну… вторая чуть «поприятнее» для глаза. Но такой вид зачастую получается при простом «зашарпливании».

Скопируйте в фотошоп и попробуйте там поиграться его фильтрами ) Получится как-то так:
image
Можете сами взять картинки и еще поиграться, в стремлении наиграть больше, а заодно приблизить, посмотреть.

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

Да, это НОРМА! ) Реально очень много людей не видят разницы. Хуже всего видят разницу по резкости те, у кого зрение севшее, даже на большом экране. Именно поэтому в фильмах и показывают чудесное увеличение разрешения в 50 раз, что в этом случае его видит последняя бабушка. ) А 2 раза, которые сегодня максимальный «честный» результат на обычных видео, многим не видно. Поэтому по масштабу исследований примерно в 10 раз популярнее разные «улучшатели» и «додумыватели», чем существенно более сложные «восстанавливатели».

По стоп кадру кажется, что алгоритм мог и «додумать» с вероятностью.

Уже писал, что задумался о конкурсе с призом 10 тысяч рублей за Action фотошопа, который встроенными фильтрами увеличивает разрешение так, как это делает Video SR. Можно и 100 тысяч долларов, надо только правила продумать, чтобы нельзя было заточиться под конкретную картинку, а так — флаг в руки так «додумывать» (чтобы было виднее — ниже картинка из статьи, увеличенная в 2 раза))):
image
Если на consumer market рекламировать — хорошая акция ) Тут для алгоритмов додумывания золотистые листики — это как раз раз классический контр-пример, они все на них умрут (выдадут синтетически выглядящее нечто))).
Да, это НОРМА! ) Реально очень много людей не видят разницы.
О чем я и говорил. Если картинки не увеличивать и не сравнивать попиксельно, то в подавляющем большинстве сюжетов — не отличить от обычного аншарпа.

Стоит ли овчинка выделенки?
Стоит ли овчинка выделенки?

Ровно этим вопросом постоянно задаются менеджеры компаний (не только эффективные).

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

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

Сделать правильный датасет под SR сложно, поскольку если делать его маленьким — то новые DL алгоритмы мгновенно на него заточатся, а если большим — это большая работа, которую обычно финасируют компании (организую заточку под свой кейс и свои особенности сенсоров/потоков).

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

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

И оно великолепно заходит! (даже если реально не работает и чистый фотошоп или фантастика)))

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

А дальше даже инвесторы приходят. Задают вопросы. Но как только осознают сложность задачи восстановления — вежливо прощаются )
Кажется я понял. В рекламных целях делается какой-то идеальный блюр, который потом благополучно убирается. В реальности же оптика из-за неровностей объективов не даёт идеального блюра и трюк не проходит. Так?

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


  1. Трудно найти функцию размытия, которую нужно обратить. Это грубый перебор с несовершенной проверкой качества получающегося изображения. Даже в простейших случаях: пятно блюра обычно некруглое, смаз неровный.
  2. Функция размытия отличается для разных точек изображения. Объекты в кадре находятся на разной глубине, движутся с разной скоростью.
  3. Краевые эффекты по границам изображения и объектов.
  4. Неидеальность исходника. Типичные алгоритмы сжатия удаляют малозаметную глазу, но важную для деблюра информацию с изображения. Плюс блочность и шум жипега. Вообще говоря, даже если сжатия нет, шум квантования при большом размытии сильно повлияет на результат.
  5. Маленький диапазон яркости SRGB, когда все значения обрезаются до 255, следовательно звон вокруг белых пикселей.
Кажется я понял. В рекламных целях делается какой-то идеальный блюр, который потом благополучно убирается.
AngReload очень хорошо ответил.
Основной чит — это размыть руками с известной функцией размытия. И можно восстанавливать просто обалденно.
Добавлю свои комментарии по супер-разрешению по нескольким кадрам.
Основной источник информации там — это алиасинг — проникновение высокочастотной информации в кадр при его дискретизации. Субпиксельные сдвиги поднимают частоту дискретизации, чем самым позволяя достать эту высокочастотную информацию. То есть для суперразрешения необходимо два фактора: и сдвиги, и алиасинг.

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

Мы замеряли частотные характеристики камеры одного из топовых смартфонов в идеальных условиях для монохромной камеры — получили максимально возможное повышение реального разрешения всего в 1.3-1.4 раза. Для цветной камеры всё ещё хуже. Есть нет доступа к RAW, то штатный дебайер портит высокочастотную информацию, делая её непригодной для дальнейшего использования. Есть же доступ к RAW имеется, то на выходе получаем двойной геморрой с восстановлением цвета по нерегулярной сетке.

Вывод: при современных разрешениях камер повышение разрешения с помощью многокадрового суперразрешения бессмысленно. Зато можно эффективно понизить уровень шума.
получили максимально возможное повышение реального разрешения всего в 1.3-1.4 раза. Для цветной камеры всё ещё хуже. Есть нет доступа к RAW, то штатный дебайер портит высокочастотную информацию, делая её непригодной для дальнейшего использования. Есть же доступ к RAW имеется, то на выходе получаем двойной геморрой с восстановлением цвета по нерегулярной сетке.
Вы до конца дочитали? Видели что сделал гугл в Pixel3? ) Ровно то, о чем вы пишите. И довольно успешно. И не только в плане шумов.
Google молодец. А вот остальные вендоры хотят сделать из говна конфетку, не понимая, что для достижения наилучших результатов придётся внести изменения в саму камеру.
Как человек, который с ними общается клятвенно заверяю — все они понимают ). Там вопрос вложений в развитие технологий. Плюсе некоторые крупные азиатские (не будем называть имена)) сначала смотрят, что получится у других, а потом сталкиваются с проблемой патентов. Приходится использовать маркетинг )))

Но инженеры там хотят, чесслово! ) И даже с камерами активно экспериментируют!
Даже если рассматривать вариант, чтобы что-то улучшить без вложений, то какого чёрта они не могут предоставить доступ к сырому выходу со своей камеры? Нет, блин, вот вам жпеги — а теперь делайте супер-разрешение.
Политика, мать ее… Уверяю вас — это решают не инженеры.

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

Можно прогнозировать через какое-то время произойдет то же, что и с фотоаппаратами, т.е. сделают возможность RAW отдать и будет с чем работать. Пока запрос на RAW, очевидно, мал.
Вроде же RAW (DNG) большинство телефонов умеет со времён появления Camera2 API (Android 5.0), не? Старичок Nexus 5 умеет, Samsung Galaxy начиная с S6 умеют, Xiaomi Pocophone F1 умеет, по моему большинство умеет.
Или проблема в софте, тогда возникают такие рецепты:
как же добавить поддержку RAW на Xiaomi Mi 6, где официально снимать фотографии в этом формате нельзя.
В двух словах объясним, как это сделать, если у вас уже есть рут. Для этого всего лишь нужно дописать строчку “persist.camera.HAL3.enabled=1” в системном файле build.prop.
Даже в дешёвом смарте возможность есть.
Samsung Galaxy начиная с S6 умеют
Вы имеете ввиду принципиальную возможность после перепрошивки?

В том же Galaxy s9 возможность съёмки в раве из коробки маркетологи выпилили. Как раз-таки из-за этого проклятого
пользователи — и это тоже норма — любят, чтобы была максимум одна кнопка «включить»

Поэтому, т.к. мне очень не хотелось перепрошивать новый телефон — взял себе предыдущую модель, которая умеет в raw без плясок с бубном.
В каком смысле выпилили? Галочку из стандартного приложения для фото?
Я на 95% уверен, что на S9 можно установить например это, без перепрошивки и рута, и будет DNG.
В настройках дефолтного приложения-камеры, в «Параметрах сохранения» есть опция сохранения RAW для съёмки в Pro-режиме.
на s6 работает GCAM 6, на саяйомах надо временным рутом включить camera2 api
>>Очень часто результаты алгоритма очень хороши, но ему нужно, например, 20 кадров вперед и 20 кадров назад, а скорость обработки одного кадра — около 15 минут при использовании самого продвинутого GPU
Многие готовы были бы подождать сколько угодно, чтобы дать новую жизнь своим старым ценным видео. Но почти все эти алгоритмы дальше PDF не ушли, нет готового инструмента для запуска.

По поводу второго раздела с SR из нескольких кадров фото: это есть уже из коробки с 2017 года у многих фото-производителей, например у Olympus и Sony это называется Pixel Shift Multi Shooting, всё точь в точь как описывает Гугл. Для остальных уже лет 10 это можно делать в Photoacute или Photoshop через объединение слоёв.
например у Olympus и Sony это называется Pixel Shift Multi Shooting, всё точь в точь как описывает Гугл
С интересом читаю! Единственное — пока не увидел, сдвигают ли они сенсор, если камера на штативе, а так — да, это похоже оно. Спасибо!
Для остальных уже лет 10 это можно делать в Photoacute или Photoshop через объединение слоёв.
Photoshop Action в студию! ) Боюсь, что через слои сколь-нибудь заметно разрешение поднять не удастся. Шумы — да.

Ну и здесь интересно решение из коробки на сравнительно слабом по вычислительной мощности устройстве, конечно.
Супер! Сейчас обновлю. Спасибо огромное, великолепные ссылки, особенно вторая!
www.dpreview.com/articles/0727694641/here-s-how-to-pixel-shift-with-any-camera прекрасная статья, где сравнили внутрикамерный Dynamic Pixel Shift и фотошоп, последний оказался лучше. Удобно использовать конвертирование слоёв в Smart Object. Впрочем в этом сравнении по ссылке я в упор не вижу разницы с обычным зашарпленным RAW, надо с лупой разглядывать детали. В ночной съёмке, где больше шумов, разница была бы больше.
Photoacute же есть на rutracker.
Photoacute же есть на rutracker.
Позавчера встречался и разговаривал с CEO Almalence (разработчики Photoacute). Как раз речь шла о том, где брать деньги на улучшение алгоритмов ))))))))))))) (финансирование R&D)
Limux GX80 c гуляющей в 5 осях матрицей плюс с гуляющими линзами в обьетиве (OIS)
PhotoAcute можно взять вот тут: www.photoacute.com
Разработка российская. Там у них есть ссылки на научную базу и статьи. Программа давно не обновлялась по причине того, что сейчас многопиксельных камер полно, а жаль. Я ей пользовался много лет и работала она просто отлично. Пользовался бы и сейчас.
Вкину три копейки не связанные с темой напрямую. По совету знакомого попробовал применять технику «стекинга» астрофотографов к обычным пейзажам, снятым на фотокамеру. Качество картинки вырастает, разрешение улучшается, уходит шум.
Да у астрофотографов и компенсация сдвига неба, и подавление шумов за счет пачки снимком (часть из которых отбирается вручную) — базовая техника. Именно чтобы субпиксельные сдвиги кто-то обрабатывал с повышением разрешения — не слышал, хотя может кто и сделал, не слежу, если честно. Но что близко — вы совершенно правы.
Причем я использовал астрономический софт с дефолтными настройками и результат сразу был хорошим. Если стекинг делать «пачкой» кадров в фотошопе, то это позволяет давить шум, но резкость по понятной причине (из за микросдвигов камеры и рефракции в атмосфере) уменьшается. Но вторым способом можно получать пристойные ночные снимки даже старыми камерами. Съемка, разумеется, со штатива.
Очень прикольно! )

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

Применяют. Если разрешение оптики настолько велико, что звёзды проваливаются в один пиксель, то можно увеличить разрешение именно таким способом:
www.astrosurf.com/buil/us/spe9/lrgb3.htm
Нужно искать описание алгоритма. Подобные результаты для частного случая звезд можно получать без субпиксельных сдвигов дедовскими методами. Но за ссылку спасибо!
Имеется в виду идея типа «Сделал кадр с выдержкой 1 секунда, сдвинул камеру на 0.5 пикселя вправо»? И так пройтись как минимум по положениям (0,0), (0.5.0), (0.5,0.5), (-0.5,0) и т.д.
«Сделал кадр с выдержкой 1 секунда, сдвинул камеру на 0.5 пикселя вправо»?
Пропустил в большом потоке ваш вопрос… Есть движение воздуха разной температуры, дрожит земля (особенно если в городе или в молодых по геологическим меркам горах). Когда у вас телеобъектив — там это все влияет сильно и идет дрожание (от земли — равномерное по кадру, от воздуха — неравномерное). И точно определить, насколько у вас сдвинулась картинка, куда и каким образом это компенсировать — большая история. Существуют целые семейства алгоритмов, которые разными методами (одни — для длинной выдержки, другие — для пачки кадров с небольшой и т.д.) компенсируют эти проблемы, кардинально повышая качество результата.
Хм… на прошлой неделе, было ДТП (1 участник скрылся). Есть видео с регистратора очевидца… номер видно только первая буква и 3 цифры — остальное буквы справа не различить. На сколько большая вероятность распознать номер полностью?
Это понятно. Но видео не мое и не у меня. Я не знаю на каком этапе то ДТП, может уже нашли, нужно интересоваться. К тому же, я не уверен в том, что есть крайняя необходимость в распознавании номера, может уже нашли ибо есть модель и кусок номера, чего вполне может быть достаточно. Я ждал простого ответа. Типа, да можно, это будет стоять н-денег и н-времени. Как-то так.
Простой ответ невозможен без исходников. Это как просьба рассчитать бюджет на изготовление сайта. Ну, обычно сайта, как у всех.

Как раз этот запрос просто рассчитать…
Просто берём выборку около 1000 проектов(или больше)от специалистов с уровнем примерно вашим…
В выборки находим среднеарифметическую цену "обычного" сайта…

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

Область пока почти не копают, но она будет активно развиваться, зуб даю)
Спасибо за статью.
.
P.S. С замиранием дыхания ждал — что же с запросами полицейских, наших и международных???
Помогли ли им или послали?
Облом… Осталось как интрига… :-))))
Про это было:
Но в любом случае нужно четко понимать, что текущее восстановление — это, как правило, увеличение разрешения в 2 раза. Реже в некоторых случаях, когда исходных материал не сжимался или почти не сжимался, речь может идти о 3-4 разах. Как видите, это даже близко не 100-1000 раз увеличения из фильмов, когда 1,5 пиксела убитой шумами ночной записи превращаются в превосходного качества номер машины.

Более того — сжатое, а тем более сильно сжатое такими методами вообще не восстанавливается, там другие нужны, сложнее.

А им обычно сильно сжатое надо… И не в 2 раза, а больше…

Не помогли, короче, им русские хакеры в этом конкретном случае. Облом-с вышел… )))
железо, которое в состоянии строить карту motion estimation с четвертьпиксельной точностью есть в любом смартфоне с поддержкой H.264


Смартфонное железо ищет движение в малой окрестности малых блоков, подбирая вектора движения по критерию минимизации SATD. Т. е. ищет те блоки, которые минимизируют кол-во бит на компенсацию ошибки предсказания и хранение самого вектора движения. Это близко, но не совсем true motion. Кроме того, есть сомнения в качестве «четверть-пиксельности», т. к. 8-тапные свёртки для вычисления четверть-пиксельных значений сильно нагружают шину памяти.
Что это не true motion — однозначно. И это отдельная большая тема — в чем разница ME для сжатия и фильтрации (а они разные, если результат интересует). Но оптимизировать под фильтрацию поиск с четвертьпиксельной точностью на железе сегодня проблема не такая большая.
Как я понимаю — бОльшая часть фотографий в начале, прошли через фильтр повышения микроконтраста в высокочастотной области спектра? Технология стара как мир — еще из пленочной эпохи, отличаются только алгоритмы, но принцип не сильно изменился.

Примеры кадров с чтением года в надписи с гербом — там реальное разрешение или уменьшенное для статьи?
Как я понимаю — бОльшая часть фотографий в начале, прошли через фильтр повышения микроконтраста в высокочастотной области спектра?
Неправильно понимаете. )

Попробуйте микроконтрастом восстановить все кончики в короне между флагами или дырку нуля в 1809 и вы поймете, о чем выше шла речь )
Примеры кадров с чтением года в надписи с гербом — там реальное разрешение или уменьшенное для статьи?
Реальное. На здании специально кликнуть можно, чтобы реальное открыть.
Если разрешение реальное, тогда упс…

Но примеры со зданиями habrastorage.org/webt/0a/-x/0z/0a-x0zj47mmkgsa79aiojqtrfco.gif и людьми habrastorage.org/getpro/habr/post_images/4bd/7bb/3da/4bd7bb3da22d2904311d2da762331b5e.gif — очень похожи на обычное повышение микроконтраста.

Я сейчас разглядел гифку со зданием на очень большом разрешении. Действительно, разница с обычным аншарпингом сильно заметна. Но только при большом увеличении. При том размере, что в статье — ничего не разобрать, зато хорошо видно вот так:
Заголовок спойлера




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

Уже появилось, беззеркальные фотоаппараты Олимпус и Панасоник, уже умеют использовать 5- осевую стабилизацию изображения для создания снимков с супер разрешением. Например Olympus OM-D M5M2 с матрицей в 16 МП умеет создавать снимки с разрешением в 40 МП путём сдвига матрицы.
Тем не менее, SR в профессиональных фотоаппаратах должно скоро появиться: хотя бы для уменьшения шумов при низкой освещенности и увеличения резкости фото.


Если я правильно понял, то подобная технология технология уже используется как минимум в Pentax K-1 под названием «Pixel Shift».
Есть мнение (и сложившаяся культура) в том, что от профессионального аппарата требуется лишь максимально точно слить информацию с матрицы. В том числе для возможной обработки в буджущем несуществующими сегодня алгоритмами. Разумеется, культура (и ее адепты) получения сразу готовой картинки тоже есть. Но это mad skill + ограниченные условия (в основном, в студии — с флэшметром, штативом и прочим хардкором). Что касается всяких пентаксов, то всякого рода таких алгоритмов масса, тот же айфон способен демонстрировать потрясающий для своих размеров результат.
подобная технология технология уже используется как минимум в Pentax K-1 под названием «Pixel Shift»
Да, сейчас обновлю. Причем у Pentax K-1 чуть не у единственного нормальная обработка движения, т.е. можно движущиеся объекты в этом режиме снимать.
1. Как в смартфонах делается сопоставление положения камеры и времени между кадрами? Насколько хороша синхронизация между акселерометрами и триггером экспозиции?
2. Есть ли значительные различия в SR с помощью CCD и CMOS камер?
1. что такое сопоставление положения и времени?
2. конечно, при учете сдвига и байеровского паттерна. Т.е. алгоритм нужно тюнить под другой вид сенсора
1. Допустим, мы едем в машине по лесу. Тогда, чтобы просчитать субпиксельный сдвиг, нам надо знать, сколько машина прошла за время между двумя кадрами, мгновенное ускорение во время экспозиции и прочее.
2. Давайте для простоты считать матрицы монохромными без зазоров между пикселями и с одинаковым откликом число фотонов-заряд у пикселей, так оно как-то уютнее :) Можете кинуть ссылку на какой-нибудь алгоритм, который учитывает, что у CCD считывание кадрами, а у CMOS строками? Если у CMOS-камеры есть burst mode, на построчном считывании можно попробовать отыграть или число кадров, или необходимое на расчёт время.
1. Если вы про вычисление межкадровых сдвигов, то с помощью соответствующих алгоритмов обработки изображений, предполагающих относительную постоянность сцены. Акселерометры и гироскопы тут никак не используются — их точность слишком мала, даже чтобы грубо оценивать сдвиги.
Жаль, надеялся, допилили. Движение без ускорения достаточно простой вариант, а вот если дёрнулись во время экспозиции, то у нас PSF сдвига может быть разной для частей изображения.
Если вы про смаз в процессе экспозиции, то это вообще отдельная задача, далеко не самая простая. Да, он сильно мешает. Но если сделана серия снимков и смазанный получился только один, то разумнее его просто выбросить из дальнейшей обработки.
Просто привык к микроскопии: слишком расточительно выкидывать кадры и сцену нельзя считать постоянной, зато известен профиль движения сцены относительно камеры. Думал, что все такие жадные и паранойяльные :)
Большинство приведенных примеров это просто лишь хороший ресайз+ресемпл + умный шарп. Лишь на небольшой части видно, что алгоритм пытался дорисовать отсутствующие детали. Причем совершенно не ясно, это реальная работа или рекламная карточка. Если реальная — то это крутяк. Использование соседних кадров, разумеется, обязательно, ведь надо же откуда-то брать информацию.
Пользователь хочет, чтобы было красиво, а не достоверно — пользователь получает красиво.
Причем совершенно не ясно, это реальная работа или рекламная карточка.

Существует точка зрения, что все эти миллионы статей про Super Resolution — это одно большое надувательство ). С ней невозможно спорить )))

Добавлены ссылки на SR в профессиональных фотоаппаратах.
Спасибо. Я не имел ввиду надувательство вообще, я лишь про то, что бОльшую часть примеров можно воспроизвести в фотошопе путем последовательного применения привычных фильтров (да, ручного, но простого), что действительно выглядит как надувательство, потому что не являет собой ничего необычного. Поэтому более интересны другие примеры, где есть реальное увеличсеие разрешения без шарпа и чрезмерного шумодава. Кстати, в фотоаппаратах не обязательно байеровская структура, см. например матрицы от Fuji — они эксперементировали с иным расположением субпикселей и достигли некоторого успеха. А в фотоаппаратх Sigma применяются многослойные матрицы, у них разрешение матрицы равно реальному (если не умножать заявленное разрешение на 3). Наконец, было крайне оптимистично называть приведенные вами игрушки профессиональной техникой (никак не комментирую сам термин, пусть это останется на совести тех кто пудрит мозги всякой маркетинговой чушью, но с таким подходом айфон тоже можно назвать профессиональным — я серьезно). Если вы затронули тему фотоаппаратов, неплохо было бы ее развить и выразить более предметно.
я лишь про то, что бОльшую часть примеров можно воспроизвести в фотошопе путем последовательного применения привычных фильтров (да, ручного, но простого), что действительно выглядит как надувательство, потому что не являет собой ничего необычного.

У меня другая точка зрения по этому вопросу )

Я тут осознал, что можно делать конкурс — сулить 10000 рублей тому, кто приведет Photoshop Action, переводящий левую картинку в правую (это к вопросу о примерах), причем умеющий так делать и на других картинках: )
image

Да, она резче, но ровно потому, что на ней благодаря восстановлению Video SR реально появились детали. И у меня сильнейший профессиональный интерес пользователя фотошоп с 25 летним стажем — какими «привычными фильтрами фотошопа» это можно сделать )))

Автор этого алгоритма не зря покинул нас и сейчас работает в Google DeepMind, с кондачка к счастью или к сожалению, эта задача не решается.
Конкретно это никакими. Нужно было побольше выложить таких примеров в статью. Кстати, в фотошопе есть нейросетевое увеличение, можно бы поиграться, но не за 10 тыр.
Эта оценка меня радует )

В Photoshop реализован Image SR, конкретно на этой картинке он и корону попортит, и золотистые листики под флагами. Пасть, ухо и глаз зверя не сможет восстановить. Заметно лучше станет только древкам флагов и прочим резким границам.
пользователя фотошоп с 25 летним стажем

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

Во-вторых, если пробежаться по вашей же ссылке на сколар, то создаётся впечатление, что подавляющее большинство статей по запросу super resolution посвящены вовсе не восстановлению оптического изображения с повышением разрешения, а либо разного рода микроскопии, не обязательно оптической, либо методам обеспечения высокого разрешения (ещё до снятия самого изображения).
Зачем тут эти рекламные картинки? Снимите миру со смазом, расфокусом и т.п. Прогоните через алгоритм и замерьте итоговое разрешение.
Указанные в статье карманные фотобрелки, внешне выглядящие как фотоаппараты (никоим образом не умаляю их достоинств, которые, вне вского сомнения, у них есть), рассчитаны на ЦА, которая не очень хорошо знает, что такое мира.
Не, ну Пентакс-К1 — это довольно серьёзная штука. ФФ-зеркалка, как ни крути.
Да, народ сравнивает очень дорогие зеркалки и… опять не приводит миры.

Но все еще хуже… Миры практически не используются в статьях про SR! )

В чем дело? В том, что вы, genuimous да я знаем что такое миры, а остальные неграмотны… Или? ))))
Миры практически не используются в статьях про SR! )

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

Бинго!!! )))

Абсолютно правильный ответ Spaceoddity!

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

Именно поэтому если на мирах показывать — грамотный народ почему-то недобро коситься будет )))

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

По моей ссылке там сцена где есть участки разного типа, включая миру, и например такие сложные объекты как трава и волосы, там как раз хорошо сравнивать как pixel shift в современных камерах справляется с разными типами объектов. (Вы можете выбрать камеры и участок изображения)

Да, забавно. Трава, похоже колебалась и простой алгоритм компенсации движения не смог это поймать и накосячил.
Видно, что одна травинка на 3 штуки распадается.

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

Есть ли какой-то софт, который может взять 2-5 RAW-фотографий, сделанных последовательно с рук (сцена одна и та же), и увеличить итоговое разрешение / убрать смазывание?

Смотрите в сторону астрофотографии, но только там обычно штатив и сотни фото либо 4k видео. Можно попробовать с рук в случае с видео, но у меня руки никак не дойдут на эксперименты. Таким образом делают общую выдержку в минуты вместо 10и секунд, тк земля проворачиваестя и выходит смаз.
Тут предлагают много программ для стакинга:
www.outdoorphotographer.com/blog/star-stacking-for-pinpoint-stars-and-low-noise
Своевременная и интересная статья.Прямо таки животрепещущая для меня статья. Во дворе машину ударили и водитель скрылся. На видео номера как обычно не разобрать — кажется «вот вот» но никак. Уж чего только не делал. Теперь буду знать где искать.
UFO landed and left these words here
Я вот недавно смарт деблюром баловался,
www.flickr.com/gp/131045386@N06/s6ANp5
Слева — фото луны в зените, и без стекла, повернуто на 45 градусов. Справа вверху луна над горизонтом и снимал через стекло. Снизу — ручная деконволюция, самый лучший результат которого удалось достичь. Я вначале делал деконволюцию, и только потом понял что виновником оказалось стекло, которое значительно понижало резкость.
Сталкивался с аналогичными ситуациями, когда в некоторой области (обработки сигналов) все заточено на простые и красивые примеры… Причём — на уровне стандартов (т.к. точность сравнивается на открытых базах). А в реальных условиях помех все они выдают неадекватный результат. И можно кидать в топку тысячи статей, которые пишутся по открытым базам, потому что в продакшене идёт борьба за другой качественный уровень алгоритмов, по своим базам и т.д.

Но раз уж в этом обсуждении можно углубляться в технические детали, то у меня вопросы технические:
1) Восстановление движения — это подходы типа DTW / ShapeDTW?
2) Еще интересно насчет деконволюции — есть ли какие-то качественные источники и практические примеры, где можно было бы руками поделать оптимизацию? Я так понимаю, что деконволюция — это то же самое, что определить импульсную характеристику артефактов и вычесть её?
3) И общий вопрос: применяются ли здесь какие-либо подходы, придуманные для киномонтажа?
И можно кидать в топку тысячи статей, которые пишутся по открытым базам, потому что в продакшене идёт борьба за другой качественный уровень алгоритмов, по своим базам и т.д.
Все ровно так. С точки зрения практического применения примерно 97% статей — увы, мусор.

1. Нет, современный motion estimation
2. habr.com/ru/post/147828 — примеры, есть репозитории на гите
3. Видимо имеется ввиду post-production фильмов. Это сильно другая область. Там алгоритм в 2000 раз медленнее реального времени с ускорением на GPU — норма, сегодня все студии сидят на render farms + норма, когда много данных задается или правится руками. А тут все же речь идет про более быстрые и более автоматические подходы и речь в первую очередь про восстановление.
Короче говоря, если есть сильно пошакаленная картинка с интернета, то с ней ничего не сделаешь.
Максимум что можно сделать — это убрать шум и сделать чёткие контуры, если они были такие на исходной картинке.

По крайней мере картинки с чёткими контурами намного лучше увеличиваются, чем с размытыми контурами, а хотелось бы как раз получить чёткие контуры из размытых.
Отличная статья, Дима. Теперь всех ментов сначала сюда буду отправлять, а потом уже дальше беседовать. Еще бы по-английски то же самое…
Кстати, камера слегка дрожит даже и будучи укреплена на самом лучшем штативе. На 4К видео с дешевой камеры от Блэкмаджика от кадра к кадру стабильно сдвиг порядка 1/8 пиксела, а от минимума к максимуму — почти 1/4. Это дает очень интересный эффект — резкое увеличение шума на границе яркости, шум существенно выше, чем и на светлом и на темном участке. Вот чистый шум умноженный на 10, для лучшей видимости
image
Это, кстати, может быть использовано для автоматического выделения синтезированных частей изображения. Нужно только иметь с десяток кадров с неподвижным объектом. Впрочем, в моем примере шума «чистое» изображение строилось по 300 кадрам ;-)
Андрей, привет! Да, вас, естественно, тоже на ту же тему беспокоят).

На английском планируем.

Дрожание в пикселах зависит от FoV объектива. Если широкоугольным снимали со штатива — то дрожания почти не будет. А так — да, много для чего оно полезно может быть )
Получается, что если хорошим алгоритмом обрабатывать кадры из видео с разрешением 4k, можно получить лучшее качество, чем у фото, скажем, на 12 мегапикселей?.. Если это так, то с какой выдержкой видео снимать, 1/100 достаточно?
Да, можно )

Но должны быть статическая сцена, полупиксельные сдвиги и правильный алгоритм. Выдержка, если движения в сцене нет — под сцену, лишь бы одинаковая. Выше человек описывал подобную съемку пейзажа с софтом для астросъемки. Если снимать с небольшим FoW — полупиксельные сдвиги гарантированы даже на штативе.
Между прочим, в мире аудио картина примерно та же. Не в смысле охочих до «зума», а в информационном — пока вы рассматриваете статичный кадр — кажется, что вытянуть инфу, тонущую в шумах нет шансов. А вот в динамике…
Я сам когда-то копал тему Noise Shaping, Dithering и всего такого в мире цифрового звука. Одно дело — теория, а другое — услышать собственными ушами звук, уровень которого ниже (что-то порядка 1...2 дБ) полки шумов. Шум-то оказывается «модулированным» — отсюда мозг и «вытягивает» сигнал.
Интереса ради, а что в случае аудио можно считать за «статичный кадр»? Интуитивно выловить по аналогии с видео, увы, не получается.
Ну, например, один звуковой сэмпл. За долю секунды вы ничего не разберёте. А вот на продолжительном отрезке — да. Так же и на видео — кадр с белым шумом — ни о чём, но несколько секунд модулированного белого шума — уже заметно.
В принципе, это общее место в теории информации. Что видео, что аудио, что текста, что архиваторов.
Если речь зашла, не подскажете, почему в звуке такой зоопарк частот дискретизации? И откуда взялась несуразная цифра в 44 100 Гц?
Да, выше ответили — «зоопарк» получился исторически. 44,1кГц выбрали в основном из-за совместимости со старым (видео)оборудованием и как некий компромисс между хотелками и предельными возможностями аппаратуры 80-хх:
audiophilesoft.ru/publ/theory/why_44100/6-1-0-281
А на момент создания следующих поколений цифрового звукового оборудования, техника уже позволяла выжать чуть больше — 48кГц, хотя как по мне, Сонька с сотоварищами специально пошли на эти искусственные барьеры между CD, MiniDisc и студийного оборудования из копирастически-коммерческих соображений. Интернет и МП3 всё-равно всех побороли, а мы теперь вынуждены жить с кучей форматов, каждый из которых «тянет» наследие предыдущих, упиравшихся в пределы железа.

Короче до боли всем знакомая история с легаси в ПО.
Цифра может несуразная, но:
Аналоговое аудио записывается путем его дискретизации 44 100 раз в секунду, а затем эти выборки используются для восстановления аудиосигнала при его воспроизведении.

И я всегда думал, что эта величина является ссылкой на терему Котельникова.
Так как человек явно не слышит звук 22050 Гц, то такой частоты дискретизации вполне хватает. А уже «наследие аналоговой эры» нужно знать для того, чтобы понять, как сигнал с частотой дискретизации 2*fmax будет преобразован в электрической цепи и пойдет на микрофон.
Но конечно у нас есть нелинейные системы, может мы при частоте звука 8 кГц попробуем воспроизвести третью гармонику — тогда 48 кГц нам лучше подойдет.
44100 Гц взялось с той поры, когда цифровой звук записывали на аналоговые видеомагнитофоны через специальную приставку (PCM coder или, по-нашему ИКМ-процессор). Такая частота была связана с частотой поднесущей PAL. Для NTSC применялась и более «левая» частота 44056 Гц, т.е. записанные таким образом CD могут воспроизводиться чуть-чуть быстрее и выше.

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

Интересно, если сделать снимок массивом камер (4 штуки: 2 по вертикали, 2 по горизонтали), можно ли эти данные рассматривать как «видео» и использовать для суперрезолюции? Так четырьмя дешевыми камерами можно было бы получить одну, но хорошую фотографию :)
Можно. ) И в новой статье, которая скоро будет, будет даже пример массива камер 4х4 для смартфона, который, правда, не пошел в серию + пример SR на подобных данных. Шанс, что через несколько лет эта тема на телефонах зайдет в терминах SR очень велика.
Будем ждать :) Любопытно, будет ли в данном случае бОльшая базовая линия скорее негативным фактором? Ведь картинки желательно чтобы были как можно более похожими?
Я интересуюсь данной темой в контексте моей статьи habr.com/ru/post/414877
Для построения карты глубин, обычно, чем «шире» — тем лучше. А вот для SR может и наоборот
Как калибруются (если вообще калибруются) камеры для SR? Какую информацию о матрицах и оптике дают производители, чтобы не надо было подписывать SLA, а в идеале вытащить из памяти контроллера камеры специальной командой?
Да никак не калибруются — алгоритмы и без калибровки нормально работают.
Конечно, если есть желание, можно вытащить PSF камеры, например, фотографируя различные паттерны.
т.е. размер и шаг пикселей и калибровочну матрицу откликов для потребительских камер не пишут? У научных и прочих специализированных это обычно есть, и то приходится сидеть с напильником, чтобы некоторые алгоритмы CV заработали.
Эффект от точности оценки параметров камеры проявляется только при большом количестве снимков — от нескольких десятков. В потребительском сегменте такая ситуация является крайне маловероятной.
Как раз на выходных смотрел фильм («Враг государства» с Уиллом Смитом) 10 летней давности. Шпионы, спецслужбы все такое, ну и естественно штампы с мегазумом.
Там как раз взяли изображение героя снятое камерой видеонаблюдения в обычном магазине, естественно «улучшили и увеличили». Но этого им было мало, так-как у героя был интересовавший их пакет в руках. При этом камера смотрела на его ребро.
Но это не помешало супер-пупер алгоритмам восстановить 3д модель пакета, да еще и с рисунок на его сторонах, которые не попали в кадр :))).
Короче киношникам еще есть куда двигаться.

Есть дома записи сделанные в mjpg формате, качество и битрейт не зарезал. Но разрешение всего 640*480. Есть сейчас софт способный вытянуть разрешение побольше без урезания деталей? Я так понял нужен софт с работой анализа кадров вперед и назад. Пускай хоть неделю считает.

Пока инвестиции в создание такого софта не окупают относительно небольшое количество людей, готовых за такой софт платить. И даже исследований — того, благодаря чему такой софт может появиться — мало (цифры в статье были). Софт, который «сделает вам красиво», но периодически картинка будет синтетической — на подходе и скоро это будет везде. На гитхабе есть специальный топик Super Resolution, там почти 200 репозиториев (!):
github.com/topics/super-resolution
Но если попробовать — будет хорошо видно, что с работой со сжатым видео там пока большие проблемы. Хотя сжатые мультики уже очень прилично обрабатывают и еще красивые примеры уже есть. Почти все примеры — Single Image.
Просто у камеры видеонаблюдения в подъезде разрешение совершенно случайно оказалось как у телескопа Хаббл
Кстати говоря, у телескопа Хаббл довольно долго разрешение было 640х480 (или около того), поэтому сравнение неуместно =)
Если такой софт и появится, например в виде плагинов к VD, ависинту, авидемуксу, то радость будет у тех, кто еще имеет DV и VHS. Можно будет перецифровать и сделать годное 720p.
Так или иначе это должен кто-то профинансировать. Критической массы профинансированных исследований (и статей по ним) пока, увы, не наблюдается. Расклад в конце текста приведен.
Он уже давно есть — см. плагины Super Resolution для VirtualDub и AviSynth есть на сайте infognition, теперь даже бесплатно. Но при оцифровке VHS намного важнее шумоподавление, без него там ничего хорошего не наувеличиваешь.
Привет! :)
Я с прошлого года ушел из этой темы, теперь совсем в другой области работаю.
Но при оцифровке VHS намного важнее шумоподавление, без него там ничего хорошего не наувеличиваешь.
А насколько там постоянный шум при нескольких прогонах считывания?
Не могу сказать, сам не оцифровывал, и примеры с VHS у меня были в единственном цифровом экземпляре. Ко мне тоже часто обращались как и к автору поста с такими просьбами и видео…
А насколько там постоянный шум при нескольких прогонах считывания?

У VHS аналоговое считывание, как следствие — целая пачка косяков как с самим сигналом, так и с неточным принятием сигналов синхронизации и т.д.

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

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

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

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

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

Это еще одна хорошая новость. )
Мне хватало некоторых комбинации MSU и Столяревского. Как для DV, так и для VHS. Только на моих «мощностях» 2 кадра в секунду.
Чтобы делать три и более захвата нужно чтобы на ленте была нетленка класса Феллини.
Последний раз три года назад это было, на память…
Столяревского — CCD, SuperTemporal почти везде, Muksun не везде подошел.
MSU — Какой-то из deblocking-ов. Это было уже оцифрованное домашнее видео. MSU Smart Brightness and Contrast — после того как сам бегал с камерой при отвратительном освещении.
MSU Logo Remover — даже не помню для чего использовал. НО! Этот бы фильтр впилить в цифровые приставки — а то от этих лого экраны выгорают.
MSU Smart Brightness and Contrast — после того как сам бегал с камерой при отвратительном освещении.
Да, понятно.
НО! Этот бы фильтр впилить в цифровые приставки — а то от этих лого экраны выгорают.
Мы-то рады, но как я понимаю там не все так просто с юридической точки зрения.

Спасибо за расклад!
Чтобы делать три и более захвата нужно чтобы на ленте была нетленка класса Феллини.
Ну, собственно для реальных кинолент, по идее же должны что-то подобное использоваться, нет?
А так, у каждого дома может быть пару таких «нетленок», в плане — видео записей родных. Так что вполне возможно через какое-то время люди начнут о них вспоминать и задокументированный опыт кому пригодиться?
Ну почти согласен.
Но! Через некоторое время перестанут быть доступны работающие видеомагнитофоны. (У меня не включался три года. Вопрос: включится ли?)
Как ни странно, но CCD и SuperTemporal на выходе дают достаточное качество.
Захватывать нужно в максимальном для карты видеозахвата качестве, cохранять в Лагарих или MSU, резать на сцены и долго, очень долго подбирать положения ползунков в фильтрах. А потом еще дольше обрабатывать все это, так как при пяти-шести фильтрах в VD скорость обсчета может упасть до 0,5 кадра в секунду, потому-что GPUшных фильтров для VD практически нет.
И очень важно, внимательно отнестись к шнурам, я нарывался.
Возможно вы посоветуете мне, в какую сторону копать для того, что бы делать подобные илюстрации пригодными для печати в большом формате (а1)? Пробовал Бенвистой, Топаз А.И. и есть идея в вектор переводить.
Фото
image
Очень часто результаты алгоритма очень хороши, но ему нужно, например, 20 кадров вперед и 20 кадров назад, а скорость обработки одного кадра — около 15 минут при использовании самого продвинутого GPU. Т.е. на 1 минуту видео нужно 450 часов (почти 19 суток).

А существует ли софт который делает подобное, чтобы самому на это все посмотреть?
Год назад на Гитхабе на тему SuperResolution было меньше 200 репозиториев, сейчас год спустя 319. Т.е. взрывной рост в 1.6 раз примерно и есть с чем экспериментировать. Готовый софт тоже постепенно подтягивается. Погуглите SuperResolution plugin. Там будут как классические подходы (старые плагины), так и новые нейросетевые.
Only those users with full accounts are able to leave comments. Log in, please.