2010-05-25 2 views
20

Недавно я немного взглянул на лицо. Однако меня переполняет количество алгоритмов, которые есть.Современное состояние распознавания лиц

PCA, LDA, МАР, Gabor Всплески, AAM ...

Скажи, что ты хотел сделать что-то вроде this ... Какие алгоритмы вы бы использовать или какие документы вы прочитали?

+1

+1 для темы, очень интересно. –

+0

Сообщество Wiki ?? – Betamoo

ответ

16

Я думаю, что первое, что вы должны сделать, это понять, что алгоритмы вы перечисленные используется на различных этапах распознавания лица.

Во-первых, вам нужно принять решение о представлении, i. е. используемые функции. Это могут быть необработанные пиксели, фильтры Габора, какие-то дескрипторы формы, деформируемые модели и т. Д.

Тогда вы, как правило, хотите уменьшить размерность своих функций. Именно здесь появляются алгоритмы, такие как PCA, ICA или LDA, данные проекта указывают на более низкое пространственное пространство, пытаясь сохранить большую часть дисперсии (PCA) или обеспечить оптимальное разделение точек разных категорий (LDA).

Тогда вы, вероятно, захотите обучить классификатор своим функциям, чтобы различать лица разных людей. Существует множество алгоритмов выбора, таких как «Ближайший сосед», «Поддержка векторных машин», «Скрытые марковские модели», «Байесские сети» и т. Д.

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

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

Ответы на эти вопросы определяют, насколько сложна ваша проблема, и, безусловно, повлияет на ваш выбор алгоритмов.

EDIT: Настоящий thesis человек, который пытался решить подобную проблему. Это с 2002 года, но ИМХО это хорошее место для начала.

+1

Как я уже сказал, я думал о том, чтобы сделать так, как myheritage, где вы можете вводить широкий спектр фотографий и сопоставлять их с большой базой данных примеров (которые могут содержать одного и того же человека с различным выражением, позой и освещением), чтобы найти самое близкое совпадение – Maarten

+0

Однако вы сделали вещи намного яснее для меня. – Maarten

+0

Нет, на самом деле вы не объяснили, какова была ваша конкретная цель. Но похоже, что вы хотите сделать поиск, а не классифицировать. Так что вы действительно хотите выбрать подходящее представление функции и определить расстояние между двумя такими представлениями. – Dima

1

Хаар каскад работает на порт Марилена.

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

http://en.wikipedia.org/wiki/Haar-like_features

+3

Я говорю о распознавании лиц не обнаружение. EDIT: спасибо в любом случае. – Maarten

3

Вы хотите рассмотреть карты глубины. Это современное состояние. Попытайтесь прочитать о разреженных сферических представлениях. Собственные лица просто не очень надежны. Это не инвариантно к нескольким факторам. Современное распознавание лиц использует 3D PCL с информацией о глубине. Это позволит вам распознать даже в темноте. Вы можете использовать камеру Asus или камеру Kinect для сбора информации о глубине. Надеюсь, это поможет!