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

Метод Eigenfaces

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

История

Метод Eigenfaces был впервые предложен в 1987 году группой исследователей Массачусетского технологического института (MIT) под руководством Мэттью Тёрка и Алекса Пентленда. В 1991 году вышла их знаковая статья «Face Recognition Using Eigenfaces», в которой описывалась практическая реализация алгоритма. Работа была основана на более ранних исследованиях в области обработки изображений и теории информации, в частности на методе главных компонент, разработанном Карлом Пирсоном в 1901 году.

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

Принцип работы

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

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

Построение пространства собственных лиц

  1. Формирование матрицы данных. Каждое изображение лица представляется в виде вектора длиной \(N\) (где \(N\) — количество пикселей). Все \(M\) обучающих изображений объединяются в матрицу \(X\) размером \(M \times N\).
  2. Вычисление среднего лица. Находится средний вектор \(\mu = \frac{1}{M} \sum_{i=1}^{M} x_i\), где \(x_i\) — i-й вектор лица.
  3. Центрирование данных. Из каждого вектора вычитается среднее лицо: \(x_i' = x_i - \mu\).
  4. Ковариационная матрица. Вычисляется ковариационная матрица \(C = \frac{1}{M} X'^T X'\), где \(X'\) — матрица центрированных векторов.
  5. Собственные векторы и значения. Для ковариационной матрицы находятся собственные векторы \(v_j\) и соответствующие им собственные значения \(\lambda_j\). Собственные векторы, отсортированные по убыванию собственных значений, образуют базис пространства собственных лиц. На практике, из-за большой размерности (например, 10 000 пикселей), ковариационная матрица вычисляется через меньшую матрицу \(X' X'^T\) размером \(M \times M\), что значительно ускоряет вычисления.
  6. Выбор главных компонент. Для уменьшения размерности оставляют только \(k\) собственных векторов с наибольшими собственными значениями (обычно \(k \ll N\)). Эти \(k\) векторов и называются собственными лицами.

Распознавание

  1. Проекция. Каждое новое изображение лица (после центрирования) проецируется на пространство собственных лиц: получается вектор весов \(w = (w_1, w_2, ..., w_k)\), где \(w_j = x' \cdot v_j\).
  2. Сравнение. Вектор весов нового лица сравнивается с векторами весов всех известных лиц из обучающей выборки. Обычно используется метрика евклидова расстояния или косинусное сходство.
  3. Классификация. Если расстояние до ближайшего известного лица меньше заданного порога, лицо считается распознанным. Если расстояние велико — лицо считается неизвестным.

Классификация

Метод Eigenfaces можно классифицировать по нескольким признакам:

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

Характеристики

Преимущества

  • Простота реализации. Алгоритм легко программируется и не требует больших вычислительных ресурсов для обучения (при небольшом количестве изображений).
  • Скорость работы. После построения пространства собственных лиц распознавание одного изображения занимает доли секунды.
  • Устойчивость к шуму. Метод подавляет высокочастотные шумы за счёт отбрасывания младших собственных векторов.
  • Компактность представления. Для хранения одного лица достаточно \(k\) чисел (обычно 10–50), что значительно меньше исходного числа пикселей.

Недостатки

  • Чувствительность к условиям съёмки. Метод плохо работает при сильных изменениях освещения, поворотах головы, изменении мимики, наличии очков или бороды.
  • Линейность. Не способен моделировать нелинейные вариации, такие как значительные повороты (более 30°) или частичное закрытие лица.
  • Зависимость от размера обучающей выборки. Для качественного распознавания требуется не менее 5–10 изображений каждого человека, а также разнообразие условий съёмки.
  • Проблема «small sample size». При малом числе обучающих изображений (меньше размерности пиксельного пространства) ковариационная матрица становится вырожденной, что снижает точность.

Применение

Метод Eigenfaces применялся в следующих областях:

  • Системы видеонаблюдения. В 1990-х годах использовался для идентификации подозреваемых по записям камер.
  • Биометрическая аутентификация. В системах контроля доступа на предприятиях и в учреждениях.
  • Поиск изображений. В поисковых системах для нахождения похожих лиц в базах данных.
  • Образовательные и исследовательские цели. Используется в учебных курсах по компьютерному зрению и машинному обучению как базовый пример алгоритма распознавания.

Примеры

  • База данных AT&T (Olivetti). Один из первых публичных наборов данных для тестирования метода Eigenfaces, содержащий 400 изображений 40 человек (по 10 снимков каждого).
  • Система FERET (Face Recognition Technology). Программа, разработанная в США в 1990-х годах, использовала Eigenfaces для оценки эффективности различных алгоритмов распознавания.

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

  • Собственные лица визуально напоминают размытые изображения лиц, но при этом каждый из них представляет собой определённый «тип» вариации (например, тёмные глаза, форма носа, ширина лица).
  • Метод Eigenfaces лёг в основу более продвинутых алгоритмов, таких как Fisherfaces (использующий дискриминантный анализ) и Local Binary Patterns (LBP).
  • В 2010-х годах метод Eigenfaces был вытеснен нейросетевыми подходами, но до сих пор используется в учебных целях и в задачах с ограниченными вычислительными ресурсами.

Критика

Основные критические замечания к методу Eigenfaces связаны с его низкой устойчивостью к внешним условиям. Исследования показывают, что точность распознавания падает на 30–50% при изменении освещения или повороте головы более чем на 20°. Кроме того, метод не способен работать с частично закрытыми лицами (например, медицинскими масками или солнцезащитными очками). В современных системах распознавания лиц, таких как FaceNet (Google) или DeepFace (Facebook, Meta — организация признана экстремистской и запрещена в РФ), используются глубокие нейронные сети, которые преодолевают эти ограничения, но требуют значительно больше вычислительных ресурсов и данных для обучения.

Источники

  • Turk, M., Pentland, A. (1991). «Face Recognition Using Eigenfaces». IEEE Conference on Computer Vision and Pattern Recognition.
  • Turk, M., Pentland, A. (1991). «Eigenfaces for Recognition». Journal of Cognitive Neuroscience, 3(1), 71–86.
  • Duda, R. O., Hart, P. E., Stork, D. G. (2001). «Pattern Classification». 2nd ed., Wiley.
  • Gonzalez, R. C., Woods, R. E. (2008). «Digital Image Processing». 3rd ed., Pearson.

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

На главную BFOmetr →