2009-10-19 5 views
2

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

ответ

5

Эта статья выглядит многообещающим:

http://research.microsoft.com/~larryz/04359321.pdf

Он обсуждает алгоритм NeatImage в кратко и будет хорошим местом для начала.

+0

Спасибо, Леонард. Эта статья действительно очень полезна. Благодаря! – sastanin

10

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

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

Они также будут учитывать каналы изображения. Обычная цифровая камера имеет фильтр перед каждым сенсором. Обычная компоновка - это что-то вроде g-r-g-b (aka, шаблон Bayer). В типичном случае зеленый фильтр передает больше света, чем красный или (особенно) синий. Чтобы сохранить баланс цвета в финальном изображении, яркость блюза на снимке должна быть «увеличена», чтобы компенсировать. Это, однако, имеет тенденцию увеличивать шум в синем канале. Чтобы компенсировать это, шумоподавитель обычно будет делать минимальное усреднение по зеленому каналу, несколько больше в красном канале и еще больше в синем канале.

Усовершенствованный шумоподавитель обычно начинается с модели шума для отдельного датчика и применяет шумоподавление на основе этой модели. IIRC, NeatImage также позволяет вам принимать «темные кадры» (например, 30-секундную экспозицию с крышкой объектива), чтобы получить лучшую карту точных характеристик шума вашего точного датчика и учитывать это (я знаю, что Noise Ninja позволяет это, и если память обслуживает NeatImage, также). Обычно, чтобы это работало наилучшим образом, вы хотите начать с чего-то вроде пяти темных кадров. Вы статистически анализируете их, чтобы найти 1) какие пиксели последовательно яркие или темные («застрявшие пиксели») и 2) любые согласованные шаблоны, которые вы можете найти в шуме, чтобы вы могли их устранить напрямую (например, часть датчика рядом с обработкой могут стать более теплыми и, следовательно, более шумными, чем другие части), и 3) тип и степень вариации, чтобы ожидать от шума даже там, где на самом деле нет рисунка (например, некоторые датчики показывают шум яркости, другие - в основном цветной шум).

+0

Спасибо, Джерри. Я предположил, что он работает в лаборатории или в подобном цветовом пространстве внутри (он имеет отдельные настройки для цвета и яркости). Я также видел, что Neatimage использует патч изображения для оценки параметров шума. Пока неясно, как он использует эту информацию, но результат довольно хорош. – sastanin

2

Я думаю, что все три основных (Noiseware, Neat Image, Noise Ninja) применяют какой-то Wavelets Denoising.
Причина проста, все не локальные методы слишком медленны для реализации.
Хотя RX Converter DXO использует не местные средства.

Вы можете легко найти некоторые статьи о том, что (и вернуться к точке нам за лучшее, что вы нашли) ...

+0

Собственно, они притворяются, что используют что-то другое (http://www.neatimage.com/overview.html). Но не уточняйте. Я надеялся, что кто-то более осведомленный в NR может догадаться. – sastanin

+1

Они говорят лучше, чем «Классик», поэтому они могут использовать «продвинутые» методы всплесков. Noise Ninja заявляет, что использует «Вейвлеты второго поколения». Я бы поспорил на Вейлетов. – Royi

+0

Это все еще довольно расплывчато. Я хотел бы узнать больше технических деталей. – sastanin