Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
Некоторые собственные лица от AT&T Laboratories Cambridge

Eigenface ( / ɡ ə п ˌ х s / ) является именем , данное набор собственных векторов при использовании в компьютерном зрении проблемы человеческого распознавания лиц . [1] Подход с использованием собственных лиц для распознавания был разработан Сировичем и Кирби (1987) и использован Мэтью Терк и Алексом Пентландом при классификации лиц. [2] Собственные векторы выводятся из ковариационной матрицы из распределения вероятностейв многомерном векторном пространстве изображений лиц. Сами собственные грани образуют базисный набор всех изображений, используемых для построения ковариационной матрицы. Это приводит к уменьшению размеров, позволяя меньшему набору базовых изображений представлять исходные обучающие изображения. Классификация может быть достигнута путем сравнения того, как лица представлены базовым набором.

История [ править ]

Подход собственного лица начался с поиска низкоразмерного представления изображений лиц. Сирович и Кирби (1987) показали, что анализ главных компонентов можно использовать для набора изображений лиц, чтобы сформировать набор основных функций. Эти базовые изображения, известные как собственные изображения, можно линейно комбинировать для восстановления изображений в исходном обучающем наборе. Если обучающий набор состоит из M изображений, анализ главных компонентов может сформировать базисный набор из N изображений, где N <M . Ошибка восстановления уменьшается за счет увеличения количества собственных изображений; однако, число необходимо всегда выбирается меньше , чем М . Например, если вам нужно сгенерировать число Neigenfaces для обучающего набора из M изображений лиц, можно сказать, что каждое изображение лица может состоять из «пропорций» всех K «функций» или собственных лиц: Изображение лица 1 = (23% от E 1 ) + (2% E 2 ) + (51% E 3 ) + ... + (1% E n ).

В 1991 г. М. Терк и А. Пентланд расширили эти результаты и представили метод распознавания лиц по собственному лицу. [3] В дополнении к разработке системы для автоматизированного распознавания лица с помощью eigenfaces, они показали способ вычисления собственных векторов матрицы А матрицы ковариации таким образом, что компьютеры того времени могли выполнить собственное-разложение на большом количестве изображений лица. Изображения лиц обычно занимают многомерное пространство, и традиционный анализ главных компонентов на таких наборах данных был невозможен. В статье Тёрка и Пентланда продемонстрированы способы извлечения собственных векторов на основе матриц, размер которых определяется количеством изображений, а не количеством пикселей.

После создания метод собственного лица был расширен за счет включения методов предварительной обработки для повышения точности. [4] Также использовалось множество разнообразных подходов для создания наборов собственных лиц для разных субъектов [5] [6] и различных функций, таких как глаза. [7]

Поколение [ править ]

Набор eigenfaces могут быть получены путем выполнения математического процесса , называемого основным компонентом анализа (РСА) на большом наборе изображений , изображающие различные лица человека. Неформально собственные лица можно рассматривать как набор «стандартизированных ингредиентов лица», полученных в результате статистического анализа многих изображений лиц. Любое человеческое лицо можно рассматривать как сочетание этих стандартных лиц. Например, лицо человека может состоять из среднего лица плюс 10% из собственного лица 1, 55% из собственного лица 2 и даже −3% из собственного лица 3. Примечательно, что не требуется много собственных граней, объединенных вместе, чтобы достичь справедливого приближения к большинство лиц. Кроме того, потому что лицо человека не записано цифровой фотографией., но вместо этого в виде простого списка значений (по одному значению для каждого собственного лица в используемой базе данных) для лица каждого человека требуется гораздо меньше места.

Создаваемые собственные лица будут отображаться как светлые и темные области, расположенные по определенному шаблону. Этот паттерн - это то, как различные черты лица выделяются для оценки и оценки. Будет шаблон для оценки симметрии , будь то волосы на лице, линия роста волос или оценка размера носа или рта. У других собственных лиц есть шаблоны, которые труднее идентифицировать, и изображение собственного лица может очень мало походить на лицо.

Техника, используемая для создания собственных лиц и их использования для распознавания, также используется за пределами распознавания лиц: распознавание почерка , чтение по губам , распознавание голоса , интерпретация языка жестов / жестов руки и анализ медицинских изображений . Поэтому некоторые не используют термин собственное лицо, а предпочитают использовать «собственное изображение».

Практическая реализация [ править ]

Чтобы создать набор собственных граней, необходимо:

  1. Подготовьте обучающий набор изображений лиц. Изображения, составляющие обучающую выборку, должны быть сделаны при одинаковых условиях освещения и должны быть нормализованы, чтобы глаза и рот были выровнены на всех изображениях. Все они также должны быть повторно дискретизированы до общего разрешения пикселей ( r × c ). Каждое изображение обрабатывается как один вектор, просто путем объединения строк пикселей в исходном изображении, в результате чего получается один столбец с элементами r × c . Для этой реализации предполагается, что все изображения обучающего набора хранятся в одной матрице T , где каждый столбец матрицы является изображением.
  2. Вычтите среднее значение . Среднее изображение должно быть вычислено , а затем вычесть из каждого исходного изображения в T .
  3. Вычислить собственные векторы и собственные значения на ковариационной матрице S . Каждый собственный вектор имеет ту же размерность (количество компонентов), что и исходные изображения, и, таким образом, сам по себе может рассматриваться как изображение. Поэтому собственные векторы этой ковариационной матрицы называются собственными гранями. Это направления, в которых изображения отличаются от среднего изображения. Обычно это будет дорогостоящим в вычислительном отношении шагом (если вообще возможно), но практическая применимость собственных граней проистекает из возможности эффективно вычислять собственные векторы S , никогда не вычисляя S явно, как подробно описано ниже.
  4. Выберите основные компоненты. Отсортируйте собственные значения в порядке убывания и соответствующим образом расположите собственные векторы. Число основных компонентов k определяется произвольно путем установки порога ε для общей дисперсии. Общая дисперсия , n = количество компонентов.
  5. k - наименьшее число, удовлетворяющее

Эти собственные лица теперь можно использовать для представления как существующих, так и новых лиц: мы можем спроецировать новое (с вычетом среднего) изображение на собственные лица и, таким образом, записать, как это новое лицо отличается от среднего лица. Собственные значения, связанные с каждым собственным лицом, представляют, насколько изображения в обучающем наборе отличаются от среднего изображения в этом направлении. Информация теряется из-за проецирования изображения на подмножество собственных векторов, но потери сводятся к минимуму, сохраняя эти собственные грани с наибольшими собственными значениями. Например, при работе с изображением размером 100 × 100 будет получено 10 000 собственных векторов. В практических приложениях большинство лиц обычно можно идентифицировать с помощью проекции от 100 до 150 собственных граней, так что можно отбросить большую часть из 10 000 собственных векторов.

Пример кода Matlab [ править ]

Вот пример вычисления собственных лиц с помощью расширенной базы данных лиц Йельского университета B. Чтобы избежать узких мест в вычислениях и хранении, изображения лиц отбираются с коэффициентом 4 × 4 = 16.

очистить все ; закрыть все ; загрузить yalefaces [ h , w , n ] = размер ( yalefaces );    д = ч * ш ;    % векторизовать изображенияx = изменить форму ( yalefaces , [ d n ]);    х = двойной ( х );  % вычесть среднееmean_matrix = среднее значение ( x , 2 );   х = bsxfun (@ минус , х , средняя_матрица );    % вычислить ковариациюs = cov ( x ' );  % получить собственное значение и собственный вектор[ V , D ] = eig ( s );   eigval = diag ( D );  % сортировать собственные значения в порядке убыванияeigval = eigval ( конец : - 1 : 1 );    V = fliplr ( V );  % показывают среднее значение и главные собственные векторы с 1-го по 15-йрисунок , подсюжет ( 4 , 4 , 1 )   imagesc ( Reshape ( mean_matrix , [ ч , ш ]))  палитра серый для я = 1 : 15    подзаговор ( 4 , 4 , i + 1 )     imagesc ( изменить форму ( V (:, i ), h , w ))   конец

Обратите внимание, что хотя ковариационная матрица S генерирует множество собственных граней, только часть из них необходима для представления большинства граней. Например, чтобы представить 95% от общей вариации всех изображений лиц, необходимы только первые 43 собственных лица. Чтобы вычислить этот результат, реализуйте следующий код:

% оценивают количество основных компонентов, необходимых для представления 95% общей дисперсии.eigsum = сумма ( eigval );  csum = 0 ;  для i = 1 : d    csum = csum + eigval ( i );     тв = csum / eigsum ;     если tv > 0,95    k95 = i ;   перемена конец ;конец ;

Вычисление собственных векторов [ править ]

Выполнение PCA непосредственно на ковариационной матрице изображений часто невозможно с вычислительной точки зрения. Если используются небольшие изображения, скажем, 100 × 100 пикселей, каждое изображение является точкой в ​​10000-мерном пространстве, а ковариационная матрица S представляет собой матрицу 10000 × 10 000 = 10 8 элементов. Однако ранг ковариационной матрицы ограничен количеством обучающих примеров: если имеется N обучающих примеров, будет не более N  - 1 собственных векторов с ненулевыми собственными значениями. Если количество обучающих примеров меньше размерности изображений, главные компоненты могут быть вычислены более легко следующим образом.

Пусть T будет матрицей предварительно обработанных обучающих примеров, где каждый столбец содержит одно изображение с вычитанием среднего значения. Затем ковариационная матрица может быть вычислена как S = TT T, а разложение S по собственным векторам задается следующим образом:

Однако TT T - это большая матрица, и если вместо этого мы возьмем разложение по собственным значениям

затем мы замечаем, что, предварительно умножив обе части уравнения на T , мы получим

Это означает , что, если у я есть собственный вектор T T T , то V я  =  Ту я является собственным вектором S . Если у нас есть обучающий набор из 300 изображений размером 100 × 100 пикселей, матрица T T T будет матрицей 300 × 300, что гораздо более управляемо, чем ковариационная матрица 10 000 × 10 000. Обратите внимание, однако, что результирующие векторы v i не нормализованы; если требуется нормализация, ее следует применить как дополнительный шаг.

Связь с СВД [ править ]

Пусть X обозначает матрицу данных со столбцом как вектор изображения с вычтенным средним. Потом,

Пусть сингулярное разложение (SVD) X имеет вид:

Тогда разложение на собственные значения для :

, где Λ = diag (собственные значения )

Таким образом, мы легко видим, что:

Собственные грани = первые ( ) столбцы, связанные с ненулевыми сингулярными значениями.
I-е собственное значение i-го особого значения

Используя SVD для матрицы данных X , нет необходимости вычислять фактическую ковариационную матрицу, чтобы получить собственные грани.

Использование в распознавании лиц [ править ]

Распознавание лиц было мотивацией для создания собственных лиц. Для этого использования собственные грани имеют преимущества перед другими доступными методами, например скорость и эффективность системы. Поскольку собственное лицо - это в первую очередь метод уменьшения размеров, система может представлять множество объектов с относительно небольшим набором данных. Как система распознавания лиц, она также довольно инвариантна к значительному уменьшению размера изображения; тем не менее, он начинает значительно выходить из строя, когда разница между видимыми изображениями и изображением зонда велика.

Для распознавания лиц изображения галереи - те, которые видит система - сохраняются в виде наборов весов, описывающих вклад каждого собственного лица в это изображение. Когда новое лицо представляется системе для классификации, его собственные веса определяются путем проецирования изображения на набор собственных лиц. Это обеспечивает набор весов, описывающих поверхность зонда. Затем эти веса классифицируются по всем весам в галерее, чтобы найти наиболее близкое соответствие. Метод ближайшего соседа - это простой подход к нахождению евклидова расстояния между двумя векторами, где минимум можно отнести к самому близкому объекту ( Turk & Pentland 1991 , p. 590).

Интуитивно процесс распознавания с помощью метода eigenface заключается в проецировании изображений запроса в пространство лиц, охватываемое вычисленными собственными лицами, и поиск наиболее близкого соответствия классу лиц в этом пространстве лиц.

Псевдокод [8]
  • Учитывая вектор входного изображения, вектор среднего изображения из базы данных , вычислите вес k-й собственной грани как:
    Затем сформируйте вектор веса
  • Сравните W с весовыми векторами изображений в базе данных. Найдите евклидово расстояние.
  • Если , то m-я запись в базе данных является кандидатом на распознавание.
  • Если , то U может быть неизвестным лицом и может быть добавлено в базу данных.
  • Если это не изображение лица.

Вес каждого изображения галереи передает только информацию, описывающую это изображение, а не предмет. Изображение одного объекта при фронтальном освещении может иметь совсем другой вес, чем изображения того же объекта при ярком левом освещении. Это ограничивает применение такой системы. Эксперименты в оригинальной статье Eigenface дали следующие результаты: в среднем 96% с изменением освещенности, 85% с изменением ориентации и 64% с изменением размера. ( Терк и Пентланд, 1991 , стр. 590).

Такие собственные особенности были внесены в метод собственных граней различных расширений . Этот метод объединяет лицевые метрики (измерение расстояния между чертами лица) с представлением собственного лица. Другой метод, похожий на метод eigenface, - это « fisherfaces », который использует линейный дискриминантный анализ . [9] Этот метод распознавания лиц менее чувствителен к изменению освещения и позы лица, чем использование собственных лиц. Fisherface использует помеченные данные, чтобы сохранить больше информации, относящейся к классу, на этапе уменьшения размерности.

Еще одна альтернатива eigenfaces и fisherfaces - это активная модель внешнего вида . Этот подход использует активную модель формы для описания контура лица. Собирая множество контуров лиц, можно использовать анализ главных компонентов для формирования базового набора моделей, которые инкапсулируют вариации различных лиц.

Многие современные подходы по-прежнему используют анализ главных компонентов как средство уменьшения размерности или для формирования базовых изображений для различных режимов вариации.

Обзор [ редактировать ]

Eigenface предоставляет простой и дешевый способ реализовать распознавание лиц:

  • Его процесс обучения полностью автоматизирован и его легко кодировать.
  • Eigenface существенно снижает статистическую сложность представления изображения лица.
  • После расчета собственных лиц базы данных распознавание лиц может быть выполнено в режиме реального времени.
  • Eigenface может обрабатывать большие базы данных.

Однако недостатки метода собственных граней также очевидны:

  • Он очень чувствителен к освещению, масштабированию и перемещению и требует строго контролируемой среды.
  • Eigenface с трудом улавливает изменения выражения лица.
  • Наиболее важные собственные лица в основном связаны с кодированием освещения и не предоставляют полезной информации о фактическом лице.

Чтобы справиться с отвлечением освещения на практике, метод собственной грани обычно отбрасывает первые три собственные грани из набора данных. Поскольку освещение обычно является причиной самых больших изменений в изображениях лиц, первые три собственных лица будут в основном захватывать информацию об изменениях трехмерного освещения, что мало влияет на распознавание лиц. Отказавшись от этих трех собственных лиц, вы получите приличное повышение точности распознавания лиц, но другие методы, такие как fisherface и linear space, по-прежнему имеют преимущество.

См. Также [ править ]

  • Черепно-лицевая антропометрия
  • Человеческий облик
  • Распознавание образов

Заметки [ править ]

  1. ^ Наваррете, Пабло; Руис-дель-Солар, Хавьер (ноябрь 2002 г.). «Анализ и сравнение подходов к распознаванию лиц на основе собственного пространства» (PDF) . Международный журнал распознавания образов и искусственного интеллекта . 16 (7): 817–830. CiteSeerX  10.1.1.18.8115 . DOI : 10.1142 / S0218001402002003 .
  2. ^ Терк, Мэтью А. и Пентленд, Алекс П. [Распознавание лиц с использованием собственных лиц] . Компьютерное зрение и распознавание образов, 1991. Труды {CVPR'91.}, {IEEE} Конференция компьютерного общества, 1991 г.
  3. ^ Терк, Мэтью А и Пентленд, Алекс П. Распознавание лиц с использованием собственных лиц . Компьютерное зрение и распознавание образов, 1991. Труды {CVPR'91.}, {IEEE} Конференция компьютерного общества, 1991 г.
  4. ^ Дрейпер, Брюс А. и Ямбор, Венди С. и Беверидж, Дж. Росс. Анализ алгоритмов распознавания лиц на основе ПК: выбор собственного вектора и меры расстояния . 2002 г.
  5. ^ Belhumeur, {P, N} и Kriegman, D. Каков набор изображений объекта при всех возможных условиях освещения? . Proceedings {CVPR} '96, 1996 {IEEE} Конференция компьютерного общества по компьютерному зрению и распознаванию образов, 1996
  6. ^ Бернстоун, Джеймс; Инь, Худжун (2011). «Собственное освещение: восстановление освещения от изображений лиц». Интеллектуальная инженерия данных и автоматизированное обучение - IDEAL 2011 . Конспект лекций по информатике. 6936 . С. 490–497. DOI : 10.1007 / 978-3-642-23878-9_58 . ISBN 978-3-642-23877-2.
  7. ^ Могхаддам, Б. и Вахид, В. и Пентленд, А. Помимо собственных лиц: вероятностное сопоставление для распознавания лиц . Третья {IEEE} Международная конференция по автоматическому распознаванию лиц и жестов, 1998 г. Материалы
  8. ^ М. Тюрк; А. Пентланд (1991). «Собственные лица для распознавания» (PDF) . Журнал когнитивной неврологии . 3 (1): 71–86. DOI : 10.1162 / jocn.1991.3.1.71 . PMID 23964806 .  
  9. ^ Belhumeur, PN, и Hespanha, {J, Р}, и Kriegman, D. Eigenfaces против Fisherfaces: распознавание используя класс Специфического линейной проекции , 1997.

Ссылки [ править ]

  • Л. Сирович; М. Кирби (1987). «Низкоразмерная процедура описания человеческих лиц». Журнал Оптического общества Америки A . 4 (3): 519–524. Bibcode : 1987JOSAA ... 4..519S . DOI : 10.1364 / JOSAA.4.000519 . PMID  3572578 .
  • М. Кирби; Л. Сирович (1990). «Применение процедуры Карунена-Лоэва для характеристики человеческих лиц». IEEE Transactions по анализу шаблонов и машинному анализу . 12 (1): 103–108. DOI : 10.1109 / 34.41390 .
  • М. Тюрк; А. Пентланд (1991). «Распознавание лиц по собственным лицам» (PDF) . Proc. Конференция IEEE по компьютерному зрению и распознаванию образов . С. 586–591.
  • М. Тюрк; А. Пентланд (1991). «Собственные лица для распознавания» (PDF) . Журнал когнитивной неврологии . 3 (1): 71–86. DOI : 10.1162 / jocn.1991.3.1.71 . PMID  23964806 .
  • A. Pentland, B. Moghaddam, T. Starner, O. Oliyide и M. Turk. (1993). « Модульные Eigenspaces на основе представлений для распознавания лиц ». Технический отчет 245, MIT Media Lab.
  • П. Белхьюмер; J. Hespanha; Д. Кригман (июль 1997 г.). «Собственные лица против рыбаков: распознавание с использованием линейной проекции, специфичной для класса». IEEE Transactions по анализу шаблонов и машинному анализу . 19 (7): 711. CiteSeerX  10.1.1.5.1467 . DOI : 10.1109 / 34.598228 .
  • М. Х. Ян (2000). «Распознавание лиц с использованием собственных граней ядра». Труды Международной конференции по обработке изображений . 1 . С. 37–40. DOI : 10,1109 / ICIP.2000.900886 .
  • Р. Сендриллон; Б. Ловелл (2000). «Распознавание лиц в реальном времени с использованием собственных лиц» (PDF) . Визуальные коммуникации и обработка изображений . С. 269–276. DOI : 10.1117 / 12.386642 .
  • Т. Хезелтин, Н. Пирс, Дж. Остин, З. Чен (2003). « Распознавание лиц: сравнение подходов, основанных на внешнем виде ». Proc. VII-я цифровая обработка изображений: методы и приложения , том 1. 59–68.
  • Д. Писсаренко (2003). Распознавание лиц на основе Eigenface .
  • Ф. Цалаканидуа; Д. Цоварасб; М.Г. Стринциса (2003). «Использование глубины и цвета собственных лиц для распознавания лиц». Письма о распознавании образов . 24 (9): 1427–1435. DOI : 10.1016 / S0167-8655 (02) 00383-5 .
  • Делак К., Гргич М., Лиатсис П. (2005). « Статистические методы распознавания лиц на основе внешнего вида ». Материалы 47-го Международного симпозиума ELMAR-2005 по мультимедийным системам и приложениям , Задар, Хорватия, 8-10 июня 2005 г., стр. 151–158

Внешние ссылки [ править ]

  • Домашняя страница распознавания лиц
  • PCA в наборе данных FERET
  • Развитие собственных лиц интеллекта и веретенообразной области лица
  • Учебное пособие по распознаванию лиц с использованием собственных лиц и дистанционных классификаторов
  • Пример кода Matlab для собственных граней
  • OpenCV + C ++ Builder6 реализация PCA
  • Java-апплет, демонстрирующий собственные лица
  • Введение в собственные грани
  • Функция распознавания лиц в OpenCV
  • Распознавание мимики на основе Eigenface в Matlab