Comments 41
А просто интерполяцией в лоб нельзя такое сделать? Например, интерполяция по строкам, потом по столбцам, потом взять среднее арифметическое? Мы же не уверены, что пиксели сенсора вышли из строя равномерно, или же по нормальному распределению вероятностей.
Зачем блюром, если есть nearest-neighbor? И таки для справедливости автору (оригинала) следовало бы выложить. Я посчитал этот пример по кусочку 226х226 предоставляемых автором (оригинальый испорченный 512х512 найти не удалось).
Результат фурье-обработки, конечно лучше, но автор таки слегка кривит, не показывая простые методы.
Для остальных будет понятно — что математики владеют некой магией вычислений. И да, некоторые, скорее всего, поставят в один ряд с астрологами, нумерологами и прочей нечистью.
За примерами далеко ходить не надо — существуют множество статей, посвящённых быстрым преобразованиям Фурье (и я прочитал их все) — однако вы не найдёте такого же многообразия реализованных алгоритмов в коде. Тот же Prime Factor вы сможете найти только на фортране и с ограничением по длине массива в 720720, потому что факторизация дальше 16 в нём не рассматривается. А если посмотреть код и сравнить его с описанием из википедии — то внезапно окажется что общего между ними ровно ноль и как в нём добавить ещё один уровень факторизации неочевидно никому, в том числе и другому математику (кроме того, который этот код и написал). Вот к слову, пруф — только для другого алгоритма, также портированного из фортрана.
Это просто магия кака-то, потрясающе!
Я поняла так. Мы делаем априорное предположение, что фурье-образ исходной 100-процентной картинки имеет вид колокола с максимум в нуле (что выполняется для всех "обычных" фотографий, см.ниже). Далее находим такой колокол, который наилучшим образом приближает фурье-образ 10-процентного изображения. Обратное FFT, и вуаля.
Подозреваю, этот алгоритм может конкретно подглючить на каком-нибудь изображении, содержащем периодическую структуру, например ту же девушку на фоне обоев с периодическим орнаментом
А если живые пиксели расположены в одном углу?
Показывать нужно «поврежденное» и «восстановленное», а потом выборку людей которые считают «воссозданное» нормальным. И только после обработки выборки показать людям результат опроса, а потом уже продемонстрировать оригинал.
Но «все всегда наоборот». Идея-подгонка-пиар-выбивание бабла.
Интересно, можно ли нормальное фото, скажем в 4K разрешении, улучшить таким способом до 8К разрешения?
Улучшить фото природы, фото человека, кадр мультфильма, фото звездного неба. Сравнить результаты.
Увы, нет, с камерами наблюдения это не поможет. Там нужно ответить на вопрос "кто преступник". Нейросеть может нарисовать сколь угодно четкое, но гарантий что там будет что-то реальное, никаких нет. Зарихтовать источники шума с известным распределением или сделать деконволюцию можно, а из 1 пикселя уже ничего нельзя.
habr.com/ru/search/?q=%5BSuper%20Resolution%5D&target_type=posts
Одну из реализаций (waifu2x-caffe) я пробовал. Если не придираться — нормально. Если рассматривать внимательнее, то видно, что результат отличается от реальности (я смотрел на мелкую текстуру — увеличение получается «синтетическим»).
На самом деле есть много методов восстановления изображения по разреженным данным. И как отметила Tyusha у разных методов могут проявиться интересные особенности на определённых данных. Было бы интересно именно сравнение. Сравнение исходного и восстановленного изображения по какой-либо общеупотребительной метрике. Сравнение методов между собой.
Тут мы упирается в определение, что есть "изображение". Прямоугольник со случайными пикселями это изображение или нет? Поэтому, о чём я и писала, алгоритм ограничивает класс изображений, которые он восстанавливает.
во истину математика творит чудеса…
Множество всех возможных изображений 2 на 2 с цветами, закодированными одним битом>
Как мне кажется, должно быть 16 комбинаций (xy)^количество_цветов=(22)^2
навскидку пропущена нижняя полосаб белое поле тоже имеет право на жизнь.
Например, имея только 10% мы можем попытаться восстановить все остальные используя те или иные модели сигнала. Далеко ходить не нужно, всё сжатие изображении и видео на этом основано и мы прекрасно видим что такой подход работает и какие артефакты при этом появляются. И что в этом нового?
Занимательный способ сказать: "jpeg занимает меньше места, чем bmp"
Мы знаем какие пиксели пропали, а какие нет?
С 10% пикселями разбросанных РАВНОМЕРНО по форме довольно просто работать. Сложновато, но рабочий вариант. Спасибо
В можно еще прикрутить ИИ, который будет дорисовывать недостающую детализацию.
Такой? https://www.nvidia.com/research/inpainting/masking
однако нейросеть работает значительно медленее
Как воссоздать изображение всего по нескольким пикселям