exponenta event banner

wdenoise2

Отрицание вейвлет-изображения

Описание

пример

IMDEN = wdenoise2(IM) скрывает изображение в градациях серого или RGB IM с использованием эмпирического байесовского метода. 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-(numshifts+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.

Обратите внимание на улучшение SNR до и после деноизирования.

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.

Вычислите SNR до и после деноизирования.

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.

Вычислите SNR до и после деноизирования.

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 или вещественно-значный массив 3-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 - Частота ложного обнаружения

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

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

  • SURE - Объективная оценка риска Stein

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

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

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

  • Исходное изображение (без сдвигов)

  • IM циклическое смещение одного элемента вдоль размера строки

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

  • IM циклическое смещение одного элемента вдоль размеров строки и столбца

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

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

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

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

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

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

свернуть все

Обличенное изображение, возвращенное в виде матрицы. Размеры IM и IMDEN равны.

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

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

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

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

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

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

Ссылки

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

[2] Антониадис, А. и Г. Оппенгейм, эд. Вейвлеты и статистика. Лекционные записки по статистике. Нью-Йорк: Спрингер Верлаг, 1995.

[3] Донохо, Д. Л. «Прогресс в вейвлет-анализе и WVD: десятиминутный тур». Прогресс в вейвлет-анализе и приложениях (Y. Meyer, и S. Roques, eds.). Gif-sur-Yvette: Editions Frontières, 1993.

[4] Донохо, Д. Л., И. М. Джонстон. «Идеальная пространственная адаптация с помощью Wavelet Shrinkage». Биометрика, том 81, стр. 425-455, 1994.

[5] Донохо, Д. Л. «Снятие шума с помощью мягкого порогования». IEEE Transactions on Information Theory, Vol. 42, Number 3, pp. 613-627, 1995.

[6] Донохо, Д. Л., И. М. Джонстоун, Г. Керкячарян и Д. Пикар. «Wavelet Shrinkage: асимптопия?» Журнал Королевского статистического общества, серия B, том 57, № 2, стр. 301 - 369, 1995.

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

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

..

См. также

|

Представлен в R2019a