Различение лиц от фотографий лиц с OpenCV - PullRequest
0 голосов
/ 08 июня 2018

Я создаю игрушку AR и следую этому уроку здесь https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html Мне уже удалось сопоставить лица разных тестеров с гистограммами локальных двоичных образцов.

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

Спасибо!

1 Ответ

0 голосов
/ 08 июня 2018

Чтобы определить, что «лицо» - это просто неподвижное изображение, я могу придумать простой алгоритм, который может быть реализован с использованием функциональных возможностей OpenCV.

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

Для каждого нового кадра (если там обнаруживается одно и то же лицо), попробуйте извлечь изображение лица (мы назовем этот фрагмент ").FaceN "), а затем рассчитать гомографию для первого кадра (изображение" Face1 ").Затем деформируйте изображение «FaceN», чтобы выровнять его по «Face1», и попробуйте выполнить сравнение пикселей.Если изображение «FaceN» слишком «статично» (здесь требуется некоторая эвристика), то, вероятно, это фотография.

Я понимаю, что

  1. не очень быстро
  2. не очень надежный

но я вполне уверен, что это может быть отправной точкой с некоторыми оптимизациями позже.

Весь подход может быть протестирован только на двух кадрахВы держите фотографию лица перед камерой (это будут изображения "Face1" и "FaceN").

...