Из чего генерируются собственные лица?

Я работаю с eigenfaces для программы распознавания лиц, которую пишу. У меня есть пара вопросов о том, как на самом деле генерируются собственные лица:

  1. Созданы ли они из множества изображений разных людей или из множества изображений одного и того же человека?

  2. Должны ли эти люди включать людей, которых вы хотите узнать? Если нет, то как можно провести какое-либо сравнение?

  3. Определяется ли собственное лицо для каждого изображения, которое вы предоставляете, или несколько изображений используются для создания одного собственного лица?

Это все о фазе генерации или обучения собственных лиц. Спасибо за любую помощь или указание мне в правильном направлении!


person Kevin    schedule 23.06.2011    source источник
comment
Редактировать: Спасибо за хорошие ответы. Цель, которую я пытаюсь достичь, состоит в том, чтобы сопоставить изображение с набором лиц и определить, какое из них ближе всего. Это не должно быть полное совпадение, я просто хочу получить то, что ближе всего к одному и тому же. Я думаю, Eigenfaces все еще будет работать для этого, верно?   -  person Kevin    schedule 23.06.2011


Ответы (2)


  1. Много разных людей, крайне необходимо добиться поддержки, чтобы охватить все возможные лица.
  2. В этом нет необходимости, хотя вам нужно представлять все измерения. Хорошая аналогия — барицентрические координаты для описания положения точки в треугольнике. Вы получаете средневзвешенное значение для вершин. Если у вас нет достаточной векторной поддержки (например, есть только две точки), то вы не сможете описать точки, лежащие за пределами линии, как бы вы ни играли со средневзвешенным значением. По сути, это точка зрения Бьорнца на лица европеоидов и азиатов. Обратите внимание, что эта аналогия является грубым упрощением. Веса в собственных гранях на самом деле больше похожи на коэффициенты PCA или Фурье.
  3. Каждое изображение превращается в собственную грань, которая представляет собой вектор главных компонент.

Nota bene: вам нужна очень хорошая регистрация лиц. Eigenfaces, как известно, плохо относится к инвариантности перевода/вращения. Ваши результаты, вероятно, будут ужасными, если вы не зарегистрируетесь хорошо. Первоначальная статья Терка и Пентланда была новаторской не только из-за техники, но и из-за масштаба и качества набора данных, которые они собрали, что позволило использовать эту технику.

person peakxu    schedule 23.06.2011
comment
объявление 3: между изображениями и собственными гранями нет отношения 1-1. Вы берете набор изображений и получаете набор собственных лиц. Лучший способ думать об этом состоит в том, что каждое собственное лицо представляет собой изображение некоторых черт, общих для изображений лиц нескольких людей. то есть овал с тремя темными пятнами (глаза и тень под носом), овал с выступом по бокам (уши) и т. д. - person jilles de wit; 23.06.2011

На самом деле я нахожу описание Eigenfaces в Википедии весьма полезным. Чтобы ответить на ваши вопросы:

  1. Да, вы должны фотографировать многих разных людей.
  2. Нет, собственные лица в основном дают вам способ описать другие лица. Вы можете рассматривать собственные грани как основу в векторном пространстве. Вы должны убедиться, что можете описать лицо, которое хотите распознать, с помощью имеющихся у вас собственных лиц. Если вы используете только кавказские лица для определения собственных лиц, у вас могут возникнуть проблемы с описанием ими множества азиатских лиц и наоборот.
  3. Собственные грани вычисляются из набора изображений, т. е. несколько изображений приводят к нескольким собственным граням.

Редактировать: Отвечая на вопрос, который Кевин добавил в комментарии к вопросу:

Идея использования собственных лиц заключается в том, что вы можете выразить изображение лица, смешивая собственные лица вместе. Предположим, у вас есть три собственных лица ef_1, ef_2, ef_3 и изображение лица f_1 = a_1 * ef_1 + a_2 * ef_2 + a_3 * ef_3. Собственные грани не меняются, независимо от того, какую грань вы хотите ими выразить, однако коэффициенты a = (a_1, a_2, a_3) характерны для грани. Это то, что вы использовали бы для сравнения двух лиц.

Но для того, чтобы перейти к этапу, когда вы можете использовать собственные лица, вам сначала нужно выровнять (зарегистрировать) наблюдаемое лицо с собственными лицами, что не является тривиальным и представляет собой совершенно другую тему (см. pxu, ответ).

PS: я рекомендую вам следить за Область 51: Компьютерное зрение, которая — это дочерний сайт Stack Overflow, посвященный созданию компьютерного зрения.

person bjoernz    schedule 23.06.2011