English Русский
ДонНТУ Портал магістрів

Казанцев Максим Олексійович

Факультет компьютерних наук та технологій

Кафедра автоматизованих систем управління

Специальність Інформаційні системи і технології в техніці та бізнесі

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

Науковий керівник: к.т.н., доц. Привалов Максим Володимирович

Реферат за темою випускної роботи

Зміст

Вступ

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

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

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

  1. Кластеризація
  2. Пороги
  3. Розростання областей
  4. Поділ графа

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

1. Актуальність теми

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

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

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

Випускна кваліфікаційна робота присвячена вирішенню задачі підвищення ефективності і продуктивності алгоритмів сегментації зображень. Для знаходження рішення передбачається використання ройових алгоритмів на апаратній базі сучасних GPGPU [3]. В якості програмної платформи виступить стандарт паралельних обчислень OpenCL [4], а також багатоплатформова об'єктно-орієнтована мова програмування високого рівня Java [5].

2. Мета і завдання дослідження, заплановані результати

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

  1. Дослідити існуючі методи і алгоритми сегментації зображень, в тому числі на основі моделі поведінки ройового інтелекту.
  2. Виконати формалізацію завдання сегментації тривимірних медичних зображень із застосуванням методів ройового інтелекту.
  3. Дослідити існуючі апаратні і програмні платформи паралельних обчислень.
  4. Створити та апробувати ройові алгоритми сегментації, розпаралелені із застосуванням GPGPU-обчислень.

Об'єкт дослідження: методи сегментації цифрових зображень.

Предмет дослідження: паралельна сегментація зображень із застосуванням ройових алгоритмів.

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

  1. Визначення перспективного варіанта алгоритмічної основи інструментального засобу, що розроблюється.
  2. Знаходження оптимального методу сегментування зображення.
  3. Означення найбільш придатної програмної платформи розпаралелювання.
  4. Модифікація методу сегментації відповідно до вимог алгоритмічної і програмної основи.

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

  1. Реалізація алгоритму послідовної сегментації зображень з використанням методу розбиття графа на платформі Java.
  2. Розпаралелювання реалізованого алгоритму сегментації засобами стандарту OpenCL.
  3. Модифікація отриманого програмного алгоритму для потреб сегментації тривимірних зображень.

3. Огляд досліджень та розробок

Тема сегментації цифрових зображень не є новою. На поточний момент існує безліч методів і алгоритмів, багато з яких себе добре зарекомендували. Значна частина існуючих підходів розроблена і представлена університетами Європи, США, а також провідних країн Азії та Південної Америки.

3.1 Огляд міжнародних джерел

Методи сегментування, що використовують алгоритми кластеризації, на поточний момент являють собою класичне рішення задачі обробки зображень. Прикладом сучасного варіанту застосування таких алгоритмів є метод, поданий М. Алмазруі в статті GPU-based fuzzy C-means clustering algorithm for image segmentation [6]. Об'єктом експерименту став набір медичних зображень головного мозку людини. Алгоритм сегментації виконувався паралельно, апаратною платформою виступив сучасний GPGPU NVIDIA Tesla C2050. Програмною основою став стандарт паралельних обчислень CUDA. При збереженні задовільного рівня якості вихідного результату, розпаралелювання забезпечило 674-кратне прискорення, в порівнянні з послідовним виконанням алгоритму.

Отримані результати явно вказують на перспективність використання паралельних обчислень.

Більш інноваційним рішенням завдання сегментації може стати застосування евристичних алгоритмів. Стаття Parallel particle swarm optimization for image segmentation [7] за авторством А. Крістіаді демонструє використання алгоритму рою частинок (PSO) для сегментування зображення із застосуванням кластеризації. При проведенні експерименту також використовувалися технології паралельних обчислень CUDA.

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

В статті І. Чжу GPU accelerated fuzzy connected image segmentation by using CUDA [8] наводиться опис розпаралелювання алгоритму сегментації, в основі якого лежить метод нечітких зв'язностей.

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

Іншим, досить популярним і добре себе зарекомендувавшим, є метод сегментації з використанням алгоритму розростання областей. В статті П.Н. Хаппа A parallel region growing algorithm for image segmentation on GPUs [9] описується застосування розпаралеленої версії даного алгоритму для сегментування зображення.

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

Результати експерименту показали відсутність значної різниці в якості результату сегментації за допомогою початкової та модифікованої в догоду паралелізму версій алгоритму. Кратність прискорення в порівнянні з послідовним виконанням на CPU варіюється від 1.38 до 6.86, вона підвищується при збільшенні обсягу оброблюваної візуальної інформації.

В статті П.Ф. Фельзенцвальба Efficient graph-based image segmentation [10] представлений метод сегментації зображення з використанням алгоритму розбиття графа.

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

3.2 Огляд національних джерел

Публікація Використання бджолиних алгоритмів для вирішення комбінаторних задач [11] за авторством В.М. Курейчика демонструє використання різних алгоритмів для знаходження рішення комбінаторної задачі розбиття графа.

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

У публікації В.В. Курейчика Ройовий алгоритм в задачах оптимізації [12] наводиться опис роботи алгоритму, заснованого на поведінці колонії медоносних бджіл, при вирішенні оптимізаційних задач проектування.

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

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

3.3 Огляд локальних джерел

На кафедрі автоматизованих систем управління (АСУ), факультету комп'ютерних наук і технологій Донецького національного технічного університету проводяться дослідження і розробки в області евристичних алгоритмів. Прикладом значущих робіт може служити монографія Метаевристики за авторством Ю.А. Скобцова і Е.Е. Федорова [13].

Серед магістрантів кафедри АСУ проводилися дослідження і розробки в області застосування евристичних алгоритмів до задачі сегментації зображень. Прикладом результатів таких досліджень стала випускна кваліфікаційна робота магістранта С.А. Ель-Хатіба Комп'ютерна система сегментації медичних зображень на основі алгоритму мурашиних колоній [14], а також його публікація, вже в якості аспіранта, Комп'ютерна система сегментації медичних зображень методом рою частинок [15].

4. Паралельна сегментація тривимірних зображень на основі алгоритму розбиття графа із застосуванням ройового інтелекту

Основою методу [16] є представлення зображення у вигляді графа, в якому вершини - це пікселі зображення. Довжина ребер між вершинами визначається різницею характеристик двох сусідніх пікселів, на підставі яких здійснюється сегментація. Значення довжини ребра розраховується за формулою (1):

(1)

де Vi, Vj - i-та і j-та вершини відповідно, I(Pj) - характеристика пікселя Pj, на підставі якої здійснюється сегментація.

Початковий етап алгоритму передбачає порівняння пікселів з 4 (північний, південний, західний, східний) або 8 сусідніми (додаються проміжні). Такий підхід дозволяє зробити вибір на користь продуктивності або ж якості кінцевого результату. Після проходження даного етапу буде отримано велику кількість розрізнених сегментів. Далі, згідно з критерієм (2) відбувається об'єднання цих сегментів:

(2)

где Diff(C1, C2) - найменш довге ребро між двома порівнюваними сегментами, MInt(C1, C2) - менший з максимальних перепадів характеристик сегментації всередині розглянутих сегментів. Схематично об'єднання сегментів може бути представлене в такий спосіб (рис. 1):

Рис. 1. Об'єднання сегментів

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

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

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

(3)

У формулі: xi, yi, zi - координати пікселя, ri, gi, bi - його показники по кожній з колірних складових моделі RGB. Такий спосіб розрахунку дозволить більш точно визначати на зображенні розрізнені ділянки, які відносяться до одного об'єкту.

Змінні в цій формулі визначаються тим, що в якості розрахункової характеристики пікселів при сегментації взяті значення колірної моделі RGB. Крім них, в формулу додані координати пікселя в трьох площинах (мова йде про тривимірні зображення).

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

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

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

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

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

(4)

де bi - кількість одиниць блоку, B - глобальне число обчислювальних елементів поточної апаратної платформи, f(xi) - значення цільової функції блоку, яке залежить від його розміру, min(F(X)) і max(F(X)) - відповідно мінімальне і максимальне значення цільової функції між усіх блоків.

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

Ключові моменти описуваного процесу сегментації зображень можуть бути схематично представлені таким чином (рис. 2):


Рис. 2. Алгоритм сегментації (Анімація: 133 кб, 8 кадрів, необм. число повторів)

Передбачається, що програмною основою розпаралелювання представленого алгоритму виступить універсальний багатоплатформовий стандарт паралельних обчислень OpenCL. Серед провідних стандартів в сфері паралельних обчислень (CUDA, OpenCL, OpenMP і ін.), обраний відрізняється багатоплатформовостю і легкістю інтеграції в різні системи, при цьому відставання в продуктивності від основного конкурента CUDA незначне і з виходом нових версій стандарту стає все менше [18].

На поточний момент, реалізована послідовна версія алгоритму, який сегментує двовимірні медичні зображення МРТ, розміром 512 на 512 пікселів. Програмна реалізація забезпечена засобами платформи Java.

При проведенні експерименту, сегментація зображення здійснювалася кількома версіями алгоритму (з використанням 4-ох складного і 8-ми складного графа) при різних значеннях аргументу k. Результати вимірів часу наведені в таблиці 1.


Таблиця 1. Результати експерименту
Складність графу k Витрачений час, сек
1 4 300 31,188
2 4 3000 27,438
3 4 30000 30,971
4 8 300 35,094
5 8 3000 34,693
6 8 30000 35,024

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


Рис. 3 Початкове зображення

На рисунках 4(а) та 4(б) представлені результати сегментації зображень при значенні k = 3000.


а) З використанням 4-ох зв'язкового графа
б) З використанням 8-ми зв'язкового графа

Рис. 4. Результати сегментації

Висновок

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

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

  1. Проведено дослідження існуючих методів і алгоритмів сегментації зображень, зокрема, на базі сучасних апаратних і програмних платформ.
  2. Досліджено застосування евристичних алгоритмів до задачі сегментації зображень.
  3. Визначено перспективний варіант алгоритму, який зміг би виступити основою розроблюваного інструментального засобу.
  4. Обрані апаратна і програмна платформи, що задовольняють вимогам майбутніх досліджень.
  5. Сформульована математична постановка задачі сегментації зображень з використанням алгоритму роз'єднання графа, а також методів ройового інтелекту колонії медоносних бджіл.
  6. Реалізована початкова версія послідовного виконання представленого алгоритму для потреб сегментації двовимірних зображень.
  7. Отримано перші практичні результати досліджень і розробок.

Подальшим напрямком досліджень і розробки буде:

  1. Знаходження найбільш оптимального набору характеристик зображення , які ляжуть в основу розрахункової формули різниці пікселів . Можливо залучення додаткових моделей і алгоритмів для визначення такого набору.
  2. Модифікація отриманого алгоритму для забезпечення можливості сегментації тривимірних зображень.
  3. Ефективна реалізація розпаралелювання розробленого алгоритму сегментації на основі обраної програмної бази.

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

Перелік посилань

  1. Сегментация (обработка изображений) [электронный ресурс]. / Материал из Википедии, свободной энциклопедии. Режим доступа: https://ru.wikipedia.org/wiki/...
  2. Сегментация изображений [электронный ресурс]. Режим доступа: https://habrahabr.ru/post/...
  3. CUDA: Как работает GPU [электронный ресурс]. Режим доступа: https://habrahabr.ru/post/...
  4. OpenCL: Что это такое и зачем он нужен [электронный ресурс]. Режим доступа: https://habrahabr.ru/post/...
  5. Java [электронный ресурс]. / Материал из Википедии, свободной энциклопедии. Режим доступа: https://ru.wikipedia.org/wiki/...
  6. M. Almazrooie GPU-Based Fuzzy C-Means Clustering Algorithm for Image Segmentation / M. Almazrooie, M. Vadiveloo, and R. Abdullah – School of Computer Sciences, National Advanced IPv6 Center (NaV6), Universiti Sains Malaysia, Malaysia ,2016.
  7. A. Kristiadi Parallel Particle Swarm Optimization for Image Segmentation / A. Kristiadi, Pranowo, P. Mudjihartono – Atma Jaya Yogyakarta University, Indonesia, 2013.
  8. Y. Zhuge GPU Accelerated Fuzzy Connected Image Segmentation by using CUDA / Y. Zhuge, Y. Cao, J. K. Udupa, and R. W. Miller – Radiation Oncology Branch, National Cancer Institute, National Institutes of Health, USA, 2009.
  9. P. N. Happ A Parallel Region Growing Algorithm for Image Segmentation on GPUs / P. N. Happ, R. Q. Feitosa, C. Bentes, R. Farias – Federal University of Rio de Janeiro, Brazil, 2012.
  10. P. F. Felzenszwalb Efficient Graph-Based Image Segmentation / P. F. Felzenszwalb, D. P. Huttenlocher – Massachusetts Institute of Technology, USA, 2003.
  11. В. М. Курейчик Использование пчелиных алгоритмов для решения комбинаторных задач / В.М. Курейчик, А.А. Кажаров // «Искусственный интеллект» – Таганрог, 2010 – №3. – С. 583-589.
  12. В. В. Курейчик Роевой алгоритм в задачах оптимизации / В. В. Курейчик, Д. Ю. Запорожец // «Известия ЮФУ. Технические науки» – Таганрог, 2010 – Тематический выпуск – С. 28-32.
  13. Ю.А. Скобцов Метаэвристики / Скобцов Ю.А., Федоров Е.Е. – Монография. – Донецк: Ноулидж, 2013. – 426 с.
  14. Реферат по теме магистерской работы «Компьютерная система сегментации медицинских изображений на основе алгоритма муравьиных колоний» [электронный ресурс]. Режим доступа: http://masters.donntu.ru/2011/fknt/...
  15. Ю.А. Скобцов Компьютерная система сегментации медицинских изображений методом роя частиц / Ю. А. Скобцов, С.А. Эль-Хатиб // «Вестник НТУ ХПИ» – Харьков, 2015 – №33(1142) – С.144-151.
  16. Эффективная сегментация изображений на графах [электронный ресурс]. Режим доступа: https://habrahabr.ru/post/...
  17. М.А. Казанцев Параллельная сегментация трехмерных изображений на основе алгоритма разбиения графа с применением роевого интеллекта / М.А. Казанцев, М.В. Привалов // Сборник статей студенческой научно-технической конференции «В мире компьютерных технологий» – Севастополь, 2017 – С.43-47.
  18. K. Karimi A Performance Comparison of CUDA and OpenCL / K. Karimi, N. G. Dickson, F. Hamze – D-Wave Systems Inc., Canada, 2010.