Как стать автором
Обновить

Комментарии 41

Нематематику — сложновато такое понять.
А просто интерполяцией в лоб нельзя такое сделать? Например, интерполяция по строкам, потом по столбцам, потом взять среднее арифметическое? Мы же не уверены, что пиксели сенсора вышли из строя равномерно, или же по нормальному распределению вероятностей.
с таким же успехом можно бахнуть блюром по кадру с 10% информации

Зачем блюром, если есть nearest-neighbor? И таки для справедливости автору (оригинала) следовало бы выложить. Я посчитал этот пример по кусочку 226х226 предоставляемых автором (оригинальый испорченный 512х512 найти не удалось).
image
Результат фурье-обработки, конечно лучше, но автор таки слегка кривит, не показывая простые методы.

Для нематиматиков — в статье есть картинки))
Сможете по этим картинкам написать код?
Код написать и после прочтения статьи (с формулами) — не смогу, наверное. Но для понимания сути достаточно основного правила чтения научных работ: «Если встречается незнакомый термин (или формула) — пропустить его, суть содержимого от этого не меняется» + часто, смысл термина становится понятен по контексту.
Это не понимание сути — это иллюзия понимания. Если знание нельзя проверить на практике, то как узнать, правильно вы что-то поняли или нет? Без практики такое знание мало чем отличается от астрологии, божественных откровений и прочего аналогичного.
Применять знания на практике будут математики, которые хорошо понимают суть каждой формулы. Математики же — могут как повторить эксперимент, так и оспорить его. А ещё будут физики — которые посмотрят, скажут «хм, вроде интересно, но пока мне это не нужно — в детали вдаваться не буду».
Для остальных будет понятно — что математики владеют некой магией вычислений. И да, некоторые, скорее всего, поставят в один ряд с астрологами, нумерологами и прочей нечистью.
Математики применять на практике будут далеко не всегда, потому что программировать не умеют (за очень, очень редким исключением) и им это вообще не интересно. Им даже окончательное решение не всегда интересно находить — достаточно просто доказать, что оно существует. При написании статей они также любят злоупотреблять переусложением и опускать «очевидные» вещи — потому что пишут их для других математиков, а не для программистов.

За примерами далеко ходить не надо — существуют множество статей, посвящённых быстрым преобразованиям Фурье (и я прочитал их все) — однако вы не найдёте такого же многообразия реализованных алгоритмов в коде. Тот же Prime Factor вы сможете найти только на фортране и с ограничением по длине массива в 720720, потому что факторизация дальше 16 в нём не рассматривается. А если посмотреть код и сравнить его с описанием из википедии — то внезапно окажется что общего между ними ровно ноль и как в нём добавить ещё один уровень факторизации неочевидно никому, в том числе и другому математику (кроме того, который этот код и написал). Вот к слову, пруф — только для другого алгоритма, также портированного из фортрана.

Это просто магия кака-то, потрясающе!

Я поняла так. Мы делаем априорное предположение, что фурье-образ исходной 100-процентной картинки имеет вид колокола с максимум в нуле (что выполняется для всех "обычных" фотографий, см.ниже). Далее находим такой колокол, который наилучшим образом приближает фурье-образ 10-процентного изображения. Обратное FFT, и вуаля.


Подозреваю, этот алгоритм может конкретно подглючить на каком-нибудь изображении, содержащем периодическую структуру, например ту же девушку на фоне обоев с периодическим орнаментом

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

А если живые пиксели расположены в одном углу?

— хрррр сказала пила,
— … сказали рабочие
Некорректно показывать исходное рядом с воссозданным. «Смотрите, нам почти удалось!» Самовосхваление и не более того.

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

Но «все всегда наоборот». Идея-подгонка-пиар-выбивание бабла.
Повреждённое показано в начале статьи.
Выглядит очень похоже на метод наименьших квадратов.

Интересно, можно ли нормальное фото, скажем в 4K разрешении, улучшить таким способом до 8К разрешения?
Улучшить фото природы, фото человека, кадр мультфильма, фото звездного неба. Сравнить результаты.

Так тут же нет «улучшения» как такового
Ну, Nvidia DLSS примерно так и делает.

Вообще не так

НЛО прилетело и опубликовало эту надпись здесь

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

Да, увеличивают. Но другими методами.
habr.com/ru/search/?q=%5BSuper%20Resolution%5D&target_type=posts

Одну из реализаций (waifu2x-caffe) я пробовал. Если не придираться — нормально. Если рассматривать внимательнее, то видно, что результат отличается от реальности (я смотрел на мелкую текстуру — увеличение получается «синтетическим»).
А ведь это — способ копировать видео пересъёмкой с экрана. Там тоже теряется эдак процентов 50 сигнала, но если сделать правильные предположения об исходном базисе сигнала, то, кажется, можно его восстановить почти до исходного уровня. *Задумался*…

На самом деле есть много методов восстановления изображения по разреженным данным. И как отметила Tyusha у разных методов могут проявиться интересные особенности на определённых данных. Было бы интересно именно сравнение. Сравнение исходного и восстановленного изображения по какой-либо общеупотребительной метрике. Сравнение методов между собой.

Отсюда вытекает идея, что можно автоматизировать сравнение. Допустим взять 100 методов, отобрать самые близкие по результатам и наложить. *Сильно задумался*…

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

НЛО прилетело и опубликовало эту надпись здесь
Если авторы не лукавят, то код из статьи на языке Julia должен быть полностью рабочим. Значит, можно установить Julia и попробовать. Выбор Julia вместо матлаба, питона и пр. наверняка обусловлен тем, что авторы считают его самым лучшим выбором для мат. вычислений и ненавязчиво рекомендуют убедиться в этом лично.
так вот как в фильмах увеличивая изображение с уличной камеры на банкомате в миллион раз получают фото сверхвысокой детализации. надо ж, оказывается не все киношники выдумывают.
во истину математика творит чудеса…
Множество всех возможных изображений 2 на 2 с цветами, закодированными одним битом>
Как мне кажется, должно быть 16 комбинаций (xy)^количество_цветов=(22)^2
навскидку пропущена нижняя полосаб белое поле тоже имеет право на жизнь.

Там их и так 16… Или это исправили?

Что-то здесь не так. Очевидно что у этого метода должны быть очень сильные ограничения, даже с учетом перечисленных условий в частотной составляющей. Берем простой пример: допустим у нас в 10% попали только белые точки. Ну и что мы восстановим в этом случае?
Например, имея только 10% мы можем попытаться восстановить все остальные используя те или иные модели сигнала. Далеко ходить не нужно, всё сжатие изображении и видео на этом основано и мы прекрасно видим что такой подход работает и какие артефакты при этом появляются. И что в этом нового?

Занимательный способ сказать: "jpeg занимает меньше места, чем bmp"

Мы знаем какие пиксели пропали, а какие нет?

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

С 10% пикселями разбросанных РАВНОМЕРНО по форме довольно просто работать. Сложновато, но рабочий вариант. Спасибо

В можно еще прикрутить ИИ, который будет дорисовывать недостающую детализацию.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий