wdenoise2

Шумоподавление вейвлета изображений

Описание

пример

IMDEN = wdenoise2(IM) denoises шкала полутонов или RGB отображают IM использование эмпирического Байесового метода. bior4.4 вейвлет используется со следующим средним пороговым правилом. Шумоподавление до минимума floor(log2([M N])) и wmaxlev([M N],'bior4.4') где M и N размеры строки и столбца изображения. IMDEN denoised версия IM.

Для изображений RGB, по умолчанию, wdenoise2 проецирует изображение на его цветовое пространство принципиального анализа компонента (PCA) перед шумоподавлением. К denoise изображение RGB на пробеле исходного цвета используйте ColorSpace пара "имя-значение".

IMDEN = wdenoise2(IM,LEVEL) denoises изображение IM вниз к уровню разрешения LEVEL. LEVEL положительное целое число, меньше чем или равное floor(log2(min([M N]))) где M и N размеры строки и столбца изображения. Если незаданный, LEVEL значения по умолчанию к минимальному floor(log2(min([M N]))) и wmaxlev([M N],wname) где wname является используемым вейвлетом ('bior4.4' по умолчанию).

[IMDEN,DENOISEDCFS] = wdenoise2(___) возвращает масштабирование и denoised коэффициенты вейвлета в DENOISEDCFS использование любого из предыдущих синтаксисов.

[IMDEN,DENOISEDCFS,ORIGCFS] = wdenoise2(___) возвращает масштабирование и коэффициенты вейвлета входного изображения в ORIGCFS использование любого из предыдущих синтаксисов.

[IMDEN,DENOISEDCFS,ORIGCFS,S] = wdenoise2(___) возвращает размеры коэффициентов приближения в самой грубой шкале наряду с размерами коэффициентов вейвлета во всех шкалах. S матрица с той же структурой как S выход wavedec2.

[IMDEN,DENOISEDCFS,ORIGCFS,S,SHIFTS] = wdenoise2(___) возвращает сдвиги по измерениям строки и столбца для вращения цикла. SHIFTS 2 (numshifts+1)2 матрица, где каждый столбец SHIFTS содержит сдвиги по измерению строки и столбца, используемому во вращении цикла и numshifts значение CycleSpinning.

пример

[___] = wdenoise2(___,Name,Value) возвращает изображение denoised с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы, с помощью любого из предыдущих синтаксисов.

wdenoise2(___) без выходных аргументов строит оригинальное изображение наряду с изображением denoised в текущей фигуре.

Примеры

свернуть все

Загрузите структуру flower. Структура содержит полутоновое изображение цветка и шумную версию того изображения. Отобразите исходные и шумные изображения.

load flower
subplot(1,2,1)
imagesc(flower.Orig)
title('Original')
subplot(1,2,2)
imagesc(flower.Noisy)
title('Noisy')
colormap gray

Figure contains 2 axes. Axes 1 with title Original contains an object of type image. Axes 2 with title Noisy contains an object of type image.

Denoise шумное изображение с помощью wdenoise2 по умолчанию настройки. Сравните с оригинальным изображением.

imden = wdenoise2(flower.Noisy);
subplot(1,2,1)
imagesc(imden)
title('Denoised')
subplot(1,2,2)
imagesc(flower.Noisy)
title('Noisy')
colormap gray

Figure contains 2 axes. Axes 1 with title Denoised contains an object of type image. Axes 2 with title Noisy contains an object of type image.

Отметьте улучшение ОСШ до и после шумоподавления.

beforeSNR = ...
    20*log10(norm(flower.Orig(:))/norm(flower.Orig(:)-flower.Noisy(:)))
beforeSNR = 14.1300
afterSNR = ...
    20*log10(norm(flower.Orig(:))/norm(flower.Orig(:)-imden(:)))
afterSNR = 20.1388

В этом примере показано, как к denoise цветное изображение с помощью вращения цикла.

Загрузите структуру colorflower. Структура содержит изображение RGB цветка и шумную версию того изображения. Отобразите исходные и шумные изображения.

load colorflower
subplot(1,2,1)
imagesc(colorflower.Orig)
title('Original')
subplot(1,2,2)
imagesc(colorflower.Noisy)
title('Noisy')

Figure contains 2 axes. Axes 1 with title Original contains an object of type image. Axes 2 with title Noisy contains an object of type image.

Denoise изображение вниз к уровню 2 с помощью Байесового метода по умолчанию и цикла, вращающегося с(1+1)2 сдвиги. Отобразите изображения denoised и шумное.

imden = wdenoise2(colorflower.Noisy,2,'CycleSpinning',1);
figure
subplot(1,2,1)
imagesc(imden)
title('Denoised')
subplot(1,2,2)
imagesc(colorflower.Noisy)
title('Noisy')

Figure contains 2 axes. Axes 1 with title Denoised contains an object of type image. Axes 2 with title Noisy contains an object of type image.

Вычислите ОСШ до и после шумоподавления.

beforeSNR = ...
    20*log10(norm(colorflower.Orig(:))/norm(colorflower.Orig(:)-colorflower.Noisy(:)))
beforeSNR = 11.2217
afterSNR = ...
    20*log10(norm(colorflower.Orig(:))/norm(colorflower.Orig(:)-imden(:)))
afterSNR = 19.8813

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

Загрузите структуру flower. Структура содержит полутоновое изображение цветка и шумную версию того изображения. Отобразите исходные и шумные изображения.

load flower
subplot(1,2,1)
imagesc(flower.Orig)
title('Original')
subplot(1,2,2)
imagesc(flower.Noisy)
title('Noisy')
colormap gray

Figure contains 2 axes. Axes 1 with title Original contains an object of type image. Axes 2 with title Noisy contains an object of type image.

Denoise изображение вниз к уровню 2 с помощью Ложного метода Уровня Открытия с Q-значением 0,01. Denoise только на основе диагональных коэффициентов вейвлета. Отобразите denoised и шумные изображения.

imden = wdenoise2(flower.Noisy,2,...
    'DenoisingMethod',{'FDR',0.01},...
    'NoiseDirection',"d");
figure
subplot(1,2,1)
imagesc(imden)
title('Denoised')
subplot(1,2,2)
imagesc(flower.Noisy)
title('Noisy')
colormap gray

Figure contains 2 axes. Axes 1 with title Denoised contains an object of type image. Axes 2 with title Noisy contains an object of type image.

Вычислите ОСШ до и после шумоподавления.

beforeSNR = ...
    20*log10(norm(flower.Orig(:))/norm(flower.Orig(:)-flower.Noisy(:)))
beforeSNR = 14.1300
afterSNR = ...
    20*log10(norm(flower.Orig(:))/norm(flower.Orig(:)-imden(:)))
afterSNR = 14.1300

Входные параметры

свернуть все

Введите изображение к denoise в виде 2D матричного или трехмерного массива с действительным знаком с действительным знаком. Если IM 3-D, IM принят, чтобы быть цветным изображением в цветовом пространстве RGB и третьей размерности IM должен быть 3. Для изображений RGB, wdenoise2 значением по умолчанию проецирует изображение на его цветовое пространство PCA перед шумоподавлением. К denoise изображение RGB на пробеле исходного цвета используйте ColorSpace пара "имя-значение".

Уровень разложения вейвлета используется для шумоподавления в виде положительного целого числа. LEVEL положительное целое число, меньше чем или равное floor(log2(min([M N]))) где M и N размеры строки и столбца изображения. Если незаданный, LEVEL значения по умолчанию к минимальному floor(log2(min([M N]))) и wmaxlev([M N],wname) где wname является используемым вейвлетом ('bior4.4' по умолчанию).

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'NoiseEstimate','LevelDependent','Wavelet','sym6'

Имя вейвлета в виде вектора символов или строкового скаляра, чтобы использовать для шумоподавления. Вейвлет должен быть ортогональным или биоортогональным. Ортогональные и биоортогональные вейвлеты определяются как тип 1 и вейвлеты типа 2 соответственно в менеджере по вейвлету, wavemngr.

  • Допустимые встроенные ортогональные семейства вейвлетов начинают с 'haar', 'dbN', 'fkN', 'coifN', или 'symN' где N номер исчезающих моментов для всех семейств кроме 'fk'. Для 'fk'N количество коэффициентов фильтра.

  • Допустимые биоортогональные семейства вейвлетов начинают с 'biorNr.Nd' или 'rbioNd.Nr', где Nr и Nd номер исчезающих моментов в реконструкции (синтез) и разложение (анализ) вейвлет.

Определите допустимые значения в течение исчезающих моментов при помощи waveinfo с кратким названием семейства вейвлетов. Например, введите waveinfo('db') или waveinfo('bior'). Используйте wavemngr('type',WNAME) определить, является ли вейвлет ортогональным (возвращается 1), или биоортогональный (возвращается 2).

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

  • Bayes - Эмпирический байесов

    Этот метод использует пороговое правило на основе предположения, что измерениям дала независимые предшествующие распределения модель смеси. Поскольку измерения используются, чтобы оценить вес в модели смеси, метод имеет тенденцию работать лучше с большим количеством выборок. По умолчанию следующее среднее правило использовано, чтобы измерить риск [7].

  • FDR - Ложный уровень открытия

    Этот метод использует пороговое правило на основе управления ожидаемым отношением ложных положительных обнаружений ко всем положительным обнаружениям. FDR метод работает лучше всего с разреженными данными. Выбор отношения или Q - значение, меньше, чем 1/2 дает к асимптотически минимаксному средству оценки [1].

    Примечание

    Для 'FDR', существует дополнительный аргумент для Q - значение, которое является пропорцией ложных положительных сторон. Q является скаляром с действительным знаком между 0 и 1/2, 0 < Q <= 1/2. Задавать 'FDR' с Q - значение, используйте массив ячеек, где вторым элементом является Q - значение. Например, 'DenoisingMethod',{'FDR',0.01}. Если незаданный, значения по умолчанию Q к 0.05.

  • Minimax - Минимаксная оценка

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

  • SURE - Несмещенная оценка риска глиняной кружки

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

  • UniversalThreshold - Универсальный порог 2ln(длина(x)).

    Этот метод использует порог фиксированной формы, дающий к минимаксной эффективности, умноженной на маленький фактор, пропорциональный log(length(X)).

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

  • 'SURE', 'Minimax', 'UniversalThreshold': Допустимыми опциями является 'Soft' или 'Hard'. Значением по умолчанию является 'Soft'.

  • 'Bayes': Допустимыми опциями является 'Median'среднее значение, 'Soft', или 'Hard'. Значением по умолчанию является 'Median'.

  • 'FDR': Единственной поддерживаемой опцией является 'Hard'. Вы не должны задавать 'ThresholdRule' для 'FDR'

Метод оценки отклонения шума в изображении. Допустимыми опциями является 'LevelIndependent' и 'LevelDependent'.

  • 'LevelIndependent' оценивает отклонение шума на основе самой прекрасной шкалы (самое высокое разрешение) коэффициенты вейвлета.

  • 'LevelDependent' оценивает отклонение шума на основе коэффициентов вейвлета на каждом уровне разрешения.

Существует три поддиапазона вейвлета: горизонталь, вертикальная, и диагональная. Значение 'NoiseDirection' задает который поддиапазоны использовать в оценке отклонения.

Поддиапазоны вейвлета, чтобы использовать, чтобы оценить отклонение шума в виде вектора строки или скалярной строки. Действительными доступами является "h"V, или "d", для горизонтали, вертикальных, и диагональных поддиапазонов, соответственно.

Пример: 'NoiseDirection',["h" "v"] задает горизонтальные и вертикальные поддиапазоны.

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

Обычно улучшения ОСШ наблюдаются с циклом, вращающим до 3-4 сдвигов и асимптоту после этого. Из-за асимптотического эффекта на ОСШ и факте, что (CycleSpinning+1)2 изображения являются denoised, рекомендуется запуститься с CycleSpinning равняйтесь 0. Затем постепенно увеличивайте количество рабочих смен, чтобы определить, существует ли какое-либо улучшение ОСШ, чтобы выровнять по ширине вычислительный расход.

Например, определение 'CycleSpinning',1 результаты в четырех копиях IM быть denoised:

  • Оригинальное изображение (не переключено)

  • IM циркулярный переключил одноэлементное по измерению строки

  • IM циркулярный переключил одноэлементное по измерению столбца

  • IM циркулярный переключил одноэлементное вдоль обоих размерности строки и столбца

Четыре denoised копии IM denoised, восстановленный, переключенный назад к их исходным положениям и усредненный вместе. Значение CycleSpinning представляет максимальный сдвиг вдоль обоих размерности строки и столбца. Для изображений RGB нет никаких сдвигов, примененных по измерению цветового пространства.

Цветовое пространство использовало для шумоподавления изображение RGB. Допустимыми опциями является 'PCA' и 'Original'.

  • 'PCA': Изображение RGB сначала проецируется на его цветовое пространство PCA, denoised в цветовом пространстве PCA, и возвращается в пробел исходного цвета после шумоподавления.

  • 'Original': Шумоподавление сделано в том же цветовом пространстве как входное изображение.

ColorSpace допустимо только для изображений RGB.

Выходные аргументы

свернуть все

Изображение Denoised, возвращенное как матрица. Размерности IM и IMDEN равны.

Масштабирование и denoised коэффициенты вейвлета изображения denoised, возвращенного как матрица с действительным знаком. DENOISEDCFS (numshifts+1)2- N матрица, где N количество коэффициентов вейвлета в разложении IM и numshifts значение 'CycleSpinning'. Каждая строка DENOISEDCFS содержит denoised коэффициенты вейвлета для одного из (numshifts+1)2 переключенные версии IM. Для изображений RGB, DENOISEDCFS denoised коэффициенты в заданном цветовом пространстве.

i th строка DENOISEDCFS содержит denoised коэффициенты вейвлета изображения, циркулярного переключенный суммой, возвращенной в i th столбец SHIFTS. Например, если второй столбец SHIFTS [1 ; 1], вторая строка DENOISEDCFS содержит denoised коэффициенты изображения, циркулярного переключенный одним элементом в направлении строки и одним элементом в направлении столбца.

Масштабирование и коэффициенты вейвлета входного изображения, возвращенного как 2D матрица с действительным знаком. ORIGCFS (numshifts+1)2- N матрица, где N количество коэффициентов вейвлета в разложении IM и numshifts значение 'CycleSpinning'. Каждая строка ORIGCFS содержит коэффициенты вейвлета для одного из (numshifts+1)2 переключенные версии IM. Для изображений RGB, ORIGCFS исходные коэффициенты в заданном цветовом пространстве.

i th строка ORIGCFS содержит коэффициенты вейвлета изображения, циркулярного переключенный суммой, возвращенной в i th столбец SHIFTS. Например, если второй столбец SHIFTS [1 ; 1], вторая строка ORIGCFS содержит коэффициенты изображения, циркулярного переключенный одним элементом в направлении строки и одним элементом в направлении столбца.

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

Смещения изображения используются во вращении цикла, возвращенном как матрица с целочисленным знаком. SHIFTS 2 (numshifts+1)2 матрица, где каждый столбец SHIFTS содержит сдвиги по измерению строки и столбца, используемому во вращении цикла.

Ссылки

[1] Абрамович, F., И. Бенямини, Д. Л. Донохо и я. М. Джонстон. “Адаптируясь к Неизвестной Разреженности путем Управления Ложным Уровнем Открытия”. Летопись Статистики, Издания 34, Номера 2, стр 584–653, 2006.

[2] Antoniadis, A., и Г. Оппенхейм, вейвлеты редакторов и Статистика. Читайте лекции Примечаниям в Статистике. Нью-Йорк: Springer Verlag, 1995.

[3] Donoho, D. L. “Прогресс Анализа Вейвлета и WVD: Десятиминутный Тур”. Прогресс Анализа Вейвлета и Приложений (И. Мейер, и. Рок, редакторы). Джиф-сур-Иветт: Выпуски Frontières, 1993.

[4] Donoho, D. L. i. М. Джонстон. “Идеальная Пространственная Адаптация Уменьшением Вейвлета”. Biometrika, Издание 81, стр 425–455, 1994.

[5] Donoho, D. L. “Шумоподавление Мягкой Пороговой обработкой”. Транзакции IEEE на Теории информации, Издании 42, Номере 3, стр 613–627, 1995.

[6] Donoho, D. L. i. М. Джонстон, Г. Керкьячариэн и Д. Пикар. “Уменьшение вейвлета: Asymptopia?” Журнал Королевского Статистического Общества, серий B, Издания 57, № 2, стр 301–369, 1995.

[7] Джонстон, я. M. и Б. В. Сильверман. “Иглы и Солома в Стогах сена: Эмпирические Байесовы Оценки Возможно Разреженных Последовательностей”. Летопись Статистики, Издания 32, Номера 4, стр 1594–1649, 2004.

Расширенные возможности

Смотрите также

|

Введенный в R2019a