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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Модель сегментованої стегнової кістки. Вона показує зовнішню поверхню (червону), поверхню між компактною та губчастою кістковою тканиною (зелену) та поверхню кісткового мозку (синю).

З комп'ютерної точки зору, сегментація — це процес розділення цифрового зображення на декілька сегментів (множина пікселів, які часто називають суперпікселями). Мета сегментації полягає у спрощенні і/або зміні представлення зображення для полегшення його аналізу[1]. Сегментацію зображень зазвичай використовують для виділення об'єктів та меж (лінії, криві, і т. д.) на зображеннях. Точніше, сегментація зображень — це процес присвоєння таких міток кожному пікселю зображення, що пікселі з однаковими мітками мають спільні візуальні характеристики.

Результатом сегментації зображення є множина сегментів, які разом покривають все зображення, або множина контурів, виділених з зображення. Всі пікселі в сегменті схожі за деякою характеристикою або за визначеною властивістю, наприклад колір, яскравість або текстура. Сусідні сегменти істотно відрізняються за цими характеристиками.[1]

Застосування[ред.ред. код]

Деякими практичними застосуваннями сегментації зображень є:

  • Медичні зображення[2]
    • Виявлення пухлин та інших патологій
    • Визначення обсягів тканин
    • Хірургія за допомогою комп'ютера
    • Діагностика
    • Планування лікування
    • Вивчення анатомічної структури
  • Виділення об'єктів на супутникових світлинах
  • Розпізнавання облич
  • Розпізнавання відбитків пальців
  • Системи управління дорожнім рухом
  • Виявлення стоп-сигналів
  • Комп'ютерний зір

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

Визначення порогів[ред.ред. код]

Найпростішим методом сегментування є метод визначення порогів. Даний метод базується на деякому рівні відсікання (пороговому значенні) для перетворення зображення в градаціях чорного в бінаризоване зображення.

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

Відносно недавно було розроблено методи порогового опрацювання зображень комп'ютерної томографії. Ключовою відмінністю даних методів від підходу запропонованого Отсу є те, що пороги одержують з радіограм на відміну від вже сформованих на їх основі зображень.[3][4]

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

Методи, засновані на кластеризації[ред.ред. код]

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

k-середніх — це ітераційний метод, який використовується для того, щоб розділити зображення на K кластерів. Базовий алгоритм наведений нижче:

  1. Вибрати K центрів кластерів, випадково або на основі деякої евристики
  2. Помістити кожен піксель зображення в кластер, центр якого найближче до цього пікселя
  3. Знову визначити центри кластерів, усереднюючи всі пікселі в кластері
  4. Повторювати кроки 2 і 3 до збіжності (наприклад, коли пікселі будуть залишатися в тому ж кластері)

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

Цей алгоритм гарантовано сходиться, але він може не привести до оптимального рішення. Якість рішення залежить від початкової множини кластерів і значення K.

Методи, засновані на стисненні[ред.ред. код]

В методах заснованих на стисненні стверджується, що оптимальною сегментацією серед усіх можливих є та, котра використовує найменший об'єм даних для кодування результуючого зображення.[5][6] Зв'язок між сегментацією та стисненням пояснюється тим, що сегментація намагається знайти шаблони в зображенні, а будь-який взаємозв'язок в зображенні може бути використаний для його стиснення. Підхід описує кожен сегмент за його текстурою і формою контуру. Кожна складова сегменту моделюється формулою ймовірнісного розподілу, а об’єм даних для кодування обчислюється таким чином:

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

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

Методи з використанням гістограми[ред.ред. код]

Методи з використанням гістограми дуже ефективні порівняно з іншими методами сегментації оскільки вони вимагають тільки один прохід по пікселях. У цьому методі гістограма обчислюється за всіма пікселям зображення і її мінімуми і максимуми використовуються, щоб знайти кластери на зображенні.[1] Колір або яскравість можуть бути використані при порівнянні.

Покращення цього методу — рекурсивно застосовувати його до кластерів на зображенні для того, щоб поділити їх на дрібніші кластери. Процес повторюється з усе меншими і меншими кластерами до тих пір, коли перестануть з'являтися нові кластери.[1][7]

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

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

Виділення країв[ред.ред. код]

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

Виявлені краю часто бувають розірваними. Але щоб виділити об'єкт на зображенні, потрібні замкнуті межі області.

Методи розростання областей[ред.ред. код]

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

Метод розростання областей з "насіння" вимагає додаткового введення. Результат залежить від вибору "насіння". Шум на зображенні може призвести до погано розміщення "насіння". Метод розростання областей без використання "насіння"— це змінений алгоритм, який не вимагає явного "насіння". Він починає з однієї області  — піксель, обраний тут незначно впливає на кінцеву сегментацію. На кожній ітерації він розглядає сусідні пікселі так само, як метод розростання областей з використанням "насіння". Але він відрізняється тим, що якщо мінімальна не менша, чим заданий поріг , то він додається у відповідну область . В іншому випадку піксель вважається таким, що сильно відрізняється від всіх поточних областей і створюється нова область , яка містить цей піксель.

Один з варіантів цього методу, запропонований Хараліком і Шапіро (1985),[1] заснований на використанні яскравості пікселів. Середнє арифметичне, дисперсія області та яскравість пікселя-кандидата використовується для побудови тестової статистики. Якщо тестова статистика достатньо мала, то піксель додається до області і середнє арифметичне та дисперсія області перераховується знову. Інакше, піксель ігнорується і використовується для створення нової області.

Методи, засновані на диференціальних рівняннях з частинними похідними[ред.ред. код]

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

Параметричні методи[ред.ред. код]

Техніки відновлення многочлена Ланранжа базуються на визначенні параметра контуру відповідно до деякої стратегії вибірки, і наступної еволюції кожного елемента відповідно до зображення та внутрішніх термів. Дані техніки є швидкими та ефективними, але початкове "чисто параметричне" формулювання (за Касом Віткіним та Терзополусом в 1987 відоме як "змійки") є піддане критиці через обмеження, які полягають в виборі стратегії вибірки, внутрішніх геометричних властивостей кривої, зміни топології (поділ та об’єднання кривих), проблеми адресації при вищих вимірах і т.д.. На сьогодні були розроблені ефективніші "дискретизовані" формулювання для подолання даних обмежень зберігаючи ефективність. В обох випадках оптимізація геометрії виконується методом градієнтного спуску а для обчислення похідних використовується метод скінченних різниць.

Методи встановлення рівня[ред.ред. код]

Методи встановлення рівня з самого початку використовувались для відслідковування інтерфейсів, котрі переміщувались Ошером та Сетіаном в 1988 і увійшли в інші галузі обробки зображень наприкінці 90-х. Вони можуть бути використані для ефективного вирішення задач пошуку кривих, поверхонь і т. д. в неявній формі. Головною ідеєю є представлення еволюціонуючого контуру  використовуючи знакову функцію, нульове значення якої відповідає фактичному контуру. Тоді, згідно з рівнянням руху контуру можна легко вивести схожий підхід для неявної поверхні, котра на нульовому рівні буде відображати контур об'єкта. Методи встановлення рівня має багато переваг, він задається в неявній формі, не залежить від параметра, дозволяє просто оцінити геометричні властивості структури, яка еволюціонує, надає можливості зміни топології. Зао, Мерімен та Ошер в 1996 запропонували використовувати дані методи як основу в вирішенні задач оптимізації. З цього випливає, що дані методи можуть бути використані для вирішення багатьох задач в області машинного зору та аналізу медичних зображень.[9] Дослідження різноманітних структур даних для встановлення рівня дало можливість створити дуже ефективні методи вирішення цієї задачі.

Методи швидкого проходу[ред.ред. код]

Методи швидкого проходу використовуються в сегментуванні зображень.[10] Дана модель була покращена (дозволяє використовувати додатну та від'ємну швидкості поширення) в узагальненому методі швидкого проходу.[11]

Варіаційні методи[ред.ред. код]

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

Мінімізатор  є кусковою константою зображення яка має оптимальне відношення між квадратом відстані до даного зображення та загальної величини стрибка. Стрибок визначає сегментацію. Відносна вага енергій регулюється параметром  . Бінарний варіант моделі Потса, тобто, коли діапазон   обмежено двома значеннями є моделлю Чана-Весе.[12] Важливим узагальненням є модель Мамфорда-Шаха[13] представлена

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

Методи розрізу графа[ред.ред. код]

Методи розрізу графа можуть бути ефективно застосовані для сегментації зображень. У цих методах зображення представляється як зважений неорієнтований граф. Зазвичай, піксель або група пікселів асоціюється вершиною, а ваги ребер визначають (не) схожість сусідніх пікселів. Потім граф (зображення) розрізається відповідно до критерію, створеному для отримання «хороших» кластерів. Кожна частина вершин (пікселів), одержувана цими алгоритмами, вважається об'єктом на зображенні. деякі популярні алгоритми цієї категорії — це нормалізовані розрізи графів[14], випадкове блукання[15], мінімальний розріз[16], ізопериметричний поділ[17] та сегментація за допомогою мінімального зваженого дерева[18].

Сегментація методом водоподілу[ред.ред. код]

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

a. вихідне зображення; b. сегментоване зображення без попередньої обробки

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

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

Сегментація за допомогою моделі[ред.ред. код]

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

Багатомаштабна сегментація[ред.ред. код]

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

Критерій сегментації може бути безпідставно складним і може приймати до уваги як локальні, так і глобальні критерії. Загальна вимога — те, що кожна область повинна бути пов'язана в деякому сенсі.

Одновимірна ієрархічна сегментація сигналів[ред.ред. код]

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

Програмне забезпечення[ред.ред. код]

Платне[ред.ред. код]

Існує декілька наявних програмних продуктів для сегментації зображень

  • Pac-n-Zoom Color має власне програмне забезпечення, що сегментує понад 16 мільйонів кольорів фотографічної якості. Доступне за адресою http://www.accelerated-io.com/usr_man.htm [1]
  • TurtleSeg інтерактивна програма для сегментації 3D зображень. Вона підтримує велику кількість форматів медичних зображень та дозволяє користувачам експотрувати сегментовані ними зображення у форматі бінарної маски або 3D поверхні.

Безкоштовне[ред.ред. код]

Існує декілька наявних безкоштовних програмних продуктів для сегментації зображень

  • ImageMagick використовує алгоритм нечіткої кластеризації.
  • MITK має програмний модуль для самостійної сегментації напівтонових зображень.
  • GRASS GIS має програмний модуль i.smap для сегментації зображень.
  • Population безкоштовна C++ бібліотека для обробки зображень

Існує також програмне забезпечення яке надається безкоштовно для навчальних цілей:

Див. також[ред.ред. код]

Посилання[ред.ред. код]

Примітки[ред.ред. код]

  1. а б в г д Linda G. Shapiro and George C. Stockman (2001): «Computer Vision», pp 279–325, New Jersey, Prentice-Hall, ISBN 0-13-030796-3
  2. Dzung L. Pham, Chenyang Xu, and Jerry L. Prince (2000): «Current Methods in Medical Image Segmentation», Annual Review of Biomedical Engineering, volume 2, pp 315–337
  3. Batenburg, K. J.; Sijbers, J. (2009-10-01). Adaptive thresholding of tomograms by projection distance minimization. Pattern Recognition 42 (10). с. 2297–2305. doi:10.1016/j.patcog.2008.11.027. Процитовано 2016-12-25. 
  4. Batenburg, K. J.; Sijbers, J. (2009-05-01). Optimal Threshold Selection for Tomogram Segmentation by Projection Distance Minimization. IEEE Transactions on Medical Imaging 28 (5). с. 676–686. doi:10.1109/TMI.2008.2010437. ISSN 0278-0062. Процитовано 2016-12-25. 
  5. Mobahi, Hossein; Rao, Shankar R.; Yang, Allen Y.; Sastry, Shankar S.; Ma, Yi (2011-04-08). Segmentation of Natural Images by Texture and Boundary Compression. International Journal of Computer Vision (en) 95 (1). с. 86–98. doi:10.1007/s11263-011-0444-0. ISSN 0920-5691. Процитовано 2016-12-25. 
  6. Shankar Rao, Hossein Mobahi, Allen Yang, Shankar Sastry and Yi Ma Natural Image Segmentation with Adaptive Texture and Boundary Encoding, Proceedings of the Asian Conference on Computer Vision (ACCV) 2009, H. Zha, R.-i. Taniguchi, and S. Maybank (Eds.), Part I, LNCS 5994, pp. 135--146, Springer.
  7. Ron Ohlander, Keith Price, and D. Raj Reddy (1978): «Picture Segmentation Using a Recursive Region Splitting Method», Computer Graphics and Image Processing, volume 8, pp 313–333
  8. Caselles, V.; Kimmel, R.; Sapiro, G. (1997). Geodesic active contours (PDF). International Journal of Computer Vision 22 (1). с. 61–79. 
  9. S. Osher and N. Paragios. Geometric Level Set Methods in Imaging Vision and Graphics, Springer Verlag, ISBN 0-387-95488-0, 2003.
  10. James A. Sethian. Segmentation in Medical Imaging. Процитовано 15 January 2012. 
  11. Forcade, Nicolas; Le Guyader, Carole; Gout, Christian (July 2008). Generalized fast marching method: applications to image segmentation. Numerical Algorithms 48 (1-3): 189–211. doi:10.1007/s11075-008-9183-x. 
  12. Chan, T.F.; Vese, L. (2001). Active contours without edges. IEEE Transactions on Image Processing 10 (2). с. 266–277. doi:10.1109/83.902291. 
  13. David Mumford and Jayant Shah (1989): Optimal approximations by piecewise smooth functions and associated variational problems, Communications on Pure and Applied Mathematics, pp 577-685, Vol. 42, No. 5
  14. Jianbo Shi and Jitendra Malik (2000): «Normalized Cuts and Image Segmentation», IEEE Transactions on pattern analysis and machine intelligence, pp 888–905, Vol. 22, No. 8
  15. Leo Grady (2006): «Random Walks for Image Segmentation», IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 1768–1783, Vol. 28, No. 11
  16. Z. Wu and R. Leahy (1993): «An optimal graph theoretic approach to data clustering: Theory and its application to image segmentation», IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 1101–1113, Vol. 15, No. 11
  17. Leo Grady and Eric L. Schwartz (2006): «Isoperimetric Graph Partitioning for Image Segmentation», IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 469–475, Vol. 28, No. 3
  18. C. T. Zahn (1971): «Graph-theoretical methods for detecting and describing gestalt clusters», IEEE Transactions on Computers, pp. 68-86, Vol. 20, No. 1
  19. Manisha Bhagwat, R. K. Krishna & Vivek Pise: «GSimplified Watershed Transformation», International Journal of Computer Science & Communication, Vol. 1, No. 1, January-June 2010, pp. 175–177
  20. Witkin, A. P. «Scale-space filtering», Proc. 8th Int. Joint Conf. Art. Intell., Karlsruhe, Germany,1019—1022, 1983.
  21. A. Witkin, "Scale-space filtering: A new approach to multi-scale description, " in Proc. IEEE Int. Conf. Acoust., Speech, Signal Processing (ICASSP), vol. 9, San Diego, CA, Mar. 1984, pp. 150–153.