Поиск по сайту Поиск

Методы распознавания радужной оболочки глаз. Часть 1

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

Введение

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

Одно из исследований проводилось в рамках конкурса NICE (Noisy Iris Challenge Evaluation) с использованием набора данных UBIRIS (University of Beira Iris). Датасет содержит изображения глаз, снятые с расстояния от четырёх до восьми метров в различных условиях. Многие фотографии сделаны с плохой фокусировкой, неудачным углом обзора, плохим освещением и другими зашумлениями для имитации реальных трудностей, с которыми можно столкнуться при распознавании радужной оболочки. На рисунке ниже показаны примеры снимков низкого качества.

(a) — глаза находятся за очками, (b) — взгляд под углом и блик, (c) — размытие, (d) — глаз закрыт веком и ресницами

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

Метод 1. Три нейросети

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

— Получение трёх изображений

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

(a) — радужная оболочка, (b) — первая периокулярная область, (c) — вторая периокулярная область

— Нормализация

Размер радужных оболочек может отличаться даже у глаз одного человека. Кроме того, зрачок может расширяться или сужаться при изменении уровня освещения. Чтобы эти факторы не влияли на процесс, выполняется нормализация полученных областей в изображения с полярными координатами, разделённые на секторы — одинаковые участки размером в один пиксель. Всего получается 8x256 секторов.

— CNN

Традиционные архитектуры, такие как AlexNet и VGGNet, обычно принимают на вход квадратные фотографии и используют симметричные фильтры. Однако полученные в результате нормализации изображения имеют несимметричный размер (8x256), поэтому предварительно обученные CNN для них не подходят. Чтобы решить эту проблему, исследователи предложили новую структуру нейросети с несимметричными фильтрами. 

Сеть состоит из восьми свёрточных слоёв и использует нестандартные размеры фильтров: 1x13x3, 1x13x64, 1x13x128 и так далее. Причины использования таких размеров заключались в том, что ширина изображения в полярных координатах намного превышает высоту, а вертикальная корреляция рисунка радужки больше, чем горизонтальная. Следовательно, эту избыточность можно уменьшить только с помощью фильтра, ширина которого намного больше высоты. 

Завершают структуру три полносвязных слоя. Подобная архитектура используется для всех трёх свёрточных нейросетей.

— Результаты экспериментов

Используемый датасет NICE.II содержит 1000 фотографий глаз и 171 класс. Для качественного обучения нейросети такого объёма данных обычно недостаточно. Поэтому датасет был дополнен до 81000 образцов с помощью различных операций над изображениями, а затем разделён на две подвыборки A и B примерно по 40000 образцов в каждой.

Для обучения нейросети использовался фреймворк Caffe, кросс-энтропийная функция потерь и оптимизатор Adam. 

Оценка точности модели проводилась с помощью биометрических метрик:

— ложное распознавание (False Access Rate, FAR)

— отказ распознавания (False Reject Rate, FRR)

Уровень ошибок в случае, когда FAR=FRR, называется EER (equal error rate) и обычно применяется для сравнения разных биометрических методов (чем он меньше, тем лучше). Также для оценки модели использовался индекс чувствительности (d-Prime Value) — чем выше его значение, тем эффективнее работает биометрическая система.

Чтобы оценить модель на фотографиях, снятых на обычные смартфоны, исследователи провели эксперимент с датасетом MICHE. Он содержит снимки глаз, сделанные на iPhone 5, Galaxy Tab2 и Galaxy S4. В таблице ниже можно увидеть сравнение описанного метода с другими существующими алгоритмами. Оценки ERR и d-Prime показывают, что решение достигает более высокой точности.

Сравнение предлагаемого решения с методами Abate и др., Barra и др., Raja и др., Santos и др.

В дальнейшем исследователи планируют улучшить точность распознавания, разработав более глубокую структуру CNN и дополнив её другими методами извлечения признаков из изображений. 

Метод 2. IrisDenseNet

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

На рисунке ниже показана архитектура нейросети. Она состоит из 13 слоёв и использует сочетание двух методов: свёрточная сеть с усиленным распространением признаков (DenseNet) и сеть типа энкодер-декодер SegNet. Это позволяет значительно улучшить процесс извлечения и распознавания признаков.

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

На рисунке ниже показаны успешные результаты сегментации, полученные IrisDenseNet.Эффективность метода измеряется метрикой Ea — средней ошибкой (чем меньше, тем лучше). Для наглядного представления результата определены два типа ошибок: ложноположительная и ложноотрицательная. Первая — ложноположительная классификация пикселя, не принадлежащего радужной оболочке, а вторая —  ложноотрицательная классификация пикселя оболочки. Ложноположительные и отрицательные ошибки отмечены зелёным и красным цветами соответственно.

(a) — исходное изображение, (b) — истинное изображение, (с) — результат сегментации IrisDenseNet

Алгоритм также был протестирован на наборе данных MICHE и показал следующие результаты:

Сравнение IrisDenseNet с методами Hu и др., Arslan и др., Seg-Net-Basic

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

⌘⌘⌘

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

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

C оригинальными материалами (1, 2) можно ознакомиться на сайте Национального центра биотехнологической информации.

Анализ производительности нейросетей на GPU с помощью NVIDIA Visual Profiler (часть 1)

Анализ производительности нейросетей на GPU с помощью NVIDIA Visual Profiler (часть 1)

Специалисты Data Science делятся на два лагеря: те, кому кажется, что нейросети обучаются слишком медленно, и те, кому скоро тоже...
Read More
Админ, нас атакуют или Как защитить дедик от брута

Админ, нас атакуют или Как защитить дедик от брута

Любому серверу для хорошей работы нужны три вещи: топовое железо, надёжное подключение и грамотный админ. Но всё это станет бессмысленным,...
Read More
7 советов для работы с небольшими данными

7 советов для работы с небольшими данными

В современном мире считается, что Big Data — ключ к созданию успешных проектов машинного обучения. Но проблема в том, что...
Read More
Квантовые нейронные сети на процессорах будущего

Квантовые нейронные сети на процессорах будущего

Законы квантовой механики в теории позволяют создать новый тип вычислительных машин, способных решать сверхпроизводительные задачи, недоступные даже самым мощным современным...
Read More
Стэнфордский курс: лекция 7. Обучение нейросетей, часть 2

Стэнфордский курс: лекция 7. Обучение нейросетей, часть 2

В шестой лекции мы начали рассказывать про обучение нейросетей: выяснили, как выбрать функцию активации, подготавливать данные, настраивать параметры и следить...
Read More
Нейросеть распознаёт узор вязания по фото

Нейросеть распознаёт узор вязания по фото

Автоматизированным производством сегодня уже никого не удивишь. Но мы попробуем. Один из наиболее необычных примеров автоматических устройств — вязальные машины,...
Read More
Бариста, учитель и работник типографии: кем были сотрудники REG.RU до того, как стали айтишниками

Бариста, учитель и работник типографии: кем были сотрудники REG.RU до того, как стали айтишниками

Сегодня, 30 сентября, День Интернета в России. В честь этой даты мы расскажем семь историй о том, как сотрудники REG.RU...
Read More
Чек-лист, который заряжен на защиту домена

Чек-лист, который заряжен на защиту домена

Время от времени мы сталкиваемся со случаями, когда мошенники уводят домены наших клиентов. Происходит это по самым разным причинам: от...
Read More
Методы распознавания радужной оболочки глаз. Часть 1

Методы распознавания радужной оболочки глаз. Часть 1

Не так давно идентификация людей по радужной оболочке глаз казалась фантастической технологией, использующейся только для защиты суперсекретных военных и правительственных...
Read More
Стэнфордский курс: лекция 6. Обучение нейросетей, часть 1

Стэнфордский курс: лекция 6. Обучение нейросетей, часть 1

В прошлый раз мы обсудили историю возникновения свёрточных архитектур, а также узнали об их устройстве и широких возможностях применения. В...
Read More