Открыть сервис

FaceNet

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

История

Разработка FaceNet была представлена в 2015 году в статье «FaceNet: A Unified Embedding for Face Recognition and Clustering» (авторы: Florian Schroff, Dmitry Kalenichenko, James Philbin). На момент публикации система показала рекордные результаты на эталонном наборе данных Labeled Faces in the Wild (LFW), достигнув точности 99,63% при верификации. Это стало значительным прорывом, так как предыдущие методы, такие как DeepFace (Facebook) или DeepID (Китайский университет Гонконга), требовали более сложной предобработки и многоступенчатой архитектуры.

Метод быстро привлёк внимание как в академической среде, так и в индустрии, поскольку позволял решать задачи распознавания лиц в реальном времени на относительно скромном оборудовании. Впоследствии идеи FaceNet легли в основу многих коммерческих и открытых систем, включая библиотеки OpenFace и FaceNet-реализации на TensorFlow.

Архитектура

Основная идея

FaceNet использует глубокую свёрточную нейронную сеть (CNN) для преобразования изображения лица в вектор фиксированной размерности (обычно 128 или 512 чисел). Этот вектор называется эмбеддингом. Обучение сети происходит таким образом, чтобы:

Функция потерь: Triplet Loss

Ключевой компонент FaceNet — триплетная функция потерь (Triplet Loss). Для обучения используются тройки изображений:

Цель обучения — минимизировать расстояние между A и P и максимизировать расстояние между A и N. Формально функция потерь для одной тройки записывается как:

\[ L = \max(0, \|f(A) - f(P)\|^2 - \|f(A) - f(N)\|^2 + \alpha) \]

где \( f \) — функция, вычисляющая эмбеддинг, а \( \alpha \) — отступ (margin), задающий минимальное различие между парами. Если расстояние между A и P уже меньше, чем между A и N на величину больше \( \alpha \), то потеря равна нулю.

Выбор триплетов

Эффективность обучения сильно зависит от выбора триплетов. Используются два основных подхода:

Сеть-основа

В качестве базовой свёрточной сети FaceNet может использовать различные архитектуры: Inception (GoogLeNet), ResNet или их модификации. В оригинальной статье применялась сеть Inception с 22 слоями, что позволяло достигать высокой точности при умеренных вычислительных затратах.

Процесс распознавания

Распознавание лиц с помощью FaceNet состоит из следующих этапов:

  1. Обнаружение лица — на изображении находится область лица (обычно с помощью детектора, например, MTCNN или Haar-каскадов).
  2. Выравнивание — лицо приводится к стандартному положению (поворот, масштабирование) для уменьшения влияния ракурса.
  3. Вычисление эмбеддинга — выровненное изображение подаётся на вход обученной сети FaceNet, которая выдаёт вектор.
  4. Сравнение — полученный вектор сравнивается с векторами из базы данных (например, по евклидову расстоянию или косинусной близости). Если расстояние меньше порога, лицо считается соответствующим.

Применение

FaceNet широко используется в системах:

В России системы на основе FaceNet используются, в частности, в системах городского видеонаблюдения (например, в Москве), а также в коммерческих продуктах для контроля доступа.

Достоинства и недостатки

Достоинства

Недостатки

Критика и ограничения

FaceNet, как и другие системы распознавания лиц, подвергается критике по нескольким причинам:

Развитие и альтернативы

После публикации FaceNet появилось множество улучшенных методов:

Современные системы (например, в iPhone Face ID) используют комбинации нескольких методов, включая 3D-сканирование и инфракрасное освещение, что делает их более устойчивыми к атакам.

Интересные факты

Источники

  1. Schroff, F., Kalenichenko, D., & Philbin, J. (2015). «FaceNet: A Unified Embedding for Face Recognition and Clustering». Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
  2. Deng, J., Guo, J., Xue, N., & Zafeiriou, S. (2019). «ArcFace: Additive Angular Margin Loss for Deep Face Recognition». CVPR.
  3. Wang, H., et al. (2018). «CosFace: Large Margin Cosine Loss for Deep Face Recognition». CVPR.
  4. Taigman, Y., et al. (2014). «DeepFace: Closing the Gap to Human-Level Performance in Face Verification». CVPR.
  5. Parkhi, O. M., Vedaldi, A., & Zisserman, A. (2015). «Deep Face Recognition». BMVC.
  6. Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных» (с изменениями).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →