Использование подхода распознавания ладони с помощью технологий обработки изображения
Секция: Физико-математические науки
![](https://nauchforum.ru/themes/mix_and_match/images/logo.jpg)
LII Студенческая международная научно-практическая конференция «Молодежный научный форум: технические и математические науки»
Использование подхода распознавания ладони с помощью технологий обработки изображения
Сегодня в повседневной жизни мы очень часто проходим процедуру подтверждения личности. Обычно это осуществляется через использование пароля для доступа к домену, авторизация пользователя, входа в аккаунт приложения. Как следствие процесс проверки подлинности личности становится все более важным в нашем обществе.
Однако использование старых средств защиты доступа, а именно таких как утилизация пароля, привязка персонального аккаунта к номеру телефону сегодня не всегда являются в полной мере надежными: ваш пароль могут украсть(или даже ваш телефон) или вы можете забыть его.
В связи с этим в последние годы все чаще используются средства биометрической идентификации пользователя как способ эффективного решения проблемы проверки личности. В последнее время часто встречаются средства идентификации, использующие физические черты, такие как сетчатка глаза, распознавание лица, отпечатков пальцев или голоса. Так как неавторизованные пользователи не в состоянии отобразить те же уникальные физические свойства других людей, надежная проверка подлинности будет обеспечена. Это намного лучше, чем использование различных паролей, токенов или персональных идентификационных номеров (ПИН), так как данный способ обеспечивает наиболее удобный подход для авторизации, за ненадобностью становится запоминать уникальный пароль или хранить диск с кодом аутентификации. Распознавание отпечатка ладони может быть предпочтительнее по сравнению c распознаванием отпечатка пальца либо сетчатки глаза, поскольку данный способ может быть более удобным в некоторых сферах, а также более распространенным, поскольку требует лишь наличие камеры(любого разрешения) в устройстве.
На рисунке 1 представлен обобщенный алгоритм распознавания сравнительной характеристики ладони.
Рисунок 1. Алгоритм биометрического распознавания ладони
Одним из основных шагов техники распознавания ладони, а также и других биометрических объектов является предварительная разработка изображения. Первичное изображение может содержать различный шумы, тени, а также страдать от неестественного или плохого освещения. Чтобы статическое изображение было пригодно для дальнейшей работы алгоритма, его нужно предварительно обработать, используя следующие подходы:
1. Повернуть изображение так, чтобы фаланги пальцев указывали направо.
2. Применить фильтр быстрого размытия по Гауссу.
3. Применить единожды или несколько раз контрастно-ограниченную адаптивную эквализацию гистограммы.
Чтобы произвести корректную сравнительную характеристику ладони, требуется отделить ту часть изображения, где располагается ладонь, от всего остального фона. Для этого нужно привести изображение в бинарный вид: все пиксели фона, которые не пригодятся для дальнейшей работы окрасим в черный цвет, а пиксели, относящиеся к ладони - в белый. Для выделения требуемых пикселей используем алгоритм цветовой сегментации кожи на изображении. Для выделения пикселей с цветом кожи используется модель распределения оттенка кожи в цветовом пространстве. На основании сравнения существующих методов цветовой сегментации кожи оптимальным представляется метод моделирования распределения с помощью Байесовской карты вероятностей. Этот метод заключается в вычислении отношения соотношения вероятностей принадлежности цвета с координатами с принадлежностью цвета к оттенку «кожи» или «не кожи» для каждой точки дискретизированного цветового пространства. На рисунке 2 показан результат действия цветовой сегментации.
Рисунок 2. Бинарный вид изображения ладони
Нетрудно заметить, что на ладони можно выделить прямоугольник, где находятся основные линии ладони. Для вычисления координат прямоугольника, найдем ключевые точки ладони. Ключевые точки ладони или локальные минимумы — это набор особых пикселей, которые описывают ладонь в пространстве.
Следующие точки будут считаться ключевыми:
· Точка середины ладони
· Все самые нижние точки между фалангами пальцев.
Для нахождения ключевых точек понадобится:
· Определить контур изображения используя алгоритм отслеживания границ.
· Исходя из контура изображения найти точку середины ладони с левой стороны, а также самые нижние точки между фалангами пальцев.
С помощью алгоритма отслеживания границ, найдем контур ладони. Зная контур изображения, найдем серединную точку ладони с левой стороны. Данная точка нужна, чтобы далее определить левую границу прямоугольника, на котором расположены основные линии ладони.
Для этого найдем начальную и конечную точки контура. Так как изображение представлено в бинарном виде, то для нахождения начальной точки будем двигаться вниз, пока цвет пикселя не будет равен 255, для конечной точки будем двигаться снизу-вверх, пока граничная точка контура не будет найдена. Среднее арифметическое координат начальной и конечной точек с левой стороны и будет центральной координатой центральной точкой.
Так как разрешение изображение может быть довольно большим, то для экономии ресурсов можно предварительно уменьшить разрешение изображения без вреда системе. Также, зная, что основные линии ладони практически никогда не находятся у конца ладони, то сдвинем центральную точку влево, чтобы далее уменьшить прямоугольник с линиями ладони и выиграть в производительности.
Продолжим искать локальные ключевые точки. Теперь найдем нижние точки между фалангами пальцев.
Для этого сначала найдем расстояние от точек контура ладони до центральной левой точки.
Далее, найдем локальные минимумы контура на дистанционной функции, применив усредняющий фильтр и получим локальные ключевые точки, а также избавимся от ложных локальных минимумов. Проверим, больше ли заданного шага расстояние между предыдущей точкой и текущей точкой, а также следующей точкой и текущей точки.
Если условие верно, то точка является ключевой.
На выходе мы имеем набор локальных минимумов. Реализованный алгоритм позволяет поместить каждую точку в один из четырех кластеров - каждый из которых будет соответствовать промежутку, между пальцами. Для нахождения минимальной точки в каждом из кластеров применим агрегирование по минимальной дистанции в результате найдем все требуемые координаты прямоугольника с основными линиями руки.
Зная основные координаты прямоугольника, нетрудно "вырезать" из изображения и исходный прямоугольник (рисунок 3).
Рисунок 3. Прямоугольник с основными линиями ладони
Процесс авторизации пользователя с помощью распознавании ладони строится на анализе основных линий на ладони.
Для удобства работы с изображением, его нужно предварительно обработать:
· Изменить цвет изображения на серый
· Существенно уменьшить размер изображения до 128x128 пикселей
· Применить фильтр CLAHE для увеличения контрастности изображения
На рисунке 4 отображен промежуточный результат поиска линий на прямоугольной области.
Рисунок 4. Результат поиска объектов-линий в изображении
Полученный результат несовершенен, поскольку имеет некоторые шумы. Для этого отфильтруем полученные линии по длине, убрав линии меньше заданного значения (рисунок 5).
Рисунок 5. Выделение основных линий, путем фильтрации по длине
Также можно применить алгоритм скелетизации изображения, чтобы избавиться от лишних пикселей линии.
Используя понятие расстояния Хэминга и дистантное трансформировние, проведем сравнительный анализ линий на изображении с изображениями в базе данных, от чего будет известен конечный результат - авторизация пользователя в системе.
![](/sites/default/files/publ_rinc.png)