Обнаружение и сравнение лиц

Я провожу небольшое исследование по обнаружению лиц и сравнения для своей статьи. В настоящее время я использую быстрое обнаружение лиц на основе хаароподобных функций, основанных на каскаде OpenCV (позже я реализую обучение). Следующий шаг - сравнение лиц. Есть ли хорошо известные алгоритмы? Было бы здорово, если есть какие-то коды C #, объясняющие их, или какие-то dll, которые их реализуют.


person Community    schedule 08.11.2009    source источник


Ответы (3)


Eigenfaces

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

Собственные грани теперь можно использовать для представления новых лиц: мы можем спроецировать новое (с вычитанием среднего) изображение на собственные грани и, таким образом, записать, как это новое лицо отличается от среднего лица. Собственные значения, связанные с каждым собственным лицом, представляют, насколько изображения в обучающем наборе отличаются от среднего изображения в этом направлении. Мы теряем информацию, проецируя изображение на подмножество собственных векторов, но мы минимизируем эту потерю, сохраняя эти собственные грани с наибольшими собственными значениями.

Fisherfaces и Eigenfaces

Если ваши лица не выровнены, я бы рекомендовал прочитать следующую статью:

Поддержка векторных машин

Аннотация: Мы представляем компонентный метод и два глобальных метода распознавания лиц и оцениваем их устойчивость к изменениям позы. В системе компонентов мы сначала находим лицевые компоненты, извлекаем их и объединяем в единый вектор признаков, который классифицируется с помощью машины опорных векторов (SVM).

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

person Jacob    schedule 09.11.2009

Я написал учебную и демонстрационную программу с бесплатным исходным кодом для выполнения обнаружения и распознавания лиц в реальном времени с веб-камеры (также в OpenCV):

http://www.shervinemami.info/faceRecognition.html

person Shervin Emami    schedule 01.11.2010

Существует система оценки от Беверидж. Они реализовали три алгоритма распознавания лиц с разными показателями. Алгоритмы реализованы для оценки, поэтому их может быть сложно использовать для ваших собственных программ.

Некоторые ссылки на Java API и общие ссылки можно найти в моем вопросе о распознавании лиц.

person Janusz    schedule 10.11.2009