Как настроить смартфоны и ПК. Информационный портал

Медианный фильтр сигнала. Медианный фильтр

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

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

Например, в результате аналогово-цифрового преобразования мы получаем такой ряд значений: 385, 389, 912, 388, 387. Значение 912 предположительно аномальное и его нужно отклонить. Если вы попробуете использовать классический линейный фильтр, то заметите, что значение 912 будет оказывать значительное влияние на выходной результат. Лучшим решением в этом случае будет использование медианного фильтра .

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

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

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

Фильтр использующий 3 значения (наименьший возможный фильтр),
- фильтр использующий 5, 7 или 9 значений (наиболее используемые),
- фильтр использующий 11 или больше значений.

Сейчас я придерживаюсь более простой классификации:

Фильтр использующий 3 значения,
- фильтр использующий больше 3 значений.

Медианный фильтр на 3

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


uint16_t middle_of_3(uint16_t a, uint16_t b, uint16_t c)
{
uint16_t middle;

If ((a <= b) && (a <= c)){
middle = (b <= c) ? b: c;
}
else{
if ((b <= a) && (b <= c)){
middle = (a <= c) ? a: c;
}
else{
middle = (a <= b) ? a: b;
}
}

Return middle;
}

Медианный фильтр > 3

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

Имейте ввиду, в оригинальном опубликованном коде были некоторые баги, которые Экстром потом исправил. Учитывая, что на embedded.com сейчас сложно что-то найти, я решил опубликовать свою реализацию его кода. Изначально код был написан на Dynamic C, но для этого поста был портирован на стандартный Си. Код предположительно рабочий, но его полная проверка остается на вашей совести.


#define NULL 0
#define STOPPER 0 /* Smaller than any datum */
#define MEDIAN_FILTER_SIZE 5

uint16_t MedianFilter(uint16_t datum)
{

struct pair{
struct pair *point; /* Pointers forming list linked in sorted order */
uint16_t value; /* Values to sort */
};

/* Buffer of nwidth pairs */
static struct pair buffer = {0};
/* Pointer into circular buffer of data */
static struct pair *datpoint = buffer;
/* Chain stopper */
static struct pair small = {NULL, STOPPER};
/* Pointer to head (largest) of linked list.*/
static struct pair big = {&small, 0};

/* Pointer to successor of replaced data item */
struct pair *successor;
/* Pointer used to scan down the sorted list */
struct pair *scan;
/* Previous value of scan */
struct pair *scanold;
/* Pointer to median */
struct pair *median;
uint16_t i;

if (datum == STOPPER){
datum = STOPPER + 1; /* No stoppers allowed. */
}

If ((++datpoint - buffer) >= MEDIAN_FILTER_SIZE){
datpoint = buffer; /* Increment and wrap data in pointer.*/
}

Datpoint->value = datum; /* Copy in new datum */
successor = datpoint->point; /* Save pointer to old value"s successor */
median = &big; /* Median initially to first in chain */
scanold = NULL; /* Scanold initially null. */
scan = &big; /* Points to pointer to first (largest) datum in chain */

/* Handle chain-out of first item in chain as special case */
if (scan->point == datpoint){
scan->point = successor;
}


scan = scan->point ; /* step down chain */

/* Loop through the chain, normal loop exit via break. */
for (i = 0 ; i < MEDIAN_FILTER_SIZE; ++i){
/* Handle odd-numbered item in chain */
if (scan->point == datpoint){
scan->point = successor; /* Chain out the old datum.*/
}

If (scan->value < datum){ /* If datum is larger than scanned value,*/
datpoint->point = scanold->point; /* Chain it in here. */
scanold->point = datpoint; /* Mark it chained in. */
datum = STOPPER;
};

/* Step median pointer down chain after doing odd-numbered element */
median = median->point; /* Step median pointer. */
if (scan == &small){
break; /* Break at end of chain */
}
scanold = scan; /* Save this pointer and */
scan = scan->point; /* step down chain */

/* Handle even-numbered item in chain. */
if (scan->point == datpoint){
scan->point = successor;
}

If (scan->value < datum){
datpoint->point = scanold->point;
scanold->point = datpoint;
datum = STOPPER;
}

If (scan == &small){
break;
}

Scanold = scan;
scan = scan->point;
}

return median->value;
}

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

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

Медианная фильтрация на базе сортировки

В старой версии этой статьи для медианных фильтров размером 5, 7 или 9, я поддерживал подход на основе алгоритмов сортировки. Сейчас я изменил свою мнение. Однако, если вы хотите использовать их, я предоставляю вам базовый код:


if (ADC_Buffer_Full){

Uint_fast16_t adc_copy;
uint_fast16_t filtered_cnts;

/* Copy the data */
memcpy(adc_copy, ADC_Counts, sizeof(adc_copy));

/* Sort it */
shell_sort(adc_copy, MEDIAN_FILTER_SIZE);

/* Take the middle value */
filtered_cnts = adc_copy[(MEDIAN_FILTER_SIZE - 1U) / 2U];

/* Convert to engineering units */
...

Заключение

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

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

1. Техническое задание

Гауссов шум - ‘gaussian’

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

Принцип фильтрации.

Медианы давно использовались и изучались в статистике как альтернатива средним арифметическим значениям отсчетов в оценке выборочных средних значений. Медианой числовой последовательности х 1 , х 2 , … , х n при нечетном n является средний по значению член ряда, получающегося при упорядочивании этой последовательности по возрастанию (или убыванию). Для четных n медиану обычно определяют как среднее арифметическое двух средних отсчетов упорядоченной последовательности.

Медианный фильтр представляет собой оконный фильтр, последовательно скользящий по массиву сигнала, и возвращающий на каждом шаге один из элементов, попавших в окно (апертуру) фильтра. Выходной сигнал y k скользящего медианного фильтра шириной 2n+1 для текущего отсчета k формируется из входного временного ряда …, x k -1 , x k , x k +1 ,… в соответствии с формулой:

y k = med(x k - n , x k - n+1 ,…, x k -1 , x k , x k +1 ,…, x k + n-1 , x k + n),

где med(x 1 , …, x m , …, x 2n+1) = x n+1 , x m – элементы вариационного ряда, т.е. ранжированные в порядке возрастания значений x m: x 1 = min(x 1 , x 2 ,…, x 2n+1) ≤ x (2) ≤ x (3) ≤ … ≤ x 2n+1 = max(x 1 , x 2 ,…, x 2n+1).

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

Импульсные и точечные шумы

При регистрации, обработке и обмене данными в современных измерительно-вычислительных и информационных системах потоки сигналов кроме полезного сигнала s(t-t 0) и флуктуационных шумов q(t) содержат, как правило, импульсные потоки g(t)= d(t-t k) различной интенсивности с регулярной или хаотической структурой:

x(t) = s(t-t 0) + g(t) + q(t).

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

Допустим, что шум q(t) представляет собой статистический процесс с нулевым математическим ожиданием, полезный сигнал s(t-t 0) имеет неизвестное временное положение t 0 Î , а поток шумовых импульсов g(t) имеет вид:

g(t) = e k a k g(t-t k),

где a k - амплитуда импульсов в потоке, t k - неизвестное временное положение импульсов, e k =1 с вероятностью p k и e k =0 с вероятностью 1-p k . Такое задание импульсной помехи соответствует потоку Бернулли.

При применении к потоку x(t) скользящей медианной фильтрации с окном N отсчетов (N – нечетное) медианный фильтр полностью устраняет одиночные импульсы, удаленные друг от друга минимум на половину апертуры фильтра, и подавляет импульсные помехи, если количество импульсов в пределах апертуры не превосходит (N-1)/2. В этом случае, при p k = p для всех импульсов помехи, вероятность подавления помех может быть определена по выражению /3i/:

R(p) = p m (1-p) N- p .

На рис.1 приведены результаты расчетов вероятности подавления импульсной помехи медианным фильтром. При p<0.5 результаты статистического моделирования процесса показывают хорошее соответствие расчетным значениям. Для интенсивных импульсных шумовых потоков при p>0.5 медианная фильтрация становится мало эффективной, т.к. происходит не подавление, а усиление и трансформация его в поток импульсов другой структуры (со случайной длительностью).

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

Перепад плюс шум.

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

где s - детерминированный сигнал, равный 0 по одну сторону or перепада и h - по другую, a z - случайные значения белого шума. Предположим, что случайные значения шума z распределены по нормальному закону N(0, s). Для начала рассмотрим одномерную фильтрацию и будем считать, что перепад происходит в точке i = 1, таким образом, что для i£0 величина x i есть N(0, s), а для i≥1 величина х i есть N(h, s).

На рис. 2 показана последовательность значений математического ожидания медиан и скользящего среднего вблизи перепада высотой h = 5 при N = 3. Значения скользящего среднего следуют по наклонной линии, что свидетельствует о смазывании перепада. Поведение математического ожидания значений медианы также свидетельствует о некотором смазывании, хотя в гораздо меньше, чем для скользящего среднего.

Если воспользоваться мерой среднеквадратичной ошибки (СКО), усредненной по N точкам вблизи перепада, и вычислить значения СКО в зависимости от значений h, то нетрудно зафиксировать, что при малых значениях h<2 СКО для скользящего среднего немного меньше, чем для медианы, но при h>3 СКО медианы значительно меньше, чем СКО среднего. Этот результат показывает, что скользящая медиана значительно лучше, чем скользящее среднее, для перепадов большой высоты. Похожие результаты можно получить и для апертуры N=5, и для двумерной фильтрации с апертурами 3x3 и 5x5. Таким образом, математические ожидания медианы для малых h близки к математическим ожиданиям для соответствующих средних, но для больших h они асимптотически ограничены. Объясняется это тем, что при больших h (скажем, h>4) переменные х со средним значением 0 (для данного примера) будут резко отделены от переменных х со средним h.

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

Фильтрация Винера

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

Спектральная плотность сигнала определяется соотношением:

где – автокорреляционная функция.

Взаимная спектральная плотность сигнала определяется соотношением:

, (14)

где – функция взаимной корреляции.

При построении фильтра Винера ставится задача минимизации среднеквадратического отклонения обработанного изображения от предмета:

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

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

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

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

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

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

Инверсные фильтры

Рис. 3. Примеры фильтров

Фильтрация изображений.

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

Рис.4

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

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

Для упрощения дальнейшего рассмотрения ограничимся примером фильтра с квадратной маской размером N × N, при N=3. Скользящий фильтр просматривает отсчеты изображения слева-направо и сверху-вниз, при этом входную двумерную последовательность также представим в виде последовательного числового ряда отсчетов {x(n)} слева-направо сверху-вниз. Из этой последовательности в каждой текущей точке маска фильтра выделяет массив w(n), как W-элементный вектор, который в данном случае содержит все элементы из окна 3×3, центрированные вокруг x(n), и сам центральный элемент, если это предусмотрено типом маски:

w(n) = .

В этом случае значения x i соответствует отображению слева-направо и сверху-вниз окна 3×3 в одномерный вектор.

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

r(n) = ,

определено значение медианы y(n) = med(r(n)), и центральный отсчет маски заменен значением медианы. Если по типу маски центральный отсчет не входит в число ряда 8, то медианное значение находится в виде среднего значения двух центральных отсчетов ряда 9.

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

Медианная фильтрация может выполняться и в рекурсивном варианте, при котором значения сверху и слева от центрального отсчета в маске (в данном случае x 1 (n)-x 4 (n) на рис. 9) в ряде 8 заменяются на уже вычисленные в предыдущих циклах значения y 1 (n)-y 4 (n).

Результаты обработки

Наложение шумов на оригинальное изображение

Gaussian Salt & Paper Speckle

Результат обработки Медианным фильтром

MedFilter_Gaussian MedFilter_Salt & Paper MedFilter_Speckle

Результат обработки фильтром Винера

WinFilter_Gaussian WinFilter_ Salt & Paper WinFilter_ Speckle

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

ВЫВОД

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

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

Подавление белого и гауссового шума,в случае медианного фильтра, менее эффективно (CKOGausMed, CKOSpecMed), чем у фильтра Винера (CKOGausWin, CKOSpecWin). Слабая эффективность наблюдается также при фильтрации флюктуационного шума. При увеличении размеров окна Медиального фильтра происходит размытие изображения.

Список Литературы

1. Цифровая обработка цветных изображений. Шлихт Г.Ю. М., Издательство ЭКОМ, 2007. – 336 с.

2. http://prodav.narod.ru/dsp/index.html

3. Введение в цифровую обработку изображений. Ярославский Л.П. М.: Сов. радио, 2007. – 312 с.

4. http://matlab.exponenta.ru/

5. Цифровая обработка изображений в среде MATLAB. Р. Гонсалес, Р. Вудс, С. Эддинс, М.: Техносфера, 2006.

6. http://www.chipinfo.ru/literature/chipnews/199908/29.html

1.Техническое задание....................................................................... 2

2.Анализ технического задания.................................................... 3

2.1. Медианный фильтр. Медианная фильтрация................... 4

2.1.1 Достоинства и недостатки медианных фильтров.............................. 6

2.2 Принцип фильтрации..................................................................... 7

2.3 Подавление статистических шумов.................................... 8

2.4 Импульсные и точечные шумы................................................ 9

2.5 Перепад плюс шум........................................................................ 11

2.6 Фильтрация Винера....................................................................... 13

2.7. Фильтрация изображений......................................................... 15

2.7.1 Использование адаптивной фильтрации..................... 17

2.7.2 Использование медианной фильтрации....................... 17

3. ПРОЕКТИРОВАНИЕ ВСПОМОГАТЕЛЬНОЙ ФУНКЦИИ MATLAB. 18

3.1. Считывание изображения и создание его копии............................... 18

3.2. Добавление шумов к копии исходного изображения................... 18

3.3. Обработка зашумленной копии при помощи медианного фильтра. 18

3.4. Обработка зашумленной копии при помощи фильтра Винера....... 20

3.5. Расчет СКО между фильтрованным изображением и оригиналом. 21

4.Результаты обработки.................................................................... 23

Список Литературы............................................................................. 26

1. Техническое задание

Сравнение эффективности медианного и усредняющего фильтров

1. Создать копию исходного изображения.

2. Добавить шум к копии исходного изображения.

Гауссов шум - ‘gaussian’

Импульсный шум - ‘salt&pepper’

Мультипликативный шум - ‘speckle’

4. Одну из зашумлённых копий обработать при помощи фильтра.

5. Другую копию обработать при помощи фильтра 2.

7. Построить графики зависимости СКО отфильтрованного изображения от параметра шума (в одних осях для разных фильтров).

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

2. Анализ технического задания

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

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

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

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

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

Значения отсчётов внутри окна фильтра сортируются в порядке возрастания (убывания); и значение, находящееся в середине упорядоченного списка, поступает на выход фильтра. В случае четного числа отсчетов в окне выходное значение фильтра равно среднему значению двух отсчетов в середине упорядоченного списка. Окно перемещается вдоль фильтруемого сигнала и вычисления повторяются.

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


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

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

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

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

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

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

16.2. МЕДИАННая ФИЛЬТРАЦИя изображений .

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

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

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


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

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

Рис. 16.2.1.

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

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

Рис. 16.2.2.

Для упрощения дальнейшего рассмотрения ограничимся примером фильтра с квадратной маской размером N × N, при N=3. Скользящий фильтр просматривает отсчеты изображения слева-направо и сверху-вниз, при этом входную двумерную последовательность также представим в виде последовательного числового ряда отсчетов {x(n)} слева-направо сверху-вниз. Из этой последовательности в каждой текущей точке маска фильтра выделяет массив w(n), как W-элементный вектор, который в данном случае содержит все элементы из окна 3×3, центрированные вокруг x(n), и сам центральный элемент, если это предусмотрено типом маски:

w(n) = . (16.2.1)

В этом случае значения x i соответствует отображению слева-направо и сверху-вниз окна 3×3 в одномерный вектор, как показано на рис. 16.2.2.

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

r(n) = , (16.2.2)

определено значение медианы y(n) = med(r(n)), и центральный отсчет маски заменен значением медианы. Если по типу маски центральный отсчет не входит в число ряда 16.2.1, то медианное значение находится в виде среднего значения двух центральных отсчетов ряда 16.2.2.

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

На рис. 16.2.3 приведен пример очистки зашумленного изображения медианным фильтром Черненко /2i/. Зашумление изображения по площади составляло 15%, для очистки фильтр применен последовательно 3 раза.



Рис. 16.1.5.

Медианная фильтрация может выполняться и в рекурсивном варианте, при котором значения сверху и слева от центрального отсчета в маске (в данном случае x 1 (n)-x 4 (n) на рис. 16.2.2) в ряде 16.2.1 заменяются на уже вычисленные в предыдущих циклах значения y 1 (n)-y 4 (n).

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

Простейшие алгоритмы динамического изменения апертуры фильтра, симметричного по обеих осям, обычно работают по заданному на основании эмпирических данных пороговому коэффициенту яркости S порог = . В каждом текущем положении маски на изображении итерационный процесс начинается с апертуры минимального размера. Величины отклонения яркости соседних пикселей A(r, n), попавших в окно размером (n x n), относительно яркости центрального отсчета A(r) вычисляются по формуле:

S n (r) = |A(r,n)/A(r) – 1|. (16.2.3)

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

max < S порог. (16.2.4)

Максимальный размер маски (количество итераций), как правило, ограничивается. Для неквадратных масок, имеющих размеры (n x m), итерации могут вычисляться с раздельным увеличением параметров n и m, а также с изменением формы масок в процессе итераций.

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

Сущность ранговой статистики обычно заключается в том, что ряд 16.2.1 не включает центральный отсчет маски фильтра, и по ряду 16.2.2 производится вычисление значения m(n). При N=3 по рис. 16.2.2:

m(n) = (x 4 (n)+x 5 (n))/2. (16.2.5)

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

y(n) = a x(n) + (1-a) m(n). (16.2.6)

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

литература

44. Большаков И.А., Ракошиц В.С. Прикладная теория случайных потоков, М.: Сов. радио, 1978,- 248с.

46. Хуанг Т.С. и др. Быстрые алгоритмы в цифровой обработке изображений. – М.: Радио и связь, 1984. – 224 с.

47. Сойфер В.А. Компьютерная обработка изображений. Часть 2. Методы и алгоритмы. – Соросовский образовательный журнал №3, 1996.

48. Апальков И.В., Хрящев В.В. Удаление шума из изображений на основе нелинейных алгоритмов с использованием ранговой статистики. - Ярославский государственный университет, 2007.

1i. Яровой Н.И. Адаптивная медианная фильтрация. - http://www.controlstyle.ru/articles/science/text/amf/

2i. Черненко С.А. Медианный фильтр. - http://www.logis-pro.kiev.ua/math_power_medianfilter_ru.html.

3i. Радченко Ю.С. Эффективность приема сигналов на фоне комбинированной помехи с дополнительной обработкой в медианном фильтре. – "Журнал радиоэлектроники", №7, 2001. / http://jre.cplire.ru/iso/jul01/2/text.html

О замеченных ошибках и предложениях по дополнению: [email protected].

Copyright ©2008 Davydov А.V.

Медианная фильтрация - метод нелинейной обработки сигналов, разработанный Тьюки . Этот метод оказывается полезным при подавлении шума на изображении. Одномерный медианный фильтр представляет собой скользящее окно, охватывающее нечетное число элементов, изображения. Центральный элемент заменяется медианой всех элементов изображения в окне. Медианой дискретной последовательности для нечетного является тот ее элемент, для которого существуют элементов, меньших или равных ему по величине, и элементов, больших или равных ему по величине. Пусть в окно попали элементы изображения с уровнями 80, 90, 200, 110 и 120; в этом случае центральный элемент следует заменить значением 110, которое является медианой упорядоченной последовательности 80, 90, 110, 120, 200. Если в этом примере значение 200 является шумовым выбросом в монотонно возрастающей последовательности, то медианная фильтрация обеспечит существенное улучшение. Напротив, если значение 200 соответствует полезному импульсу сигнала (при использовании широкополосных датчиков), то обработка приведет к потере четкости воспроизводимого изображения. Таким образом, медианный фильтр в одних случаях обеспечивает подавление шума, в других - вызывает нежелательное подавление сигнала.

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

Рис. 12.6.1. Примеры медианной фильтрации простейших дискретных сигналов, .

а - ступенчатый переход: б - пилообразный переход; в - одиночный импульс; е - сдвоенный импульс; д - строенный импульс; е - треугольный сигнал.

Возможности анализа действия медианного фильтра ограничены. Можно показать, что медиана произведения постоянной и последовательности равна

Кроме того,

Однако медиана суммы двух произвольных последовательностей и не равна сумме их медиан:

Это неравенство можно проверить на примере последовательностей 80, 90, 100, 110, 120 и 80, 90, 100, 90, 80.

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

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

Рис. 12.6.2. Примеры двумерной медианной фильтрации

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

Рис. 12.6.3. Образцы изображений, обработанных одномерным медианным фильтром с целью подавления импульсных помех.

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

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

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

Введение

медианный фильтрация цифровой сигнал

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

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

В ходе данной работы необходимо рассмотреть достоинства и недостатки медианной фильтрации. Ознакомиться с принципами работы медианных фильтров. При помощи программы MatLab712 R2011a, на примере показать его работу.

Теоретическая часть ЦОС

Медианный фильтр

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

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

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

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

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

Рис. 1.1.

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

x * =med(y 1 , y 2 ,…, y n) (1.1)

Рассмотрим пример. Предположим, что выборка имеет вид: Y={136,110,99,45,250,55,158,104,75}, а элемент 250, расположенный в ее центре, соответствует текущей точке фильтрации (i 1 , i 2) (рис. 1.1). Большое значение яркости в этой точке кадра может быть результатом воздействия импульсной (точечной) помехи. Упорядоченная по возрастанию выборка имеет при этом вид {45,55,75,99,104,110,136,158,250}, следовательно, в соответствии с процедурой (1.1), получаем x * =med(y 1 , y 2 ,…, y 9)=104. Видим, что влияние “соседей” на результат фильтрации в текущей точке привело к “игнорированию” импульсного выброса яркости, что следует рассматривать как эффект фильтрации. Если импульсная помеха не является точечной, а покрывает некоторую локальную область, то она также может быть подавлена. Это произойдет, если размер этой локальной области будет меньше, чем половина размера апертуры МФ. Поэтому для подавления импульсных помех, поражающих локальные участки изображения, следует увеличивать размеры апертуры МФ.

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

Результаты экспериментов, иллюстрирующие работу МФ, приведены на рис. 1.2. В экспериментах применялся МФ, имеющий квадратную апертуру со стороной равной 3. В левом ряду представлены изображения, искаженные помехой, в правом - результаты их медианной фильтрации. На рис. 1.2 а и рис. 1.2.в показано исходное изображение, искаженное импульсной помехой. При ее наложении использовался датчик случайных чисел с равномерным на интервале законом распределения, вырабатывающий во всех точках кадра независимые случайные числа. Интенсивность помехи задавалась вероятностью p ее возникновения в каждой точке. Если для случайного числа n i1i2 , сформированного в точке (i 1 , i 2), выполнялось условие n i1i2

Рис. 1.2.

Рис. 1.2.д показывает изображение, искаженное независимым гауссовским шумом при отношении сигнал/шум q 2 =-5 дБ, а рис. 1.2.е - результат его фильтрации медианным фильтром. Условия данного эксперимента позволяют сравнивать его результаты с результатами рассмотренной выше линейной фильтрации. В таблице 1.1 приведены данные, дающие возможность такого сравнения. Для различных методов фильтрации в этой таблице приводятся значения относительного среднего квадрата ошибок д 2 и коэффициента ослабления шума г для случая, когда отношение сигнал/шум на входе фильтра составляет -5 дБ.

Табл.1.1. Сравнение эффективности подавления шума при фильтрации изображений, q 2 =-5 дБ.

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

Вместе с тем, как говорилось выше, и что демонстрирует рис. 1.2.е, медианная фильтрация в меньшей степени сглаживает границы изображения, чем любая линейная фильтрация. Механизм этого явления очень прост и заключается в следующем. Предположим, что апертура фильтра находится вблизи границы, разделяющей светлый и темный участки изображения, при этом ее центр располагается в области темного участка. Тогда, вероятнее всего, рабочая выборка будет содержать большее количество элементов с малыми значениями яркости, и, следовательно, медиана будет находиться среди тех элементов рабочей выборки, которые соответствуют этой области изображения. Ситуация меняется на противоположную, если центр апертуры смещен в область более высокой яркости. Но это и означает наличие чувствительности у МФ к перепадам яркости. Существует огромное множество интерпретаций методов работы МФ, рассмотрим ещё один, на примере использование его при обработке изображения клеток крови -- гранулоцитов. Перед измерением размера гранулоцита его изображение подвергалось сглаживанию медианным фильтром с целью устранения гранул, которые могут влиять на результат измерения. Обычно в процессе медианной фильтрации значения сигнала в некоторой окрестности точки, в которой вычисляется отклик фильтра, при помощи сортировки по возрастанию или убыванию выстраиваются в вариационный ряд. Отклик фильтра определяется как медиана -- значение сигнала середины (центра) вариационного ряда. В дальнейшем эту окрестность будем называть окном фильтра. Кроме того, для упрощения будем рассматривать фильтр с квадратным окном размером n?n .

Следовательно, при вычислении медианы в окне фильтра число операций с данными, например, число операций сортировки, равно n 2 . При обработке изображения размером M?N точек (пикселей) число операций с данными будет велико и составит M?N?n 2 . Различные операции требуют разных затрат времени выполнения. При последовательном сканировании изображения количество наиболее трудоемких операций сортировки можно сократить. Так, при переходе от точки о1 с окном w1 к точке о2 с окном w2 на рис. 1.3. можно из вариационного ряда окна w1 исключить точки столбца 1, отсортировать точки столбца 6 и объединить два полученных вариационных ряда в один. Такой алгоритм работает быстрее по сравнению с независимой сортировкой в каждом окне, однако общее число манипуляций с данными (пусть и менее трудоемких), например, хотя бы перебор данных, остается тем же самым, т. е. достаточно большим. Поэтому при медианной фильтрации изображений обычно ограничиваются окнами 3?3 или 5?5 и редко больше, что вполне достаточно, например, для устранения импульсных помех.

Рис. 1.3. Сканирование изображения окном медианного фильтра

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

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

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

Введем пороговый коэффициент отклонения яркости S threshold = . Величины отклонения яркости соседних пикселей A(r, n, m), попавших в окно размером n?m, относительно яркости центрального отсчета A(r) запишутся в виде (1.2):

Тогда критерий, согласно которому необходимо увеличивать размер маски с центральным отсчетом r, будет иметь вид:

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

Лучшие статьи по теме