[Из песочницы] Сегментация кровеносных сосудов

Введение Сетчатка глаз, как и любой другой объект, имеет свои признаки. Основными её признаками являются кровеносные сосуды, оптический диск и макулярная область (рис. 1).imageРис. 1. Строение сетчатки глаза

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

Сегментация кровеносных сосудов Перед тем, как приступить к сегментации, для получения более точных результатов необходимо улучшить контрастность между фоном и сегментируемым объектом.Улучшение контрастности между фоном и кровеносными сосудами При сегментации кровеносных сосудов по возможности используется зелёный канал вместо привычного серого (рис. 2). Это делается потому, что зелёный канал содержит максимальную локальную контрастность между фоном и объектом.imageРис. 2. Пример из базы данных DRIVE (серый канал — слева, зелёный канал — справа)

Помимо использования зелёного канала применяется контрастно-ограниченное адаптивное выравнивание гистограммы (contrast limited adaptive histogram equalization — clahe). Результат алгоритма представлен на рис. 3.

imageРис. 3. Clahe (слева — исходное изображение, справа — изображение после применения алгоритма)

Удаление фона при помощи average фильтра Для упрощения сегментации сосудов вначале удаляется фон. Это делается при помощи вычитания исходного изображения из сглаженного average фильтром изображения. Размеры окна фильтра выбираются равными максимальной толщине сосудов в пикселях.Для удаления границ круга вычисляется его маска (рис. 4) при помощи порогового преобразования и морфологического открытия и вычитается из полученного на предыдущем шаге изображения. После чего ещё раз применяется clahe. Результат изображён на рис. 5.

imageРис. 4. Маска сетчатки

imageРис. 5. Удаление фона (слева — результат average фильтра, справа — после вычитания и clahe)

Далее применяется автоматическое пороговое преобразование методом Otsu, медианный фильтр и фильтр по длине. Результат алгоритма сегментации и эталон показаны на рис. 6.

Для удобства данный алгоритм сегментации и алгоритм удаления фона оба будут в дальнейшем называться background exclusion.

imageРис. 6. Результат сегментации (слева — результат алгоритма, справа — эталон, размеченный вручную экспертом)

Фильтр Габора Данный метод сегментации основан на применении серии фильтров Габора. Отличительной особенностью данного фильтра является то, что он способен выделять прямые линии определённого размера и под определённым углом.Действительная часть этого фильтра выглядит следующим образом: imageгде

Таким образом, чтобы выделить сосуды, нужно применить фильтр Габора с различными углами наклона ядра и посчитать максимальный отклик каждого пикселя на серию фильтров.Как видно на рис. 7, большая часть шумов исчезла, однако оптический диск, фон и макулярная область по-прежнему остались. Чтобы их исключить, перед серией фильтров Габора применяется алгоритм удаления фона с теми же параметрами, что и в предыдущем разделе. Результат представлен на рис. 8.

imageРис. 7. Фильтр Габора (слева — исходное изображение после clahe, справа — результат применения серии габоровских фильтров)

imageРис. 8. Удаление фона + фильтра Габора (слева — исходное изображение, полученное при помощи алгоритма background exclusion, справа — результат применения серии габоровских фильтров)

Следующим шагом алгоритма является пороговое преобразование.Чтобы метод Otsu показывал более точные результаты сегментации, необходимо преобразовать все цвета, являющиеся фоном, в один цвет. Для этого рассмотрим гистограмму правого изображения рис. 8 (рис. 9):

imageРис. 9. Гистограмма изображения, полученного при помощи серии фильтров Габора

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

Введём параметр чувствительности алгоритма от 0 до 100. Границей порогового преобразования будет ближайший цвет, количество пикселей которого не превосходит значение параметра чувствительности слева от пика. Найденное значение будет новым значением интенсивности пикселей, находящихся справа от границы. Результат представлен на рис. 10.

imageРис. 10. Пороговое преобразование интенсивности изображения (слева — исходное изображение, полученное после перекрашивания пикселей в соответствии с параметром чувствительности, справа — результат метода Otsu)

В реализации фильтр Габора использовался со следующими параметрами:

Приведённые выше параметры подбирались для базы данных DRIVE.Тестирование алгоритмов сегментации Алгоритм тестировался на двух базах данных: DRIVE и STARE. Первая база состоит из 40 изображений, полученных при помощи камеры Canon CR5 в 24-битном цветовом пространстве и c разрешением 565×584. Вторая база данных состоит из 20 изображений, полученных при помощи камеры TopCon TRV-50 в 24-битном цветовом пространстве и c разрешением 700×605. Обе базы данных предоставляют размеченные вручную экспертами эталоны сегментации сосудов.Параметры эффективности алгоритма:

P — количество пикселей, соответствующих сосудам; N — количество пикселей, соответствующих фону; TP — количество пикселей, являющихся частью сосуда и определённых как пиксель сосуда; TN — количество пикселей, не являющихся частью сосуда и определённых как фон; FP — количество пикселей, не являющихся частью сосуда и определённых как пиксель сосуда; FN — количество пикселей, являющихся частью сосуда и определённых как фон; Sensitivity= TP/(TP+FN); Specificity= TN/(TN+FP); Accuracy= (TP+TN)/(P+N). Эффективность различных алгоритмов сегментации кровеносных сосудов на базе данных DRIVE

Метод сегментации Accuracy Sensitivity Specificity Human observer 0.9473 0.7761 0.9725 Staal et al. 0.9442 0.7345 0.9773 Niemeijer et al. 0.9416 0.7145 0.9801 Zana and Klein 0.9377 0.6971 0.9769 Jiang and Mojon 0.9212 0.6399 0.9625 Vlachos and Dermatas 0.9285 0.7468 0.9551 Wang et al. 0.9461 N/A N/A Martinez-Perez et al. 0.9181 0.6389 0.9496 Szpak and Tapamo 0.9299 N/A N/A Chaudhuri et al. 0.8773 0.3357 0.9794 Soares et al. 0.9466 N/A N/A Akram and Khan 0.9469 N/A N/A Mendonca and Campilho 0.9463 0.7315 N/A Marin et al. 0.9452 0.7067 0.9801 Ricci and Perfetti 0.9595 N/A N/A Xiao et al. 0.9529 0.7513 0.9792 Yin et al. 0.9267 0.6522 0.9710 Chakraborti et al. 0.9370 0.7205 0.9579 Background exclusion 0.9501 0.7183 0.9722 Background exclusion + Gabor 0.9580 0.7174 0.9809 Эффективность различных алгоритмов сегментации кровеносных сосудов на базе данных STAREМетод сегментации Accuracy Sensitivity Specificity Human observer 0.9354 0.8949 N/A Hoover 0.9275 0.6751 0.9567 Staal et al. 0.9516 0.6970 N/A Jiang and Mojon 0.9009 N/A N/A Marin et al. 0.9526 0.6944 0.9819 Ricci and Perfetti 0.9584 N/A N/A Soares et al. 0.9480 N/A N/A Akram and Khan 0.9502 N/A N/A Wang et al. 0.9521 N/A N/A Mendonca and Campilho 0.9479 0.7123 N/A Xiao et al. 0.9476 0.7147 0.9735 Yin et al. 0.9412 0.7248 0.9666 Chakraborti et al. 0.9379 0.6786 0.9586 Background exclusion 0.9562 0.7379 0.9742 Background exclusion + Gabor 0.9381 0.7918 0.9502 Список использованных источников и литературы Marwan D. Saleh, C. Eswaran, and Ahmed Mueen. An Automated Blood Vessel Segmentation Algorithm Using Histogram Equalization and Automatic Threshold Selection // Journal of Digital Imaging, Vol 24, No 4 (August), 2011, pp 564–572 P.C. Siddalingaswamy, K. Gopalakrishna Prabhu. Automatic detection of multiple oriented blood vessels in retinal images // J. Biomedical Science and Engineering, 2010, 3, pp 101–107 www.isi.uu.nl/Research/Databases/DRIVE www.ces.clemson.edu/~ahoover/stare

© Habrahabr.ru