python-3.x - 人脸识别系统如何区分真实人脸和人脸照片?

标签 python-3.x opencv tensorflow keras face-recognition

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

最佳答案

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

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

    相关文章:

    python - 迭代变量参数的元素

    python - 在类构造函数中初始化 tensorflow session

    javascript - 给定 url,如何加载图像,然后将其转换为 Javascript 中的 tf.tensor 数据?

    用于 Dart 语言的 TensorFlow?

    python-3.x - 使用 pyinstaller 将 Exe 转换为 python?

    qt - PyQT5 错误 : could not find or load Qt platform plugin xcb

    python - 如何使用 dask 读取 csv 并处理行?

    c++ - 用于运动检测的opencv代码中的错误

    opencv - 使用两个对象编译OpenCV程序时,pkg-config不起作用

    Opencv 矩阵值显示