Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

PUPIL CENTER DETECTION ALGORITHM FOR VIDEONYSTAGMOGRAPHY SYSTEMS

Neprokin A.V. 1 Gorbunov A.V. 1 Solopakho A.V. 1 Tugolukov E.N. 1
1 Tambov State Technical University
An algorithm for pupil center detection for infrared illuminated camera images has been developed. Particular attention has been paid to the algorithms of videonistamography systems. As a result of the analysis the advantages and disadvantages of existing methods and further prospects for the development of information systems for the analysis of oculomotor disorders has been highlighted. An original algorithm for determining the coordinates of the pupil center in images consisting of five main stages has been proposed. At the initial stage, a preliminary image processing is carried out followed by the procedure of adaptive threshold binarization of the video sequences including the construction of histograms for several frames and calculation of their first local minimum. On the obtained binary images will be found a cluster of black pixels that forms the pupil and the coordinates of the center of this cluster will be calculated further. The implemented algorithm shows the effectiveness with real time video processing, in the presence of noise, irregularity of infrared illumination of cameras, image defects that is especially relevant for building systems of eye movements analysis based on the available hardware. The prospects of further application of the algorithm in information systems of eye movement analysis has been highlighted.
image processing
image analysis
videonystagmography
pattern recognition
computer vision
pupil detection

Видеонистагмография (ВНГ) – это сравнительно новый метод диагностики заболеваний вестибулярного аппарата. Системы видеонистагмографии (видеоокулографии) являются на сегодняшний день наиболее объективным методом количественной оценки движений глаз при различных неврологических заболеваниях, имеющим ряд преимуществ по сравнению с методиками, которые использовались ранее [1, 2].

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

Основная задача программного обеспечения системы видеонистагмографии – проводить распознавание зрачка и его центра с восстановлением траектории его движения. Существующие коммерческие системы ВНГ имеют проприетарное программное обеспечение, поэтому изучение методов и алгоритмов обработки изображений в подобных системах не представляется возможным. При разработке подобных систем часто применяют специализированные библиотеки, в которых реализованы методы компьютерного зрения. В зависимости от конкретного метода обработки видеоданных определяется либо центр зрачка, либо его границы. При выборе метода обработки изображений необходимо учитывать условия проведения съемки и конфигурацию системы (равномерность инфракрасной подсветки камер, наличие шумов на получаемом изображении), а также вычислительную сложность, поскольку нахождение координат центра зрачка должно проводиться в реальном времени при достаточно высокой частоте кадров (30–60 кадров/с для анализа нистагма и более 60 кадров/с для анализа саккад) [2].

На сегодняшний день существует ряд алгоритмов вычисления центра зрачка на изображении [4]. При оценке их эффективности часто используют изображения из открытых баз данных, например CASIA Iris Image Database, где, как правило, кадры получены в «идеальных» условиях (с помощью стационарных установок, когда взгляд направлен прямо в камеру, в отсутствие шумов от неравномерности подсветки и бликов). «Классические» подходы при решении данного класса задач подразумевают предварительную пороговую бинаризацию изображения и дальнейшее применение преобразования Хафа, морфологических операций и/или нахождения контуров, формирующих зрачок.

Большая группа методов [5–8] основана на применении преобразования Хафа, при котором задача поиска зрачка и его центра на изображении сводится к нахождению окружности, которую образуют пиксели зрачка. Преобразование Хафа (англ. Hough Transform), разработанное в прошлом веке, стало эффективным средством решения задач биометрической идентификации и пупиллометрии [8]. Однако данный алгоритм неудобен для работы с видеорядом, так как требует постоянного подбора параметров для каждого кадра и больших временных затрат на обработку изображения [9]. Граница зрачка является округлым контуром, но её отличия по радиусу от аппроксимирующей окружности в половине случаев достигают 5 % радиуса, иногда превышают 10 %.

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

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

В системах для отслеживания направления взгляда (eye tracking) для выделения контура зрачка часто применяют детектор границ Канни с последующим расчетом центра масс найденных контуров [10, 11]. Недостаток данного метода заключается в том, что на бинарном изображении находится множество контуров, в том числе бликов подсветки и различных шумов от темных областей на изображении. При этом вычисляемый центр масс будет смещаться в направлении контуров, формирующих компоненты, оставшиеся после бинаризации. В этом случае возможно применение дополнительной фильтрации контуров, связанной с нахождением области интереса, в которой находится зрачок [11], что, однако, существенно повысит вычислительную сложность и время выполнения алгоритма.

missing image file

Рис. 1. Пример бинаризации зашумленного изображения (слева) и обнаружения ложной окружности с помощью преобразования Хафа (справа)

missing image file

Рис. 2. Основные этапы алгоритма нахождения центра зрачка

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

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

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

1. Первоначально проводится предварительная обработка изображения, которая заключается в переводе оригинального RGB изображения в оттенки серого. Большинство библиотек компьютерного зрения (например, OpenCV) работают именно с таким форматом изображений. Затем изображение уменьшается в 4–5 раз, с сохранением соотношения сторон, для уменьшения объема обрабатываемой информации.

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

missing image file,

где N – размер плеча (подбирается эмпирически), k – номер члена ряда, значение которого заменяется средним.

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

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

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

Всем пикселям изображения (M), значения которых меньше порога (θ), присваивается значение 1 (черный цвет), а оставшимся пикселям, где значение больше, присваивается 0 (белый цвет):

missing image file.

4. На полученном бинарном изображении находится наибольший кластер из связанных черных пикселей (по принципу 4-связности). Это необходимо для фильтрации шумов на изображении и получения более статистически устойчивых результатов при вычислении координаты центра зрачка (кластера).

5. Анализ выделенного кластера с целью определения его центра проводится следующим образом:

− Определяются минимальная и максимальная (по кластеру) строки.

− Для каждой из строк этого диапазона определяются крайние пиксели и тем самым и вес каждой строки (ее длина).

missing image file

Рис. 3. Оригинальная гистограмма изображения (оранжевым цветом), гистограмма после сглаживания (синим цветом). Красным отмечен найденный порог. По оси абсцисс – интенсивность пикселей (от 0 до 255), по оси ординат – количество пикселей

− Формируются суммы номеров строк кластера (S1) с учетом их весов и центров строк кластера (S2) с учетом их весов:

missing image file;

missing image file

где Imin и Imax – крайние пиксели кластера; i – номер строки; Jmax и Jmin – крайние пиксели строк кластера.

На итоговом шаге находятся средние этих сумм, которые и задают искомый центр зрачка:

missing image file, missing image file

missing image file.

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

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

Таким образом, был разработан оригинальный алгоритм нахождения центра зрачка на изображении для систем видеонистагмографии. Время обработки одного кадра разрешением 1280 на 720 пикселей составляет не более 10 мс, что позволяет применять алгоритм в информационных системах анализа движений глаз в реальном времени.

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

missing image file

Рис. 4. Слева направо: результат пороговой бинаризации по найденному минимуму, результат фильтрации (нахождения кластера зрачка), найденный центр зрачка

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

Заключение

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

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