wdenoise2

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

Описание

пример

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

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

IMDEN = wdenoise2(IM,LEVEL) деноидирует изображение 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(___) возвращает масштабирующие и деноизированные коэффициенты вейвлета в DENOISEDCFS использование любого из предыдущих синтаксисов.

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

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

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

пример

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

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

Примеры

свернуть все

Загрузите структуру 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.

Обесценивайте шумное изображение с помощью 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

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

Загрузите структуру 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.

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

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

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

Загрузите структуру 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.

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

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

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

свернуть все

Вход изображение для денуилизации, заданное как матрица 2-D с реальным значением или трехмерным массивом с реальным значением. Если IM является 3-D, IM принято цветным изображением в цветовом пространстве RGB и третьей размерности IM должно быть 3. Для изображений RGB, wdenoise2 по умолчанию проецирует изображение на цветовое пространство PCA перед шумоподавлением. Чтобы денонсировать изображение 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 - Ложная частота обнаружения

    Этот метод использует правило порога, основанное на контроле ожидаемого отношения ложноположительных обнаружений ко всем положительным обнаружениям. The 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 с циклическим вращением. При циклическом вращении круговые сдвиги изображения вдоль размерностей строки и столбца обесценивают, смещают назад и усредняют вместе, чтобы получить конечный результат.

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

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

  • The оригинального изображения (unshifted)

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

  • IM кругово смещенный один элемент по размерности столбца

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

Ссылки

[1] Абрамович, Ф., Я. Бенджамини, Д. Л. Донохо, и И. М. Джонстон. «Адаптация к неизвестной разреженности путем управления частотой ложного обнаружения». Annals of Statistics, Vol. 34, Number 2, pp. 584-653, 2006.

[2] Antoniadis, A., and G. Oppenheim, eds. Вейвлеты и статистика. Лекции по статистике. Нью-Йорк: Springer Verlag, 1995.

[3] Donoho, D. L. «Progress in Wavelet Analysis and WVD: A Ten Minute Tour». Прогресс в области Wavelet Analysis and Applications (Y. Meyer, and S. Roques, eds.). Gif-sur-Yvette: Editions Frontiéres, 1993.

[4] Donoho, D. L., I. M. Johnstone. Идеальная пространственная адаптация методом усадки вейвлет. Биометрика, том 81, стр. 425-455, 1994.

[5] Donoho, D. L. «De-noising by Soft-Thresholding». Транзакции IEEE по теории информации, том 42, № 3, стр. 613-627, 1995.

[6] Donoho, D. L., I. M. Johnstone, G. Kerkyacharian, and D. Picard. «Усадка вейвлет: асимптопия?» Журнал Королевского статистического общества, серия B, том 57, № 2, стр. 301 - 369, 1995.

[7] Джонстон, И. М. и Б. У. Сильверман. «Иглы и солома в стогах сена: эмпирические оценки Байеса возможных разреженных последовательностей». Анналы статистики, том 32, № 4, стр. 1594 - 1649, 2004.

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

..

См. также

|

Введенный в R2019a