wdenoise2

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

Синтаксис

IMDEN = wdenoise2(IM)
IMDEN = wdenoise2(IM,LEVEL)
[IMDEN,DENOISEDCFS] = wdenoise2(___)
[IMDEN,DENOISEDCFS,ORIGCFS] = wdenoise2(___)
[IMDEN,DENOISEDCFS,ORIGCFS,S] = wdenoise2(___)
[IMDEN,DENOISEDCFS,ORIGCFS,S,SHIFTS] = wdenoise2(___)
[___] = wdenoise2(___,Name,Value)
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

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

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

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')

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')

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

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

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

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

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 = 19.9164

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

свернуть все

Введите изображение к denoise, заданному как 2D или 3-D матрица с действительным знаком. Если 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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', 'Mean', '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-by-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-by-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