Сегментация в цветовом пространстве RGB. Методы разреза графа. Алгоритм сегментации MeanShift

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

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

Пороговая обработка изображения может проводиться разными способами.

Бинаризация с нижним порогом
Бинаризация с нижним порогом
Бинаризация с нижним порогом является наиболее простой операцией, в которой используется только одно значение порога:

Все значения вместо критерия становятся 1, в данном случае 255 (белый) и все значения(амплитуды) пикселей, которые больше порога t - 0 (черный).

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

Бинаризация с двойным ограничением
Для выделения областей, в которых значения яркости пикселей может меняться в известном диапазоне, вводится бинаризация с двойным ограничением (t 1
Так же возможны другие вариации с порогами, где пропускается только часть данных (средне полосовой фильтр).

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

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

Что касается бинаризации, то по сути все. Хотя можно добавить, что есть глобальная, которая используется для всего изображения и так же существует локальная, которая захватывает часть картинки (изображения).

Локальная пороговая обработка
Метод Отса
Метод использует гистограмму распределения значений яркости пикселей растрового изображения. Строится гистограмма по значениям p i =n i /N, где N – это общее кол-во пикселей на изображении, n i – это кол-во пикселей с уровнем яркости i. Диапазон яркостей делится на два класса с помощью порогового значения уровня яркости k,k - целое значение от 0 до L. Каждому классу соответствуют относительные частоты ω 0 ω 1:

Средние уровни для каждого из двух классов изображения:
Далее вычисляется максимальное значение оценки качества разделения изображения на две части:
где (σ кл)2=ω 0 ω 1 (μ 1 -μ 0) 2 , – межклассовая дисперсия, а (σ общ) 2 – это общая дисперсия для всего изображения целиком.

Определение порога на основе градиента яркости изображения
Предположим, что анализируемое изображение можно разделить на два класса – объекты и фон. Алгоритм вычисления порогового значения состоит из следующих 2 шагов:
1. Определяется модуль градиента яркости для каждого пикселя
изображения

2. Вычисление порога:
Итого
Что нашел с радостью выложил вам, в дальнейшем, если получится и будет время, постараюсь реализовать часть алгоритмов. Это лишь малая часть всего, что сегодня существует, но я рад поделится и этим.
Спасибо за внимание.

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

Введение

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

Процесс обнаружения точных разрывов яркости на изображении называется процессом выделение границ. Разрывы — это резкие изменения в группе пикселей, которые являются границами объектов. Классический алгоритм обнаружения границ задействует свертку изображения с помощью оператора, который основывается на чувствительности к большим перепадам яркости на изображении, а при проходе однородных участков возвращает нуль. Сейчас доступно огромное количество алгоритмов выделения контуров, но ни один из них не является универсальным. Каждый из существующих алгоритмов решает свой класс задач (т.е. качественно выделяет границы определенного типа). Для определения подходящего алгоритма выделения контуров необходимо учитывать такие параметры, как ориентация и структура контура, а также наличие и тип шума на изображении. Геометрия оператора устанавливает характерное направление, в котором он наиболее чувствителен к границам. Существующие операторы предназначены для поиска вертикальных, горизонтальных или диагональных границ. Выделение границ объектов — сложная задача в случае сильно зашумленного изображения, так как оператор чувствителен к перепадам яркости, и, следовательно, шум также будет считать некоторым объектом на изображении. Есть алгоритмы, позволяющие в значительной мере избавиться от шума, но в свою очередь, они в значительной мере повреждают границы изображения, искажая их. А так как большинство обрабатываемых изображений содержат в себе шум, шумоподавляющие алгоритмы пользуются большой популярностью, но это сказывается на качестве выделенных контуров.

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

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

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

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

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

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

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

Алгоритмы выделение границ

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

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

Граница является местным изменением яркости на изображении. Они, как правило, проходят по краю между двумя областями. С помощью границ можно получить базовые знания об изображении. Функции их получения используются передовыми алгоритмами компьютерного зрения и таких областях, как медицинская обработка изображений, биометрия и тому подобные. Обнаружение границ — активная область исследований, так как он облегчает высокоуровневый анализ изображений. На полутоновых изображениях существует три вида разрывов: точка, линия и граница. Для обнаружения всех трех видов неоднородностей могут быть использованы пространственные маски.

В технической литературе приведено и описано большое количество алгоритмов выделения контуров и границ. В данной работе рассмотрены наиболее популярные методы. К ним относятся: оператор Робертса, Собеля, Превитта, Кирша, Робинсона, алгоритм Канни и LoG-алгоритм.

Оператор Робертса

Оператор выделения границ Робертса введен Лоуренсом Робертсом в 1964 году. Он выполняет простые и быстрые вычисления двумерного пространственного измерения на изображении. Этот метод подчеркивает области высокой пространственной частоты, которые зачастую соответствуют краям. На вход оператора подается полутоновое изображение. Значение пикселей выходного изображения в каждой точке предполагает некую величину пространственного градиента входного изображения в этой же точке.

Оператор Собеля

Оператор Собеля введен Собелем в 1970 году. Данный метод обнаружения границ использует приближение к производной. Это позволяет обнаруживать край в тех местах, где градиент самый высокий. Данный способ обнаруживает количество градиентов на изображении, тем самым выделяя области с высокой пространственной частотой, которые соответствуют границам. В целом это привело к нахождению предполагаемой абсолютной величине градиента в каждой точке входного изображения. Данный оператор состоит из двух матриц, размером 3×3. Вторая матрица отличается от первой только тем, что повернута на 90 градусов. Это очень похоже на оператор Робертса.

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

Оператор Превитта

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

Оператор Кирша

Обнаружение границ этим методом было введено Киршем в 1971 году. Алгоритм основан на использовании всего одной маски, которую вращают по восьми главным направлениям: север, северо-запад, запад, юго-запад, юг, юго-восток, восток и северо-восток. Маски имеют следующий вид:

Величина границы определена как максимальное значение, найденное с помощью маски. Определенное маской направление выдает максимальную величину. Например, маска k 0 соответствует вертикальной границе, а маска k 5 — диагональной. Можно также заметить, что последние четыре маски фактически такие же, как и первые, они являются зеркальным отражением относительно центральной оси матрицы.

Оператор Робинсона

Метод Робинсона, введенное в 1977, подобен методу Кирша, но является более простым в реализации в силу использования коэффициентов 0, 1 и 2. Маски данного оператора симметричны относительно центральной оси, заполненной нулями. Достаточно получить результат от обработки первых четырех масок, остальные же можно получить, инвертируя первые.

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

Выделение контура методом Marr-Hildreth

Marr-Hildreth (1980) метод — метод обнаружения границ в цифровых изображениях, который обнаруживает непрерывные кривые везде, где заметны быстрые и резкие изменения яркости группы пикселей. Это довольно простой метод, работает он с помощью свертки изображения с LoG-функцией или как быстрая аппроксимация с DoG. Нули в обработанном результате соответствуют контурам. Алгоритм граничного детектора состоит из следующих шагов:

  • размытие изображение методом Гаусса;
  • применение оператора Лапласса к размытому изображению (часто первые два шага объединены в один);
  • производим цикл вычислений и в полученном результате смотрим на смену знака. Если знак изменился с отрицательного на положительный и значение изменения значения более, чем некоторый заданный порог, то определить эту точку, как границу;
  • Для получения лучших результатов шаг с использованием оператора Лапласса можно выполнить через гистерезис так, как это реализовано в алгоритме Канни.

Выделение контура методом LoG

Алгоритм выделения контуров Лаплассиан Гауссиана был предложен в 1982 году. Данный алгоритм является второй производной, определенной как:

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

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

Детектор границ Канни

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

Алгоритм:

  • размытие исходного изображения f(r, c) с помощью функции Гаусса f^(r, c). f^(r, c)=f(r,c)*G(r,c,6);
  • выполнить поиск градиента. Границы намечаются там, где градиент принимает максимальное значение;
  • подавление не-максимумов. Только локальные максимумы отмечаются как границы;
  • итоговые границы определяются путем подавления всех краев, не связанных с определенными границами.

В отличии от операторов Робертса и Собеля, алгоритм Канни не очень восприимчив к шуму на изображении.

Экспериментальные результаты

В данном разделе представлены результаты работы описанных ранее алгоритмов обнаружения границ объектов на изображении.

Все описанные алгоритмы были реализованы в программной среде MATLAB R2009a и протестированы на фотографии университета. Цель эксперимента заключается в получении обработанного изображения с идеально выделенными контурами. Оригинальное изображение и результаты его обработки представлены на рисунке 1.

Рисунок 1 — Оригинальное изображение и результат работы различных алгоритмов выдеоения контуров


При анализе полученных результатов были выявлены следующие закономерности: операторы Робертса, Собеля и Превитта дают очень различные результаты. Marr-Hildreth, LoG и Канни практически одинаково обнаружили контуры объекта, Кирш и Робинсон дали такой же результат. Но наблюдая полученные результаты можно сделать вывод, что алгоритм Канни справляется на порядок лучше других.

Выводы

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

В данной статье была предпринята попытка изучить на практике методы выделения контуров объектов, основанных на разрывах яркости полутонового изображения. Исследование относительной производительности каждого из приведенных в данной статье методов осуществлялся с помощью программного средства MATLAB. Анализ результатов обработки изображения показал, что такие методы, как Marr-Hildreth, LoG и Канни дают практически одинаковые результаты. Но все же при обработке данного тестового изображения наилучшие результаты можно наблюдать после работы алгоритма Канни, хотя при других условиях лучшим может оказаться другой метод.

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

Список использованной литературы

1. Canny J.F. (1983) Finding edges and lines in images, Master"s thesis, MIT. AI Lab. TR-720.
2. Canny J.F. (1986) A computational approach to edge detection , IEEE Transaction on Pattern Analysis and Machine Intelligence, 8. — P. 679-714.
3. Courtney P, Thacker N.A. (2001) Performance Characterization in Computer Vision: The Role of Statistics in Testing and Design , Chapter in: Imaging and Vision Systems: Theory, Assessment and Applications , Jacques Blanc-Talon and Dan Popescu (Eds.), NOVA Science Books.
4. Hanzi Wang (2004) Robust Statistics for Computer Vision: Model Fitting, Image Segmentation and Visual Motion Analysis, Ph.D thesis, Monash University, Australia.
5. Huber P.J. (1981) Robust Statistics, Wiley New York.
6. Kirsch R. (1971) Computer determination of the constituent structure of biological images , Computers and Biomedical Research, 4. — P. 315–328.
7. Lakshmi S, Sankaranarayanan V. (2010) A Study of edge detection techniques for segmentation computing approaches , Computer Aided Soft Computing Techniques for Imaging and Biomedical Applications. — P. 35-41.
8. Lee K., Meer P. (1998) Robust Adaptive Segmentation of Range Images , IEEE Trans. Pattern Analysis and Machine Intelligence, 20(2). — P. 200-205.
9. Marr D, Hildreth E. (1980) Theory of edge detection , Proc. Royal Society of London, B, 207. — P. 187–217.
10. Marr D. (1982) Vision, Freeman Publishers.
11. Marr P., Doron Mintz. (1991) Robust Regression for Computer Vision: A Review , International Journal of Computer Vision, 6(1). — P. 59-70.
12. Orlando J. Tobias, Rui Seara (2002) Image Segmentation by Histogram Thresholding Using Fuzzy Sets , IEEE Transactions on Image Processing, Vol.11, No.12. — P. 1457-1465.
13. Punam Thakare (2011) A Study of Image Segmentation and Edge Detection Techniques , International Journal on Computer Science and Engineering, Vol 3, No.2. — P. 899-904.
14. Rafael C., Gonzalez, Richard E. Woods, Steven L. Eddins (2004) Digital Image Processing Using MATLAB, Pearson Education Ptd. Ltd, Singapore.
15. Ramadevi Y. (2010) Segmentation and object recognition using edge detection techniques , International Journal of Computer Science and Information Technology, Vol 2, No.6. — P. 153-161.
16. Roberts L. (1965) Machine Perception of 3-D Solids , Optical and Electro-optical Information Processing, MIT Press.
17. Robinson G. (1977) Edge detection by compass gradient masks , Computer graphics and image processing, 6. — P. 492-501.
18. Rousseeuw P. J., Leroy A. (1987) Robust Regression and outlier detection, John Wiley & Sons, New York.
19. Senthilkumaran N., Rajesh R. (2009) Edge Detection Techniques for Image Segmentation — A Survey of Soft Computing Approaches , International Journal of Recent Trends in Engineering, Vol. 1, No. 2. — P. 250-254.
20. Sowmya B., Sheelarani B. (2009) Colour Image Segmentation Using Soft Computing Techniques , International Journal of Soft Computing Applications, Issue 4. — P. 69-80.
21. Umesh Sehgal (2011) Edge detection techniques in digital image processing using Fuzzy Logic , International Journal of Research in IT and Management, Vol.1, Issue 3. — P. 61-66.
22. Yu, X, Bui, T.D. & et al. (1994) Robust Estimation for Range Image Segmentation and Reconstruction , IEEE trans. Pattern Analysis and Machine Intelligence, 16 (5). — P. 530-538.

1

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

распознавание образов

сегментация объектов интереса

медицинские изображения

1. Власов А.В., Цапко И.В. Модификация алгоритма Канни применительно к обработке рентгенографических изображений // Вестник науки Сибири. – 2013. – № 4(10). – С. 120–127.

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

3. Кулябичев Ю.П., Пивторацкая С.В. Структурный подход к выбору признаков в системах распознавания образов // Естественные и технические науки. – 2011. – № 4. – С. 420–423.

4. Никитин О.Р., Пасечник А.С. Оконтуривание и сегментация в задачах автоматизированной диагностики патологий // Методы и устройства передачи и обработки информации. – 2009. – № 11. – С. 300–309.

5. Canny J. A Computational approach to edge detection // IEEE Transactions on pattern analysis and machine intelligence. – 1986. – № 6. – P.679–698.

6. DICOM – Mode of access: http://iachel.ru/ zob23tai-staihroe/ DICOM

7. Doronicheva A.V., Sokolov A.A., Savin S.Z. Using Sobel operator for automatic edge detection in medical images // Journal of Mathematics and System Science. – 2014. – Vol. 4, № 4 – P. 257–260.

8. Jähne B., Scharr H., Körkel S. Principles of filter design // Handbook of Computer Vision and Applications. Academic Press. – 1999. – 584 p.

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

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

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

Материал и методы исследования

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

Рис. 1. Основные стадии цифровой обработки графических данных

Регистрация может быть достаточно простой, как в примере, когда исходное изображение является цифровым. Обычно этап регистрации изображения предполагает предварительную обработку данных, к примеру, увеличение масштаба изображения. Улучшение изображения входит в число наиболее простых и впечатляющих направлений предварительной обработки. Как правило, за методами улучшения информативности изображений определена задача поиска плохо различимых пикселей или увеличения контрастности на исходном изображении . Одним из часто используемых методов улучшения информативности изображений является усиление контраста изображения, так как усиливаются границы объекта интереса. Нужно учесть, что улучшение качества изображения - это в определенной степени субъективная задача в обработке изображений. Восстановление изображений - это задача также относится к повышению визуального качества данных. Методы восстановления изображений опираются на математические и вероятностные модели деформации графических данных. Обработку изображений как этап следует отделять от понятия обработки изображения как всего процесса изменений изображения и получения некоторых данных. Сегментация или процесс выделения объектов интереса делит изображение на составляющие объекты или части. Автоматизированное выделение объектов интереса является в определенной степени сложной задачей цифровой обработки изображений. Слишком детализированная сегментация делает процесс обработки изображения затруднительным, если необходимо выделить объекты интереса. Но некорректная или недостаточно детализированная сегментация в большинстве задач приводит к ошибкам на заключительном этапе обработки изображений. Представление и описание графических данных, как правило, следуют за этапом выделения объектов интереса на изображении, на выходе которого в большинстве случаев имеются необработанные пиксели, образующие границы области или формируют все пиксели областей. При таких вариантах требуется преобразование данных в вид, доступный для компьютерного анализа. Распознавание образов является процессом, который определяет к какому-либо объекту идентификатор (например, «лучевая кость») на основании его описаний . Определим взаимосвязь базы знаний с модулями обработки изображений. База знаний (то есть информация о проблемной области) некоторым образом зашифрована внутри самой системы обработки изображений. Это знание может быть достаточно простым, как, например, детальное указание объектов изображения, где должна находиться зона интереса. Такое знание дает возможность ограничения области поиска. База знаний управляет работой каждого модуля обработки и их взаимодействием, что отражено на рис. 1 стрелками, направленными в две стороны между модулями и базой знаний. Сохранение и печать результатов часто также требует использования специальных методов обработки изображений. Недостаток этих этапов обработки изображения в системе обработки медицинских изображений заключается в том, то, что ошибки, созданные на первых этапах обработки, к примеру при вводе или выделения объектов интереса на изображении, могут привести к невозможности корректной классификации. Обработка данных производится строго последовательно, и в большинстве случаев отсутствует возможность возвращения на предыдущие этапы обработки, даже если ранее были получены некорректные результаты . Методы на этапе предварительной обработки достаточно разнообразны - выделение объектов интереса, их масштабирование, цветовая коррекция, корректировка пространственного разрешения, изменение контрастности и т.п. Одно из приоритетных действий на этапе предварительной обработки изображения - это корректировка контрастности и яркости. При использовании соответствующих масок возможно объединить два этапа (фильтрация и предварительная обработка) для увеличения скорости анализа данных. Заключительный результат анализа изображений в большинстве случаев определен уровнем качества сегментации, а степень детализации объектов интереса зависит от конкретной поставленной задачи . По этой причине не разработан отдельный метод или алгоритм, подходящий для решения всех задач выделения объектов интереса. Оконтуривание областей предназначено для выделения на изображениях объектов с заданными свойствами. Данные объекты, как правило, соответствуют объектам или их частям, которые маркируют диагносты. Итогом оконтуривания является бинарное или иерархическое (мультифазное) изображение, где каждый уровень изображения соответствует определенному классу выделенных объектов. Сегментация - это сложный этап в обработке и анализе медицинских данных биологических тканей, поскольку необходимо оконтуривать области, которые соответствуют разным объектам или структурам на гистологических уровнях: клеткам, органоидам, артефактам и т.д. Это объясняется высокой вариабельностью их параметров, низким уровнем контрастности анализируемых изображений и сложной геометрической взаимосвязью объектов. В большинстве случаях для получения максимально эффективного результата необходимо последовательно использовать разные методы сегментации объектов интереса на изображении. К примеру, для определения границ объекта интереса применяется метод морфологического градиента, после которого для областей, которые подходят незначительным перепадам характеристик яркости, проводится пороговая сегментация . Для обработки изображений, у которых несвязанные однородные участки различны по средней яркости, был выбран метод сегментации Canny, исследования проводятся на клиническом примере. При распознавании реальных клинических изображений моделирование плохо применимо. Большое значение имеет практический опыт и экспертные заключения об итоге анализа изображений. Для тестового изображения выбран снимок компьютерной томографии, где в явном виде присутствует объект интереса, представленный на рис. 2.

Рис. 2. Снимок компьютерной томографии с объектом интереса

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

1) предобработка - размытие изображения (производим уменьшение дисперсии аддитивного шума);

2) проведение дифференцирования размытого изображения и последующее вычисление значений градиента по направлениям x и y;

3) реализация не максимального подавления на изображении;

4) пороговая обработка изображения .

На первом этапе алгоритма Canny происходит сглаживание изображения с помощью маски фильтром Гаусса. Уравнение распределения Гаусса в N измерениях имеет вид

или в частном случае для двух измерений

(2)

где r - это радиус размытия, r 2 = u 2 + v 2 ; σ - стандартное отклонение распределения Гаусса.

Если используем 2 измерения, то эта формула задает поверхность концентрических окружностей, имеющих распределение Гаусса от центральной точки. Пиксели с распределением, отличным от нуля, используются для задания матрицы свертки, применяемого к исходному изображению. Значение каждого пикселя становится средневзвешенным для окрестности. Начальное значение пикселя принимает максимальный вес (имеет максимальное Гауссово значение), а соседние пиксели принимают минимальные веса, в зависимости от расстояния до них . Теоретически распределение в каждой точке изображения должно быть ненулевым, что следует расчету весовых коэффициентов для каждого пикселя изображения. Но практически при расчёте дискретного приближения функции Гаусса не учитываются пиксели на расстоянии > 3σ, поскольку оно достаточно мало. Таким образом, программе, обрабатывающей изображение, необходимо рассчитать матрицу ×, чтобы дать гарантию достаточной точности приближения распределения Гаусса .

Результаты исследования и их обсуждение

Результат работы фильтра Гаусса при данных равных 5 для размера маски гаусса и 1,9 значении параметра σ - стандартного отклонения распределения Гаусса, представлен на рис. 3. Следующим шагом осуществляется поиск градиента области интереса при помощи свертки сглаженного изображения с производной от функции Гаусса в вертикальном и горизонтальном направлениях вектора.

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

Следующий шаг - использование порога, для определения нахождения границы в каждом заданном пикселе изображения. Чем меньше порог, тем больше границ будет находиться в объекте интереса, но тем более результат будет восприимчив к шуму, и оконтуривать лишние данные изображения. Высокий порог может проигнорировать слабые края области или получит границу несколькими областями. Оконтуривание границ применяет два порога фильтрации: если значение пикселя выше верхней границы - он принимает максимальное значение (граница считается достоверной), если ниже - пиксель подавляется, точки со значением, попадающим в диапазон между порогов, принимают фиксированное среднее значение. Пиксель присоединяется к группе, если он соприкасается с ней по одному из восьми направлений. Среди достоинств метода Canny можно считать то, что при обработке изображения осуществляется адаптация к особенностям сегментирования. Это достигается через ввод двухуровневого порога отсечения избыточных данных. Определяются два уровня порога, верхний - p high и нижний - p low , где p high > p low . Значения пикселей выше значения p high обозначаются как соответствующие границе (рис. 5).

Рис. 3. Применение фильтра Гаусса на компьютерной томограмме с объектом интереса

Рис. 4. Подавления не-максимумов на сегментируемом изображении

Рис. 5. Применение алгоритма сегментации Canny c разными значениями уровней порога

Практика показывает, что имеется некоторый интервал на шкале уровней порога чувствительности, при котором значение площади объекта интереса фактически неизменимое, но при этом существует определенный пороговый уровень, после которого отмечается «срыв» метода оконтуривания и итог выделения областей интереса становится неопределенным . Этот недостаток алгоритма, который можно компенсировать объединением алгоритма Canny с преобразованием Хафа для поиска окружностей. Сочетание алгоритмов позволяет максимально четко выделять объекты исследования, а также устранять разрывы в контурах .

Выводы

Таким образом, решена задача формулирования типовых характеристик патологических объектов на медицинских изображениях, что даст возможность в дальнейшем проводить оперативный анализ данных по конкретным патологиям. Важными параметрами для определения оценки качества сегментации являются вероятности ложной тревоги и пропуска - отказа. Эти параметры определяют применение автоматизации метода анализа. Сегментация при решении задачи классификации и распознавания объектов на изображениях является одной из первостепенных. Достаточно хорошо исследованы и применяются методы оконтуривания, базирующиея на сегментировании границ областей - Sobel, Canny, Prewit, Laplassian. Такой подход определен тем, что концентрация внимания человека при анализе изображений фокусируется зачастую на границах между более или менее однородными по яркости зонами. Исходя из этого, контуры часто выполняют задачу основы определения различных характеристик для интерпретирования изображений и объектов на них. Основная задача алгоритмов сегментирования зон интересов - это построение бинарного изображения, которое содержит замкнутые структурные области данных на изображении. Относительно к медицинским изображениям данными областями выступают границы органов, вены, МКЦ, а также опухоли. Разработанные принципы компьютерного автоматизированного анализа медицинских изображений эффективно используются как для оперативных задач медицинской диагностики специализированного онкологического учреждения, так и в учебных целях.

Исследовано при поддержке программы «Дальний Восток», грант № 15-I-4-014o.

Рецензенты:

Косых Н.Э., д.м.н., профессор, главный научный сотрудник, ФГБУН «Вычислительный центр» ДВО РАН, г. Хабаровск;

Левкова Е.А., д.м.н., профессор, ГОУ ВПО «Дальневосточный государственный университет путей сообщения», г. Хабаровск.

Библиографическая ссылка

Дороничева А.В., Савин С.З. МЕТОД СЕГМЕНТАЦИИ МЕДИЦИНСКИХ ИЗОБРАЖЕНИЙ // Фундаментальные исследования. – 2015. – № 5-2. – С. 294-298;
URL: http://fundamental-research.ru/ru/article/view?id=38210 (дата обращения: 06.04.2019). Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»

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

Алгоритм сегментации по водоразделам (WaterShed)


Алгоритм работает с изображением как с функцией от двух переменных f=I(x,y) , где x,y – координаты пикселя:


Значением функции может быть интенсивность или модуль градиента. Для наибольшего контраста можно взять градиент от изображения. Если по оси OZ откладывать абсолютное значение градиента, то в местах перепада интенсивности образуются хребты, а в однородных регионах – равнины. После нахождения минимумов функции f , идет процесс заполнения “водой”, который начинается с глобального минимума. Как только уровень воды достигает значения очередного локального минимума, начинается его заполнение водой. Когда два региона начинают сливаться, строится перегородка, чтобы предотвратить объединение областей . Вода продолжит подниматься до тех пор, пока регионы не будут отделяться только искусственно построенными перегородками (рис.1).




Рис.1. Иллюстрация процесса заполнения водой

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


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


Рис. 3. Изображение после сегментации алгоритмом WaterShed

Как справиться с мелкими деталями?

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


Рис. 4. Изображение с маркерами


Рис. 5. Изображение после сегментации алгоритмом WaterShed с использованием маркеров

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


Рис. 6. В качестве маркеров использовались контуры, имеющие длину выше определенного порога


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

Mat image = imread("coins.jpg", CV_LOAD_IMAGE_COLOR); // выделим контуры Mat imageGray, imageBin; cvtColor(image, imageGray, CV_BGR2GRAY); threshold(imageGray, imageBin, 100, 255, THRESH_BINARY); std::vector > contours; std::vector hierarchy; findContours(imageBin, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE); Mat markers(image.size(), CV_32SC1); markers = Scalar::all(0); int compCount = 0; for(int idx = 0; idx >= 0; idx = hierarchy, compCount++) { drawContours(markers, contours, idx, Scalar::all(compCount+1), -1, 8, hierarchy, INT_MAX); } std::vector colorTab(compCount); for(int i = 0; i < compCount; i++) { colorTab[i] = Vec3b(rand()&255, rand()&255, rand()&255); } watershed(image, markers); Mat wshed(markers.size(), CV_8UC3); for(int i = 0; i < markers.rows; i++) { for(int j = 0; j < markers.cols; j++) { int index = markers.at(i, j); if(index == -1) wshed.at(i, j) = Vec3b(0, 0, 0); else if (index == 0) wshed.at(i, j) = Vec3b(255, 255, 255); else wshed.at(i, j) = colorTab; } } imshow("watershed transform", wshed); waitKey(0);

Алгоритм сегментации MeanShift

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


Например, в качестве координат в пространстве признаков можно выбрать координаты пикселя (x, y) и компоненты RGB пикселя. Изобразив пиксели в пространстве признаков, можно заметить сгущения в определенных местах.

Рис. 7. (a) Пиксели в двухмерном пространстве признаков. (b) Пиксели, пришедшие в один локальный максимум, окрашены в один цвет. (с) - функция плотности, максимумы соответствуют местам наибольшей концентрации пикселей. Рисунок взят из статьи .

Чтобы легче было описывать сгущения точек, вводится функция плотности :
– вектор признаков i -ого пикселя, d - количество признаков, N - число пикселей, h - параметр, отвечающий за гладкость, - ядро. Максимумы функции расположены в точках сгущения пикселей изображения в пространстве признаков. Пиксели, принадлежащие одному локальному максимуму, объединяются в один сегмент. Получается, чтобы найти к какому из центров сгущения относится пиксель, надо шагать по градиенту для нахождения ближайшего локального максимума.

Оценка градиента от функции плотности

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


- это объем d -мерной сферы c единичным радиусом.


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


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


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

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

Пример кода для запуска алгоритма:

Mat image = imread("strawberry.jpg", CV_LOAD_IMAGE_COLOR); Mat imageSegment; int spatialRadius = 35; int colorRadius = 60; int pyramidLevels = 3; pyrMeanShiftFiltering(image, imageSegment, spatialRadius, colorRadius, pyramidLevels); imshow("MeanShift", imageSegment); waitKey(0);
Результат:


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


Рис. 9. После сегментации алгоритмом MeanShift

Алгоритм сегментации FloodFill

С помощью FloodFill (заливка или метод «наводнения») можно выделить однородные по цвету регионы. Для этого нужно выбрать начальный пиксель и задать интервал изменения цвета соседних пикселей относительно исходного. Интервал может быть и несимметричным. Алгоритм будет объединять пиксели в один сегмент (заливая их одним цветом), если они попадают в указанный диапазон. На выходе будет сегмент, залитый определенным цветом, и его площадь в пикселях.

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

Рис. 10, 11. Исходное изображение и результат после заливки нескольких областей

А на следующих картинках показан вариант работы FloodFill в случае повреждения одной из границ в предыдущем изображении.


Рис. 12, 13. Иллюстрация работы FloodFill при нарушение целостности границы между заливаемыми областями

Пример кода для запуска алгоритма:

Mat image = imread("cherry.jpg", CV_LOAD_IMAGE_COLOR); Point startPoint; startPoint.x = image.cols / 2; startPoint.y = image.rows / 2; Scalar loDiff(20, 20, 255); Scalar upDiff(5, 5, 255); Scalar fillColor(0, 0, 255); int neighbors = 8; Rect domain; int area = floodFill(image, startPoint, fillColor, &domain, loDiff, upDiff, neighbors); rectangle(image, domain, Scalar(255, 0, 0)); imshow("floodFill segmentation", image); waitKey(0);
В переменную area запишется количество “залитых" пикселей.
Результат:


Алгоритм сегментации GrabCut

Это интерактивный алгоритм выделения объекта, разрабатывался как более удобная альтернатива магнитному лассо (чтобы выделить объект, пользователю требовалось обвести его контур с помощью мыши). Для работы алгоритма достаточно заключить объект вместе с частью фона в прямоугольник (grab). Сегментирование объекта произойдет автоматически (cut).


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


Рассмотрим идею алгоритма. За основу взят алгоритм интерактивной сегментации GraphCut, где пользователю надо поставить маркеры на фон и на объект. Изображение рассматривается как массив . Z - значения интенсивности пикселей, N -общее число пикселей. Для отделения объекта от фона алгоритм определяет значения элементов массива прозрачности , причем может принимать два значения, если = 0 , значит пиксель принадлежит фону, если= 1 , то объекту. Внутренний параметр содержит гистограмму распределения интенсивности переднего плана и гистограмму фона:
.
Задача сегментации - найти неизвестные . Рассматривается функция энергии:

Причем минимум энергии соответствует наилучшей сегментации.


V (a, z) - слагаемое отвечает за связь между пикселями. Сумма идет по всем парам пикселей, которые являются соседями, dis(m,n) - евклидово расстояние. отвечает за участие пар пикселей в сумме, если a n = a m , то эта пара не будет учитываться.
- отвечает за качество сегментации, т.е. разделение объекта от фона.

Найдя глобальный минимум функции энергии E , получим массив прозрачности . Для минимизации функции энергии, изображение описывается как граф и ищется минимальный разрез графа. В отличие от GraphCut в алгоритме GrabCut пиксели рассматриваются в RGB пространстве, поэтому для описания цветовой статистики используют смесь гауссиан (Gaussian Mixture Model - GMM). Работу алгоритма GrabCut можно посмотреть, запустив сэмпл OpenCV



Рекомендуем почитать

Наверх