我正在使用 python 和 OpenCV 进行人脸识别项目我检测到人脸,但我有这个问题
我不知道如何让系统通过 2D 图像区分真假面孔
如果有人有任何想法,请帮助我。
谢谢你。

最佳答案

来自 pyimagesearch 的 Adrian 有一个非常好的 article(包含代码),用活性检测器解决了同样的问题。
以下是那篇文章的摘录
有多种活体检测方法,包括:

  • 纹理分析 ,包括计算面部区域的局部二值模式 (LBP) 并使用 SVM 将面部分类为真实的或伪造的。
  • 频率分析 ,例如检查人脸的傅立叶域。
  • 可变聚焦分析 ,例如检查两个连续帧之间像素值的变化。
  • 基于启发式的算法 ,包括眼球运动、嘴唇运动和眨眼检测。这组算法试图跟踪眼球运动和眨眼,以确保用户没有举起另一个人的照片(因为照片不会眨眼或移动嘴唇)。
  • 光流算法 ,即检查从 3D 对象和 2D 平面生成的光流的差异和特性。
    - 3D 人脸形状 ,类似于苹果 iPhone 人脸识别系统上使用的,使人脸识别系统能够区分真实人脸和其他人的打印输出/照片/图像。
  • 上述 的组合,使人脸识别系统工程师能够挑选适合其特定应用的活体检测模型。
  • 关于python-3.x - 人脸识别系统如何区分真实人脸和人脸照片?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60297320/

    10-12 19:31