Как работают программы распознавания лиц? - PullRequest
21 голосов
/ 12 февраля 2011

Какой поток пройдет программа?

Ответы [ 2 ]

36 голосов
/ 12 февраля 2011

Очень приблизительно, этапы обработки будут:

  1. Определение положения лица
  2. Нормализация лиц
  3. Сбор признаков для каждого обнаруженного лица
  4. Ввод функций в алгоритм машинного обучения

Шаг 1 обычно выполняется с использованием классического алгоритма обнаружения лиц Viola & Jones . Это довольно быстро и надежно.

Лица, найденные на шаге 1, могут иметь разную яркость, контрастность и разные размеры. Чтобы упростить обработку, все они масштабируются до одинакового размера, а различия экспозиции компенсируются (например, с помощью выравнивания гистограммы) на шаге 2.

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

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

Шаг 4 является относительно простым: у вас есть набор чисел для каждого лица и для изображений лиц, полученных во время тренировки, и вы хотите найти тренировочное лицо, которое «наиболее похоже» на текущее тестовое лицо. Это то, что делают алгоритмы машинного обучения. Я думаю, что наиболее распространенным алгоритмом является машина опорных векторов (SVM). Другие варианты, например, искусственные нейронные сети или k-ближайшие соседи. Если функции хороши, выбор алгоритма ML не будет иметь большого значения.

Литература по предмету:

  • Компьютерное зрение - Алгоритмы и приложения относится к распознаванию лиц, распознаванию лиц и машинному обучению (среди многих других предметов). Это довольно новое, поэтому оно охватывает последние исследования. У этого также есть большая библиография.
  • Методы сопоставления шаблонов в Computer Vision подробно рассматривают подходы сопоставления шаблонов для распознавания лиц.
  • И вы можете найти множество исследовательских статей, используя google scholar.
3 голосов
/ 12 февраля 2011

Анализ основных компонентов лежит в основе систем распознавания образов, таких как распознавание лиц .

...