Вконтакте Facebook Twitter Лента RSS

Уменьшение уровня шума через усреднение изображения. Коррекция шумов изображения

Бывают в жизни печальные ситуации, когда света мало, а открыть (сильнее) диафрагму или увеличить выдержку нет возможности. Подразумевается, что "плохой" снимок лучше, чем отсутствующий. Как быть? Терпеть. Или воспользоваться небольшой хитростью - сделать несколько кадров и применить усреднение.

ISO6400, было\стало.

Для начала придется сделать несколько одинаковых (чем больше, тем лучше) снимков.

Один из серии. Как видим, даже в сильно уменьшенном размере количество шума ужасает.

Для усреднения загружаем это все в документ фотошопа в виде слоев.
Если съемка велась с рук, слои нужно выровнять с помощью photomerge, предварительно ( здесь), или с помощью команды Edit - Auto-Align Layers (Редактирование - Автоматически выровнять слои).
Далее, для усреднения, задаем прозрачность слоев: для нижнего 100%, следующего 50%, 33%, 25%, ...

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

Открываем фотошоп, и отдаем команду File - Scripts - Load Files into Stack (Файл - Сценарии - Загрузить файлы в стек)
Отмечаем галкой пункт Create Smart Object after Loading Layers (Создать смарт объект при загрузке слоев), опционально - Attempt to Automatically Align Source Images (Попытаться автоматически выровнять исходные изображения).
Таким образом мы получили единую группу или стек. Колдовать с прозрачностью не потребуется, т.к. для проведения вычислений над стеком есть отдельное меню Layer - Smart Objects - Stack Mode (Слои - Смарт объект - Режим стека). При обработке фото и видео имеют значение только два режима - mean (усреднение или среднее арифметическое) и median (медиана), остальные используются при обработке медицинских, научных и криминалистических и снимков и т.д. Если режим стека меняется, вычисления производятся занова (с оригиналом, а не предудыщим результатом).
Рассмотрим 100% кропы с разных участков и сравним результат.

Слева направо: оригинал, медиана, усреднение. Использовался десяток кадров.




Как это работает? В случае режима mean, происходит поканальное сложение яркостей каждого пикселя и результат делится на количество фото. Например: (3+2+1+2+9+3+1)/7=3
В режиме median выбирается среднее сначение из ряда 1,1,2,2 ,3,3,9 - среднее 2. Т.е. сильные единичные перепады не оказывают влияния.
С практической точки зрения это означает что движущиеся объекты оставят след только если они присутствуют на нескольких кадрах серии. Однако mean поборет шумы лучше.

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

Когда этот метод применим?
- при съемке с недостаточным освещением на коротких выдержках (нет настройки выдержки или она ограничена фотоаппаратом, нет штатива, нет возможности снимать долго и т.д.)
- при необходимости уменьшить шум на низких iso, к примеру перед активной последующей пост-обработкой.

Где не поможет?
- при съемке движущихся объектов (хотя возможно избирательное удаление шума в неподвижных областях).
- не избавит от постоянной составляющей шума

Регулировка значений интенсивностей

Существует возможность установки значений интенсивностей на изображении с помощью функции imadjust, где указан диапазон интенсивностей результирующего изображения.

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

I = imread("pout.tif"); J = imadjust(I);

Исходное изображение

Imshow(J) figure, imhist(J,64)

На рисунке отображено преобразованное изображение и его гистограмма. Отметим, что в результате усиление контраста изображения, гистограмма заполняет весь диапазон.


Преобразованное изображение и его гистограмма

Описание регулировки границ диапазона

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

Примечание.
Отметим, что значения интенсивностей должны находится в диапазоне между 0 и 1, независимо от формата изображения. Если изображение представлено в формате uint8, диапазон значений содержит 255 градаций, а для изображения в формате - 65535 градаций.

Например, уменьшение контраста изображения достигается за счет уменьшения диапазона интенсивностей. На изображении внизу, пальто человека слишком темное и на нем не видно деталей. Но это можно исправить с помощью функции imadjust, отобразив диапазон исходного изображения в формате uint8 в диапазон преобразованного изображения. Это преобразование значительно расширит динамический диапазон, и улучшит визуальное восприятие темных областей изображения. Отметим также, что все значения интенсивностей выше 51, будут отображаться как 255, т.е. белым цветом.

I = imread("cameraman.tif"); J = imadjust(I,,); imshow(I) figure, imshow(J)


Изображение после преобразования динамического диапазона

Установка ограничений автоматической коррекции

Обычно при использовании функции imadjust необходимо выполнить два основных действия:

  1. Просмотреть гистограмму и определить границы значений интенсивностей.
  2. Описать эти границы для дальнейшего использования в функции imadjust.

Более простой путь для описания этих границ заключается в использовании функции stretchlim.

Эта функция вычисляет гистограмму изображения и определяет границы корректировки диапазона автоматически. Функция stretchlim возвращает эти значения в виде вектора, который используется как аргумент в функции imadjust. Например,

I = imread("rice.png"); J = imadjust(I,stretchlim(I),);

По умолчанию, функция stretchlim использует значения интенсивностей, которые представляют нижнюю 1% (0.01) и верхнюю 1% (0.99) часть диапазона в качестве границ регулировки.

Гамма коррекция

Функция imadjust отображает наименьшие значения еще меньшими, а наибольшие - еще большими. По умолчанию промежуточные значения отображаются линейно. Например, значения интенсивностей, которые находятся посредине диапазона интенсивностей исходного изображения соответствуют тем значениям интенсивностей, которые находятся посредине диапазона преобразованного изображения.

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

Параметр гамма может принимать значения от 0 до бесконечности. Если гамма равно 1 (по умолчанию), тогда преобразование линейное. Если гамма меньше 1, то диапазон с малыми значениями интенсивности сжимается, а диапазон с большими значениями интенсивности растягивается. Если гамма больше 1, то наоборот - диапазон с малыми значениями интенсивности растягивается, а диапазон с большими значениями интенсивности растягивается.

Сказанное выше продемонстрировано на рисунке. Три кривых преобразования показывают отображение значений интенсивностей при различных значениях гамма - меньше, равно и больше единицы. (На изображении x-координата представляет значения интенсивностей исходного изображения, а y-координата - значения интенсивностей результирующего изображения.)


Отображение трех различных установок гамма-коррекции

Рассмотрим пример гамма коррекции изображения. Отметим, что при использовании функции imadjust диапазоны данных исходного и результирующего изображений описаны в виде пустых матриц. Если они описаны таким образом, т.е. в виде пустых матриц, то функция imadjust использует весь диапазон . Результат применения такого подхода показан на изображении.

Imread("forest.tif") I = ind2gray(X,map); J = imadjust(I,,,0.5); imshow(I) figure, imshow(J)


Изображение до и после применения гамма коррекции

Контрастно-ограниченное адаптивное выравнивание гистограммы

В качестве альтернативы можно использовать функцию histeq, которая выполняет контрастно-ограниченную адаптивную гистограммную эквализацию с использование функции adapthisteq. Функция работает с целым изображением, а функция adapthisteq может работать с небольшими областями изображения. Контраст каждой части изображения повышается, что связано с изменением формы гистограммы. После выполнения выравнивания (эквализации), функция adapthisteq объединяет края локальных областей с применением билинейной интерполяции, исключая искусственно созданные границы.

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

Для иллюстрации рассмотрим использование функции adapthisteq при коррекции контраста на изображении. Исходное изображение имеет низкий контраст, большинство значений интенсивностей сосредоточено в середине диапазона. Функция adapthisteq выполняет равномерное распределение значений интенсивностей вдоль всего диапазона.

I = imread("pout.tif"); J = adapthisteq(I); imshow(I) figure, imshow(J)


Изображение после обработки методом контрастно-ограниченного адаптивного выравнивания гистограммы (и его гистограмма)

Декорреляционное растяжение

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

В большинстве случаев количество цветов в связке NBANDS на изображении равно трем. Функция decorrelation может применятся независимо от количества цветов в связке.

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

Пример декорреляционного растяжения

Применим операции декорреляции и растяжения к некоторым изображениям из библиотеки, которая размещена в директории imdemos системы Matlab. Библиотека включает LANDSAT-изображение небольшой реки в Колорадо. Обработаем это изображение методом декорреляционного растяжения:

  1. Изображение состоит из семи диапазонов, которые должны быть представлены тремя видимыми цветами: A = multibandread("littlecoriver.lan", , ... "uint8=>uint8", 128, "bil", "ieee-le", ... {"Band","Direct",});
  2. Выполняем декорреляционное растяжение: B = decorrstretch(A);
  3. Визуализация результатов: imshow(A); figure; imshow(B)

Сравним два изображения. На исходном изображении сильно преобладает фиолетовый (красно-синий) оттенок, а результирующее изображение имеет более растянутый цветовой диапазон.


Изображение небольшой реки в Колорадо до (слева) и после (справа) декорреляционного растяжения

Покажем разброс цветов разных диапазонов изображения до и после декорреляции и выравнивания:

RA = A(:,:,1); gA = A(:,:,2); bA = A(:,:,3); figure, plot3(rA(:),gA(:),bA(:),"."); grid("on") xlabel("Red (Band 3)"); ylabel("Green (Band 2)"); ... zlabel("Blue (Band 1)") rB = B(:,:,1); gB = B(:,:,2); bB = B(:,:,3); figure, plot3(rB(:),gB(:),bB(:),"."); grid("on") xlabel("Red (Band 3)"); ylabel("Green (Band 2)"); ... zlabel("Blue (Band 1)")


Разброс цветов разных диапазонов изображения до и после декорреляции и выравнивания

Дополнительное линейное растяжение контраста

Сейчас рассмотрим такое же преобразование, но речь будет идти о линейном растяжении контраста, которое применим после декорреляционного растяжения:

Imshow(A); C = decorrstretch(A,"Tol",0.01); figure; imshow(C)

Сравним исходное и преобразованное изображения.


Изображение небольшой реки в Колорадо после декорреляционного растяжения и линейного растяжения контрастов

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

Для получения более детальной информации см. описание функции stretchlim.

Примечание.
Линейное растяжение контраста можно применять как отдельную операцию после выполнения декорреляционного растяжения, используя функции stretchlim и imadjust. Это является одним из альтернативных путей, однако, часто не приводит к хорошим результатам для изображений, которые представлены в формате uint8 и uint16. Такой результат объясняется распределением пикселей в диапазоне (или ). Опции функции decorrstretch позволяют обойти это ограничение.

Удаление шума

Цифровые изображения подвержены воздействию различных типов шумов. Существует несколько основных причин появления шума, которые зависят также от способа формирования изображений. Например:

  • Если изображение получено путем сканирования фотографической пленки, то зерна пленки являются источником шума. Появление шума может объяснятся также повреждением самой пленки или вносится сканирующим устройством.
  • Если изображение захвачено в цифровом формате, то механизм формирования данных (CCD-детектор, квантирование) является источником шума.
  • Электронная передача данных изображения также может быть источником шума.

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

  1. Использование линейной фильтрации;
  2. Использование медианной фильтрации;
  3. Использование адаптивной фильтрации.

Для демонстрации эффекта от работы перечисленных выше методов в приложении существует функция imnoise, которая добавляет на изображение различные типы шума. Рассмотрим примеры использования этой функции.

Использование линейной фильтрации

Линейную фильтрацию можно использовать для удаления шумов определенного типа. Для этого годятся такие фильтры как усредняющий и фильтр Гаусса. Например, усредняющий фильтр используется для удаления зернистости на изображениях. Поскольку значение интенсивности каждого пикселя равно средней интенсивности пикселей окрестности, то это приводит к подавлению зернистости.

Использование медианной фильтрации

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

Примечание.
Медианная фильтрация является порядково-статистической фильтрацией и известна еще как ранговая фильтрация. Для более детальной информации см. описание функции ordfilt2.

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

Использование адаптивной фильтрации

В основе функции wiener2 лежит винеровский фильтр (один из типов линейного фильтра) для адаптивной локальной обработки изображений. Если значение среднеквадратического отклонения интенсивностей пикселей в данной локальной области большое, то wiener2 выполняет небольшое сглаживание. Если же это отклонение небольшое, то область сглаживания больше.

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

Функция wiener2 лучше работает с "белым" шумом, например гауссовским. Рассмотрим пример применения функции wiener2 к обработке изображения Сатурна, которое зашумлено гауссовым шумом. Для интерактивной демонстрации фильтрации шума можно использовать nrfiltdemo.

RGB = imread("saturn.png"); I = rgb2gray(RGB); J = imnoise(I,"gaussian",0,0.005); K = wiener2(J,); imshow(J) figure, imshow(K)


Зашумленное изображение (слева) и изображение после фильтрации (справа)

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

Шумы могут быть случайные аналоговые, импульсные и различного рода детерминированные.

Случайные аналоговые шумы

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

Для устранения таких шумов применяются методы сглаживающей фильтрации.

Действие этих методов основано на цифровой фильтрации путем усреднения значения сигнала по окрестности считываемой пиксели. В программах типа PhotoShop эти сглаживающие фильтры носят название Blur, Gaussian Blur.

Blur даст прямое усреднение. Gaussian Blur вводит веса пиксель в матрицу усреднения по закону Гаусса.

Blur является устаревшим так как не позволяет регулировать степень усреднения. Степень сглаживания регулируется неоднократным применением фильтра.

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

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

Случайные импульсные шумы

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

Для устранения таких дефектов применяются фильтры ранго-порядкового класса. Такие ранго-порядковые фильтры создают серии пиксель вдоль строки, упорядочивают эти серии, располагая их по порядку возрастания, откидывают минимальные и максимальные значения пиксель, которые могут быть дефектными и находят среднее значение в этой серии. Это среднее значение ставят на место анализируемой пиксели.

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

Однако, для достаточно крупных дефектов, которые превышают длину серии пиксель этот метод не применим.

Именно по этому методу работает фильтр Dust and Scratches.

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


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

Детерминированные шумы изображения

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

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

Возможно два пути решения этой проблемы:

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

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

Для определения линиатуры растра в оригинале возможно использование специальных тестов. Некоторые современные программы, например LinoColor, позволяют в процессе предварительного сканирования определять линиатуру и в соответствие с ней устанавливать оптимальный фильтр дерастрирования.

Недостатки такого устранения:

1) потеря резкости изображения;

2) в следствии различных углов поворота растровых структур изображения для разных красок, полного согласования апертуры дерастрирования и растровой структуры не происходит и неизбежны остаточные флуктуации в изображении (муарообразование).

2. считывание растровой структуры с ее полным сохранением. В результате мы получим при считывании трех растровых цветоделенных изображения с сохранением растровой структуры. По сути дела мы получим изображение в системе СМУК. Далее это изображение можно перевести в Lab потеряв таким образом информацию о растровой структуре. Затем всю обработку перевести в Lab и перейти в СМУК со своей растровой структурой.

Для этого необходимо считывать с высоким разрешением. СopiDot – соответствующее программное обеспечение для перевода СМУК в Lab.

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

Особенно интересна эта технология, которая в последнее время сильно развилась, необходимостью использования каких-то архивных фотофрм технологии C-t-P (компьютер-печатная форма).

3. перерастрирование с использованием растра нерегулярной структуры (частотно-модулированного).

В первой части этого урока мы разобрали причины появления шума в фотографии , его составные, и что делать, чтобы не провоцировать их появление. В этом уроке мы узнаем как уменьшить шумы в Фотошопе, Capture One, Digital Photo Professional и Lightroom . Все эти программы имеют инструмент для уменьшения шума в фотографии, именуемый на жаргоне фотографов «шумодав ».

    На данном этапе необходимо понимать что:
  • Если во время съемки есть только две альтернативы: сделать кадр без шумов (низкая чувствительность матрицы фотокамеры) но нерезкий, или с шумами, но резкий, то я выбираю второй вариант. Ибо от нерезкости уже не избавиться, а вот с шумами побороться еще можно.
  • Не всегда надо полностью удалять шумы в фотографии, часто достаточно лишь уменьшить его уровень до приемлемого.
  • Яркостный и хроматический шумы удаляются по-разному.
  • При 100% масштабе снимка на мониторе мы видим шумы в несколько раз большие по площади, чем они будут на отпечатке, в полиграфическом издании или онлайновом фотоальбоме.

В этом уроке встречаются большие фотографии, которые автоматически масштабируются, если размер вашего экрана меньше необходимого. Когда это произойдет, то в верхнем правом углу фотографии появится кнопка увеличения до 100%. Только этот масштаб позволит вам точно оценивать силу и размер шумов. Чтобы посмотреть те части иллюстрации, которые оказались скрыты, перетаскивайте изображение мышью за ее центральную часть. Чтобы закрыть фотографию и вернуться к статье нажмите клавишу Esc.

Исходные условия: в моей камере отключены все шумодавы, съемка ведется в формат RAW , чувствительность установлена на 3200 единиц (я еще допускаю такое ее значение в своих съемках) и 6400 единиц (посмотрим, могу ли я использовать эту чувствительность в экстренном случае). Для контроля был снят кадр на чувствительности матрицы 100 единиц. Для всех снимков была сделана экспокоррекция +0,5 ступени. Это несколько увеличило уровень шумов на фотографиях, но во время съемки случаются ошибки по экспозиции, поэтому такая коррекция ближе к практической ситуации для фотографа. Из тестовых снимков были вырезаны (фото 1 ): а) фрагмент с упаковки корма Шныря (для контроля резкости по тексту и искажений цвета); б) шкала с полями различной светлоты (контроль силы шумов в разных тональностях); в) фрагмент тела мифического существа Гавы (для пущей красоты). На фото 2 мы видим, что с увеличением чувствительности растут шумовые пятна на всех полях мишеней, что вполне естественно и ожидаемо.

Фото 1: тестовая фотография.
Фото 2: увеличение чувствительности матрицы фотокамеры приводит к усилению шумов.
Фото 3: ослабление яркостных шумов уменьшает резкость мелких деталей в снимке.

Как убрать шум в Фотошопе (Photoshop).

Ах, проказники, снимали не в формат RAW или забыли убрать шум на этапе конвертирования RAW-файла? Бывает и такое. Открываем в Фотошопе нашу фотографию, далее в меню: Filter > Noise > Reduce Noise… (Фильтр > Шум > Уменьшить шум…). Вот наш первый тестируемый шумодав.

Яркостный шум. Именно первые два ползунка (Strength и Preserve Details) отвечают за его уменьшение. Если потянуть Strength (Сила) к правому краю, то мы увидим, что яркостные шумы уменьшаются, но и текст становится более размытым (фото 3 ). Главное зло яркостных шумов: борьба с ними приводит к снижению резкости и деталировки фотографии. Внимательный читатель заметит, что ползунок Preserve Details (Сохранить детали), как раз, и предназначен для того, чтобы изображение не потеряло в качестве. Двиньте второй ползунок правее, и вы увидите, что резкость и деталировка возвращаются. Но с ней возвращаются и шумы, получается «поменяли шило на мыло». Установки, которые использовал для ISO 3200: Strength – 9, Preserve Details 6%. Если в вашей фотографии нет мелких деталей, как текст, фактура, то Preserve Details можно уменьшить вплоть до 0. Для ISO 6400 данные настройки оказались слабоваты, поэтому Strength я увеличил до 10, а Details было уменьшено до 3%, несколько в ущерб резкости текста (фото 5 ).

Хроматический (цветной) шум кажется меньшим злом. Двинув ползунок Reduce Color Noise до максимального значения (фото 4 ) резкость текста не снижается, цветовые шумы почти исчезают, но объекты небольшого размера теряют насыщенность цвета (посмотрите на красное и синее поле). Так же обратите внимание, что вокруг красных плашек образуется цветной ореол. Иногда, такое изменение цвета мелких деталей может быть критичным и невозможным для фотоснимка. Поэтому, надо стараться применять шумоподавление в минимальной степени: для ISO 3200 я применил значение Reduce Color Noise 70%, а для ISO 6400 – 100%.

На фото 5 и 6 вы видите итог работы шумодава в Фотошопе. Если для ISO 3200 после щумоподавления шумы проявляют себя на терпимом уровне и еще остаётся некоторый резерв по их большему подавлению, то для ISO 6400 они уже чрезмерны для некоторых съемок, и я бы старался всячески избегать использования этой чувствительности матрицы.

Фото 4: уменьшение цветного шума может привести к снижению насыщенности цвета деталей и цветным ореолам.
Фото 5: уменьшили шум в Фотошопе, ISO 3200.
Фото 6: результат применения шумодава Фотошопа для ISO 6400.

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

Уменьшение хроматического шума в фотографии иногда может оказаться незамеченным зрителем. Но если при съемке важна точность цветопередачи в небольших деталях, то чрезмерное использование настроек шумодава в Фотошопе недопустимо, например при предметной съемке или в фуд-фотографии . Чем «нежнее» установки шумодава мы используем (не только у Фотошопа, вообще любого), тем качественней наше изображение после обработки.

Digital Photo Professional

Вторым для этого урока я выбрал Canon Digital Photo Professional (далее DPP). Это очень простой конвертор RAW-файлов для фотокамер Canon и именно с его помощью я знакомлю студентов курса фотографии для начинающих с возможностями RAW-формата. Для того чтобы попасть на шумодав DPP надо на Tool Palette (палитре инструментов) выбрать вкладку NR/Lens/AOL. Нас, естественно, интересует блок Noise reduction (уменьшение шума), в котором находится всего два ползунка: Luminance… - для уменьшения яркостного шума, и Chrominance… - для хроматического (фото 7 ). Как и в случает с шумодавом Фотошопа я постарался применить такие установки в DPP чтобы соблюдался баланс качества для мелких деталей и гладких поверхностей. Для ISO 3200 использовались следующие параметры: Luminance - 7, Chrominance – 12 (фото 8 ). Для ISO 6400 - 12 и 20 соответственно (фото 9 ). Результат очень похож на тот, что был получен в шумодаве Фотошопа.

Настройка шумодава в DPP. Я заметил, что при отключенных в моей фотокамере шумодавах, DPP применяет собственное шумоподавление к RAW-файлам. Каждый раз выключать шумоподавление фотографий не удобно, поэтому надо сделать так, чтобы по умолчанию DPP его не применял. Для этого зайдите в настройки DPP (клавиши Ctrl + K), перейдите на вкладку Tool palette (палитра инструментов), включите переключатель Set as defaults, установите все ползунки на 0, нажмите OK, и перезагрузите DPP (фото 10 ).

Фото 7: шумодав Canon Digital Photo Professional.
Фото 8: результат применения шумодава DPP для ISO 3200.
Фото 9: результат применения того же шумодава для ISO 6400.
Фото 10: настройки шумодава DPP.

Capture One

На сегодняшний день Capture One мой основной конвертор RAW-файлов. Как и в случае с DPP его шумодав (фото 11 ) не отключен, и применяется к RAW-файлом независимо от настроек камеры. Причем, даже тогда, когда в уменьшении шума нет необходимости, например при низкой чувствительности. Я провел небольшое исследование алгоритма работы шумодава в Capture One, и это меня настолько заинтересовало, что я решил почитать справку этого RAW-конвертора. Увы, никакой полезной информации по принципам работы шумодава в Capture One я не нашел. Поэтому далее будут описаны результаты моих домыслов, предположений и изысканий.

Согласно справки Capture One, шумодав этого конвертора меняет свои настройки после анализа файла. Признаюсь, за несколько лет работы в Capture One, я корректировал настройки его шумодава лишь несколько раз. Шумодав работает так нежно, интеллектуально, ненавязчиво и превосходно в автоматическом режиме, что я просто забыл о его существовании.

Первое что я проверил, как улучшится моя фотография когда я уберу настройки шумодава для ISO 100. И ничего не произошло. То есть если нет шумов, то шумодав и не работает. Затем я заметил, что при увеличении чувствительности меняется лишь значение Color (воздействие на цветовые шумы), но не Luminance (яркостные шумы). Тогда я предположил, что при одинаковом значении Luminance и с ростом чувствительности яркостные шумы будут расти пропорционально тому, как это происходит при отсутствии шумоподавления. Не тут-то было. Шумы выросли, но не столь значительно. Не стану гадать, как это происходит, но результат интеллектуальности Capture One меня порадовал.

В следующем эксперименте я попытался найти то минимальное значение настроек шумодава, которое бы меня удовлетворило, и сравнить, насколько мягче мои установки с теми, что предлагает Capture One по умолчанию. Изменения были столь незначительны, что ими можно пренебречь: для ISO 3200 Capture One предлагал значение 25 и 54 (Luminance и Color), я же нашел допустимыми и более мягкие значения: 20 и 50 соответственно. Для ISO 6400 собственные установки шумодава Capture One меня полностью удовлетворили, и я их не трогал (25 и 57).

Есть еще несколько приятностей, позволяющих сделать шумоподавление еще эффективней. Surface (поверхность) позволяет уменьшать шумовые пятна крупного размера на малоконтрастных, гладких поверхностях, не задевая при этом мелкие детали, такие как текст (значение 70 для ISO 3200 и 90 для ISO 6400). Single Pixel позволяет удалять одинопиксельный шум (отдельные выбитые пиксели) без потери мелких деталей. Правда такие пиксели у меня появляются только при ISO 6400 или при перегреве матрицы в режиме Live View. Не смотря на то, что в тесте шумодавов использовалась чувствительность матрицы 6400 единиц, я не задействовал данную настройку Capture one, так как воздействия основных инструментов было достаточно.

Я очень доволен качеством и возможностями шумодава Capture One. В отличие от рассмотренных выше шумодавов, Capture One не создает цветовые ореолы и не уменьшает насыщенность цвета в небольших деталях снимка. Цветные шумы в затененных участка подавляются так же значительно лучше, чем у предыдущих конкурентов. Это говорит о высоком качестве алгоритма работы уменьшения цветового шума. Благодаря действию Surface яркостные шумы тоже выглядят слабее, особенно на однотонных поверхностях.

Результаты шумоподавления в Capture One вы можете увидеть на фото 12 и 13 . Однако, осталось испытать конкурента среди RAW-конверторов - шумодав в Lightroom.

Фото 11: шумодав Capture One.
Фото 12: результат применения шумодава Capture One для ISO 3200.
Фото 13: результат применения того же шумодава для ISO 6400.

Lightroom и Adobe Camera RAW

Я даже скачал новый Lightroom - 4.3... Во всех предыдущих версиях Lightroom, его шумодав, по мнению пользователей, считался слабым звеном и не рекомендовался к использованию. Т.е. после конвертирования RAW-файлов в Lightroom уменьшение шумов надо было выполнять в Фотошопе. Но шумодав Фотошопа сильно проигрывает в качестве работы хотя бы Capture One, и я никак не могу рекомендовать данную цепочку (Lightroom > Фотошоп) для шумоподавления. Краем уха я встречал упоминание на форумах о том, что шумодав Lightroom, начиная с четвертой версии, был улучшен. Желая уточнить эту информацию у опытных пользователей, я вновь попал на форумы по Lightroom. И то, что я там прочел, меня никак не порадовало: тормоза, трудности в работе, глюки, в общем, всё как всегда с конвертором RAW-файлов от Adobe. Это окончательно отвратило меня от установки Lightroom, и вместо его шумодава я буду тестировать аналогичный инструмент Фотошопа – Adobe Camera RAW. Я давно заметил, что настройки этих двух продуктов Adobe идентичны, и приводят к одинаковым результатам после обработки RAW-файлов. То есть алгоритмы работы обеих программ одинаковы (было бы странно одному производителю делать две версии шумодава). Если я не прав, и у вас есть для этого серьезные основания, сообщите мне об этом.

Для того чтобы уменьшить шумы в Adobe Camera RAW необходимо перейти на вкладку Detail (Детали). Этот шумодав имеет больше настроек, нежели шумодав в Фотошопа (фото 14). По умолчанию, для файлов обеих чувствительностей Camera RAW предлагает не уменьшать яркостные шумы, но снижать цветовые (Luminance – 0, Color - 25, Color Detail - 50). При этих установках цветовой шум прекрасно подавлен, и (как в Capture One) я не замечаю цветных ореолов. Прекрасно. Ползунок Color Detail (цветные детали) помогает регулировать (возвращать) насыщенность цвета для небольших деталей (помните, в шумодаве Фотошопе с этим была проблема). Я оставил значение Color Detail по умолчанию, т.е. 50. А вот основную установку Color я снизил до 15 (для ISO 3200) и 20 (ISO 6400).

Яркостные пятна на гладких поверхностях оставались различимыми, но ненавязчивыми при значении Luminance – 55 (для ISO 3200) и 70 (ISO 6400), но при этом давали легкое снижение деталировки текста. Поэтому я выбрал компромиссное значение Luminance Detail – 40 (для ISO 3200) и 50 (ISO 6400).

Мне так понравилось как уменьшает шумы Adobe Camera RAW (фото 15 и 16 ) что я задумался о допустимости более широкого использования чувствительности 6400 на моей фотокамере. Если бы к этому шумодаву добавить настройку Surface как в Capture One, то ему не было бы равных. Интересно, как распределятся места среди лидеров шумодавов в финале этого урока фотографии.

Фото 14: шумодав Adobe Camera RAW (настройки идентичны Lightroom).
Фото 15: результат применения шумодава Adobe Camera RAW для ISO 3200.
Фото 16: результат применения того же шумодава для ISO 6400.

Результаты тестирования шумодавов

Результаты теста шумодавов на фото 17 и 18: худшие - вверху, лучшие - внизу. При съемке с высокими значениями чувствительности я не рекомендую использовать шумодав Фотошопа для растровых изображений и Canon Digital Photo Professional. Основная причина – сильные цветовые ореолы вокруг цветных деталей в фотографии. Так же в этих шумодавах трудно найти компромисс между уровнем яркостных шумов на гладких поверхностях и резкостью мелких деталей. Capture One, на фоне первых двух, выглядит в выигрышном положении, пока в работу не вступает шумодав Adobe Camera RAW. Последний показал, что во многих случаях я могу использовать чувствительность 6400 и для коммерческих съемок: восхитительное уменьшение яркостных шумов для гладких поверхностей при сохранении мелких деталей и хорошая работа по уменьшению цветового шума. На что же жалуются работающие в Lightroom я не понимаю?

Фото 17: Сравнительная таблица шумодавов для ISO 3200.
Фото 18: Сравнительная таблица шумодавов для ISO 6400.
Фото 19: Очаровательный шум.

Заключение

Если во время съемки вы хотите использовать высокие значения чувствительности, то начните бороться с шумами еще на этапе съемки – снимайте в формат RAW. Не перекладывайте процесс уменьшения шумов на Фотошоп, сделайте это в RAW-конверторе при коррекции фотографий. Используйте тот конвертор, который с меньшими потерями (а потери неизбежны) уменьшит шумы в фотографии. Используйте минимальные значения установок шумодава.

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

PS: В этом тесте шумодавов использовались не самые новые версии Adobe Camera RAW и Capture One. Поэтому, возможно, что алгоритмы уменьшения шумов в этих программах стали еще более совершенными.
PPS: Не шумите!

20 августа 2009 в 22:21

Очистка изображения от шума, некоторые методы

  • Блог компании Gil Algorithms

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

Какие же есть средства, чтобы убрать этот шум, и которые не нарушают чужих патентов? Надеюсь, этот небольшой обзор будет полезным.

1. Переход в координаты яркость-цвет.
Это преобразование можно осуществлять многими способами: HSV, L*a*b и т.п. По некоторым причинам, в которые мы не будем углубляться:
- человеческий глаз намного менее чувствителен к деталям цветовой информации, чем яркостной
- шум в цветовой компоненте, напротив, гораздо выше, чем в яркостной
Поэтому простая фильтрация цветовой компоненты + обратное восстановление, обычно, делают картинку сильно лучше.

2. Медианный фильтр.
Хорошим простым способом очистить картинку от шума является медианный фильтр Im_new(x,y)=median{dx=-1..1,dy=-1..1}Im(x+dx,y+dy).
У этого метода есть множество вариаций, приведу лишь некоторые:
2.1 Шаг 1: вычислить M1=median(C, Cnorth, Csouth); M2=median(C, Ceast, Cwest); M3=median(C, Cne, Csw); M4=median(C, Cnw, Csw); здесь Cnort, Cne,...Cnw - восемь соседних пикселей из окрестности 3x3, C - центральный пиксель
Шаг 2 - вычислить Ma=median(C, M1, M2); Mb=median(C, M3, M4);
Шаг 3 - вычислить Csmooth=median(C, Ma, Mb);
Шаг 4 - заменить C на Csmooth.
2.2 Шаг 1: отсортировать пиксели из окрестности 3x3 по возрастанию, P...P.
Шаг 2: Если центральный пиксель равен P - заменить его на P, если центральный пиксель равен P - заменить его на P, в других случаях оставить без изменения.
Это направление использует компания Kodak, а также большинство сканеров и факс-аппаратов.

3. Фильтры, управляющие величиной коррекции
Этот метод сначала предлагает сгладить картинку как-нибудь грубо, например с помощью low-pass filter, bilateral filter или еще как-нибудь. А потом делается такая процедура
Im_new(x,y)=Im(x,y)+S(Im(x,y)-Im_smooth(x,y),threshold).
Функция-передатчик S может быть устроена по разному, например так:
S(x,threshold) = x, если -thresholdthreshold; S(x,threshold)=-threshold если x<-threshold. Если выбрать threshold примерно равным величине шума, то весь шум пропадет, а детали и мелкие объекты останутся четкими.

4. Bilateral filter
Очень интересный фильтр, изобретенный в 2003 году. За описаниями отсылаю к Интернету.
Вот здесь достаточно хорошая статья: scien.stanford.edu/class/psych221/projects/06/imagescaling/bilati.html
Интересной разновидностью bilateral filter является, также T-filter:
Шаг 1: Найти все пиксели в окрестности, значения которого отличаются от исходного пикселя не более, чем на заданный threshold.
Шаг 2: Усреднить эти найденные пиксели и сохранить значение.

5. Фильтры, использующие спектральное представление сигнала
Так работает, к примеру, Photoshop. Суть идеи в том, чтобы сделать в окрестности каждого пикселя преобразование Фурье, затем стереть высокие частоты и сделать обратное преобразование.
Вместо преобразования Фурье используются также и другие ортогональные базисы, иногда довольно замысловатые. По-сути, это целое семейство методов.

6. Фильтры, выделяющие доминантное направление
Эти фильтры в каждой точке сначала находят доминантное направление (направление градиента яркости), а затем усредняют сигнал только в перпендикулярном направлении. Таким образом, линии и мелкие детали остаются четкими. Хорошие разновидности этого алгоритма учитывают также значения матрицы вторых производных.
Это целое семейство алгоритмов, описания которых можно также найти в Интернете.

7. Локальная классификация фрагментов
Эти фильтры особенно хорошо работают со специальными изображениями, такими как текст, звездное небо и т.п.
Сначала составляется база данных типичных элементов такого изображения, к примеру, несколько сотен фрагментов NxN пикселей, которые уже очищены от шума.
Алгоритм работает так: окрестность каждого пикселя сравнивается с этими фрагментами и выбирается один, который наиболее похож. Затем значение исходного пикселя на грязной картинке заменяется на значение аналогичного пикселя, расположенного в этом же месте на чистом фрагменте.

8. Приведу в конце «простецкий» способ, который также можно использовать в ряде случаев.
Шаг 1: Уменьшить картинку (применяя какой-нибудь умный алгоритм Downscaling)
Шаг 2: Увеличить ее обратно (применяя какой-нибудь умный алгоритм Upscaling)
Дело в том, что алгоритмы Upscaling/ Downscaling бывают очень мощными (Lanczos filter, фрактальные методы и т.п.), так что результат получается вполне удовлетворительным. Этот же метод можно использовать в качестве простой, но довольно эффективной компрессии.

Партнеры
© 2020 Женские секреты. Отношения, красота, дети, мода