Стекинг или избавляемся от шума на фото методом усреднения. Image Processing Toolbox. Краткий курс теории обработки изображений. И.М.Журавель. Шум и детализация: сравнение

Подавление шумов на изображениях

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

Шаг 1: Считывание исходного изображения.

Шаг 2: Формирование зашумленных изображений.

Шаг 3: Использование медианного фильтра для устранения импульсного шума.

Шаг 4: Подавление шумовой составляющей с использованием операции сглаживания.

Шаг 5: Пороговый метод подавления шумов.

Шаг 6: Низкочастотная фильтрация с использованием шумоподавляющих масок.

Шаг 1: Считывание исходного изображения.

Считаем изображение из файла в рабочее пространство Matlab и отобразим его на экране монитора.

L=imread("kinder.bmp");

figure, imshow(L);

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

Шаг 2: Формирование зашумленных изображений.

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

1) Добавление к изображению импульсного шума (по умолчанию плотность шума равна доле искаженных пикселей):

L2=imnoise(L,"salt&pepper", 0.05);

figure, imshow(L2);

Рис.2. Зашумленное изображение (импульсный шум).

2) Добавление к изображению гауссовского белого шума (по умолчанию математическое ожидание равно 0, а дисперсия - 0,01):

L1=imnoise(L,"gaussian");

figure, imshow(L1);

Рис.3. Зашумленное изображение (гауссовский шум).

3) Добавление к изображению мультипликативного шума (по умолчанию математическое ожидание равно 0, а дисперсия 0,04):

L3=imnoise(L,"speckle",0.04);

figure, imshow(L3);

Рис.4. Зашумленное изображение (мультипликативный шум).

Шаг 3: Использование медианного фильтра для устранения импульсного шума.

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

For i=1+n1:N+n1; disp(i) for j=1+m1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=Lr(i+a,j+b); end; end; end; if j>1+m1; for a=-n1:n1; D(n1+1+a,m+1)=Lr(i+a,j+m1); end; D=D(1:n,2:m+1); end; Lvyh(i,j)=median(D(:)); end; end; Lvyh=Lvyh(n1+1:N+n1, m1+1:M+m1); figure, imshow(Lvyh);

Для наглядного сравнения приведем три изображения вместе: исходное, зашумленное и восстановленное.

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

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

Шаг 4: Подавление шумовой составляющей с использованием операции сглаживания.

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

F=ones(n,m); % n и m размерность скользящей апертуры

Lser=filter2(F,Lroshyrena,"same")/(n*m);

Рис. 6. Восстановление изображения, искаженного импульсным шумом с применением операции сглаживания.

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

Шаг 5: Пороговый метод подавления шумов.

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

For i=1+n1:N+n1; disp(i) for j=1+m1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=Lr(i+a,j+b); end; end; end; if j>1+m1; for a=-n1:n1; D(n1+1+a,m+1)=Lr(i+a,j+m1); end; D=D(1:n,2:m+1); end; LS=mean(mean(D)); if abs(Lr(i,j)-LS)>10/255; % Установка порога Lvyh(i,j)=LS; else Lvyh(i,j)=Lr(i,j); end; end; end; Lvyh=Lvyh(n1+1:N+n1,m1+1:M+m1,:); figure, imshow(Lvyh);

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

Шаг 6: Низкочастотная фильтрация с использованием шумоподавляющих масок.

В Шаге 4 было рассмотрено применение операции сглаживания для устранения шума. Рассмотрим примеры низкочастотной фильтрации с использованием других шумоподавляющих масок. Это могут быть следующие маски:

Маска 1: Маска 2: .

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

F=(1/10)*;

figure, imshow(Lvyh);

Рис. 8. Результат восстановления зашумленного импульсным шумом изображения с применением маски 1 .

F=(1/16)*;

Lvyh=filter2(F,L,"same")/(3*3);

figure, imshow(Lvyh);

Рис. 9. Результат восстановления зашумленного импульсным шумом изображения с применением маски 2 .

Это были примеры подавления импульсных шумов. Рассмотрим аналогичные примеры подавления гауссовского и мультипликативного шумов.

Рис. 10. Результат восстановления зашумленного гауссовским шумом изображения с применением маски 1 и маски 2 .

Рис. 11. Результат восстановления зашумленного мультипликативным шумом изображения с применением маски 1 и маски 2 .

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

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

Возьмем некоторое исходное изображение (рис. 12):

L=imread("lily.bmp");

figure, imshow(L);

Рис. 12. Исходное цветное изображение.

Наложим на него импульсный шум с некоторыми характеристиками:

L=imnoise(L,"salt&pepper",0.05);

figure, imshow(L);

Рис. 13. Зашумленное изображение.

For k=1:s; % обработка отдельно по каждой составляющей L=Lin(:,:,k); for i=1+n1:N+n1; disp(i) for j=1+m1:M+m1; if j==1+m1; D=0; for a=-n1:n1; for b=-m1:m1; D(n1+1+a,m1+1+b)=L(i+a,j+b); end; end; end; if j>1+m1; for a=-n1:n1; D(n1+1+a,m+1)=L(i+a,j+m1); end; D=D(1:n,2:m+1); end; Lres(i,j)=median(D(:)); end; end; end;

Рис. 14. Восстановленное изображение с применением метода медианной фильтрации.

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

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

Существует возможность установки значений интенсивностей на изображении с помощью функции 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. Кстати, изображения, приведенные в этом разделе, сформированы с использованием этой функции.

23.03.15 3.1K

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

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

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

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

Усреднение может также быть полезно для тех, кто хочет имитировать гладкость ISO 100 , но чья камера поддерживает только ISO 200 (как большинство моделей цифровых зеркальных камер Nikon ).

Общая концепция

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

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


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

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


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

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

Шум и детализация: сравнение

Следующая ситуация на реальном примере иллюстрирует эффективность усреднения изображений. Данная фотография была сделана при ISO 1600 с помощью Canon EOS 300D Digital Rebel , и на ней наблюдается слишком высокий уровень шума:


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

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

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

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

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

Снижение шума с помощью Neat Image Pro Plus 4.5 при настройках по умолчанию и «автоматической тонкой настройкой»

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

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

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

Усреднение изображений в Photoshop с помощью слоев

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

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

Ключевой момент здесь — помнить, что в Photoshop непрозрачность каждого слоя определяет, насколько он «пропускает » нижележащий слой, и то же самое относится к каждому следующему изображению внизу. Это означает, что, например, для правильного усреднения четырех изображений не следует устанавливать непрозрачность каждого слоя на 25%.

Вместо этого непрозрачность нижнего (фонового ) слоя нужно установить на 100%, для слоя поверх него — 50%, следующего — 33%, и, наконец, верхнего слоя — 25%.

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

Когда нужно выполнять усреднение изображений, а не просто установить большую выдержку при низкой скорости ISO ? Ниже приведен перечень случаев, когда более эффективной может оказаться описанная выше процедура:

  • Чтобы убрать слишком сильный шум с фиксированным узором из-за длинной выдержки;
  • Для камер, которые не имеют режима лампы, вы можете ограничить выдержку до 15-30 секунд. Для таких случаев необходимо учитывать следующее: нужно делать два снимка при ISO 800 и выдержке 30 секунд, чтобы они были приблизительно эквивалентны (как по яркости, так и по уровню шума ), и еще один при выдержке 60 секунд и ISO 400 . Возможны и другие комбинации;
  • В ситуациях, когда вы не можете гарантировать прерывание за определенный момент времени без воздействия на аппаратуру захвата или сцену. В качестве примера, можно привести фото, снимаемые в общественном месте, когда вам нужно обеспечить низкий уровень шума, но вы не можете установить достаточно длительную выдержку, потому что напротив объекта съемки постоянно проходят пешеходы. В таком случае вы можете сделать несколько коротких снимков в интервалах между проходами пешеходов;
  • Хорошо Плохо

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

    Область техники, к которой относится изобретение

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

    Предшествующий уровень техники

    К настоящему времени известны различные способы удаления шума в изображении.

    Например, в патенте US 6463182, Canon Kabushiki Kaisha, 08.10.2002, G06K 9/40 описывается устройство и способ удаления шума в изображении, в которых данные изображения с искажениями разделяют на блоки и корректируют шум в зависимости от положения каждого пикселя изображения в блоке.

    В патенте US 5933540, General Electric Company, 03.08.1999, G06K 9/00 приводится система и способ уменьшения шума и улучшения качества кромок цифрового изображения путем определения фонового значения шума на всем изображении и его удаления с помощью системы фильтров.

    Известен способ удаления случайных шумов (патент US 5225915, Xerox Corporation, 06.07.1993, H04N 1/40) за счет применения к данным изображения в качестве фильтра модифицированной функции Лапласа, имеющей максимум на частоте, оптимальной для удаления шума.

    Наиболее близким к заявленному изобретению является способ уменьшения шума на изображении, предполагающий использование дифференциальных вычислений (Later, Catte, Morel et al.). В данном способе изображение с шумом преобразовывают параболическим уравнением, в результате чего удаляют шум на изображении, получая изображение без шума. Данный способ выбран в качестве прототипа заявленного изобретения. Недостатком приведенных выше аналогов и прототипа является нестабильность решений математического выражения, описывающего шум, и размывание изображения в результате его применения. Отличие заключается в использовании другого (более простого) уравнения, которое не имеет указанных недостатков и проще в решении.

    Сущность изобретения

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

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

    Получают от внешнего устройства многомерное изображение с кромками, состоящее из пикселей и имеющее шум;

    Определяют в модуле координат яркость пикселей для координат всех пикселей многомерного изображения, где n - количество измерений;

    Записывают массив данных яркости пикселей многомерного изображения в память;

    Производят в фильтре для всех пикселей многомерного изображения следующие операции:

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

    , (1)

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

    Численно решают n-мерное уравнение диффузии (1) с начальным условием , находя решение при значении релаксационного параметра , которое определяет общую степень сглаживания итогового изображения без шума, чем больше эта величина, тем сильнее сглаживается изображение, при этом получают совокупность координат пикселей итогового изображения без шума;

    Записывают яркость пикселей итогового изображения без шума в память;

    Выводят итоговое изображения без шума на устройство отображения.

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

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

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

    Для лучшего понимания настоящего изобретения далее приводится его подробное описание с соответствующими чертежами.

    Блок-схема системы для осуществления заявленного способа согласно изобретению изображена на чертеже.

    Система для осуществления заявленного способа включает в себя внешнее устройство 1, вычислительное устройство 2 и устройство отображения 3, причем вычислительное устройство 2 содержит память 4, модуль 5 определения яркости и фильтр 6.

    Рассмотрим более подробно функционирование согласно заявленному способу.

    Сначала получают от внешнего устройства 1 многомерное изображение с кромками, имеющее шум. Определяют в модуле 5 яркость пикселей многомерного изображения, где и n - количество измерений. Записывают массив данных яркости пикселей многомерного изображения в память 4.

    Производят в фильтре 6 для всех пикселей многомерного изображения следующие операции:

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

    ,

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

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

    Рассматривая эволюцию решения при увеличении значения параметра t , получают различные сглаженные версии исходного изображения. Таким образом, еще одним неявным параметром фильтра 6 является конечное значение релаксационного параметра, T . Результат работы фильтра 6 есть

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

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

    Исходное изображение дискретизуют на многомерной сетке, получая матрицу яркости изображения .

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

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

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

    Для сведения решения многомерного разностного уравнения к последовательности одномерных уравнений предлагается использовать расщепление по методу дробных шагов. Здесь n - размерность изображения (пространства).

    Один шаг по параметру t для исходного многомерного уравнения предлагается заменить на n последовательных элементарных шагов по отдельным измерениям, где на каждом элементарном шаге решают одномерное уравнение вида

    В качестве начальных значений для самого первого подшага берут исходное значение яркости при : Результат вычисления после n подшагов есть искомое значение яркости при

    Элементарные шаги по параметру t выбирают равными, например, где - пространственная частота дискретизации для сетки (можно также ввести этот параметр и для вычисления коэффициента диффузии). Значение τ можно задать выражением

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

    Каждая элементарная задача распадается на независимых трехдиагональных систем линейных уравнений относительно имеющая вид где для рассматриваемого случая а граничные условия имеют вид где r - количество узлов сетки (размер изображения в пикселях по данному измерению). Для решения указанной системы линейных уравнений применяют метод прогонки: сначала выполняют прямой ход подстановки: указанные уравнения преобразуют к виду (вычисляются коэффициенты

    используют граничное условие слева, при этом где

    подставляют последовательно получаемые уравнения в исходную систему

    где

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

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

    Введение в проблему подавления шума

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

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

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

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

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

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

    Зачем нужно подавлять шум?

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

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

    Откуда же берется шум? Источники шума могут быть различными:

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

    Соответственно, шумы тоже бывают разных видов. Самые распространенные:

    Менее распространенные виды шума - шум вида <соль и перец> (как правило, вызывается помехами в электросети) и вертикальные царапины (характерны для старых черно-белых кинолент, возникают при механическом повреждении эмульсии на пленке).

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

    Шум в видеопоследовательности можно условно разделить на пространственный и временной. Временным шумом называют неприятный визуальный эффект, возникающий в видео из-за случайного или коррелированного изменения пространственного шума от кадра к кадру. В некоторых источниках под временным шумом понимают любое случайное изменение значений каждого пиксела во времени, в том числе смену яркости от кадра к кадру. Соответственно, фильтры шумоподавления также делятся на пространственные и временные: первые производят усреднение пикселей по каждому отдельному кадру (изображению), а вторые - между несколькими последовательно идущими кадрами. Во временных фильтрах часто используются алгоритмы детектирования и/или компенсации движения. На практике обычно используется сочетание пространственного и временного методов шумоподавления - так называемый, 3D-фильтр. При этом в большинстве существующих алгоритмов первым применяется пространственный фильтр, поскольку после его работы процедура обнаружения движения во временном фильтре становится проще и точнее, и, как следствие, временное шумоподавление становится более эффективным. Хотя обратный порядок применения тоже имеет свои преимущества: временной фильтр, как правило, работает довольно бережно; проработав вначале, он понизит общий уровень шума и предотвратит излишнее размытие, характерное для любого пространственного фильтра.

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

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

    Еще одной сложностью является оценка качества подавления шума. Как правило, оно оценивается следующим образом: на незашумленное изображение накладывается искусственный шум, затем полученное изображение фильтруется алгоритмом шумоподавления и сравнивается с исходным с помощью какой-нибудь метрики. Чаще всего для этой цели используют метрику PSNR (peak signal-to-noise ratio - пиковое соотношение сигнал/шум), которая определяется формулой:
    ,
    где x i , y i - i -е пиксели двух сравниваемых изображений, N - общее число пикселей на каждом изображении, а d (x i , y i ) - разность между цветами соответствующих пикселей (для оттенков серого это просто разность значений пикселей, а для цветных изображений - евклидово расстояние между пикселями в трехмерном цветовом пространстве). Соответственно, чем ближе отфильтрованное изображение к оригинальному, тем больше значение PSNR, и тем выше считается качество работы алгоритма.

    Однако эта и другие аналогичные метрики позволяют оценивать лишь среднеквадратичную разницу между изображениями, поэтому лучшие результаты с точки зрения метрики не всегда соответствуют наилучшему визуальному восприятию. К примеру, более размытое изображение, в котором вместе с шумом были удалены мелкие детали, может иметь значение PSNR выше, чем изображение с более аккуратно подавленным шумом. Визуальные оценки при этом покажут предпочтительность второго изображения.

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

    Различные существующие на данный момент подходы к шумоподавлению будут рассмотрены далее.

    Обзор существующих методов

    Можно выделить следующие базовые подходы к пространственному шумоподавлению:

    1. Линейное усреднение пикселей по соседям
    2. Медианная фильтрация
    3. Математическая морфология
    4. Гауссовское размытие
    5. Методы на основе вейвлет-преобразования
    6. Метод главных компонент
    7. Анизотропная диффузия
    8. Фильтры Винера

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

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

    Рассмотрим каждый подход подробнее.

    Линейное усреднение пикселей

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

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

    Эти алгоритмы очень простые, но они не дают хорошего результата.

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

    Аналогично можно применять этот метод во временной области, только усреднение будет производиться уже между соседними кадрами, и окно соответственно будет браться по времени (то есть каждый пиксель будет усредняться по пикселям, расположенным в той же позиции в соседних кадрах). В общем виде такую схему шумоподавления можно выразить следующей формулой:
    ,
    где x - пиксель, а t - номер кадра. Веса могут браться в зависимости от близости значений пикселей и расстояния между кадрами. Также усреднение может проводиться рекурсивно:
    ,
    где - значение, посчитанное для этого пиксела в предыдущем кадре. Для предотвращения возникновения ореолов вокруг движущихся объектов, о которых было сказано выше, во временные фильтры встраивают алгоритмы определения движения. При этом возможно два варианта: простое детектирование движения (пикселы в движущихся блоках просто остаются без изменения, и шум вдоль движущихся объектов не подавляется) или построение скомпенсированного предыдущего и/или следующего кадра (см. ) и смешивание текущего с ним. В последнем случае компенсация движения должна быть выполнено качественно, иначе будут артефакты на месте неправильно найденных блоков.

    Простой метод, усредняющий пиксели по семи кадрам и учитывающий движение, описан в .

    Медианная фильтрация

    Медианная фильтрация - это стандартный способ подавления импульсного шума.

    Для каждого пиксела в некотором его окружении (окне) ищется медианное значение и присваивается этому пикселу. Определение медианного значения: если массив пикселей отсортировать по их значению, медианой будет серединный элемент этого массива. Размер окна соответственно должен быть нечетным, чтобы этот серединный элемент существовал.

    Медиану также можно определить формулой:
    ,
    где W - множество пикселей, среди которых ищется медиана, а f i - значения яркостей этих пикселей.

    Для цветных изображений используется векторный медианный фильтр (VMF):
    ,
    где F i - значения пикселей в трехмерном цветовом пространстве, а d - произвольная метрика (например, евклидова).

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

    Математическая морфология

    Шумоподавление можно также осуществлять с использованием двух основных морфологических операций (см. ): сужения (erosion) и расширения (dilation), а также их комбинаций - закрытия (closing) и раскрытия (opening). Раскрытие (сначала сужение, потом расширение) убирает выступы на границах объектов, а закрытие (сначала расширение, потом сужение) заполняет отверстия внутри и на границах.

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

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

    Гауссовское размытие

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

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

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

    Методы на основе вейвлет-преобразования

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

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

    Здесь H 1 (G 1) - высокочастотный фильтр анализа (синтеза), а H 2 (G 2) - низкочастотный фильтр анализа (синтеза).

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

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

    ДВП можно применять и для временного шумоподавления, расширив его до трехмерного следующим образом: сначала двумерное преобразование применяется к нескольким подряд идущим кадрам видеопоследовательности, а затем они пропускаются через одномерное ДВП, направленное вдоль временной оси (см. рисунок 2.5.3).

    Итак, общую схему шумоподавления с помощью ДВП можно описать следующим образом (см. рисунок 2.5.4):

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

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

    Методы шумоподавления с использованием ДВП можно классифицировать по двум параметрам: по типу преобразования и способу подавления коэффициентов.

    Рассмотрим вначале различные типы ДВП и аналогичных им преобразований:

    1. Обычное ДВП

    Как правило, используется обычное ДВП с базисом Хаара или Добеши, однако при шумоподавлении есть ряд особенностей, которые надо учитывать. Описанное выше ДВП является не избыточным - на каждом следующем шаге общее число коэффициентов сохраняется, то есть если исходное изображение было размера NxN, то суммарное число коэффициентов на каждом шаге будет равняться N 2 . Однако такое ДВП не является инвариантным к сдвигу (если сдвинуть исходное изображение на 1 пиксель, величины вейвлет-коэффициентов будут совсем другие), и изменение высокочастотных вейвлет-коэффициентов приводит к артефактам в восстановленном изображении. Поэтому для шумоподавления обычно используется избыточное ДВП, в котором общее число коэффициентов на каждом шаге больше N 2 .

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

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

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

    2. Комплексное ДВП (dual-tree complex DWT)

    Комплексное ДВП для одномерного случая представляет собой параллельное применение к исходному сигналу двух ДВП (с прореживанием) с разными НЧ/ВЧ-фильтрами, подобранными специальным образом. Затем каждая полоса, полученная в результате первого ДВП, интерпретируется как действительная часть комплексного НЧ (ВЧ) сигнала, а каждая полоса второго ДВП - как мнимая.

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

    Какие преимущества у такого ДВП? Во-первых, избыточность стала намного меньше - теперь она составляет 3N 2 при любом количестве уровней разложений. Во-вторых, такие вейвлеты имеют лучшую направленность и различают, в отличие от обычных вейвлетов, направления в 45 о и 135 о, что способствует более качественной обработке диагональных границ деталей на изображении (примеры тестовых изображений можно посмотреть на сайте ).

    В трехмерном случае действительное ДВП будет состоять уже из четырех параллельных ДВП, число полученных в результате вейвлетов будет равно 28 и направлены они будут в 28-ми разных направлениях, а комплексное ДВП также будет состоять из двух параллельных действительных преобразований. Избыточность будет составлять уже 7N 2 для любого числа уровней разложения (против +7N 2 на каждом уровне разложения у обычного ДВП без прореживания). Кроме того, комплексные трехмерные вейвлеты разделяют движение по 28 различным направлениям (обычные ДВП - только по 7-ми).

    Реализацию на МатЛабе и примеры НЧ/ВЧ-фильтров для комплексного ДВП можно найти в .

    3. Несепарабельное ДВП (non-separable DWT)

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

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

    5. Упрощенные преобразования

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

    Теперь перейдем к рассмотрению методов подавления коэффициентов.

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

    1. Резкое уменьшение по порогу (hard thresholding)

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

    2. Плавное уменьшение по порогу (soft thresholding)

    Метод заключается в обнулении всех вейвлет-коэффициентов, меньших заданного порога, и уменьшении остальных вейвлет-коэффициентов. Преобразование эквивалентно следующей формуле (e используется во избежание деления на 0):
    ,
    где T - некий порог.

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

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

    1. Адаптация по соседним коэффициентам

    Этот подход основан на том, что степень подавления каждого вейвлет-коэффициента зависит не только от величины этого коэффициента, но и от взвешенной суммы модулей (при анализе вейвлет-коэффициентов имеет значение именно их амплитуда, а не знак) соседних коэффициентов, расположенных в некоторой пространственной окрестности вокруг этого коэффициента. Зависимость может быть самая различная. Можно, кроме того, учитывая взаимосвязь коэффициентов между уровнями, включить в эту сумму коэффициенты из следующего уровня разложения. Веса также можно задавать различными способами. Как вариант, можно задать бoльшие веса вдоль основного направления границ в полосе: либо взять одно из трех основных направлений (вертикальное, горизонтальное или диагональное) в зависимости от полосы , либо для большей точности самостоятельно оценить доминирующее направление и искать веса, например, по формуле:
    ,
    где Y i , j - отдельный вейвлет-коэффициент рассматриваемой полосы, w - вектор, содержащий искомые веса, а u i , j - вектор, состоящий из соседних по отношению к Y i ,j вейвлет-коэффициентов . То есть ищутся такие веса, чтобы взвешенная сумма соседей максимально приближала каждый коэффициент в полосе.

    В случае трехмерного вейвлет-преобразования окрестность также рассматривается трехмерная.

    Следующие два подхода ориентированы на подавление белого гауссовского шума (хотя на практике это методы хорошо работают и для других широкополосных шумов). Пусть исходное изображение содержит аддитивный белый гауссовский шум с нормальным распределением: нулевым математическим ожиданием и дисперсией ? 2 . Аддитивность означает отсутствие корреляции между сигналом и шумом: NS i = S i +N i , где NS - обозреваемый зашумленный сигнал, S - исходный чистый сигнал, а N - шум. Тогда для полученных вейвлет-коэффициентов w i будет также верно:

    w i = y i + z i , i =1,...,n , где

    y i - значение вейвлет-коэффициентов без шума, а z i ~ N (0, ? 2) - вклад шума. В случае, если дисперсия шума? 2 неизвестна, она обычно оценивается как медиана среди абсолютных значений вейвлет-коэффициентов ВЧ-полосы (HH), деленная на 0.6745.

    2. Метод, основанный на контексте (Context-based method)

    В этом методе шумоподавление осуществляется по формуле плавного уменьшения по порогу, где порог задается следующим образом:

    Здесь ? w - дисперсия зашумленного сигнала, которая вычисляется таким образом, чтобы обеспечить локальную адаптивность величины порога. Сначала все вейвлет-коэффициенты группируются по своему контексту, то есть для каждого коэффициента вычисляется среднее абсолютное значение коэффициентов в некоторой его окрестности (контекст), и коэффициенты с близкими средними значениями объединяются в одну группу. Иными словами, для каждого коэффициента с контекстом Z определяется некое подмножество коэффициентов, имеющих самые близкие к Z значения контекстов (как меньшие Z , так и большие Z ). После этого значение ? w вычисляется для каждого вейвлет-коэффициента отдельно как дисперсия определенного для этого коэффициента подмножества. Мощность этого подмножества важно выбрать оптимально, поскольку слишком мало коэффициентов не обеспечат объективной оценки, а слишком много нарушат локальность. Таким образом, мы как бы выделяем похожие области на изображении, которые пространственно могут располагаться далеко друг от друга, и по ним считаем дисперсию.

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

    3. Байесовский подход (Bayesian approach)

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

    В результате многочисленных экспериментов было установлено, что в общем случае плотность распределения вейвлет-коэффициентов незашумленного изображения довольно точно приближается следующей функцией, называемой обобщенным Лапласианом (при ? = 1 - просто Лапласианом):
    ,
    где - гамма-функция.

    Дисперсия такого распределения вычисляется по формуле:
    .

    Для изображений параметр ? обычно I , и его можно просто положить равным 1.

    Шум описывается функцией нормального гауссовского распределения N (0, ? 2):

    Тогда для зашумленных коэффициентов w имеем:

    .

    Поскольку можно вычислить (это дисперсия исходного зашумленного сигнала), выразим из этой формулы параметр s (положим? = 1):

    .

    Таким образом, модель незашумленного исходного сигнала полностью восстановлена.

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

    при ? = 1.

    Здесь - неполная гамма-функция.

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

    Метод главных компонент

    Метод главных компонент (МГК) позволяет выделить структуру в многомерном массиве данных и применяется в основном для распознавания или для сжатия изображений. В области шумоподавления этот подход является довольно новым и мало исследованным. Работает он лучше всего для изображений с белым гауссовским шумом.

    Метод главных компонент заключается в нахождении таких базисных векторов исследуемого многомерного пространства, которые бы наилучшим образом отражали расположение некоторых исходных данных в этом пространстве (характеризовали эти данные). Кратко опишем алгоритм построения таких векторов (математические понятия и подробное описание алгоритма см. в ).

    Пусть задано N -мерное пространство и M векторов в нем. Под набором данных будем понимать вектор, составленный из i -й координаты всех векторов. Итак, пусть у нас есть N наборов данных, соответствующих N измерениям. Сначала мы строим матрицу ковариаций для этих наборов и ищем ее собственные вектора и собственные значения. Ортонормированный базис из N собственных векторов и будет искомым базисом, максимально приближающим исходные данные, иными словами, отражающим их структуру в N -мерном пространстве. Причем, чем больше собственное значение, тем сильнее отражает характер расположения данных соответствующий собственный вектор.

    Собственный вектор, соответствующий максимальному собственному значению, называется главной компонентой и определяет основное направление, вдоль которого расположены данные. С другой стороны, собственные вектора, для которых соответствующее собственное значение мало, практически никак не отражают характер расположения данных. Исключив из нового базиса собственные вектора с наименьшими собственными значениями, можно уменьшить размерность исходных данных без особых потерь для них. Таким образом, МГК обеспечивает наилучшее приближение исходных данных минимальным числом базисных векторов. На уменьшении размерности и основываются алгоритмы сжатия. Теперь рассмотрим, как применить этот метод для подавления шума.

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

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

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

    Итак, как же уменьшение длин собственных векторов влияет на подавление шума? Дело в том, то найденные таким способом вектора будут соответствовать основным направлениям узора (границ, деталей) на данной области изображения. Поскольку шум распределен по изображению хаотично, безо всякой системы, ему будут соответствовать собственные вектора с маленькими собственными значениями. Подавляя их, мы будем уменьшать амплитуду значений пикселей в этом направлении, а следовательно, подавлять и шум. Именно поэтому метод главных компонент хорошо справляется лишь с белым шумом: у шума не должно быть никакой структуры, иначе МГК примет его за узор и не подавит.

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

    Анизотропная диффузия

    Основная идея данного подхода заключается в следующем. Яркость каждого пикселя интерпретируется как значение температуры в данной точке изображения, таким образом, все изображение представляется в виде карты температур. Шумоподавление производится путем выравнивания температур (фактически, интенсивностей пикселей) с помощью моделирования процесса теплопереноса:
    ,
    где c - коэффициент теплопроводности, а - разность яркостей (<температур>) двух пикселей.

    Коэффициент теплопроводности c зависит от градиента интенсивности изображения:
    .

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

    По своей сути данный метод очень напоминает гауссовское размытие (усреднение по соседям), поэтому подробнее рассматривать его не будем.

    Фильтры Винера

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

    Литература

    1. Szymon Graboskwi, Wojciech Bienieck " A two-pass median-like filter for impulse noise removal in multi-channel images". KOSYR 2003, str . 195-200
    2. Презентация: <Введение в математическую морфологию> (http://graphics.cs.msu.su/courses/cg01b/mat_morph.zip)
    3. Richard Alan Peters II "A New Algorithm for Image Noise Reduction using Mathematical Morphology". IEEE Transactions on Image Processing, Volume 4, Number 3, pp. 554-568, May 1995
    4. G. de Haan, T. G. Kwaaitaal-Spassova and O.A. Ojo "Automatic 2-D and 3-D noise filtering for high-quality television receivers". International Workshop on HDTV"94,4-B-2,1994-10
    5. R. J. Schutten, G. de Haan and A. H. M. van Roermund "Noise filtering for television receivers with reduced memory". Proc. of the Int. Workshop on HDTV and the Evolution of Television, Taipei, Taiwan, Nov. 1995, pp. 6A15--6A22
    6. G. de Haan, T.G. Kwaaitaal-Spassova, M.M. Larragy, O.A. Ojo, and R.J. Schutten "Television noise reduction IC". Digest of the ICCE"96, June 1996, Chicago, pp. 184-185
    7. Hakan Norell, Bengt Oelmann and Youshi Xu "Spatio-Temporal Noise Reduction ASIC for Real-Time Video Processing". In Proc. IEEE Nordic Signal Processing Symposium, Kolmarden, Sweden, 13-15 June, 2000
    8. Detlev Marpe, Hans L. Cycon, Gunther Zander, Kai-Uwe Barthel "Context-based Denoising of Images Using Iterative Wavelet Thresholding". Proc. SPIE, Vol. 4671, pp. 907-914, Jan. 2002
    9. S.G. Chang, B. Yu, and M. Vetterli, "Spatially adaptive wavelet thresholding with context modeling for image denoising". IEEE Trans. Image Proc., Sept. 2000.
    10. Aleksandra Pizurica, Vladimir Zlokolica and Wilfried Philips "Noise Reduction in Video Sequences Using Wavelet-Domain and Temporal Filtering". SPIE Conference on Wavelet Applications in Industrial Processing 27-31 October 2003.
    11. Aleksandra Pizurica and Wilfried Philips "Adaptive Probabilistic Wavelet Shrinkage for Image Denoising". IEEE Transactions on Image Processing, July 11, 2003.
    12. Aleksandra Pizurica, Wilfried Philips, Ignace Lemahieu, and Marc Acheroy "A Versatile Wavelet Domain Noise Filtration Technique for Medical Imaging". IEEE Trans Med Imaging. 2003 Mar;22(3):323-31
    13. Aleksandra Pizurica, Vladimir Zlokolica and Wilfried Philips "Combined Wavelet Domain and Temporal Video Denoising" . IEEE Conference on Advanced Video and Signal Based Surveillance (AVSS"03), July 2003.
    14. Lindsay I Smith "A tutorial on Principal Components Analysis". 2002 (http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf)
    15. D. Darian Muresan, Thomas W. Parks "Adaptive principal components and image denoising". IEEE ICIP 2003
    16. Интернет-ресурс: http://taco.poly.edu/WaveletSoftware/ .
    17. Ivan W. Selesnick and Ke Yong Li "Video denoising using 2D and 3D dual-tree complex wavelet transforms". Appl Signal Image Proc. X (Proc. SPIE 5207), Aug 200 3
    18. Julia Neumann Gabriele Steidl "Dual Tree Complex Wavelet Transform in the Frequency Domain and an Application to Signal Classification". Technical Report TR-03-013, Department for Mathematics and Computer Science, University of Mannheim, 2003
    19. Miroslav Vrankic, Damir Sersic "Image Denoising Based on Adaptive Quincunx Wavelets". In Proc. of the 2004 IEEE 6th Workshop on Multimedia Signal Processing, (MMSP 2004), Siena, Italy, September 29 - October 01, 2004, pp. 251-254
    20. Vladan Velisavljevic, Baltasar Beferull-Lozano1, Martin Vetterli, Pier Luigi Dragotti "Discrete Multi-Directional Wavelet Bases". Proc. IEEE International Conference of Image Processing (ICIP2003)
    21. Felix C. A. Fernandes, Rutger L. van Spaendonck, C. Sidney Burrus "A Directional, Shift-Insensitive, Low-Redundancy, Wavelet Transform". IEEE Proceedings on International Conference on Image Processing (ICIP 2001)
    22. Daubechies "Ten Lectures on Wavelets", Philadelphia: SIAM, 1992.
    23. S. Mallat "A wavelet tour of signal processing", Academic Press, London, 1998 .
    24. Интернет-ресурс: http://astronomy.swin.edu.au/~pbourke/analysis/ .
    25. Д. Ватолин, А. Ратушняк, М. Смирнов, В. Юкин "Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео". Диалог-МИФИ, 2002
    26. Generic coding of moving pictures and associated audio information: Video. ISO/IEC 13818-2:2000
    27. G. de Haan "Progress in motion estimation for video format conversion". IEEE Transactions on Consumer Electronics Vol 46 No 3 Aug 2000 pp 449-450
    28. Javier Portilla, Vasily Strelay, Martin J. Wainwrightz, Eero P. Simoncelli "Adaptive Wiener Denoising Using A Gaussian Scale Mixture Model In The Wavelet Domain". Proceedings of the 8th IEEE Int"l Conf on Image Processing Thessaloniki, Greece. 7-10 October 2001