Какой алгоритм использует Neatimage для удаления шума и зерна из фотографий? Я понимаю, что это проприетарное программное обеспечение, но, вероятно, у кого-то есть идея. Приветствуются ссылки на публикации или похожие алгоритмы.Какой алгоритм использует Neatimage для удаления изображений?
ответ
Эта статья выглядит многообещающим:
http://research.microsoft.com/~larryz/04359321.pdf
Он обсуждает алгоритм NeatImage в кратко и будет хорошим местом для начала.
В самом основном, подавление шума обычно использует усреднение по пикселям. Проблема, конечно же, в том, что простое усреднение теряет детали. Усреднение большего количества пикселей уменьшает шум больше, но теряет больше деталей. Усреднение меньше пикселей теряет меньше деталей, но снижает шум меньше.
Что-то вроде NeatImage или Noise Ninja будет адаптивно адаптироваться к пикселю - например, он начнется с проверки изменений, которые происходят на достаточном количестве пикселей, что они вряд ли будут шумом, и где он видит их, сделайте усреднение по меньшему числу пикселей.
Они также будут учитывать каналы изображения. Обычная цифровая камера имеет фильтр перед каждым сенсором. Обычная компоновка - это что-то вроде g-r-g-b (aka, шаблон Bayer). В типичном случае зеленый фильтр передает больше света, чем красный или (особенно) синий. Чтобы сохранить баланс цвета в финальном изображении, яркость блюза на снимке должна быть «увеличена», чтобы компенсировать. Это, однако, имеет тенденцию увеличивать шум в синем канале. Чтобы компенсировать это, шумоподавитель обычно будет делать минимальное усреднение по зеленому каналу, несколько больше в красном канале и еще больше в синем канале.
Усовершенствованный шумоподавитель обычно начинается с модели шума для отдельного датчика и применяет шумоподавление на основе этой модели. IIRC, NeatImage также позволяет вам принимать «темные кадры» (например, 30-секундную экспозицию с крышкой объектива), чтобы получить лучшую карту точных характеристик шума вашего точного датчика и учитывать это (я знаю, что Noise Ninja позволяет это, и если память обслуживает NeatImage, также). Обычно, чтобы это работало наилучшим образом, вы хотите начать с чего-то вроде пяти темных кадров. Вы статистически анализируете их, чтобы найти 1) какие пиксели последовательно яркие или темные («застрявшие пиксели») и 2) любые согласованные шаблоны, которые вы можете найти в шуме, чтобы вы могли их устранить напрямую (например, часть датчика рядом с обработкой могут стать более теплыми и, следовательно, более шумными, чем другие части), и 3) тип и степень вариации, чтобы ожидать от шума даже там, где на самом деле нет рисунка (например, некоторые датчики показывают шум яркости, другие - в основном цветной шум).
Спасибо, Джерри. Я предположил, что он работает в лаборатории или в подобном цветовом пространстве внутри (он имеет отдельные настройки для цвета и яркости). Я также видел, что Neatimage использует патч изображения для оценки параметров шума. Пока неясно, как он использует эту информацию, но результат довольно хорош. – sastanin
Я думаю, что все три основных (Noiseware, Neat Image, Noise Ninja) применяют какой-то Wavelets Denoising.
Причина проста, все не локальные методы слишком медленны для реализации.
Хотя RX Converter DXO использует не местные средства.
Вы можете легко найти некоторые статьи о том, что (и вернуться к точке нам за лучшее, что вы нашли) ...
Собственно, они притворяются, что используют что-то другое (http://www.neatimage.com/overview.html). Но не уточняйте. Я надеялся, что кто-то более осведомленный в NR может догадаться. – sastanin
Они говорят лучше, чем «Классик», поэтому они могут использовать «продвинутые» методы всплесков. Noise Ninja заявляет, что использует «Вейвлеты второго поколения». Я бы поспорил на Вейлетов. – Royi
Это все еще довольно расплывчато. Я хотел бы узнать больше технических деталей. – sastanin
Спасибо, Леонард. Эта статья действительно очень полезна. Благодаря! – sastanin