Tags: Верификация лица dlib
Введение
Верификация лица с dlib
Полезные ссылки
Введение
В статье Распознавание лиц на основе OpenCV для C++ рассматривается подход к распознаванию на основе признаков, в качестве которых используются расстояния между характерными точками лица.
Альтернативный метод распознавания лиц. Изображение каждого лица обрабатывается уже обученной сверточной нейронной сетью (см. ссылку или ссылку), которая выдает на выходе матрицу из 80 чисел (признаков). В базе данных хранятся эти признаки для каждого лица вместе с их идентификатором (FaceId). При распознавании лицо сравнивается с лицами из базы данных по одному числу – дескриптору лица. Это число определяется через Евклидово расстояние. Предполагается, что если значение дескриптора больше 0.6, тогда люди разные. Если число меньше, тогда определяются наиболее вероятные претенденты на совпадение.
Верификация лица с dlib
Биометрическая верификация лица — подтверждение личности человека, когда системе заранее известно, кем представляется верифицируемый человек.
Пример программы верификации лица на основе уже обученной сверточной нейронной сети приводится здесь. Подробное описание программы изложено здесь.
Я работаю с Python на Visual Studio 17. Основная проблема возникла у меня с инсталляцией библиотеки dlib. Традиционное pip install dlib выдавало Error c комментарием, что еще не инсталлирован пакет Cmake. Попробовал инсталлировать pip install Cmake. Инсталляция Cmake прошла успешно, однако проблема с инсталляцией библиотеки dlib осталась. Провел инсталляцию Cmake вне Visual Studio — по описанию, изложенному здесь. После такой Cmake инсталляции pip install dlib прошло успешно.
Отличие библиотеки dlib в том, что она написана на языке С++. Для того, чтобы dlib можно было использовать в Python, ее необходимо скомпоновать из исходного кода и выполнить компиляцию (Bilding). Для этого обычно используется система CMake.
Результаты запуска программы:
Brad Pitt (0.44 < 0.6)
Leonardo DiCaprio (0.52 < 0.6)
Brad Pitt and Leonardo DiCaprio (0.69 > 0.6)
Брат и сестра (0.741 >0.6) Растр — 120*160 точек
Двойнята (сестра и брат) (0.723 >0.6) Растр — 300*400 точек
Братья близнецы (0.352 < 0.6) Растр — 150*190 точек
Полезные ссылки:
- Создайте свою собственную систему распознавания лиц: для работы даже с маской для лица!
- Building a Face Recognizer in Python
- A Beginners guide to Building your own Face Recognition System to creep out your Friends
- What to do when your training and testing data come from different distributions
- Личный сайт Андрея Созыкина.
- Распознавание человека по лицу | Проекты по нейросетям
- Поиск объектов на изображениях | Проекты по нейросетям
- На лице написано: как работает компьютерное распознавание лиц
- OpenCV Face Recognition
- A simple neural network with Python and Keras
- Обучение с подкреплением на Python с библиотекой Keras
- Туториал: создание простой GAN на Python с библиотекой Keras
- Установка Keras с бэкэндом TensorFlow
- FaceNet — пример простой системы распознавания лиц с открытым кодом Github
- Пишем программу для камеры хранения с функцией распознавания лица
- Python: распознавание объектов в реальном времени
- Распознавание лиц
- Предобученные модели распознавания эмоций EmoPy выложили в открытый доступ
- Research на тему распознавания лиц
- Face Recognition using Transfer Learning