Введение
Сетчатка глаз, как и любой другой объект, имеет свои признаки. Основными её признаками являются кровеносные сосуды, оптический диск и макулярная область (рис. 1).
Рис. 1. Строение сетчатки глаза
Как правило, при аутентификации сравнивают только кровеносные сосуды либо признаки, связанные с ними, поскольку их уникальность легко различима. Диск же может служить только в качестве дополнительного параметра для сопоставления, однако применяется это довольно редко. Макулярная область для целей аутентификации не используется совсем.
Сегментация кровеносных сосудов
Перед тем, как приступить к сегментации, для получения более точных результатов необходимо улучшить контрастность между фоном и сегментируемым объектом.
Рис. 2. Пример из базы даных DRIVE (cерый канал — слева, зелёный канал — справа)
Помимо использования зелёного канала применяется контрастно-ограниченное адаптивное выравнивание гистограммы (contrast limited adaptive histogram equalization – clahe). Результат алгоритма представлен на рис. 3.
Рис. 3. Clahe (слева – исходное изображение, справа – изображение после применения алгоритма)
Удаление фона при помощи average фильтра
Для упрощения сегментации сосудов вначале удаляется фон. Это делается при помощи вычитания исходного изображения из сглаженного average фильтром изображения. Размеры окна фильтра выбираются равными максимальной толщине сосудов в пикселях.
Для удаления границ круга вычисляется его маска (рис. 4) при помощи порогового преобразования и морфологического открытия и вычитается из полученного на предыдущем шаге изображения. После чего ещё раз применяется clahe. Результат изображён на рис. 5.
Рис. 4. Маска сетчатки
Рис. 5. Удаление фона (слева — результат average фильтра, справа — после вычитания и clahe)
Далее применяется автоматическое пороговое преобразование методом Otsu, медианный фильтр и фильтр по длине. Результат алгоритма сегментации и эталон показаны на рис. 6.
Для удобства данный алгоритм сегментации и алгоритм удаления фона оба будут в дальнейшем называться background exclusion.
Рис. 6. Результат сегментации (слева – результат алгоритма, справа – эталон, размеченный вручную экспертом)
Фильтр Габора
Данный метод сегментации основан на применении серии фильтров Габора. Отличительной особенностью данного фильтра является то, что он способен выделять прямые линии определённого размера и под определённым углом.
Действительная часть этого фильтра выглядит следующим образом:
где
- , – координаты ядра в заранее заданных пределах;
- – период ядра в пикселях;
- – наклон ядра;
- – дисперсия Гауссиана;
- – смещение фазы ядра;
- – сжатие Гауссиана.
Таким образом, чтобы выделить сосуды, нужно применить фильтр Габора с различными углами наклона ядра и посчитать максимальный отклик каждого пикселя на серию фильтров.
Как видно на рис. 7, большая часть шумов исчезла, однако оптический диск, фон и макулярная область по-прежнему остались. Чтобы их исключить, перед серией фильтров Габора применяется алгоритм удаления фона с теми же параметрами, что и в предыдущем разделе. Результат представлен на рис. 8.
Рис. 7. Фильтр Габора (слева – исходное изображение после clahe, справа – результат применения серии габоровских фильтров)
Рис. 8. Удаление фона + фильтра Габора (слева – исходное изображение, полученное при помощи алгоритма background exclusion, справа – результат применения серии габоровских фильтров)
Следующим шагом алгоритма является пороговое преобразование.
Чтобы метод Otsu показывал более точные результаты сегментации, необходимо преобразовать все цвета, являющиеся фоном, в один цвет. Для этого рассмотрим гистограмму правого изображения рис. 8 (рис. 9):
Рис. 9. Гистограмма изображения, полученного при помощи серии фильтров Габора
Из графика видно, что пик количества пикселей приходится на серый фон. Поэтому пиксели, цвет которых находится справа от пика, можно перекрасить в другой цвет. Однако небольшой шум всё же будет присутствовать на сегментированном изображении. Чтобы его устранить, можно сместить границу порогового преобразования от пика влево.
Введём параметр чувствительности алгоритма от 0 до 100. Границей порогового преобразования будет ближайший цвет, количество пикселей которого не превосходит значение параметра чувствительности слева от пика. Найденное значение будет новым значением интенсивности пикселей, находящихся справа от границы. Результат представлен на рис. 10.
Рис. 10. Пороговое преобразование интенсивности изображения (слева – исходное изображение, полученное после перекрашивания пикселей в соответствии с параметром чувствительности, справа – результат метода Otsu)
В реализации фильтр Габора использовался со следующими параметрами:
- размер ядра – 15 x 15;
- – 4;
- – от 0 до 170 градусов с шагом 10;
- – 1;
- – 0;
- – 0.15.
Приведённые выше параметры подбирались для базы данных DRIVE.
Параметры эффективности алгоритма:
- 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
ссылка на оригинал статьи http://habrahabr.ru/post/259017/
Добавить комментарий