Распознавание лиц является одной из актуальных задач компьютерного зрения, находящей применение в системах безопасности, идентификации личности, робототехнике и других областях. Среди различных подходов к решению этой задачи отдельное место занимают статистические методы, основанные на извлечении информативных признаков из изображений лиц. Основными статистическими методами, которые используются для распознавания лиц, являются метод главных компонент (PCA, Principal Component Analysis) и метод линейного дискриминантного анализа (LDA, Linear Discriminant Analysis).
Подход Eigenface многие считают первой работающей технологией распознавания лиц. С момента его первоначальной разработки и публикации было много расширений оригинального метода и много новых разработок в системах автоматического распознавания лиц. Eigenface до сих пор часто рассматривается в качестве базового метода сравнения для демонстрации минимальной ожидаемой производительности такой системы.
Eigenfaces выполняет 2 основные задачи:
Собственные лица можно рассматривать как набор признаков, которые характеризуют глобальные различия между изображениями лиц. Затем каждое изображение лица аппроксимируется с использованием подмножества собственных лиц, связанных с наибольшими собственными значениями. Эти особенности объясняют наибольшую дисперсию в обучающем наборе.
Перед созданием собственных лиц изображения лиц нормализуются, чтобы выровнять глаза и рты, затем все они пересчитываются с тем же разрешением в пикселях. Затем собственные лица извлекаются из данных изображения с помощью анализа главных компонент (PCA) следующим образом:
1. Даны M изображений лиц размером h×w, каждое изображение преобразуется в вектор размером D(= hw) и помещается в набор
Изображения лиц должны быть соответствующим образом масштабированы и выровнены, а фон (и, возможно, области, не относящиеся к лицу, такие как волосы и шея) должен быть постоянным или удаленным.
2. Каждое лицо отличается от среднего значения вектором Φi = Γi − Ψ, где среднее лицо определяется через выражение
3. Ковариационная матрица определяется как
где A = [Φ1 Φ2 ... ΦM].
4. Определение собственных векторов C является неразрешимой задачей для изображений типичных размеров, когда D >> M. Однако для эффективного вычисления собственных векторов C, можно сначала вычислить собственные векторы гораздо меньших M×M матрицы ATA. Матрицы собственных векторов и значений ATA определяются как
где r - ранг A. Обратите внимание, что собственные векторы, соответствующие собственным значениям нуля, были отброшены.
5. Матрицы собственных значений Λ и собственных векторов C являются
где U={ui} - набор собственных лиц.
На рисунке 1 показаны собственные лица, полученные на обучаемом наборе лиц YALE, а на рисунке 2 изображено среднее лицо.
Собственные лица охватывают m-мерное подпространство исходного пространства изображений путем выбора подмножества собственных векторов U' = {u1, u2, ..., um}, связанных с m наибольшими собственными значениями. В результате получается так называемое пространство лица [4], начало координат которого – среднее лицо, а оси – собственные лица (рис. 3.).
Чтобы выполнить распознавание лиц, можно вычислить расстояние внутри пространства лиц или от него. Новое лица Γ проецируется в пространство лиц с помощью
где k=1,...,m. Вектор ΩT = [ω1, ω2, ..., ωm] - набор значимых собственных векторов. Обратите внимание, что вектор веса Ω является представлением нового лица в пространстве лиц. Один простой способ определить, к какому классу лиц Γ принадлежит - минимизировать евклидово расстояние
где Ωk - вектор веса, представляющий k-й класс лиц. Лицо Γ считается принадлежащей классу k, если минимум εk меньше некоторого предопределенного порога θε; в противном случае она классифицируется как неизвестная.
Рисунок 1 иллюстрирует проецирование и распознавание, визуализируя пространство лиц в виде плоскости.
Найденные с помощью PCA собственные векторы соответствуют решению методом наименьших квадратов (LS). Это действительно мощный способ представления данных, поскольку он гарантирует сохранение дисперсии данных при одновременном устранении ненужных существующих корреляций между исходными объектами (измерениями) в векторах выборки.
Когда целью является классификация, а не представление, решение LS может дать не самые желаемые результаты. В таких случаях требуется найти подпространство, которое отображает выборочные векторы одного класса в одном месте представления объектов и векторы разных классов как можно дальше друг от друга. Методы, разработанные для достижения этой цели, известны как дискриминантный анализ (DA).
Наиболее известным DA является линейный дискриминантный анализ (LDA). Когда LDA используется для нахождения представления подпространства набора изображений лиц, результирующие базисные векторы, определяющие это пространство, называются лицами Фишера или пространствами Фишера.
Для вычисления лиц Фишера мы предполагаем, что данные в каждом классе распределены нормально. Мы обозначаем многомерное нормальное распределение как N(μi, Σi), со средним значением μi и ковариационной матрицей Σi, а его функция плотности вероятности равна
В задаче класса C мы имеем сi, i=1,…,C. С учетом этих нормальных распределений и предшествующих вероятностей их класса Pi классификация тестовой выборки x задается путем сравнения логарифмических вероятностей [2]. То есть
где di(x) известны как дискриминантные оценки каждого класса. Определенные таким образом дискриминантные оценки дают оптимальное решение по Байесу.
Дискриминантные оценки обычно приводят к квадратичным границам классификации между классами. Однако для случая, когда все ковариационные матрицы одинаковы, Σi=Σ , ∀i, квадратичные части di отменяют, получая линейные классификаторы. Эти классификаторы называются линейными дискриминантными базисами. Отсюда и название линейного дискриминантного анализа. Случай, когда все ковариации идентичны, известен как гомоскедастические нормальные распределения.
Внутриклассовые различия можно оценить, используя внутриклассовую матрицу разброса, заданную
где xij - i-я выборка класса j, μj - среднее значение класса j, а nj - количество выборок в классе j.
Аналогично, различия между классами вычисляются с использованием матрицы разброса между классами,
где μ представляет среднее значение для всех классов.
Теперь мы хотим найти те базисные векторы V, где Sw минимизировано, а Sb максимизировано, где V - матрица, столбцы которой vi являются базисными векторами, определяющими подпространство [3]. Они задаются,
Решение этой задачи дается обобщенным разложением по собственным значениям
где V - это матрица собственных векторов, а Λ - диагональная матрица соответствующих собственных значений.
Собственные векторы V, связанные с ненулевыми собственными значениями, являются лицами Фишера. Существует максимум C-1 лиц Фишера. Это легко увидеть из определения Sb. Sb представляет собой комбинацию C векторов признаков. Любые векторы C определяют подпространство размером C-1 или меньше. Равенство выполняется, когда эти векторы линейно независимы друг от друга. На рисунке 3 показаны первые четыре лица Фишера, полученные при использовании алгоритма на наборе из 100 фронтальных изображений лиц.
В данной статье рассмотрены два метода понижения размерности и распознавания лиц: Метод главных компонент (PCA) для eigenfaces и Линейный дискриминантный анализ (LDA) для fisherfaces. Оба метода имеют свои особенности и применимость в задачах распознавания лиц, но демонстрируют различную эффективность на разных датасетах, таких как ORL, YALE и LFW.
PCA (Eigenfaces):
LDA (Fisherfaces):
Сравнение эффективности Eigenfaces(PCA) и Fisherfaces(LDA) на различных датасетах показано в таблице 1.
| Датасет | PCA (Eigenfaces) | LDA (Fisherfaces) | ||
|---|---|---|---|---|
| % успешных распознаваний | Время распознавания (с.) | % успешных распознаваний | Время распознавания (с.) | |
| ORL | 87 | 0.12 | 92 | 0.18 |
| YALE | 78 | 0.15 | 85 | 0.22 |
| LFW | 65 | 0.25 | 72 | 0.35 |