Этот проект по распознаванию вен пальцев был реализован на платформе AlgoDeep AI. Для получения более подробной информации вы можете прочитать эту статью обо всем процессе выполнения этого проекта, от исследования до развертывания. Главный операционный директор AlgoDeep Руди Делуя является соавтором этих двух статей и соавтором проекта по распознаванию вен пальцев.

Удивлялись ли вы системе аутентификации, когда Итан Хант использовал биометрию премьер-министра Великобритании, чтобы открыть красную коробку в «Миссии невыполнима 5»?

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

Система биометрической аутентификации

Биометрическая система аутентификации - это система в реальном времени для проверки личности человека путем измерения определенных характеристик или поведения тела человека. Биометрические устройства, такие как сканеры радужной оболочки глаза, собирают биометрические данные человека и преобразуют их в цифровые формы. Используя алгоритмы сопоставления шаблонов, система биометрической аутентификации может выполнять задачу идентификации или проверки личности путем сравнения данных с другими зарегистрированными биометрическими данными в базе данных. Разработаны два основных режима систем биометрической аутентификации: идентификация или проверка. В режиме идентификации входные данные сравниваются со всеми зарегистрированными образцами в базе данных. Система позволяет выяснить, принадлежит ли этот человек к базе данных. В режиме проверки входные биометрические данные сравниваются с конкретным шаблоном одного человека. Его цель - выяснить, являются ли они одним и тем же человеком, и предотвратить использование одной и той же личности несколькими людьми.

Биометрическая система аутентификации на основе пальцевой вены

Однако, как мы видели в фильмах и научно-фантастических фильмах, некоторые системы биометрической аутентификации можно обмануть поддельными ресурсами. В романе Дэна Брауна «Ангелы и демоны» Хассасин вырезал Леонардо глаз, чтобы украсть антивещество, которое находилось за дверью, оснащенной сканерами сетчатки глаза. Хотя биометрические характеристики сетчатки глаза уникальны для каждого человека, хакеры также могут найти способы взломать систему аутентификации. Уровни безопасности также различаются среди различных биометрических характеристик. Систему биометрической аутентификации на основе пальцевых вен, о которой мы говорим сегодня, сложнее обмануть по сравнению с другими методами, потому что она только идентифицирует уникальные рисунки вен пальца под кожей живого человека.

Сбор данных о венах пальца

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

Использование глубокого обучения для распознавания вен на пальцах

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

Распознавание вен на пальце можно рассматривать как проблему классификации изображений. Должно быть интересно использовать CNN для решения проблемы распознавания вен пальца! Как нам разрабатывать эксперименты, чтобы адаптироваться к потребностям систем биометрической аутентификации? Согласно ранее используемым методам распознавания вен на пальцах, многие из них проводят извлечение признаков, а затем вычисляют расстояние между двумя объектами. Порог фиксируется в соответствии с распределением расстояний между объектами. Если значение расстояния выше порогового значения, эти две функции не классифицируются как принадлежащие одному и тому же человеку. В противном случае, если расстояние ниже порогового значения, эти две функции рассматриваются как принадлежащие одному и тому же человеку.

Набор данных по венам пальца

Несколько исследовательских институтов предоставляют общедоступные наборы данных о пальцах. Набор данных, который мы использовали, представляет собой набор данных о пальцах из базы данных SDUMLA-HMT. Мы хотели бы выразить нашу благодарность Лаборатории MLA Университета Шаньдун за базу данных SDUMLA-HMT. В этом наборе данных были зарегистрированы изображения вен пальцев 106 человек. Были захвачены три пальца - указательный, средний и безымянный - обеих рук. На каждом пальце по 6 картинок. Таким образом, всего он состоит из 3816 изображений. Формат изображения - «bmp» с размером 320x240 пикселей.

Предварительная обработка изображений - извлечение области интереса (ROI)

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

Мы создали нашу систему возврата инвестиций, выполнив следующие шаги:

  • Обрезка изображений до 240x240 пикселей
  • Разделение изображения на две половины и применение фильтров для определения верхней и нижней границ
  • Сохранение только области между верхним и нижним пределами
  • Выполнение линейной растяжки

Трансферное обучение для распознавания вены пальца

В общем, модели CNN, которые обеспечивают удовлетворительные результаты на больших наборах данных, имеют огромные параметры. Если мы хотим обучить сложную модель CNN с нуля, это требует очень много времени и ресурсов. Также обычно у нас не хватает данных для обучения с нуля. Мы должны подумать и о переоснащении. Если модель слишком сложна, а наши наборы данных довольно малы, у нее есть отличный шанс переобучиться.

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

Как мы можем себе представить, прямое применение предварительно обученной модели к другим доменам или другим задачам может не работать должным образом, потому что модель не видит информацию из этого домена во время обучения. Обычно у нас есть два варианта. С одной стороны, предварительно обученную модель CNN можно рассматривать как средство извлечения признаков. Линейный классификатор можно построить, используя извлеченные объекты в качестве входных данных. С другой стороны, метод тонкой настройки часто применяется для точной настройки некоторых высокоуровневых слоев. Функции на ранних уровнях более общие. В то время как объекты на более поздних слоях содержат более конкретную информацию об исходных наборах данных. Замораживание ранних слоев может дать нам общие и полезные функции для многих задач. А точная настройка следующих слоев может создать больше конкретных функций, существующих в наших наборах данных.

В нашем случае мы попытались настроить некоторые более поздние слои в предварительно обученной модели VGG-16. Оказывается, лучший результат у нас был, когда мы тренировались с последнего сверточного слоя.

Эксперименты по распознаванию вен на пальцах

Эксперименты в основном вдохновлены этой статьей Распознавание пальца-вены на основе сверточной нейронной сети с использованием датчиков изображения в ближнем инфракрасном диапазоне. Предлагаются два случая распознавания вен пальца. В первом случае в качестве входных данных используются изображения вен пальцев. Классификатор позволяет классифицировать разные пальцы. Другой случай направлен на использование разных изображений для классификации подлинного сопоставления (сопоставление между входными и зарегистрированными изображениями вен пальца одного и того же класса) и сопоставление самозванца (сопоставление между входными и зарегистрированными изображениями вен пальцев разных классов). В обоих случаях используется предварительно обученная модель CNN и точная настройка модели с помощью наборов данных о пальцах. Как мы уже представляли, система биометрической аутентификации имеет два возможных режима: идентификация и проверка. Первый случай для экспериментов соответствует режиму идентификации, а второй - для режима верификации.

Процесс проведения экспериментов следующий:

  • Предварительная обработка данных: разделение набора данных на наборы данных для обучения, проверки и тестирования, расширение обучающего набора путем случайного перевода и поворота изображений в небольшой степени, применение ROI к трем наборам данных, если мы рассматриваем ROI. (Во втором случае - сравнение изображений для аутентичного и ложного сопоставления).
  • Настройка моделей: замораживание ранних слоев в VGG-16 и тонкая настройка только более поздних слоев.

Предварительная обработка данных

Первый шаг - разделить набор данных. Набор данных SDUMLA-HMT содержит 636 классов (3 пальца * 2 руки * 106 человек). Каждый палец представляет собой класс и состоит из 6 изображений. Для двух реализованных нами случаев мы использовали разные стратегии разделения.

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

Во втором случае набор данных был случайным образом разделен на две половины. В каждой части сейчас 318 человек. Затем вторая часть была разделена на две части: одну для набора проверки, а другую - для набора тестов.

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

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

Модель Архитектура

VGG-16 - это очень глубокая сверточная нейронная сеть, которая имеет 138 миллионов параметров. Обучение этой глубокой архитектуре требует крупномасштабных наборов данных. Однако наши обучающие данные намного меньше, чем ImageNet. Таким образом, предварительно обученная модель VGG-16 была точно настроена на наших наборах данных. Эксперименты пробовали тренировать с разных слоев. Если тренировать более ранние слои, возрастет риск переобучения. Однако, если обучаются только выходные слои, производительность неудовлетворительна. Наконец, была выбрана модель, настроенная по последнему сверточному слою.

Результаты и анализы

Было проведено множество экспериментов, чтобы выявить лучшие гиперпараметры и лучшие стратегии тренировок. Хотя модели могут быть усовершенствованы, результаты, которые мы получили до сих пор, являются многообещающими.

Результаты классификаторов

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

Метрики систем биометрической аутентификации

В отличие от моделей классификации, которые оцениваются по точности, системы биометрической аутентификации имеют свои метрики для измерения качества аутентификации. Три наиболее часто используемых показателя - это коэффициент ложного отклонения (FRR), коэффициент ложного принятия (FAR) и равный коэффициент ошибок (EER) [11].

  • Коэффициент ложного отклонения (FRR): вероятность того, что системе не удастся обнаружить совпадение между входным шаблоном и совпадающим шаблоном в базе данных. Он измеряет процент ошибочно отклоненных правильных входных данных. (# ложно отклоненные образцы / # совпадающие образцы)
  • Коэффициент ложного принятия (FAR): вероятность того, что система неправильно сопоставит входной шаблон с несоответствующим шаблоном в базе данных. Он измеряет процент неверных вводов, которые были неправильно приняты. (# ошибочно принятые образцы / # несовпадающие образцы)
  • Равная частота ошибок (EER): частота, при которой ошибки принятия и отклонения равны. Значение указывает, что доля ложных приемов равна доле ложных отклонений. Чем ниже значение равного коэффициента ошибок, тем выше точность биометрической системы.

Для модели идентификации расчет FAR, FRR и EER основан на евклидовом расстоянии между изображениями. Во-первых, мы рассчитали внутриклассовые и межклассовые расстояния, чтобы определить диапазон пороговых значений. Диапазон пороговых значений расстояния составляет от 83 до 2024. Затем был построен график FAR-FRR для определения EER. Окончательный EER составляет 4,1%.

Для модели проверки, если мы используем евклидово расстояние напрямую как меру расстояний между объектами, это приведет к результатам, которые трудно объяснить. Межклассовые и внутриклассовые расстояния - это расстояния разностных изображений одних и тех же классов и расстояния разностных изображений разных классов. Сложно объяснить значение «расстояния двух разностных изображений». Различия изображений предоставляют информацию о разнице между двумя изображениями, и разница может быть маленькой или большой в зависимости от исходных изображений. Следовательно, евклидово расстояние между элементами разностных изображений здесь не подходит для измерения. Более того, FAR и FRR легко оценить в задаче двоичной классификации. FAR - это FP (ложноположительный) / # совпадающих образцов, а FRR - FN (ложноотрицательный) / # несовпадающих образцов. Мы использовали вероятность предсказания в качестве измерения, а затем рассчитали FAR и FRR. Полученная нами ERR составляет 1,9%.

Заключение

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

Использованная литература:

[1] Илун Инь, Лили Лю и Сивэй Сунь. SDUMLA-HMT: мультимодальная биометрическая база данных. 6-я Китайская конференция по биометрическому распознаванию (CCBR 2011), LNCS 7098, стр. 260–268, Пекин, Китай, 2011 г.

[2] Ян G, Xi X, Yin Y. Распознавание вен пальцев на основе персонализированной лучшей растровой карты. Датчики (Базель). 2012 г.

[3] Шахид, Кашиф и Ид, Ханган, Лю и Ян, Гунпин и Куреши, Имран и Гоу, Цзе и Инь, Илун. информация Систематический обзор методов распознавания вен на пальцах. Информация (Швейцария). 2018.

[4] Мэн Г., Фанг П. и Чжан Б. Распознавание вен пальца на основе сверточной нейронной сети. В Сети конференций MATEC EDP Sciences. 2017 г.

[5] База данных SDUMLA-HMT http://mla.sdu.edu.cn/info/1006/1195.htm

[6] https://www.analyticsvidhya.com/blog/2017/06/transfer-learning-the-art-of-fine-tuning-a-pre-trained-model/

[7] Фам Т.Д., Парк Й.Х., Нгуен Д.Т., Квон С.Ю., Парк КР. Система ненавязчивого распознавания вен на пальце с использованием датчика изображения NIR и анализа точности в зависимости от различных факторов. Датчики (Базель). 2015 г.

[8] Фергюсон, Макс & Ак, Роней и Тина Ли, Юнг-Цун и Х. Ло, Кинчо. Автоматическая локализация дефектов литья с помощью сверточных нейронных сетей. 2017 г.

[9] Симонян, Карен и Зиссерман, Андрей. Очень глубокие сверточные сети для распознавания крупномасштабных изображений. 2014 г.

[10] Хонг Х.Г., Ли МБ, Пак К.Р. Распознавание пальца-вены на основе сверточной нейронной сети с использованием датчиков изображения NIR. Датчики (Базель). 2017 г.

[11] Принципы биометрии http://www.biometria.sk/en/principles-of-biometrics.html