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

СКОЛЬКО СТОИТ НАДЕЖНОСТЬ? БИОМЕТРИЧЕСКАЯ ИДЕНТИФИКАЦИЯ IRIS С ПРИМЕНЕНИЕМ OPENCV И СМАРТФОНА

Irina Kharkevich, Gomel, Belarus

LVEE Winter 2018

This article describes the available methods for image processing using a complex biometric iris recognition system, OpenCV open source computer vision and machine learning software library and the Qt cross-platform. The author proposes the solution of using of a smartphone camera instead of an expensive monochrome camera. This article contains short description of Iris recognition system and biometric authentication based on this algorithm.

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

Основная часть
Технология аутентификации по радужной оболочке глаза (РОГ, радужка, ирис (от англ. «iris») базируется на сканировании тонкой подвижной диафрагмы глаза, имеющей множество кругов и рисунков, образующих уникальное изображение даже среди близнецов 1. Сложная структура РОГ позволяет получать для сравнения порядка 250 точек, обеспечивающих высокую точность и степень надежности аутентификации среди других биометрических систем (рис. 1).

Рисунок 1 – Сравнение биометрических систем по ключевым точкам

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

Рисунок 2 – Блок-схема примерной системы распознавания РОГ

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

Рисунок 3 – Блок-схема алгоритма работы системы

Блок обработки изображения получает несколько изображений глаза с монохромной камеры, выбирает лучшее из них и разбивает его на набор контрольных точек. Для этого используется алгоритмом обнаружения объектов на изображении детектор на базе каскада хааровских классификаторов (метод Виолы-Джонса).
После получения контрольных точек обязательным этапом работы является обучение классификатора. К сожалению, при данном алгоритме скорость обучения очень медленная (при больших объемах обучающей выборки), но результаты поиска контрольных областей на изображении очень быстры. В качестве классификаторов были выбраны уже обученные каскады из библиотеки OpenCV haarcascade_eye.xml.
OpenCV представляет собой простую в использовании библиотеку компьютерного зрения с более чем 500-ми функциями, способными работать в реальном времени. Фактически, OpenCV – это набор типов данных, функций и классов для обработки изображений алгоритмами компьютерного зрения.
Классификаторы часто неправильно классифицируют брови как глаза или не могут обнаружить глаза, когда освещение не очень хорошее. Также глаза, принадлежащие одному человеку, отличаются друг от друга, поэтому классификатор обучается отдельно для каждого глаза. Брови также включены в цель для обучения (рис. 6).

Рисунок 4 – Связь между расположением зрачков и областями глаз

Для каждого глаза использовались собственные классификаторы OpenCV:
• левый глаз: haarcascade_lefteye_2splits.xml
• правый глаз: haarcascade_righteye_2splits.xml
В ходе выполненных исследований и практических разработок, в том числе при реализации прикладного программного обеспечения, был использован комплекс средств разработки Qt 5.3.2 (GCC 4.9.2) для Linux Debian, в который входят библиотеки классов C++ версии 4.7.0, а также среда разработки, предназначенная для редактирования, компиляции и отладки кода – Qt Creator IDE версии 3.2.1.

Идентификация по базе
В процессе распознавания сравнивается полученный набор контрольных точек с записями, хранящимися в базе. В качестве метрики выбирается стандартное евклидово расстояние. При нахождении соответствующей записи программное средство определяет уровень доступа, которым обладает пользователь. Современное программное средство обеспечивает скорость сравнения примерно 300-500 мс.

Сканирование РОГ с помощью смартфона
Благодаря быстрому развитию технологий смартфон стал оснащен высококачественной камерой и мощным процессором, что обеспечивают простой захват биометрического идентификатора без дополнительного позиционирования положения глаз пользователя. Для корректной работы данной технологии необходимо получение качественных фотографий. Камера современного смартфона изначально не приспособлена для целей идентификации личности, в связи с чем основной задачей ПО является подготовка и оптимизация начального изображения, используемого для анализа (подбор яркости, контраста и других параметров изображения).
Устройство формирования изображения РОГ в смартфоне, содержащие датчик изображения и оптический узел 3, имеет два аппаратных блока: блок формирования изображения 102 и блок обработки 104 (рис. 5)

Рисунок 5 – Дополнительные блоки смартфона

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

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

Литература
1 Старовойтов, В.В. Распознавание человека по изображению радужной оболочки глаза: проблемы и достижения / В.В. Старовойтов, Ю.И. Монич // Искусственный интеллект. – 2011. – №3. – с.278-284.
2 Image sensor with integrated region of interest calculation for iris capture, autofocus and gain control: пат. США 9,514,365 / M.Tinker, D.A. Ackerman; опубл. 06.12.16 // Портал патентного ведомства США [Электронный ресурс]. – Режим доступа: https://www.uspto.gov/. – Дата доступа 15.12.2017
3 Iris imaging apparatus and methods for configuring an iris imaging apparatus: пат.США 9,366,843 / S.Prabhakar, V.Dvorovkin; опубл. 14.06.16 // Портал патентного ведомства США [Электронный ресурс]. – Режим доступа: https://www.uspto.gov/. – Дата доступа 20.12.2017

Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license

Назад