Обробка растрових зображень

Шуми, їх властивості, методи зменшення впливу.

Так як даний ресурс присвячений комп'ютерній графіці, то у подальшому, говорячи про сигнал, ми будемо розуміти або зображення в градація сірого як однокомпонентний двовимірний сигнал, або, в разі повнокольорового зображення – трикомпонентний двовимірний сигнал.

У останньому випадку компонентами сигналу можуть бути кольори – червоний (R), зелений (G), синій (B), або хроматичні складові Y - освітленість, Cr- теплі відтінки, Cb-холодні відтінки, або елементи простору HSV, головні компоненти PCA простору кольорів, або компоненти іншого простору кольорів.

Переходячи до розгляду теми розділу, треба зазначити, що в реальних сигналах шум так чи інакше присутній. Цей факт обумовлений як апаратною складовою, за допомогою якої отримане зображення, так і впливом стану атмосфери, рухом відносно об'єкта з'йомки, та ін. Компоненти шуму зображень \(n [k_1, k_2]\) можуть об'єднуватися з корисним сигналом \(s [k_1, k_2]\) адитивно: \[ f [k_1, k_2] = s [k_1, k_2] + n [k_1, k_2], \] або мультиплікативно: \[ f [k_1, k_2] = s [k_1, k_2] * n [k_1, k_2]. \] Типовий приклад мультиплікативної взаємодії сигналу з шумом - зв'язок між освітленістю відеооб'єктиву (корисний сигнал) і світловим потоком, відбитим від місцевих об'єктів (шум).

До аддитивних відносяться, в основному, шуми, обумовлені властивостями чутливих елементів відео або фотокамер. Ці шуми виникають з наступних причин:

  1. Дефекти (домішки та ін.) потенційного бар'єру, які викликають витік заряду, згенерованого за час експозиції - т. зв. чорний дефект. Такідефекти видно на світлому фоні у вигляді темних крапок.
  2. Темновий струм (Dark current) - є шкідливим наслідком термоелектронної емісії і виникає в сенсорі при подачі потенціалу на електрод. Такі дефекти видно на темному тлі у вигляді світлих точок, це т. зв. білий дефект. Білі дефекти особливо проявляються при великих експозиціях. Основна причина виникнення темнового струму - це домішки в кремнієвій пластині або пошкодження кристалічної решітки. Чим чистіше кремній, тим менше темновий струм. На темновий струм впливає температура елементів камери і електромагнітні наводки. При збільшенні температури на 6-8 градусів, значення темнового струму подвоюється.
  3. Шум, що виникає внаслідок стохастичної природи взаємодії фотонів світла з атомами матеріалу фотодіодів сенсора. Під час руху фотону усередині кристалічної решітки може виникнути ситуація, що фотон, «потрапивши» в атом кремнію, виб'є з нього електрон, народивши пару електрон-дірка. Електричний сигнал, що знімається з сенсора, буде відповідати кількості народжених пар.
  4. Наявність дефектних (які не працюють) пікселів, які виникаютьпри виробництві фотосенсорів. Для усунення їх негативного впливу використовуються математичні методи інтерполяції, коли замість дефектного «підставляється» або просто сусідній елемент, або середнє по прилеглим елементам, або значення, обчислене більш складним чином. Природно, що обчислене значення відрізняється від фактичного і погіршує якість отриманого зображення.
Далі розглянемо різні методи боротьби з шумом, тобто, очищення зображень.

Трохи про фільтри.

Імпульсна перехідна функція (impulse response) або імпульсна характеристика - це відгук системи на дельта-функцію Дірака. Якщо розглядати лінійну систему в просторі часу, то сигнал на виході лінійної системи \(y (t)\) можна розрахувати як згортку вхідного сигналу \(x (t)\) з імпульсною характеристикою \(h (t)\): \[ y(t)=h(t)\otimes x(t)=\int_{-\infty}^\infty h(\tau)x(t-\tau)d\tau. \] Для перетворення сигналів часто використовуються лінійні системи, звані фільтрами, передавальна функція яких (частотна характеристика) має певну форму. Одні з найбільш використовуваних фільтрів - це порогові фільтри, наприклад, Розглянемо деяке узагальненя розглянутих фільтрів.

Препарування зображення

Препарування представляє собою клас поелементного перетворення (як правило, освітлення) зображень. Характеристики застосовуваних на практиці процедур препарування наведені на рисунку нижче.
абв
где
жзи
Перетворення з пороговою характеристикою (а) називається бінарізацією, тобто, зображення перетворюються в бінарне – якщо яскравість (освітленність) менше порогового значення, то компонента отримує значення 0, інакше – 1. Операція бінаризації або бінарного квантування, може бути корисною, у разі, коли спостерігачу важливі контури об'єктів, присутніх на зображенні, а деталі, що містяться всередині об'єктів або всередині фону, не представляють інтересу. Основною проблемою при проведенні такої обробки є визначення порогуx_0, порівняння з яким яскравості вхідного зображення дозволяє визначити значення вихідного зображення в кожній його точці. Заміна вхідного напівтонового зображення бінарним дозволяє досягти більшої наочності при візуальному сприйнятті, ніж у вхідного зображення.

Безумовно, ключовим у бінарізації є вибір порогу. Існує багато різних підходів до вибору порогу бінарізації, але найбільш популярним є метод Оцу (大津展之 ŌtsuNobuyuki).

Ідея методу Оцу полягає в тому, щоб виставити поріг між класами таким чином, щоб кожен з них був якомога більш «щільним». Якщо виражатися математичною мовою, то це зводиться до мінімізації внутрішньокласової дисперсії, яка визначається як зважена сума дисперсій двох класів: \[ \sigma_W^2=w_1 \sigma_1^2+w_2 \sigma_2^2, \] де для будь якого фіксованого \(k=0,1,…,255\) \[ w_1=\frac{\sum_{i=0}^kh_i}{H\times W}, \mu_1=\frac{\sum_{i=0}^kih_i}{\sum_{i=0}^kh_i}, \sigma_1=\frac{\sum_{i=0}^k(i-\mu_1)h_i}{\sum_{i=0}^kh_i}, \] \[ w_2=\frac{\sum_{i=k+1}^{255}h_i}{H\times W}, \mu_2=\frac{\sum_{i=k+1}^{255}ih_i}{\sum_{i=k+1}^{255}h_i}, \sigma_2=\frac{\sum_{i=k+1}^{255}(i-\mu_2)h_i}{\sum_{i=k+1}^{255}h_i}, \] і \(\{h_i \}_{i=0}^{255}\) –гістограма інтерсивності освітлення (компоненти Y).
Перебираємо по черзі всі \(k=0,1,…,255\) і те значення, при якому досягається мінімум величини \(\sigma_W^2\) буде відповідати порогу бінарізації.
Оригінальне зображення LenaБінарізація зображення Lena методом Оцу.
Сенс інших перетворень неважко зрозуміти, якщо розглянути їх характеристики. Наприклад, перетворення (б) виконує зріз яскравості зображення, виділяючи ті його ділянки, де яскравість відповідає виділеному інтервалу. При цьому інші ділянки виявляються повністю "погашеними" (мають яскравість, що відповідає рівню чорного). Переміщуючи виділений інтервал по шкалі яскравості і змінюючи його ширину, можна детально дослідити зміст зображення.

Просторові методи обробки зображень.

Просторові методи обробки зображень об'єднуєть підходи, засновані на прямому маніпулюванні пікселями зображення. Деякі локальні перетворення оперують одночасно як зі значеннями пікселів в околі, так і з відповідними їм значеннями деякої матриці, що має ті ж розміри, що і окіл. Таку матрицю називають фільтром, маскою, ядром, шаблоном або вікном. Значення елементів матриці прийнято називати коефіцієнтами.

У загальному випадку просторова обробка зображення описується рівнянням: \[G(x,y)=T(I(x,y)),\] де \(G(x,y)\)- зображення на виході процедури обробки;
\(I(x,y)\) - вхідне зображення для обробки;
\(T\) - оператор системи обробки.

Найпростіша форма оператора \(T\) досягається, коли окіл має розміри \(1\times 1\) (один піксель). В цьому випадку \(G\) залежить тільки від значення \(I\) в точці \((x,y)\), і \(T\) називається функцією градаційного перетворення (функцією перетворення інтенсивностей або функцією відображення).

Градаційні методи покращення зображень.

Розглянемо деякі найбільш вживані градаційні методи.

Соляризація полягає в тому, що ділянки вхідного зображення, що мають рівень білого або близького до нього рівень яскравості, після обробки мають відповідний рівень чорного. При цьому зберігається рівень чорного і ділянки, що мають його на оригінальному зображенні.

Функція перетворення має вигляд: \(y=k\cdot x\cdot(x_\max-x)\), де \(x_\max\) - максимальне значення вихідного сигналу, а \(k\)- константа, що дозволяє управляти динамічним діапазоном перетвореного зображення. Функція, що описує дане перетворення, є квадратичною параболою. При \(y_\max =x_\max \) динамічні діапазони зображень збігаються, що може бути досягнуто при \(k=4/x_\max.\)
Функція, яка описує солярізацію.
Солярізація зображення Lena.
Дана обробка призводить до підвищення чіткості деталей зображення: поліпшені зображення очей, підвищений контраст на переході "обличчя - волосся" і так інше.

Гамма-корекція яскравості.

Наші очі сприймають зображення не так, як цифрові пристрої. Гамма-корекція зображень - це процес, за допомогою якого цифрове кодування зображення приводиться у відповідність з нашим сприйняттям зображення. Цей метод зміни яскравості зображення відноситься до статичних перетворень і описується виразом: \[ s_{вих}=c\cdot s^\gamma_{вх}, \] де \(с\) та \(\gamma\) – додатні константи, а \(s_{вх}\) і \(s_{вих}\) - відповідно значення яскравості на вході і виході процедури її зміни. Вигляд відповідних співвідношень наведений на зображені
По горизонталі - яскравість на вході, по вертикалі - на виході.
Окремим випадком гамма-корекції можна вважати перетворення за допомогою кусково - лінійних функцій, форма яких може бути досить складною. Недолік цього підходу - необхідність введення та обчислення параметрів для кожного з ділянок опису характеристики перетворення.
По горизонталі - яскравість на вході, по вертикалі - на виході.
Цей підхід можна узагальнити, використовуючи функцію коригування яскравості у вигляді сплайну \[ S_{x_0}(t)= \left\{ \begin{array}{lll} \frac{1}{x_0}t^2, & \hbox{ якщо } & t\in [0, x_0], \\ 1-\frac{1}{1-x_0}(1-t)^2, & \hbox{ якщо } & t\in [x_0,1], \end{array} \right. \] при \(x_0\in (0,1)\).


За горизонталлю – освітленість на вході, за вертикаллю – на виході для функції корекції яскравості в вигляді сплайну при \(x_0\in \{0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9\}\) . Змінюючи значення \(x_0\in (0,1)\), отримаємо цілий спектр функцій корекції яскравості, з яких можна вибрати як раз той сплайн, який найкращим чином перетворює зображення.
Оригінальне зображення Lena. Зображення після \(\gamma\)-корекції для \(\gamma=0.5\).Зображення після сплайн-корекції.
Вирівнювання гістограм.

Гістограми є вихідним матеріалом для багатьох методів обробки зображень в просторовій області. Гістограма є характеристикою кількості пікселів в заданому діапазоні освітленості. Оскільки цю кількість ділять на загальну кількість пікселів, то таким чином, значення нормалізованої гістограми показують ймовірності появи в зображенні пікселів у цьому діапазоні освітленості. Очевидно, що сума ймовірностей повинна дорівнювати одиниці.

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

Розглянемо методи покращення зображень шляхом корекції їх гістограм.

  1. Лінійна корекція гістограм (лінійне контрастування) зводиться до зміни діапазону інтенсивності вхідного зображення, так, у разі наявності області освітлення [a,b], треба розтягнути його до [0,255], тобто \[\tilde{Y}_{i,j}=255\times \frac{Y_{i,j}-a}{b-a}.\]
  2. Нормалізація гістограми передбачає не тільки зміну діапазону інтенсивності освітлення, але і їх найінформативніші значення. Ясно, що найінформативніші значення відповідають пікам гістограм. Значення гістограми, які відповідають значенням освітлення, що зустрічаються рідко, в процесі нормацізації викидаються, після чого проводиться лінійна корекція.
  3. Інтуїтивно можна зробити висновок, що найбільш зручним для сприйняття людиною буде зображення, для якого гістограма близька до рівномірного розподілу. Тобто для поліпшення візуальної якості, до зображення треба застосувати таке перетворення, щоб гістограма результату містила всі можливі значення яскравості і при цьому в приблизно однаковій кількості. Таке перетворення називається еквалізацією гістограми.
Нехай є зображення в градаціях сірого (компонента Y, освітленність, яскравість) І розміром \(H\times W\). Кількість рівнів квантування яскравості пікселів (число бінів) становить N. Таким чином на кожен рівень припадає \(n=\frac{H\times W}{N}\) пікселів. Нехай \(p(x)\) функція щільності розподілу інтерсивності освітлення на вхідному зображенні і \(p(y)\)- бажана щільність розподілу, така, що \[ p(y)= \left\{ \begin{array}{lll} \frac{1}{y_\max-y_\min}, & \hbox{ якщо } & y_\min\le y\le y_\max, \\ 0, & \hbox{ інакше. } \end{array} \right. \] Позначимо через F(x) та F(y) інтегральні закони розподілу випадкових величин x та y. З умови імовірностної еквівалентності маємо F(x)= F(y), таким чином \[ F(x)=F(y)=\int_{y_\min}^{y_\max}p(y)dy=\frac{y-y_\min}{y_\max-y_\min}. \] Звідси маємо \[ y=(y_\max-y_\min)F(x)+y_\min. \] Залишилося оцінити інтегральний закон розподілу F(x). Але це вже зовсім не складно – знайдемо гістограму зображенні і проведемо її нормапізацію, поділивши величину кожного біну на загальну кількість пікселів, тоді значення бінів можна розглядати як наближене значення функції щільності розподілу \(p_i (i=0,1,…,255)\). Наближене значення функції розподілу можна записати наступним чином \[ \tilde{F}(x)=\sum_{i=1}^xp_i. \] Наведемо формалізацію еквалізації гістограми. На вході зображення в градаціях сірого (яскравість, освітлення, компонента Y простору кольорів YCrCb)
  1. Знаходимо гістограму зображення h.
  2. Будуємо функцію розподілу \(F(x)=\sum_{i=1}^xh_i\) за гістограмою.
  3. Обновлюємо пікселі зображення за правилом \[ f(x)=\textrm{round}\left(255×\frac{F(x)-F_\min}{W×H-1}\right). \]
У разі повнокольорового зображення проводимо еквалізацію гістограми компоненти Y, а по отриманим значенням компоненти освітлення і оригінальним хроматичним складовим збираємо нове зображення.
Результат такої процедури для зображення разом з гістограмами вхідного і перетвореного зображень наведені.





Імпульсні шуми і заходи зменшення їх впливу.

Медіанна фільтрація є ефективним способом придушення імпульсних шумів, які, зокрема, неминуче з'являються в цифрових камерах в умовах малого освітлення сцени. Алгоритм медіанної фільтрації є масковим:
  1. Для кожної точки вхідного зображення береться деяка область (наприклад, \(3\times 3\)).
  2. Точки даної області сортуються за зростанням яскравості.
  3. Серединна (медіанна) точка (5-я для фільтра \(3\times 3\)) відсортованої множини записується в підсумкове зображення.
  4. На наступному кроці вікно пересувається на один відлік і обчислення повторюються. Крайні значення масиву дублюються стільки раз, щоб можна було застосувати вікно до першого і до останнього значенням.
Алгоритм медіанної фільтрації.
Алгоритм досить ресурсоємкий: так, наприклад, при обробці зображення в градаціях сірого медіанним фільтром \(3\times 3\) потрібно близько 50 операцій на одну точку зображення. Але в той же час він оперує тільки з 8-бітними числами і йому для роботи потрібно порівняно небагато вхідних даних, що робить алгоритм досить простим. Зауважимо, що, медіанна фільтрація згладжує зображення.

Просторові методи фільтрації з використанням згортки.

Для випадку двох змінних згортка неперервного сигналу \(x(t,\tau)\) з імпульсною характеристикою (ядром перетворення) \(h(t,\tau)\) має вигляд \[ y(t,\tau)=h(t,\tau)\otimes x(t,\tau)=\int_{-\infty}^\infty\int_{-\infty}^\infty h(\xi,\eta)x(\xi-t,\eta-\tau)d\xi d\eta. \] Розглянемо поняття згортки для випадку дискретних сигналів. Нехай маємо сигнал \(X\{x_{i,j}\}\) і ядро (маску) перетворення (імпульсна характеристика) представляє собою матрицю розміром \((N+1)\times (N+1)\), тобто \(H=\{h_{i,j}\}_{i,j=-N}^N\), тоді згорткою \(X\otimes H\) будемо називати матрицю \(Y=\{y_{i,j}\}\), таку, що \[ y_{i,j}=\sum_{\nu,\mu=-N}^Nh_{\nu,\mu}x_{i+\nu,j+\mu}. \] Просторова фільтрація зображень складається з наступних дій:
  1. Визначення центральної точки (x, y) околу;
  2. Здійснення операції, яка використовує лише значення пікселів з заздалегідь обумовленої області навколо центральної точки;
  3. Призначення результату цієї операції центральній точці;
  4. Повторення всього процесу для кожної точки зображення. В результаті переміщення позиції центральної точки утворюються нові області, що відповідають кожному пікселю зображення.
Іншими словами, просторовою фільтрацією називається процес отримання згортки зображення з ядром фільтру.

Лінійна фільтрація зображень в просторовій області полягає в обчисленні лінійної комбінації значень яскравості пікселів у вікні фільтрації з коефіцієнтами матриці ваг, званої маскою або ядром лінійного фільтру.

Найпростішим видом лінійної віконної фільтрації в просторовій області є ковзаюче вікно середніх значень. Результатом такої фільтрації є значення математичного очікування, обчислене по всім пікселям вікна. Математично це еквівалентно згортці з ядром, всі елементи якої дорівнюють 1 / n, де n - число елементів ядра, тобто для випадку ядра розміром \(3\times 3\) має вигляд: \[ \frac{1}{9} \left( \begin{array}{ccc} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \\ \end{array} \right). \]
Оригінальне зображення Cougar.Згладжене зображення Cougar.
Цей варіант можна розглядати як «вироджений» випадок лінійної фільтрації з однорідним ядром. Оскільки результат усереднення привласнюється центральному пікселу, доцільно надати більш близьким точкам його околу більший вплив на остаточний результат, ніж більш далеким. Прикладом реалізації цієї ідеї для вікна розміром \(3\times 3\) є наступний фільтр: \[ \frac{1}{16} \left( \begin{array}{ccc} 1 & 2 & 1 \\ 2 & 4 & 2 \\ 1 & 2 & 1 \\ \end{array} \right). \]


Фільтри такого роду називаються Гаусовими, іх коефіцієнти є дискретизацією функції Гауса з різними параметрами. Прикладом фільтру Гауса розміром \(5\times 5\) є матриця \[ \frac{1}{571} \left( \begin{array}{ccccc} 2 & 7 & 12 & 7 & 2 \\ 7 & 31 & 52 & 31 & 7 \\ 12 & 52 & 127 & 52 & 12 \\ 7 & 31 & 52 & 31 & 7 \\ 2 & 7 & 12 & 7 & 2 \\ \end{array} \right). \] Важливо щоб згладжуючі або фільтруючі лінійні фільтри мали суму всіх елементів рівну 1, для чого кожне з вагових значень потрібно розділитина суму всіх вагових коефіцієнтів. Дана умова нормування гарантує адекватний відгук фільтра на постійний сигнал (постійне зображення), тобто збереження середньої яскравості зображення.
Розглянемо одну просту конструкцію згладжування. Вважатимемо, що дані про поверхню задані значеннями \(z_{i,j}\) у вузлах решітки (ih,jh) однозв'язної області D.
Для побудови алгоритмів згладжування, разом з кожним значенням \(z_{i,j}\), що лежить в середині області D, потрібні сусідні значення \(z_{i-1,j-1}, z_{i-1,j}, z_{i,j-1}, z_{i+1,j-1}, z_{i-1,j+1}, z_{i+1,j+1}, z_{i+1,j}, z_{i,j+1}\), тобто значення поверхні, відповідні r-околу (\(\sqrt{2}h\le r\le 2h\)) точки (ih,jh).


У випадку, якщо якесь з цих значень не задане, слід провести поповнення даних.
Нехай \(P(x,y)=ax^2+by^2+cxy+dx+ey+f\) квадратична функція двох змінних. Виберемо коефіцієнти a, b, c, d, e і f квадратичної функції з умови мінімізації суми квадратів похибок, тобто з умови мінімуму величини \[ \sum_{\nu=i-1}^{i+1}\sum_{\mu=j-1}^{j+1}(z_{\nu,\mu}-P(\nu h,\mu h))^2. \] В якості згладженого значення, будемо брати значення екстремальної квадратичної функції в точці (ih,jh). Для квадратичної функції необхідні умови мінімуму співпадають з достатніми. Для визначення коефіцієнтів екстремальної функції необхідно і достатньо узяти часткові похідні від P(x,y) і прирівняти їх до нуля. При цьому одержимо систему шести лінійних рівнянь з шістьма невідомими. Вирішуючи її, одержуємо квадратичну функцію \[ P^*(x,y)=a^*(x-ih)^2+b^*(y-jh)^2+c^*(x-ih)(y-jh)+d^*(x-ih)+e^*(y-jh)+f^*, \] де \[ a^*=\frac{1}{6h^2}(z_{i-1,j-1}+ z_{i-1,j}+z_{i-1,j+1}+z_{i+1,j-1}+z_{i+1,j}+z_{i+1,j+1}-2(z_{i,j-1}+z_{i,j}+z_{i,j+1})), \] \[ b^*=\frac{1}{6h^2}(z_{i-1,j-1}+ z_{i,j+1}+z_{i-1,j+1}+z_{i+1,j-1}+z_{i,j-1}+z_{i+1,j+1}-2(z_{i-1,j}+z_{i,j}+z_{i+1,j})), \] \[ c^*=\frac{1}{6h^2}(z_{i-1,j-1}+z_{i+1,j+1}-z_{i-1,j+1}-z_{i+1,j-1}), \] \[ d^*=\frac{1}{6h^2}(z_{i+1,j+1}+z_{i+1,j}+z_{i+1,j-1}-z_{i-1,j+1}-z_{i-1,j}-z_{i-1,j-1}), \] \[ e^*=\frac{1}{6h^2}(z_{i+1,j+1}+z_{i-1,j+1}+z_{i,j+1}-z_{i-1,j+1}-z_{i,j-1}-z_{i-1,j-1}), \] \[ f^*=z_{i,j}+\frac{2}{9}(z_{i-1,j}+z_{i,j+1}+z_{i+1,j}+z_{i,j-1}-4z_{i,j}) -\frac{1}{9}(z_{i-1,j+1}+z_{i+1,j+1}+z_{i+1,j-1}+z_{i-1,j-1}-4z_{i,j})= z_{i,j}+\frac{1}{9}(2\Delta^2z_{i,j}-\tilde{\Delta}^2z_{i,j}). \] Таким чином, згладженим значенням можна вважати значення \(\tilde{z}_{i,j}\) , що визначається рівністю \[ \tilde{z}_{i,j}=z_{i,j}+\frac{1}{9}(2\Delta^2z_{i,j}-\tilde{\Delta}^2z_{i,j}), \] де \(\Delta^2z_{i,j}=z_{i-1,j}+z_{i,j+1}+z_{i+1,j}+z_{i,j-1}-4z_{i,j}\) і \(\tilde{\Delta}^2z_{i,j}=z_{i-1,j+1}+z_{i+1,j+1}+z_{i+1,j-1}+z_{i-1,j-1}-4z_{i,j}\).
В цьому випадку оператор згладжування породжений фільтром \[ \frac{1}{9} \left( \begin{array}{ccc} -1 & 2 & -1 \\ 2 & 5 & 2 \\ -1 & 2 & -1 \\ \end{array} \right). \]

Методи зміни різкості зображень.

Раніше були розглянуті методи просторової фільтрації, які призводили до зглажування зображень. Тепер розглянемо зворотну задачу – підвищити контрастність, різкість зображення.

Методи, які використовують другі дискретні різниці.

Різкість зображення (його контраст) характеризується ступенем помітності (розрізнення) перепадів яскравості сусідніх ділянок зображення і якщо зменшення різкості (згладжування) досягається шляхом застосування низькочастотних фільтрів, то зворотна процедура - підвищення різкості пов'язана з використанням високочастотних фільтрів.

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

У подальшому нам знадобиться перша дискретна різниця - аналог першої похідної: \[ \frac{\partial s}{\partial x}\to \Delta s[x+1]=s[x+1]-s[x], \] та друга дискретна різниця – аналог другої похідної: \[ \frac{\partial^2 s}{\partial x^2}\to \Delta^2 s[x+1]=\Delta s[x+1]-\Delta s[x]=s[x+1]-2s[x]+s[x-1], \] які широко застосовуються в методах посилення різкості зображень. Зокрема, на їх використанні заснований оператор Лапласа (лапласіан), який для функції двох змінних для аналогових сигналів визначається як \[ \nabla^2s=\frac{\partial^2 s}{\partial x^2}+\frac{\partial^2 s}{\partial y^2}. \] У простійшому випадку лапласіан дає ядро згортки \[ \left( \begin{array}{ccc} 0 & -1 & 0 \\ -1 & 4 & -1 \\ 0 & -1 & 0 \\ \end{array} \right) \] але для підвищення різкості краще використовувати ядро \[ \left( \begin{array}{ccc} -1 & -1 & -1 \\ -1 & 9 & -1 \\ -1 & -1 & -1 \\ \end{array} \right) \] або ядро \(5\times 5\) \[ \left( \begin{array}{ccccc} -1 & -3 & -4 & -3 & -1 \\ -3 & 0 & 6 & 0 & -3 \\ -4 & 6 & 20 & 6 & -4 \\ -3 & 0 & 6 & 0 & -3 \\ -1 & -3 & -4 & -3 & -1 \\ \end{array} \right). \] В цілому алгоритм використання лапласіану для підвищення різкости зображення має вигляд: \[ \bar{s}[x,y]= \left\{ \begin{array}{lll} s[x,y]-\nabla^2s[x,y]/k, & \hbox{ якщо } & w[0,0]\le 0, \\ s[x,y]+\nabla^2s[x,y]/k, & \hbox{ якщо } & w[0,0]\gt 0. \\ \end{array} \right. \] Результат обробки зображення із застосуванням оператора Лапласу, тут \(w[0,0]\) - значення центрального коефіцієнта маски Лапласіану.
Оригінальне зображення Cougar.Результат застосування Лапласіана.

Градієнтні методи.

Крім аналогів других похідних, яким є лапласіан(оператор Лапласа), для підвищення різкості зображення можуть бути використані і оператори першого порядку або градієнтні оператори. До них відносяться оператори Робертса, Канні, Собеля і Превіта. Вони призначені, в основному, для виділення контурів. Ця процедура є попередньою, крім підвищення різкості зображення, і в інших завданнях обробки, зокрема, в задачі розпізнавання об'єктів.

Принцип роботи градієнтних операторів зручно розглянути на прикладі алгоритму Собеля. Оператор обчислює градієнт яскравості зображення в кожній точці. Так знаходиться напрямок найбільшого збільшення яскравості і величина її зміни в цьому напрямку. Результат показує, наскільки різко або плавно змінюється яскравість зображення в кожній точці, а значить, ймовірність знаходження точки на границі і орієнтацію границі.

Градієнт функції двох змінних для кожної точки зображення (зокрема і функції яскравості) - двовимірний вектор, компонентами якого є похідні яскравості зображення по горизонталі і вертикалі. У кожній точці зображення вектор орієнтований в напрямку найбільшої зміни яскравості, а його довжина відповідає величині зміни яскравості. Оператор використовує ядро \(3\times 3\) і з ним згортається вихідне зображення. Нехай А- вхідне зображення, а Gx і Gy - дві матриці такого ж розміру як і зображення, кожна точка яких є похідні по x і y \[ Gx=\left( \begin{array}{ccc} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0& 1 \\ \end{array} \right)\otimes A, Gy=\left( \begin{array}{ccc} -1 & -2 & -1 \\ 0 &0 & 0 \\ 1 & 2 & 1 \\ \end{array} \right)\otimes A, \]
Оригінальне зображення Cougar.Мапа змінності освітлення по горизонталі.Мапа змінності освітлення по вертикалі.
де \(\otimes\) оператор згортки. У кожній точці зображення можна знайти величину градіенту \(G=\sqrt{(Gx)^2+(Gy)^2}\) та його напряму \(\theta=\rm{arctg}\frac{Gy}{Gx}\)
Оригінальне зображення Cougar.Інверсне зображення величини градієнта Cougar.Мапа нормованного направлення градієнта Cougar.

Нерізке маскування.

Нерізке маскування - технологічний прийом обробки зображення, який дозволяє домогтися ефекту збільшення різкості за рахунок посилення контрасту тональних переходів. У ході процедури відбувається об'єднання трохи розпливчатою (нерізкої) версії зображення з оригіналом. В результаті виходять різкі деталі в високо контрастних областях без посилення тонових стрибків в областях з низькою контрастністю там, де різкі тонові скачки можуть порушити плавність переходів.

Фільтрація з підйомом високих частот є узагальненням процедури нерізкого маскування. Ця операція зводиться до застосування правила контрастування виду \[ h(x, y)= k\cdot f (x, y) -\nabla^2f (x, y), \] за умови, що ваговий коефіцієнт у центрі фільтру менше нуля, інакше знак перед лапласіаном змінюється на протилежний. У такій ситуації підвищення різкості зображення може проводитися із застосуванням фільтрів \[ \left( \begin{array}{ccc} 0 & -1 & 0 \\ -1 &4+k & -1 \\ 0 & -1 & 0 \\ \end{array} \right) \hbox{ або } \left( \begin{array}{ccc} -1 & -1 & -1 \\ -1 &8+k & -1 \\ -1 & -1 & -1 \\ \end{array} \right). \]

Оригінальне зображення Cougar. Застосування нерізкого маскування з маскою М1.Застосування нерізкого маскування з маскою М2.
Зауважимо, що з ростом коефіцієнта \(k\), ефект підвищення різкості зменшується. Виконання нерізкого маскування і фільтрації з підйомом високих частот вимагає застосування умови нормування, або застосування градаційній корекції одержуваних значень яскравості відклику h(x,y), оскільки ці значення можуть виходити за межі допустимих значень. Застосування фільтрів нерізкого маскування також призводить до посилення шумів зображення, до формування помітних ореолів уздовж границь, а також до нерівномірного збільшення локального контрасту вздовж границі. Алеж, цими недоліками можна охарактеризувати всі фільтри різкості, засновані на використанні похідних.

Побудова методів відновлення зображення.

Ясна річ, використання будь-якого методу фільтрації тягне за собою і зворотну операцію – відновлення зображення до оригінального вигляду, так операція згладжування породжує операцію контрастування і навпаки. Далі нам знадобиться одне твердження.

Через \(\ell^2_2\) позначимо лінійний простір всіх обмежених двовимірних послідовностей (масивів) \(A=\{a_{i,j}\}_{(i,j)\in Z^2}\) з нормою \(\|A\|=\left(\sum_{i,j\in Z}a^2_{i,j}\right)^{1/2}\) і покладемо \(|A|=\left|\sum_{i,j\in Z}a_{i,j}\right|\).

Хай \(L\) лінійний оператор, який відображає простір \(X\) у простір \(Y\). Традиційно, нормою оператора \(L\) будемо називати величину \[ \|L\|_{X\to Y}=\sup \frac{\|L(F)\|_Y}{\|F\|_X\le 1}. \] Позначимо через \(C=A\otimes B\) згортку масивів (матриць) \(A\) і \(B\), тобто масив \(C\) такий, що \[ c_{i,j}=\sum_{\nu,\mu}a_{\nu,\mu}b_{\nu-i,\mu-j}. \] Розглянемо рівняння \(E\otimes X=F\), де |E|≠ 0, тоді \(\frac{E}{|E|}\otimes X=\frac{F}{|E|}\), або, що те ж, \(\tilde{E}\otimes X=\Phi\), де \(\tilde{E}=\frac{E}{|E|}\) і \(\Phi = \frac{F}{|E|}\).

Основою для побудови відновлюючих фільтрів є наступне твердження:

Теорема. Якщо для будь-якого натурального n виконується нерівність \begin{equation}\label{1} \|I-\tilde{E}\|_{\ell^2_2\to\ell^2_2}\lt 1, \end{equation} то має місце співвідношення \begin{equation}\label{2} X_n=C^1_n\Phi-C^2_n\tilde{E}\otimes \Phi+C^3_n\tilde{E}^2\otimes \Phi+...+(-1)^nC^n_n\tilde{E}^n\otimes \Phi+\varepsilon_n \end{equation} де \(\varepsilon_n\) таке, що \begin{equation}\label{3} \tilde{E}\otimes \varepsilon_n=\left(I-\tilde{E}\right)^{n+1}\otimes \Phi. \end{equation} Дійсно, якщо \[ X_n=C^1_n\Phi-C^2_n\tilde{E}\otimes \Phi+C^3_n\tilde{E}^2\otimes \Phi+...+(-1)^nC^n_n\tilde{E}^n\otimes \Phi+\varepsilon_n \] то \[ \tilde{E}\otimes X_n=\tilde{E}\otimes\left(C^1_n\Phi-C^2_n\tilde{E}\otimes \Phi+C^3_n\tilde{E}^2\otimes \Phi+...+(-1)^nC^n_n\tilde{E}^n\otimes \Phi+\varepsilon_n\right)= \tilde{E}\otimes C^1_n\Phi-C^2_n\tilde{E}^2\otimes \Phi+C^3_n\tilde{E}^3\otimes \Phi+...+(-1)^nC^n_n\tilde{E}^{n+1}\otimes \Phi+ \tilde{E}\otimes \varepsilon_n. \] Звідси, і з (\ref{3}) відразу одержуємо \[ \tilde{E}\otimes X_n=\tilde{E}\otimes C^1_n\Phi-C^2_n\tilde{E}^2\otimes \Phi+C^3_n\tilde{E}^3\otimes \Phi+...+(-1)^nC^n_n\tilde{E}^{n+1}\otimes \Phi+ \left(I-\tilde{E}\right)^{n+1}\otimes \Phi= \] \[ \tilde{E}\otimes C^1_n\Phi-C^2_n\tilde{E}^2\otimes \Phi+C^3_n\tilde{E}^3\otimes \Phi+...+(-1)^nC^n_n\tilde{E}^{n+1}\otimes \Phi+ \Phi-\tilde{E}\otimes C^1_n\Phi+C^2_n\tilde{E}^2\otimes \Phi-C^3_n\tilde{E}^3\otimes \Phi+...+(-1)^{n+1}C^n_n\tilde{E}^{n+1}\otimes \Phi=\Phi. \] Зазначимо, що, якщо виконується умова (\ref{1}), то \[ \|\varepsilon_n\|\le |\tilde{E}^{-1}|\|I-\tilde{E}\|^{n+1}|\Phi|, \] і, в цьому випадку, рішення можна записати в операторному вигляді \[ X=\lim_{n\to \infty}\left(I-\left(I-\tilde{E}\right)^n\right)\Phi. \] Використовуємо цей результат для побудови оператора контрастування, що повертає зображення, змінене в результаті застосування оператора згладжування.

Як приклад розглянемо побудову контрастуючого фільтру псевдозворотного до згладжуючого фільтру S, побудованого раніше: \[ S=[s_{i,j}]_{i,j=-1}^1=\frac{1}{9}\left( \begin{array}{ccc} -1 & 2 & -1 \\ 2 &5 & 2 \\ -1 & 2 & -1 \\ \end{array} \right). \]


Відповідний контрастуючий фільтр \(S^{-1}\) повинен задовольняти умові \(S\otimes S^{-1}=I\) де \[ I= \left( \begin{array}{ccc} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \\ \end{array} \right). \] Застосовуючи співвідношення (\ref{2}), отримуємо наближене значення \(S^{-1}\) . Перша ітерація дає контрастуючий фільтр \[ S^{-1,1}= 2I-S\otimes I=\frac{1}{9}\left( \begin{array}{ccc} 1 & -2 & 1 \\ -2 & 13 & -2 \\ 1 & -2 & 1 \\ \end{array} \right) \]


Застосування другої ітерації дозволяє побудувати контрастуючий фільтр, що повертає згладжені дані з вищою точністю \[ S^{-1,2}= 3I-3S\otimes I+S^2\otimes I=\frac{1}{81} \left( \begin{array}{ccccc} 1 & -4 & 6 & -4 & 1\\ -4 & 25 & -42 & 25 & -4\\ 6 & -42 & 153 & -42 & 6\\ -4 & 25 & -42 & 25 & -4\\ 1 & -4 & 6 & -4 & 1\\ \end{array} \right) \]


Результат третьої ітерації дає фільтр \[ S^{-1,3}= 4I-6S\otimes I+6S^2\otimes I-S^3\otimes I=\frac{1}{729} \left( \begin{array}{ccccccc} 1 & -6 & 15 & -20 & 15 & -6 & 1\\ -6 & 45 & -126 & 174 & -126 & 45 & -6\\ 15 & -126 & 450 & -696 & 450 & -126 & 15\\ -20 & 174 & -696 & 1777 & -696 & 174 & -20\\ 15 & -126 & 450 & -696 & 450 & -126 & 15\\ -6 & 45 & -126 & 174 & -126 & 45 & -6\\ 1 & -6 & 15 & -20 & 15 & -6 & 1\\ \end{array} \right) \]


Наведемо зворотні (контрастуючі) фільтри для згладжуючого фільтру \[ G= \frac{1}{36} \left( \begin{array}{ccc} 1 & 4 & 1 \\ 4 & 16 & 4 \\ 1 & 4 & 1 \\ \end{array} \right). \]


породженого функцією Гауса \(z=2^{-2(x^2+y^2)}\)


Маємо \[ G^{-1,1}= \frac{1}{36} \left( \begin{array}{ccc} -1 & -4 & -1 \\ -4 & 56 & -4 \\ -1 & -4 & -1 \\ \end{array} \right). \]


\[ G^{-1,2}= 3I-3G\otimes I+G^2\otimes I=\frac{1}{1296} \left( \begin{array}{ccccc} 1 & 8 & 18 & 8 & 1\\ 8 & -44 & -288 & -44 & 8\\ 18 & -288 & 2484 & -288 & 18\\ 8 & -44 & -288 & -44 & 8\\ 1 & 8 & 18 & 8 & 1\\ \end{array} \right) \]


\[ G^{-1,3}= 4I-6G\otimes I+6G^2\otimes I-G^3\otimes I=\frac{1}{46656} \left( \begin{array}{ccccccc} -1 & -12 & -51 & -88 & -51 & -12 & -1\\ -12 & 0 & 540 & 1536 & 540 & 0 & -12\\ -51 & 540 & -1161 & -14856 & -1161 & 540 & -51\\ -88 & 1536 & -14856 & 101120 & -14856 & 1536 & -88\\ -51 & 540 & -1161 & -14856 & -1161 & 540 & -51\\ -12 & 0 & 540 & 1536 & 540 & 0 & -12\\ -1 & -12 & -51 & -88 & -51 & -12 & -1\\ \end{array} \right) \]


Приведемо приклад: до зображення Superfood


застосуємого згладжувальний фільтр, після чого проведемо відновлення зворотними (контрастуючими) фільтрами
Згладжене зображення. Результат після застосування зворотного фільтру
першої ітерації.
Результат після застосування зворотного фільтру
другої ітерації.
Результат після застосування зворотного фільтру
третьої ітерації.
PSNR=27.26. PSNR=32.08.PSNR=35.53. PSNR=37.96.
Пікове співвідношення сигналу до шуму (англ. peak signal-to-noise ratio) позначається абревіатурою PSNR і є терміном, що означає співвідношення між максимумом можливого значення сигналу (для байтових зображень це 255) та потужністю шуму, що спотворює значення сигналу. PSNR зазвичай вимірюється логарифмічною шкалою в децибелах.

PSNR найчастіше використовується для вимірювання якості реконструкції зображень. Сигнал у цьому випадку є вихідними даними, а шум - це помилка.

Типові значення PSNR для порівняння зображень лежать в межах від 30 до 40 dB. Чим вище значення PSNR, тим менша різниця між зображеннями, що порівнюються.

Для монохромних зображень I та K розміру H×W, одне з яких вважається зашумленими наближенням іншого, обчислюється наступним чином: \[ PSNR=20\times \rm{lg} \frac{\max \{I\}}{\sqrt{MSE}}, \] де \[ MSE=\frac{1}{H\times W}\sum_{i=1}^W\sum_{j=1}^H|I_{i,j}-K_{i,j}|^2. \] У разі порівняння повнокольорових зображень, використовуємо суму MSE по кожній кольоровій компоненті і поділемо на 3.

На завершення параграфа, присвяченого створенню просторових фільтрів, розглянемо реалізацію ефекту акварелізації. Акварельний фільтр перетворить зображення, і, після обробки воно виглядає так, як ніби написано аквареллю. Для отримання такого ефекту використовується метод медіанного усереднення кольору в кожній точці. Значення кольору кожного піксела і його 24 сусідів поміщаються в список і сортуються від меншого до більшого. Медіанне (тринадцяте)значення кольору в списку привласнюється центральному пікселу. Після цього, для виділення межі переходів кольорів, до одержаного зображення застосовується контрастуючий фільтр. Результуюче зображення нагадує акварельний живопис.


Це лише один приклад, який показує, як можна об'єднувати різні методи обробки зображень і отримувати незвичайні візуальні ефекти, наприклад, такий


Морфологічна обробка бінарних зображень.

Расширення (Dilation) \[ A\oplus B=\{t∈R^2:t=a+b,a\in A,b\in B\} \]


Звуження (Erosion) \[ A\ominus B=(A^c\oplus B^c)^c, \] де \(А^с\) доповнення А.


Приклад застосування математичної морфології
A B
\(А\oplus В\)
Розширення (dilation)
\(А\ominus В\)
Звуження (erosion)
\((А\oplus В)\ominus В\)
Відкриття (open)
\((А\ominus В) \oplus В\)
Закриття (close)
Наведемо приклад застосування операцій математичної морфології до зображенния
Костел святого Миколая (м.Кам'янське) кінець ХІХ ст.
після бінарізації по Оцу.
A B
\(А\oplus В\)
Розширення (dilation)
\(А\ominus В\)
Звуження (erosion)
\((А\oplus В)\ominus В\)
Відкриття (open)
\((А\ominus В) \oplus В\)
Закриття (close)

Використання морфологічної обробки для знаходження контуру.

Формування внутрішнього контуру \( C^-=A-(A\ominus B) \)


Формування зовнішнього контуру \[ C^+=(A\oplus B)-A \]


Для зображень у градаціях сірого морфологічні операції виглядають наступним чином \[ A(x,y)\oplus B(u,v)=\max_{(u,v)}\{A(x-u,y-v)+B(u,v)\} \] та \[ A(x,y)\ominus B(u,v)=\min_{(u,v)}\{A(x+u,y+v)-B(u,v)\}. \]
\(А\oplus В\)
Розширення (dilation)
\(А\ominus В\)
Звуження (erosion)
\((А\oplus В)\ominus В\)
Відкриття (open)
\((А\ominus В) \oplus В\)
Закриття (close)
Розширення та закриття збільшують яскравість і зменшують темні риси на зображенні, а ерозія та відкриття збільшують темність і зменшують яскраві риси, при чому, відкриття та закриття не призводять загальної зміни яскравості, тоді як розширення та ерозія змінюють яскравість зображення.

Мета морфологічної обробки:

Сегментація зображень.

Сегментація поділяє зображення на окремі регіони, що містять пікселі із подібними значеннями. Для того, щоб бути корисними для аналізу та інтерпретації зображень, регіони повинні сильно пов'язуватись із зображеними об'єктами або цікавими (для користувача) ознаками. Технології сегментації можуть бути або контекстними, або неконтекстними. Останні не враховують просторових зв'язків між функціями зображення та групування пікселів разом на основі деякого глобального атрибуту, наприклад, одного рівня або кольору. Контекстні методи додатково використовують ці зв'язки, наприклад, об'єднують пікселі з подібними рівнями та близьким просторовим розташуваннями.

k-means

Даний метод сегментації є неконтекстним і зображення сегментується по близкості кольорів RGB. Мірою близкості є евклідова міра.

В основі даного підходу лежить метод кластеризації k-середніми (k-means) (див., наприклад, тут).

Ідея методу k-середніх полягає в наступному - спочатку вибирається k довільних початкових центрів з множини \(\mathfrak{T}\). Далі всі об'єкти розбиваються на k груп, найбільш близьких до відповідного центру. На наступному кроці обчислюються центри знайдених кластерів. Процедура повторюється ітераційно до тих пір, поки центри кластерів не стабілізуються.

Алгоритм розбиття об'єктів \(x_i (i=0,1,…,n)\) заснований на мінімізації межкластерної відстані, у разі, якщо в якості відстані використовується середньоквадратична норма \(\ell_2\), тобто цільовою функцією є \[ J=\sum_{j=1}^k\sum\left\{\left.\|x_i-\mu_j\|^2\right|x_i\in C_j\right\}, \] де \(x_i\)-i -й об'єкт, а \(C_j\) являє собою j -й кластер із центром \(\mu_j\).

Структура алгоритму полягає в наступному:

  1. Для ініціалізації алгоритму вибираємо k центрів кластерів.
  2. Кожному з n об'єктів ставимо у відповідність кластер, виходячи з мінімізації \(\ell_2\) норми між об'єктом і центром відповідного кластера.
  3. Перераховуємо центри знову отриманих кластерів.
    Для вирішення цього завдання серед усіх елементів кластера \(x\in C_j\) знайдемо елемент \(\mu_j\), який мінімізує ухилення \(\sum\left\{\left.\|x_i-\mu_j\|^2\right|x_i\in C_j\right\}\), для чого знайдемо розв'язок задачі \[ \frac{\partial}{\partial\mu_j}\sum_{x_i\in C_j}\|x_i-\mu_j\|^2=-2\sum_{x_i\in C_j}(x_i-\mu_j)=0, \] тобто \[ \mu_j=\frac{1}{n_j}\sum_{x_i\in C_j}x_i. \]
  4. Для кожного \(i\) , такого, що \(x_i\in C_j\) обчислимо \[ h=\rm{argmin}\left\{\frac{n_j \|x_i-\mu_j\|}{n_j-1}\right\}, \] де \(n_j\) число об'єктів кластера \(C_j\).

  5. Якщо виконується умова \[ \frac{n_h\|x_i-\mu_h\|}{n_h-1}\lt \frac{n_j\|x_i-\mu_j\|}{n_j-1}, \] то слід перемістити об'єкт \(x_i\) з кластеру \(C_j\) у кластер \(C_h\), після чого перерахувати значення центрів кластерів.

  6. Якщо \(i\lt n\), то переходимо до кроку 4, інакше до кроку 3.
Критерієм зупинки алгоритму може служити або досягнення заданого числа ітерацій алгоритму, або досягнення функцією цілі заданого значення порогу.

У нашому випадку для двох пікселів \(X(X_{red},X_{green}, X_{blue} )\) та \(Y(Y_{red},Y_{green}, Y_{blue} )\) відстань між ними дорівнює \[ \|X-Y\|^2=(X_{red}-Y_{red})^2+(X_{green}-Y_{green})^2+(X_{blue}-Y_{blue})^2 \] і колір пікселів всього кластеру \(C_j\) співпадає з кольором центру кластера \(\mu_j\).

Для тестового зображення Lena у випадку k=8 маємо


EM-алгоритм.

В основі даного неконтекстного методу сегментації лежить аналіз суміші розподілів \[ p(x)=\sum_{i=1}^k\omega_ip_i(x). \] у припущенні, що відомий тільки загальний вигляд розподілу ймовірності і потрібно оцінити його параметри.

Для вирішення цієї задачі використовується ЕМ-алгоритм (див., наприклад, тут). ЕМ-алгоритм для відомого фіксованого числа компонентів суміші можна записати в наступному вигляді.

Нехай \(X=\{x_1,…,x_n \}\) вибірка спостережень, k число компонентів суміші, \(\Theta=\{(w_i,\theta_i )\}_{i=1}^k\)- початкове наближення параметрів суміші, і ε число, що визначає зупинку алгоритму.

ЕМ-алгоритм складається з послідовного застосування двох кроків.

Е-крок (expectation) \[ g_{i,j}^0=g_{i,j}, \] \[ g_{i,j}=\frac{\omega_ip_i(x_j)}{\sum_{\nu=1}^k\omega_\nu p_\nu(x_j)},i=1,…,k,j=1,…,n. \] \[ \delta=\max\{|g_{i,j}^0-g_{i,j} |\}. \] M-крок (maximization) \[\sum_{j=1}^ng_{i,j}\rm{ln } p_i(x_j)\to \max_\Theta,i=1,…,k, \] \[ w_i=\frac{1}{n}\sum_{j=1}^ng_{i,j} ,i=1,…,k. \] Якщо δ>ε, то переходимо до Е-кроку, якщо δ≤ ε, то повертаємо знайдені параметри суміші, \(\Theta=\{(w_i,\theta_i )\}_{i=1}^k\).

У разі суміші нормальних розподілів \(N(\mu_i,\sigma_i^2)\) Е-крок буде виглядати наступним чином \[ g_{i,j}=\frac{\omega_ip_i(x_j)}{\sum_{\nu=1}^k\omega_\nu p_\nu(x_j)},i=1,…,k,j=1,…,n. \] де \[ p(x|\mu_i,\sigma_i)=\frac{1}{\sigma_i\sqrt{2\pi}}\exp\left(-\frac{(x-\mu_i)^2}{2\sigma_i^2}\right). \] Для М-кроку задача \[ \sum_{j=1}^ng_{i,j}\ln p_i(x_j)\to \max_{\Theta}, i=1,...,k, \] запишеться у наступному вигляді \[ \sum_{j=1}^ng_{i,j}\ln \left(\frac{1}{\sigma_i\sqrt{2\pi}}\exp\left(-\frac{(x-\mu_i)^2}{2\sigma_i^2}\right)\right)\to \max_{\Theta}, i=1,...,k, \] або,що теж саме \[ G\left(\left\{\mu_i,\sigma_i\right\}_{i=1}^k\right)=\sum_{j=1}^ng_{i,j} \left(-\ln\left(\sigma_i\sqrt{2\pi}\right)-\frac{(x-\mu_i)^2}{2\sigma_i^2}\right)\to \max_{\Theta}, i=1,...,k. \] Знайдемо похідні та прирівняємо їх до нуля \[ \frac{\partial}{\partial \mu_i}G\left(\left\{\mu_i,\sigma_i\right\}_{i=1}^k\right)=-\sum_{j=1}^ng_{i,j}\frac{x-\mu_i}{\sigma_i^2}=0, \] звідси \[ \mu_i=\frac{\sum_{j=1}^ng_{i,j}x_j}{\sum_{j=1}^ng_{i,j}}. \] Аналогічно, \[ \frac{\partial}{\partial \sigma_i}G\left(\left\{\mu_i,\sigma_i\right\}_{i=1}^k\right)= -\sum_{j=1}^ng_{i,j} \left(\frac{1}{\sigma_i}-\frac{(x-\mu_i)^2}{\sigma_i^3}\right)= -\sum_{j=1}^ng_{i,j} \left(\frac{\sigma_i^2-(x-\mu_i)^2}{\sigma_i^3}\right)=0, \] таким чином, \[ \sigma_i^2=\frac{\sum_{j=1}^ng_{i,j}(x-\mu_i)^2}{\sum_{j=1}^ng_{i,j}}, \] що дозволяє отримати параметри у явному вигляді.

Застосування ЕМ-алгоритму до сегментації зображень.

Для цієї мети побудуємо гістограму кольору для кожної компоненти - червоного, зеленого і синього. По осі x змінюється інтенсивність кольору від 0 до 255, а по осі y- кількість пікселів з даної інтенсивністю.

Вважаючи, що кожна гістограма являє собою суміш функцій Гаусса \[ \sum_{i=1}^n\frac{\omega_i}{\sigma_i\sqrt{2\pi}}\exp\left(-\frac{(x-\mu_i)^2}{2\sigma_i^2}\right) \] застосуємо ЕМ-алгоритм із заданою кількістю елементів суміші n (це ж кількість сегментів, на яке ми розбиваємо кожну колірну площину зображення). І як результат, нехай множина значень інтенсивності \(X_j=(x_j,x_{j+v_j }\) ) така, що \[ \forall x\in X_j: \frac{\omega_j}{\sigma_j\sqrt{2\pi}}\exp\left(-\frac{(x-\mu_j)^2}{2\sigma_j^2}\right)\ge \frac{\omega_i}{\sigma_i\sqrt{2\pi}}\exp\left(-\frac{(x-\mu_i)^2}{2\sigma_i^2}\right) (i\ne j). \] Тоді всім точкам, інтенсивність яких лежить в проміжку \(X_j\). Поставимо у відповідність значення \(\mu_j\) (при практичній реалізації - її цілу частину). Результатом роботи алгоритму буде сегментація зображення на n сегментів по кожній колірної компоненті.

Для зображення Lena при \(k=3\) маємо


Опис гістограми Red лінійною комбінацією функцій Гауса.


Опис гістограми Green лінійною комбінацією функцій Гауса.


Опис гістограми Blue лінійною комбінацією функцій Гауса.


EM-алгоритм для випадку двох змінних.

Даний метод можна узагальнити на випадок двох змінних і зробити контентним, тобто розглянути залежність пікселів не лише за кольором, а й за їх положенням – за коордінатами (x,y).

Як видно з розглянутого ЕМ-алгоритму, у разі використання даних двох змінних (i,j,r_(i,j) ), (i,j,g_(i,j) ), (i,j,b_(i,j) ) кожну з множин можна описати лінійною комбінацією двовимірних функцій Гауса \[ \frac{1}{2\pi|\Sigma_i^{-1}|^{1/2}}\exp\left(-\frac{1}{2}(x-\mu_i)^T\Sigma_i^{-1}(x-\mu_i)\right) \] за допомогою ЕМ-алгоритму аналогічно тому, як було зроблено у одновимірному випадку.

Зазначимо, що для двовимірного випадку нормальний розподіл визначається наступним чином \[ p\left(x|\mu_i,\Sigma_i\right)=\frac{1}{2\pi|\Sigma_i^{-1}|^{1/2}}\exp\left(-\frac{1}{2}(x-\mu_i)^T\Sigma_i^{-1}(x-\mu_i)\right) \] де \(\Sigma_i\)-кореляційна матриця і параметри дорівнюють \[ \mu_i=\frac{\sum_{j=1}^ng_{i,j}x_j}{\sum_{j=1}^ng_{i,j}} \] та \[ \Sigma_i=\frac{\sum_{j=1}^ng_{i,j}(x_j-\mu_i)(x_j-\mu_i)^T}{\sum_{j=1}^ng_{i,j}}. \]

Порогова і мультіпорогова сегментація.

Порогова сегментація зображення за рівнями яскравості - найпростіший вид сегментації зображення. Цей метод заснований на тому, що багато об'єктів або області зображення характеризуються постійної відбивною здатністю або поглинанням світла на їх поверхні. Відмінною рисою порогової сегментації є обчислювальна ефективність і можливість використання в системах реального масштабу часу.

Порогова сегментація виконується наступним чином: \[ Bin_{i,j}= \left\{ \begin{array}{ll} 1, & \hbox{якщо }I_{i,j}\ge T,\\ 0, & \hbox{якщо }I_{i,j}\lt T, \end{array} \right. \] де \(Bin_{i,j}\) - елемент результуючого бінарного зображення, \(I_{i,j}\)- елемент вихідного зображення.

Успіх порогової сегментації залежить від способу вибору порогу \(T\). У разі використання методу Оцу, зображення розбивається на передній і на задній план, тобто, проводиться бінарізація зображення.

Мультіпороговая сегментація.

Використовується в тому випадку, якщо вихідне зображення характеризується не бімодальною, а мультимодальною гістограмою. В цьому випадку результуюче зображення розбивається на кілька рівнів: \[ G_{i,j}= \left\{ \begin{array}{ll} 1, & \hbox{якщо }I_{i,j}\in D_1,\\ 2, & \hbox{якщо }I_{i,j}\in D_2,\\ ...\\ n, & \hbox{якщо }I_{i,j}\in D_n,\\ 0, & \hbox{інакше }. \end{array} \right. \] Розглянемо задачу вибора порогів у разі мультіпорогової сегментації. По суті, вирішення цієї задачі зводиться до побудови гістограми з заданим числом вузлів n<255, яка найкращим чином апроксимує гістограму зображення. Розподіл вузлів цієї гістограми з малим числом вузлів і є розподілом порогів.

Про побудову асимптотически оптимальних гістограм.

Термін гістограма ввів Карл Пирсон ще в 1895 році. Гістограми дозволяють побачити, як розподілені значення змінних по інтервалах угруповання, наскільки сильно вони різняться між собою, як сконцентрована більшість спостережень навколо середнього, є розподіл симетричним чи ні, чи має воно одну моду та інше.

Нехай \(X_1,X_2,...,X_N\)-вибірка заданого розподілу, розбиття \(\Delta_n=\{-\infty\lt x_0\lt x_1\lt ...\lt x_n\lt \infty\}\) із кроком \(h_{i-1/2}=x_i-x_{i-1}\) і \(m_i=\sum_{i=1}^N\left\{1\left|X_k\in (x_{i-1},x_{i}]\right.\right\},i=1,...,n\) число елементів вибірки з i-го інтервалу. Тоді кусково-постійна функція \(H:R\to R\) \[ H(x)=H(\Delta_n,x)=m_i,x\in (x_{i-1},x_i],i=1,2,...,n \] називається гістограмою вибірки \(X_1,X_2,...,X_N\), якщо ж кусочно-постійна функція \(\hat{H}:R\to R\) така, що \[ \hat{H}(x)=\hat{H}(\Delta_n,x)=\frac{m_i}{Nh_{i-1/2}},x\in (x_{i-1},x_i],i=1,2,...,n, \] то вона називається нормалізованою гістограмою. Помітимо, що нормалізована гістограма є функцією щільності ймовірності, тому що \[ \hat{H}(t)\ge 0 \hbox{ при } t\in R \hbox{ і, крім того, }\int_{-\infty}^\infty \hat{H}(t)dt=1. \] Для абсолютно неперервних розподілів випадкових величин із щільністю ймовірності \(f(x)\) для нормалізованих гістограм при \(N\to\infty\) \[ \forall x\in (x_{i-1},x_i], \hat{H}(x)=\frac{m_i}{Nh_{i-1/2}}\to P\left(X\in (x_{i-1},x_i]\right)\equiv \int_{x_{i-1}}^{x_i}f(x)dx,i=1,2,...,n. \] Таким чином, для неперервної випадкової величини, гістограма на кожній ділянці свого постійного значення повинна зберігати середнє значення. Традиційно розглядаються гістограми з рівновіддаленими вузлами, але вибір вузлів гістограмы істотно впливає на якість опису випадкового процесу. Розглянемо задачу побудови гістограми з асимптотично оптимальними вузлами.

Позначимо через \(\Delta_n=\{x_i\}_{i=0}^n\) - довільне розбиття \(\Delta_n=\{0= x_0\lt x_1\lt ...\lt x_n=T\}\) , і покладемо \(h_{i+1/2}=x_{i+1}-x_i\), \(h=\max_ih_{i+1/2}\) і \(x_{i+\frac{1}{2}}=\frac{x_{i}+x_{i+1}}{2}\). Через \(S\left(\left\{a_{i+\frac{1}{2}}\right\}_{i=1}^{n-1},\Delta_n,x\right)\) позначимо кусково-постійну функцію зі значеннями \(a_{i+\frac{1}{2}}\) для \(x\in [x_i,x_{i+1})\).

Для функції \(y(x)\) , неперервної на [0,T], розглянемо задачу \[ \varepsilon=\min_{x_i}\min_{a_{i+\frac{1}{2}}}\sum_{i=0}^{n-1}\int_{x_i}^{x_{i+1}}\left(a_{i+\frac{1}{2}}-y(x)\right)^2dx. \] Теорема 1. Нехай \(y(x)\)- неперервно диференційована функція \(y\in C^2_{[0,T]}\) така, що \(y'(x)\) на проміжку \([0,T]\) має не більше скінченного числа нулів, тоді \[ \varepsilon=\frac{1}{12n^2}\left(\int_0^T\left(y'(x)\right)^{\frac{2}{3}}dx\right)^3+O\left(\frac{1}{n^3}\right) \] і при цьому мінімум досягається для розбиття \(\Delta^*_n=\{x^*_i\}_{i=0}^n\) такого, що \[ \int_{x^*_i}^{x^*_{i+1}}\left(y'(x)\right)^{\frac{2}{3}}dx=\frac{1}{n}\int_0^T\left(y'(x)\right)^{\frac{2}{3}}dx \hbox{ і } a_{i+\frac{1}{2}}^*=\frac{1}{h^*_{i+\frac{1}{2}}}\int_{x^*_i}^{x^*_{i+1}}y(x)dx. \] Доведемо це твердження. На початку розглянемо наступну задачу \[ \Phi\left(a_{i+\frac{1}{2}}\right)=\int_{x_i}^{x_{i+1}}\left(a_{i+\frac{1}{2}}-y(x)\right)^2dx\to\min_{a_{i+\frac{1}{2}}}. \] Тоді зважаючи на опуклість задачі, необхідна умова мінімума є і достатньою, тобто, розв’язок цієї задачі знаходиться з рівняння \[ \frac{d}{da_{i+\frac{1}{2}}}\Phi\left(a_{i+\frac{1}{2}}\right)=2\int_{x_i}^{x_{i+1}}\left(a_{i+\frac{1}{2}}-y(x)\right)dx=0, \] і тоді, \[ a_{i+\frac{1}{2}}=\frac{1}{h_{i+\frac{1}{2}}}\int_{x_i}^{x_{i+1}}y(x)dx. \] Таким чином, первісну задачу можна переписати у вигляді \[ \varepsilon=\min_{x_i}\sum_{i=0}^{n-1}\int_{x_i}^{x_{i+1}}\left(y(x)-\frac{1}{h_{i+\frac{1}{2}}}\int_{x_i}^{x_{i+1}}y(x)dx\right)^2dx. \] Використовуючи формулу Тейлора \[ y(x)=y_{i+\frac{1}{2}}+y'_{i+\frac{1}{2}}\left(x-x_{i+\frac{1}{2}}\right)+O(h^2), \] де \(h=\max_ih_{i+\frac{1}{2}}\), отримуємо \[ \varepsilon=\min_{x_i}\sum_{i=0}^{n-1}\int_{x_i}^{x_{i+1}}\left(y_{i+\frac{1}{2}}+y'_{i+\frac{1}{2}}\left(x-x_{i+\frac{1}{2}}\right)+O(h^2) -\frac{1}{h_{i+\frac{1}{2}}}\int_{x_i}^{x_{i+1}}\left(y_{i+\frac{1}{2}}+y'_{i+\frac{1}{2}}\left(x-x_{i+\frac{1}{2}}\right)+O(h^2)\right)dx\right)^2dx= \] \[ =\min_{x_i}\sum_{i=0}^{n-1}\int_{x_i}^{x_{i+1}}\left(y_{i+\frac{1}{2}}+y'_{i+\frac{1}{2}}\left(x-x_{i+\frac{1}{2}}\right)- y_{i+\frac{1}{2}}+O(h^2)\right)^2dx= \min_{x_i}\frac{1}{12}\sum_{i=0}^{n-1}\left(\left(y'_{i+\frac{1}{2}}\right)^2h^3_{i+\frac{1}{2}}+O(h^4)\right). \] Із теореми про середнє для інтегралів маємо, що знайдеться точка \(\xi_{i+\frac{1}{2}}\in [x_i,x_{i+1}]\) така, що \[ \left(y'\left(\xi_{i+\frac{1}{2}}\right)\right)^2h^3_{i+\frac{1}{2}}= \left(\left(y'\left(\xi_{i+\frac{1}{2}}\right)\right)^{\frac{2}{3}}h_{i+\frac{1}{2}}\right)^3= \left(\int_{x_i}^{x_{i+1}}\left(y'(x)\right)^{\frac{2}{3}}dx\right)^3, \] Звідси і із попереднього одразу маємо \[ \varepsilon=\min_{x_i}\frac{1}{12}\sum_{i=0}^{n-1}\left(\left(y'_{i+\frac{1}{2}}\right)^2h^3_{i+\frac{1}{2}} +\left(y'\left(\xi_{i+\frac{1}{2}}\right)\right)^2h^3_{i+\frac{1}{2}}- \left(y'\left(\xi_{i+\frac{1}{2}}\right)\right)^2h^3_{i+\frac{1}{2}} +O(h^4)\right)=\min_{x_i}\frac{1}{12}\sum_{i=0}^{n-1}\left(\left( \int_{x_i}^{x_{i+1}}\left(y'(x)\right)^{\frac{2}{3}}dx\right)^3+O(h^4)\right). \] Лема. Нехай \(\alpha\gt 0\) і \(C\gt 0\), тоді \[ \min\left\{\sum_{i=0}^{n-1}C^\alpha_i|C_i\ge 0,\sum_{i=0}^{n-1}C_i=C\right\}=n\left(\frac{C}{n}\right)^\alpha, \] і при цьому мінімум досягається тоді, коли всі \(C_i\) рівні між собою, тобто, \[ C^*_i=\frac{C}{n},i=0,...,n-1. \] Для доведення цього твердження використаємо метод невизначених множників Лагранжу.

Випишемо функцію мети \[ \mathfrak{L}=\lambda_0\sum_{i=0}^{n-1}C_i^\alpha+\lambda_1\left(\sum_{i=0}^{n-1}C_i-C\right), \] тоді \[ \frac{\partial\mathfrak{L}}{\partial C_i}=\lambda_0\alpha C_i^{\alpha-1}+\lambda_1=0, \] і \(\lambda_0\alpha(C_i^{\alpha-1}+\lambda_2)=0,\) де \(\lambda_2=\frac{\lambda_1}{\lambda_0\alpha}\).

Таким чином, маємо \(C_i=-\lambda_2^{\frac{1}{\alpha-1}}\) і \[ \sum_{i=0}^{n-1}C_i=-\sum_{i=0}^{n-1}\lambda_2^{\frac{1}{\alpha-1}}=-n\lambda_2^{\frac{1}{\alpha-1}}=C. \] Звідси \(\lambda_2^{\frac{1}{\alpha-1}}=-\frac{C}{n}\), або, шо те ж саме, \(C_i=\frac{C}{n}, i=0,...,n-1.\).

Лема доведена.

Таким чином, повертаючись до доведення теореми із доведеної леми маємо \[ \varepsilon=\min_{x_i}\frac{1}{12}\sum_{i=0}^{n-1}\left(\left( \int_{x_i}^{x_{i+1}}\left(y'(x)\right)^{\frac{2}{3}}dx\right)^3+O(h^4)\right)= \frac{1}{12}\sum_{i=0}^{n-1}\left(\left( \int_{x^*_i}^{x^*_{i+1}}\left(y'(x)\right)^{\frac{2}{3}}dx\right)^3+O(h^4)\right)= \frac{1}{12}\left(\int_0^T\left(y'(x)\right)^{\frac{2}{3}}dx\right)^3+O\left(\frac{1}{n^3}\right) \] і при цьому мінімум досягається для разбиття \(\Delta^*_n=\{x^*_i\}_{i=0}^n\) такого, що \[ \int_{x^*_i}^{x^*_{i+1}}\left(y'(x)\right)^{\frac{2}{3}}dx=\frac{1}{n}\int_0^T\left(y'(x)\right)^{\frac{2}{3}}dx. \] Крім того, зазначимо, що для заданої похибки \(\varepsilon\) можна знайти кількість вузлів n кусково-постійної функції \(S\left(\left\{a_{i+\frac{1}{2}}\right\}_{i=1}^{n-1},\Delta_n,x\right)\) з асимптотично оптимальними вузлами, які вибираються із умови вище \[ n=\left[\sqrt{\frac{1}{12\varepsilon}\left(\int_0^T\left(y'(x)\right)^{\frac{2}{3}}dx\right)^3}\right]+1, \] де \([\cdot]\) - ціла частина числа.

Ідея отриманого результату складається в тому, що вузли розподіляються таким чином, щоб похибки наближення на кожному відрізку функції \(x(t)\) кусково-постійною функцією \(S\left(\left\{a_{i+\frac{1}{2}}\right\}_{i=1}^{n-1},\Delta_n,x\right)\) будуть рівні між собою.

Розподіл вузлів \(S\left(\left\{a_{i+\frac{1}{2}}\right\}_{i=1}^{n-1},\Delta_n,x\right)\) у разі наближення гістограми зображення може служити множиною порогів для сегментації даного зображення.

Алгоритм вибору асимптотично оптимальних порогів сегментації.

Спираючись на отримані результати, формалізуємо алгоритм вибору порогів сегментації. Нехай \(\{\hbar_i \}_{i=0}^255\) –гістограма інтерсивності освітлення (компоненти Y). Знайдемо \[ d_i=|\hbar_{i+1}-\hbar_i |^{2/3},i=0,…,254. \] Далі \[ φ(0)=0,φ(k)=\sum_{i=0}^kd_i, k=1,…,254. \] У разі відомого числа сегментів n пороги \(T_j, j=0,1,…,n\) знаходяться наступним чином \[ T_0=0,\frac{(j-1)\varphi(254)}{n}\le\varphi\le\frac{j\varphi(254)}{n},j=1,…,n. \] Таким чином, можна розбити зображення на сегменти по обчисленим порогам.

Ясно, что кожен сегмент буде складатися з декількох не зв'язаних з собою областей. Наступним кроком буде злиття областей, тобто, якщо кількість точок, з яких складається область, менше заданого числа К, то дану область будемо об'єднувати з тією сусідньою областю, рівень сегментації якої найбільш схожий з рівнем поточної області.

Для визначення точок, які належать області, в тому числі, а також знайти кількість точок області, треба використати той чи інший алгоритм заповнення однозв'язаної області. Розглянемо один з них.

Простий алгоритм заповнення із затравкою.

Використовуючи стек, можна розробити простий алгоритм заповнення зв'язної області. Стек - це просто масив або інша структура даних, в яку можна послідовно поміщати значення і з якої їх можна послідовно вибирати. Коли нові значення додаються або поміщаються в стек, всі інші значення опускаються вниз на один рівень. Коли значення видаляються або витягуються зі стека, інші значення спливають або піднімаються вгору на один рівень. Такий стек називается стеком прямої дії або стеком з дисципліною обслуговування "першим прийшов, останнім вийшов" (LIFO). Простий алгоритм заповнення із затравкою можна представити в наступному вигляді:
Простий алгоритм заповнення
	Затравка(х, у) видає затравочний піксел.
	Push - процедура, яка вкладає піксел в стек.
	Pop - процедура, яка виймає піксел зі стека.
Піксел(х, у) = Затравка(х, у)
Push Піксел(х, у)  ; ініціалізація стеку
While (стек не пустий)
	Pop Пиксел(х, у)  ; виймаємо піксел зі стека
	If Пиксел(х, у) <> Нов_значенняthen
		Пиксел(х, у) = Нов_значення
	End if
	Перевірка, чи треба вкладати сусідні пікселі у стек
	If (Піксел(х + 1, у) <> Нов_значення and
		Піксел(х + 1, у) <> Гран-значення)then
			Push Піксел (х + 1, у)
	If (Піксел(х, у + 1) <> Нов_значення and
		Піксел(х, у + 1) <> Гран_значення)then
			Push Пиксел (х, у + 1) 
	If (Піксел(х - 1, у) <> Нов_значення and
		Піксел(х - 1, у) <> Гран_значення)then
			Push Піксел (х - 1, у)
	If (Піксел(х, у - 1) <> Нов_значення and
		Піксел(х, у - 1) <> Гран_значення)then
			PushПіксел (х, у - 1) 
	End If 
EndWhile


В алгоритмі перевіряються і поміщаються у стек 4-зв'язні пікселі, починаючи з правого від поточного пікселя. Напрямок обходу пікселів- проти годинникової стрілки.


Для тестового зображення Lena розбиття на k=5 сегментів маємо


Алгоритм водорозділу.

Сегментація водотоків - алгоритм, натхненний природою, що імітує затоплення водою топографічного рельєфу.


У сегментації водорозділу зображення вважається топографічним рельєфом, де градієнтна величина трактується як інформація про висоту.


Алгоритм включає в себе декілька кроків, а саме: бінарізація по Оцу, морфологічне відкриття, трансформація відстані і, нарешті, алгоритм вододілу, після чого злиття малих областей з сусідами. Проілюструємо крок за кроком алгоритм водорозділу на зображення Lena.

Крок перший – бінарізація.


Крок другий – морфологічне відкриття.


Крок третій -дистанційна трансформація.

Даний процес є представлення собою співставлення переднього плану бінарного зображення з відстанню від найближчої перешкоди або фонового пікселя. Цей процес дозволяє прибрати невеличкі або витягнуті області, зберігаючи регіональні центри.


Ну і, нарешті, використовуючи градієнт зображення в якості топографічної мапи, інтенсивність освітлення асоціюється з висотою, а світлі області попереднього зображення використовуємо в якости шлюзів, з яких проводиться заповнення, проведемо сегментацію методом заводнення.


Після злиття областей, отримуємо сегментоване зображення.


Суперпіксельна сегментація.

Суперпіксельна сегментація реалізує розбиття зображення на множину дрібних фрагментів (суперпікселей), що представляють собою відносно однорідні групи розташованих поруч пікселів. Кожен суперпіксель потенційно є атомарним регіоном (фрагментом) зображення, тобто, всі вхідні в нього пікселі розглядаються при подальшій обробці як єдине ціле. При цьому суперпікселі не обов'язково повинні мати правильну форму і, природно, завжди є певне число помилок, що допускаються при прагненні розбити зображення на однорідні фрагменти. Основна вимога до суперпіксельної сегментації полягає в наступному: пікселі всередині кожного суперпікселя повинні бути максимально схожі, а пікселі, що знаходяться в різних суперпікселях, повинні до певної міри відрізнятися. Дане завдання може вирішуватися принципово різними способами. Розглянемо один із найкращих методів суперпіксельної сегментації- SLOC (Simple Linear Iterative Clustering).

Проста лінійна ітераційна кластеризація (SLIC) є адаптацією k-середніх для генерації суперпікселів з двома важливими відмінностями:

  1. Оптимізація кількісті розрахунків відстані значно скорочується шляхом обмеження простору пошуку на область, пропорційну розміру суперпікселя. Це робить складність лінійною за кількістю пікселів N і незалежним від числа суперпікселів k.
  2. Міра зваженої відстані поєднує в собі колірну і просторову близькість, одночасно забезпечуючи контроль за розміром і компактністю суперпікселів.

Алгоритм.

SLIC простий у використанні та розумінні. За замовчуванням єдиним параметром алгоритму є параметр k - бажана кількість суперпікселів приблизно рівного розміру. Для кольорових зображень у колірному просторі CIELAB процедура кластеризації починається з етапу ініціалізації, де k стартових центрів кластерів \(C_i = [l_i a_i b_i x_i y_i]^T\) вибираються на регулярній сітці, з кроком на S пікселів. Для отримання приблизно однакових розмірів суперпікселів, інтервал сітки вибираємо \(S=\sqrt{\frac{N}{k}}\). На кожній ітерації центри переміщуються на місце, що відповідає найменшій позиції градієнта в околі 3 × 3 пікселя \[ G(x,y)=\|I(x+1,y)-I(x-1,y)\|^2+\|I(x,y+1)-I(x,y-1)\|^2, \] де \(I(x,y)\) lab вектор, що відповідає пікселю з позицією (x,y) та \(\|\cdot\|\) норма \(L_2\).

Це робиться для того, щоб уникнути центрування суперпікселя по краю, і щоб зменшити ймовірність співпадання суперпікселів з зашумленим пікселем. Оскільки очікувана просторова протяжність суперпікселя є областю приблизно розміру S × S, пошук подібних пікселів здійснюється в області 2S × 2S навколо центру суперпікселів.

Як тільки кожен піксель асоціюється з найближчим центром кластера, крок оновлення регулює центри кластера як середнього вектору \([l a b x y]^Т\) всіх пікселів, що належать кластеру.

Норма \(L_2\) використовується для обчислення залишкової помилки E між новими місцями центру кластера і попередніми центрами кластера. Кроки призначення та оновлення можна повторювати ітераційно, поки помилка не збігається, але для більшості зображень достатньо 10 ітерацій.


Алгоритм SLIC суперпіксельної сегментації
/  Ініціалізація /
		Ініціалізація центрів кластерів Ck = [lk ak bk xk yk]T - вибірка пікселів на регулярній  сітці з кроком S.
		Перемістити центри кластера в найнижчу позицію градієнта в околі 3 × 3.
		Встановити мітку l (i) = −1 для кожного пікселя i.
		Встановити відстань d (i) = ∞ для кожного пікселя i.
repeat
/  Призначення /
for кожного кластерного центру Ck do
	for кожного пікселя i в області 2S × 2S навколо Ck do
		Обчислити відстань D між Ck та i.
			if D < d (i) then
				множина d (i) = D
				множина l (i) = k
			end if
	end for
end for
/  Оновлення /
Обчислити нові центри кластерів.
Обчислення залишкової помилки E.
until  E ≤ порогу

Міра відстані.

Суперпікселі SLIC відповідають кластерам в просторі площини кольору labxy. Це створює проблему при визначенні міри D, яка може бути не очевидною. D - відстань між пікселем i та центром кластера \(C_k\) в алгоритмі. Колір пікселя представлений у колірному просторі CIELAB [l a b]T. Положення позиції пікселя [x y]T, з іншого боку, може приймати діапазон значень, що змінюється залежно від розміру зображення.

Просто визначення D як п'ятивимірної евклідової відстані у просторі labxy призведе до невідповідності у кластеризації. Для великих суперпікселів просторові відстані перевершують колірну близькість, надаючи більш відносне значення просторовій близькості, ніж колір. Це продукує компактні суперпікселі, які не добре дотримуються меж зображення. Для дрібних суперпікселів є вірним зворотне.

Щоб об'єднати дві відстані в єдину міру, необхідно нормалізувати близькість кольору і просторову близькість за їх відповідними максимальними відстанями в межах кластера.

Нехай \[ d_c=\sqrt{(l_j-l_i)^2+(a_j-a_i )^2+(b_j-b_i )^2 }, \] \[ d_s=\sqrt{(x_j-x_i )^2+(y_j-y_i )^2 }, \] \[ D'=\sqrt{\left(\frac{d_c}{N_c} \right)^2+\left(\frac{d_s}{N_s} \right)^2 }. \] Максимальна просторова відстань, що очікується в межах даного кластера повинна відповідати інтервалу вибірки, \(N_s=S=\sqrt{\frac{N}{K}}\). Визначення максимальної відстані кольору \(N_c\) не так просте, оскільки кольорові відстані можуть істотно відрізнятися від кластера до кластера і від зображення до зображення. Цієї проблеми можна уникнути, замінивши \(N_c\) на константу m, тоді \[ D'=\sqrt{\left(\frac{d_c}{m} \right)^2+\left(\frac{d_s}{S} \right)^2 }. \] що спрощує вимірювання відстані. На практиці використовується значення відстані \[ D=\sqrt{\left(d_c \right)^2+m^2\left(\frac{d_s}{S} \right)^2 }. \] Визначаючи D таким чином, m також дозволяє зважувати відносну важливість між колірною подібністю і просторовою близькістю. Коли m є великим, просторова близькість є більш важливою і результуючі суперпікселі є більш компактними (тобто вони мають більш низьке співвідношення області до периметра). Коли m є малим, отримані суперпікселі щільніше прилипають до меж зображення, але мають менший розмір і форму. При використанні колірного простору CIELAB параметр m змінюється у діапазоні \(m\in [1; 40]\), але, як правило, вибирається значення m=20.

В деяких випадках в якості характеристики відстані використовується значенния \[ D=d_c+\frac{d_s}{S} m,m\in [1,20]. \] Рівняння може бути пристосовано для зображень у градаціях сірого шляхом налаштування \[ d_c=\sqrt{(l_j-l_i )^2 }. \] Наведемо приклади суперпіксельної сегментації для різних параметрів.
Кількість сегментів 200, m=10.Кількість сегментів 200, m=40.
Кількість сегментів 200, m=20.Кількість сегментів 20, m=20.

Текстурна сегментація за фрактальними характеристиками.

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

Фрактали і фрактальна розмірність.

Термін фрактал був запропонований Бенуа Мандельбротом (B. Mandelbrot) у 1975 році для позначення нерегулярних самоподібних математичних структур. Основне визначення фрактала, дане Мандельбротом, звучало так: "Фракталом називається структура, що складається із частин, які в якомусь сенсі подібні до цілого". Варто визнати, що це визначення, через свою нестрогість, не завжди вірно. Можна привести багато прикладів самоподібних об'єктів, що не є фракталами, наприклад, залізничні колії що сходяться до обрію.

У найпростішому випадку невелика частина фракталу містить інформацію про весь фрактал. Строге визначення самоподібних множин було дано Дж. Хатчинсоном (J. Hutchinson) в 1981 році. Він назвав множину самоподібною, якщо воно складається з декількох компонентів, подібних всій цій множині, тобто компонент одержуваних афінними перетвореннями.

Однак самоподобність – це хоча й необхідне, але далеко не достатня властивість фракталів. Адже не можна ж, справді, уважати фракталом точку, або площину, розкреслену клітками. Головна особливість фрактальних об'єктів полягає в тому, що для їхнього опису недостатньо «стандартної» топологічної розмірності, що, як відомо, для лінії дорівнює 1, для поверхні 2, і т.д. Фракталам характерна геометрична «ізрізаність». Тому використовується спеціальне поняття фрактальної розмірності, що введене Ф. Хаусдорфом (F. Hausdorf) і А.С. Безиковичем. Стосовно до ідеальних об'єктів класичної евклідової геометрії вона давала ті ж чисельні значення, що й топологічна розмірність, однак нова розмірність мала більш тонку чутливість до всякого роду недосконалостям реальних об'єктів, дозволяючи розрізняти й індивідуалізувати те, що колись було безлике й нерозрізнене. Розмірність Хаусдорфа - Безиковича саме й дозволяє вимірювати ступінь «ізрізаності». Розмірність фрактальних об'єктів не є цілим числом, характерним для звичних геометричних об’єктів. Разом з тим, у більшості випадків фрактали нагадують об'єкти, що щільно займають реальний простір, але не використовують його повністю.

Нехай є множина G в евклідовому просторі розмірності r. Ця множина покривається кубиками тієї ж розмірності, при цьому довжина ребра будь-якого кубика не перевищує деякого значення δ , тобто \(\delta_i\lt \delta\).

Уводиться залежна від деякого параметра d і δ сума по всіх елементах покриття: \[ \ell_d(\delta)=\sum_i\delta_i^d. \] Визначимо нижню грань даної суми: \[ L_d=\inf\sum_i\left\{\left.\delta_i^d\right|\delta_i\lt\delta\right\} \] При зменшенні максимальної довжини δ, якщо параметр d буде досить великий, мабуть, буде виконуватися \[ \lim_{\delta\to 0}L_d(\delta)\to \infty. \] При деякому досить малому значенні параметра d буде виконуватися: \[ \lim_{\delta\to 0}L_d(\delta)\to 0. \] Проміжне, критичне значення \(\sigma\), для якого виконується: \[ \lim_{\delta\to 0}L_d(\delta)= \left\{ \begin{array}{ll} 0, & \hbox{якщо }d\gt \sigma,\\ \infty, & \hbox{якщо }d\lt \sigma, \end{array} \right. \] і називається розмірністю Хаусдорфа-Безиковича (або фрактальною розмірністю). Для простих геометричних об'єктів розмірність Хаусдорфа-Безиковича збігається з топологічною (для відрізка 1, для квадрата 2, для куба 3 і т.д.)

Незважаючи на те, що розмірність Хаусдорфа-Безиковича з теоретичної точки зору визначена бездоганно, для реальних фрактальних об'єктів розрахунок цієї розмірності єдосить скрутним. Тому вводиться трохи спрощений показник - ємнісна розмірність \(d_c\).

При визначенні цієї розмірності використовуються кубики із гранями однакового розміру. У цьому випадку, природно, справедливо: \(L_d(\delta)=N(\delta)\delta^{dc}\),де N(δ) - кількість кубиків, що покриває область G. Шляхом логарифмування й переходу до межі при зменшенні грані кубика одержуємо: \[ d_c=-\lim_{\delta\to 0}\frac{\log{N(\delta)}}{\log{\delta}}, \] якщо ця межа існує. Слід зазначити, що в більшості чисельних методів визначення фрактальної розмірності використовується саме \(d_c\), при цьому необхідно враховувати, що завжди справедливо умову: \(\sigma\le d_c\). Для регулярних само подібних фракталів ємнісна розмірність і розмірність Хаусдорфа-Безиковича збігаються, тому термінологічно їх часто не розрізняють і говорять просто про фрактальну розмірність об'єкта. На жаль класичний підхід дозволяє оцінити фрактальний розмір об’єктів на площині, наприклад, берегову лінію, а з тим, щоб оцінити двовимірний об’єкт, такий я зображення, є великі проблеми. Але все не так погано, існують деякі підходи, які ми і розглянемо.

Методи оцінювання фрактальності кольорових/напівтонових зображень.

В основі оцінювання кольорових/напівтонових зображень лежить той факт, що будь-яке сіре (напівтонове, grayscale) або кольорове зображення можна представити, як деяку поверхню, де низинам відповідають "темні" пікселі, а пікам - горам відповідають "світлі" пікселі.
Розглянемо декілька методів.

Метод Triangular Prism Surface Area.

Метод TPSA призначений для обробки напівтонових (grayscale) зображень.


Призма ABCDSabcd. A, B, C, D, P- точки зображення, а, b, с, d, p - значення яскравості в пікселях А, В, С, D, P.

Алгоритм полягає в наступному.

Розглядається центральний пиксель Р и його оточення - квадрат ABCD, лінії між величинами a, b, с, d, р - утворять 4 трикутники з вершиною S та площею: \[ S_p=\sum_{i=1}^4Str_i,Str_i=F(x_i,y_i,r), \] де \(S_p\) - площа фігури, \(Str_i\)- площа і-го трикутника \(i = 1..4, x_i, y_i\) - координати пікселів (вершини і-го трикутника), r - сторона квадрата ABCD.

Подібна процедура повторюється для всіх пікселів зображення. Для фіксованого r площі всіх фігур формують одну загальну площу A.

Потім r збільшується, і процедура повторюється. Нахил s графіка A(r) у логарифмічному масштабі використовується для визначення фрактальной розмірності: \(D_{tP}=2-s\).

Даний метод, при дослідженні кольорових зображень дозволяє оцінювати розмірність кожного колірного каналу RGB та окремо розмірність його “яркісного” зображення.

Meтод 2D Variation Procedure.

Метод 2D Variation призначений для обробки бінарних (binary) і напівтонових (grayscale) зображень.

Знаходимо мінімальний і максимальний рівні сірого в межах кожної квадратної області зі стороною r. Таким чином, визначаються двомірна мінімальна й максимальна функції для кожного кроку решітки. Потім для всього зображення визначається різниця об'єму між мінімальними й максимальними функціями.


Метод 2D Variation. P- центральна точка квадратного регіону \(r\times r\).

Тоді \(V(r)=r^sconst\), де V - «різницевий» об'єм фігури r - крок сітки, S- фрактальна розмірність.

Подібна процедура повторюється для всіх пикселів зображення, потім r збільшується, і процедура повторюється.

Нахил s графіка V(r) у логарифмічному масштабі використовується для визначення фрактальної розмірності: \[ D_{2D}=3-\frac{s}{2}. \] Даний метод при роботі з кольоровими зображеннями також як і TPSA дозволяє оцінювати як розмірність кожного колірного каналу RGB окремо, так і розмірність "яркостного” зображення.

Броуновска розмірність.

Ще одним методом оцінювання фрактальной розмірності напівтонових зображень є броуновская розмірність, що пропорційна експоненті Херста (Hurst`s exponent) D=3-H.

Параметр Н можна обчислити статистично із закону дисперсії, використовуючи властивості броуновского руху: \[ H=-\frac{\log\left(\sigma_{\Delta R}(\Delta I)\right)}{\log(\Delta R)} \] \(\sigma_{\Delta R}(\Delta I)\) - середньоквадратичне відхилення приростів, тобто різниця яскравості в точках \(R+\Delta R\) і \(R\), \(\Delta I=I(R+\Delta R)-I(R)\), \(R\) - координати точки.

Алгоритм обчислень виглядає в такий спосіб: для всіх точок обчислюються прирости яскравості \(\Delta I\) в \(\Delta R\)-околі, для отриманого масиву приростів обчислюється середньоквадратичне відхилення \(\sigma_{\Delta R}(\Delta I)\), потім змінюємо \(\Delta R\) і повторюємо попередні кроки.

Нахил графіка залежності \(\sigma_{\Delta R}(\Delta I)\) від \(\Delta R\) у логарифмічних координатах дає нам величину Н.

Даний метод при роботі з кольоровими зображеннями також як і TPSA і 2D Variation Procedure дозволяє оцінювати як розмірність кожного кольору RGB окремо, так і розмірність "яркісного" зображення.

Таким чином, після того, як кожному пікселю поставимо у відповідність фрактальну розмірність, після фрагментації шкали фрактальної розмірності можна провести відповідну сегментацію зображення.


Фрактальні характеристики виділеної клітини аналізу букального епітелію. (Архів цитопрепаратів крові та кісткового мозку, відділ онкогематології ІЕПОР НАНУ)

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

Використані зображення

Найпопулярніша жінка у фахівців з комп’ютерної графіки –
Lena Soderberg (з обкладинки журналу Playboy за листопад 1972 р.)
Костел святого Миколая (Кам'янське) кінець ХІХ ст.
Cougar. Кугуар або пума. Кішка, красива до смерті.
Зображення Superfood. Мрія вегана.
Клітини букального епітелію.
(Архів цитопрепаратів крові та кісткового мозку, відділ онкогематології ІЕПОР НАНУ).

Корисна література.

  1. Falconer K.J. The geometry of fractal sets . — Cambridge: Cambridge university press , 1995. — 162 p.
  2. Falconer K.J. Fractal Geometry. Mathematical Foundations and Applications . — Chichester: John Wiley & Sons , 2003. — 337 p.
  3. Geng Weidong. The Algorithms and Principles of Non-photorealistic Graphics. Artistic Rendering and Cartoon Animation / Weidong Geng . – Hanzhou: Springer, 1995 . – 373 p.
  4. Francus P. Image Analysis, Sediments and Paleoenvironments . — Dordrecht: Springer, 1998. — 472 p.
  5. Leondes C.T. Image Processing and Pattern Recognition / C.T.Leondes . — NY: AP, 1998. — 407 p.
  6. Sangwine S.J. The Color Image Processing Handbook / S.J.Sangwine, R.E.Horne . — Dordrecht: Springer, 2004. — 330 p.
  7. Анисимов Б.В. Распознавание и цифровая обработка изображений: Учеб. пособие для студентов вузов / Б.В. Анисимов, В.Д. Курганов, В.К. Злобин . – М.: Высш.шк., 1983 .– 295 с.
  8. Бутаков Е.А. Обработка изображений на ЭВМ / Е.А. Бутаков, В.И. Островский, И.Л. Фадеев . – М.: Радио и связь, 1987 .– 238 с.
  9. Введение в контурный анализ, приложения к обработке изображений и сигналов / Под ред. Я.А.Фурмана. – М.:Физматлит, 2003.-592 с.
  10. Грузман И.С., Киричук В.С., Косых В.П., Перетягин Г.И., Спектор А.А. Цифровая обработка изображений в информационных системах: Учеб. пособие. — Новосибирск.: Изд-во НГТУ, 2003. — 352 с.
  11. Гонсалес Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс . – М.: Техносфера, 2005 .– 1070 с.
  12. Гонсалес Р. Цифровая обработка изображений в среде MATLAB/ Р. Гонсалес, Р. Вудс, С. Эддингс . – М.: Техносфера, 2006 .– 616 с.
  13. Гришенцев А.Ю. Методы и модели цифровой обработки изображений / А.Ю.Гришенцев, А.Г.Коробейников .— СПб: Изд. Политех.ун-та, 2014 .— 190 с.
  14. Доля П.Г. Методы обработки изображений. Учебное пособие / П.Г. Доля . – Харьков.: Изд. ХНУ, 2013 .– 46 с.
  15. Ежова К.В. Моделирование и обработка изображений. Учебное пособие / К.В. Ежова . – СПб.: НИУ ИТМО, 2011 .– 93 с.
  16. Кроновер Р.М. Фракталы и хаос в динамических системах. - M. ПОСТМАРКТ, 2000. - 350 с.
  17. Лигун А.А. Асимптотические методы восстановления кривых / А.А.Лигун, А.А.Шумейко .— К.: Изд. Института математики НАН Украины, 1997 .— 358 с.
  18. Лигун А.О. Комп'ютерна графіка (Обробка та стиск зображень) / А.О.Лигун, О.О.Шумейко .— Дніпропетровськ: Біла К.О., 2010 .— 114 с.
  19. Методы компьютерной обработки изображений/ Под ред. В.А.Сойфера.- М.:Физматлит, 2003.-784 с.
  20. Новейшие методы обработки изображений / Под ред. А.А.Потапова.- М.:Физматлит, 2008.-496 с.
  21. Павлидис Т. Алгоритмы машинной графики и обработки изображений / Т. Павлидис . – М.: Радио и связь, 1986 .– 400 с.
  22. Прэтт У. Цифровая обработка изображений. Кн. 1 / У. Прэтт . – М.: Мир, 1982 .– 312 с.
  23. Таранцев И.Г. Компьютерная графика. Метод.пособие / И.Г.Таранцев . – Новосиб.: Изд. гос.ун-та, 2009 . – 60 с.
  24. Федотов А.А. Методы компьютерной обработки биомедицинских изображений в среде MATLAB: учеб. пособие / А.А. Федотов, С.А. Акулов, А.С. Акулова. – Самара: Изд-во СГАУ, 2015. – 88 с.
  25. Фисенко В.Т., Фисенко Т.Ю., Компьютерная обработка и распознавание изображений: учеб. пособие. — СПб: СПбГУ ИТМО, 2008. — 192 с.
  26. Фурман Я.А. Цифровые методы обработки и распознавания бинарных изображений / Я.А.Фурман, А.Н.Юрьев, В.В.Яшин .— Красноярск: Изд. Краснояр. ун-та, 1992 .— 248 с.
  27. Хуанг Т. Обработка изображений и цифровая фильрация / Т.Хуанг .— М: Мир, 1979 .— 318 с.
  28. Шумейко А.А. Интеллектуальный анализ данных (Введение в Data Mining) / А.А.Шумейко, С.Л.Сотник .— Днепропетровск: Белая Е.А., 2012 .— 212 с.
  29. Яне Б. Цифровая обработка изображений. — М.: Техносфера, 2007. — 584 с.
  30. Яншин В.В. Обработка изображений на языке Си для IBM PC: Алгоритмы и программы / В.В.Яншин, Г.А.Калинин .— М: Мир, 1994 .— 241 с.
  31. Ярославский Л.П. Введение в цифровую обработку изображений. — М.: Сов. радио, 1979. — 312 с.
  32. https://www.codeproject.com/Articles/751744/Image-Segmentation-using-Unsupervised-Watershed-Al
  33. SLIC Superpixels Compared to State-of-the-art Superpixel Methods / [R.Achanta, A.Shaji, K.Smith та ін.] // Journal of latex class files .— 2011 .— №1(6) .— C.1-8.
  34. Bandara Ravimal Image Segmentation using Unsupervised Watershed Algorithm with an Over-segmentation Reduction Technique