Python 3.x 人脸识别系统如何区分真实人脸和人脸照片?
我正在用python和OpenCV进行人脸识别项目,我检测人脸,但我有这个问题 我不知道如何让系统用2D图像区分真假脸 如果有人有什么想法,请帮助我。Python 3.x 人脸识别系统如何区分真实人脸和人脸照片?,python-3.x,opencv,tensorflow,keras,face-recognition,Python 3.x,Opencv,Tensorflow,Keras,Face Recognition,我正在用python和OpenCV进行人脸识别项目,我检测人脸,但我有这个问题 我不知道如何让系统用2D图像区分真假脸 如果有人有什么想法,请帮助我。 谢谢。你可以使用多种方法解决这个问题,我在这里列出了其中的一些方法,你可以参考一些研究论文找到更多的方法 运动方法:您可以让用户眨眼或移动,从而让用户确信它们是真实的(最有可能处理视频数据集或连续图像) 特征方法:从图像中提取有用的特征,并使用它们来做出二值分类决策,比如说真实与否 频率分析:检查面部的傅里叶域 光流算法:即检查3D对象和2D平
谢谢。你可以使用多种方法解决这个问题,我在这里列出了其中的一些方法,你可以参考一些研究论文找到更多的方法
- 运动方法:您可以让用户眨眼或移动,从而让用户确信它们是真实的(最有可能处理视频数据集或连续图像)
- 特征方法:从图像中提取有用的特征,并使用它们来做出二值分类决策,比如说真实与否
- 频率分析:检查面部的傅里叶域
- 光流算法:即检查3D对象和2D平面生成的光流的差异和特性
- 纹理分析:您还可以使用OpenCV进行局部二进制模式分类,以区分图像是否伪造,有关此方法的详细信息,请参阅此
- 纹理分析,包括计算人脸区域上的局部二进制模式(LBP),并使用SVM将人脸分类为真实或伪造
- 频率分析,例如检查面部的傅里叶域
- 可变聚焦分析,例如检查两个连续帧之间像素值的变化
- 基于启发式的算法,包括眼球运动、嘴唇运动和眨眼检测。这组算法试图跟踪眼球运动和眨眼,以确保用户没有拿着另一个人的照片(因为照片不会眨眼或移动嘴唇)
- 光流算法,即检查3D对象和2D平面生成的光流的差异和特性。 -3D人脸形状,类似于苹果iPhone人脸识别系统上使用的形状,使人脸识别系统能够区分真实人脸和其他人的打印输出/照片/图像
- 上述组合,使人脸识别系统工程师能够选择适合其特定应用的活性检测模型
- pyimagesearch的Adrian提供了一个非常好的(包括代码)解决了活性检测器的同样问题。
下面是那篇文章的摘录
活性检测有多种方法,包括: