Метод Eigenfaces
Метод Eigenfaces — это алгоритм распознавания лиц, основанный на применении метода главных компонент (PCA) к изображениям лиц. Относится к классу методов, использующих линейное преобразование пространства признаков, и рассматривает каждое изображение лица как точку в многомерном пространстве пикселей. Метод позволяет представить лицо в виде набора весов (коэффициентов) при разложении по базису собственных векторов, называемых собственными лицами (eigenfaces).
История
Метод Eigenfaces был впервые предложен в 1987 году группой исследователей Массачусетского технологического института (MIT) под руководством Мэттью Тёрка и Алекса Пентленда. В 1991 году вышла их знаковая статья «Face Recognition Using Eigenfaces», в которой описывалась практическая реализация алгоритма. Работа была основана на более ранних исследованиях в области обработки изображений и теории информации, в частности на методе главных компонент, разработанном Карлом Пирсоном в 1901 году.
В 1990-х годах метод Eigenfaces стал одним из первых эффективных алгоритмов автоматического распознавания лиц, используемых в реальных системах, таких как системы видеонаблюдения и идентификации личности. Однако с развитием нейросетевых подходов (особенно свёрточных нейронных сетей) в 2010-х годах его популярность снизилась, так как нейросети обеспечивают более высокую точность на сложных наборах данных.
Принцип работы
Предварительная обработка
Перед применением метода все изображения лиц приводятся к единому размеру (например, 100×100 пикселей) и преобразуются в оттенки серого. Для устранения влияния освещения и контраста выполняется нормализация: вычитается среднее значение яркости и делится на стандартное отклонение.
Построение пространства собственных лиц
- Формирование матрицы данных. Каждое изображение лица представляется в виде вектора длиной \(N\) (где \(N\) — количество пикселей). Все \(M\) обучающих изображений объединяются в матрицу \(X\) размером \(M \times N\).
- Вычисление среднего лица. Находится средний вектор \(\mu = \frac{1}{M} \sum_{i=1}^{M} x_i\), где \(x_i\) — i-й вектор лица.
- Центрирование данных. Из каждого вектора вычитается среднее лицо: \(x_i' = x_i - \mu\).
- Ковариационная матрица. Вычисляется ковариационная матрица \(C = \frac{1}{M} X'^T X'\), где \(X'\) — матрица центрированных векторов.
- Собственные векторы и значения. Для ковариационной матрицы находятся собственные векторы \(v_j\) и соответствующие им собственные значения \(\lambda_j\). Собственные векторы, отсортированные по убыванию собственных значений, образуют базис пространства собственных лиц. На практике, из-за большой размерности (например, 10 000 пикселей), ковариационная матрица вычисляется через меньшую матрицу \(X' X'^T\) размером \(M \times M\), что значительно ускоряет вычисления.
- Выбор главных компонент. Для уменьшения размерности оставляют только \(k\) собственных векторов с наибольшими собственными значениями (обычно \(k \ll N\)). Эти \(k\) векторов и называются собственными лицами.
Распознавание
- Проекция. Каждое новое изображение лица (после центрирования) проецируется на пространство собственных лиц: получается вектор весов \(w = (w_1, w_2, ..., w_k)\), где \(w_j = x' \cdot v_j\).
- Сравнение. Вектор весов нового лица сравнивается с векторами весов всех известных лиц из обучающей выборки. Обычно используется метрика евклидова расстояния или косинусное сходство.
- Классификация. Если расстояние до ближайшего известного лица меньше заданного порога, лицо считается распознанным. Если расстояние велико — лицо считается неизвестным.
Классификация
Метод 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 →