首页 > 解决方案 > 在 Python 中进行人脸识别的 Face Anti-Spoofing 方法

问题描述

我正在做一个人脸识别项目,我可以先注册自己,然后启动一个识别脚本,该脚本将启动我的网络摄像头,它会识别我自己。我正在关注这篇文章,它的工作非常好。

我注意到的是,如果我将我的照片展示给相机而不是我自己在相机前,它仍然会检测并识别我的脸。它不涉及反欺骗。我想在代码中包含反欺骗方法,以便它可以检测到检测/识别的面部是真的假的天气。为此,我想到了以下方法:

1. 眨眼检测:最初我想我会实现一个眨眼检测算法,但它也有它的缺点。如果一个真人脸的人有一段时间没有眨眼怎么办,在这种情况下,我们的代码会将这张脸标记为假脸。此外,在距相机 1-1.5 米的距离也没有检测到眼睛。

2.使用温度传感器:我还连接了欧姆龙热传感器,这样我就可以得到脸部的温度。在正常人脸中,温度总是高于阈值。如果照片中有人脸,它将始终低于该阈值。我实现了这一点,它工作正常。但后来意识到如果有人在手机中显示照片,在这种情况下,由于手机屏幕温度高,它总是超过阈值,因此它被标记为真实照片。

上面提到的方法对我不起作用。我正在寻找一个可以在所有场景中工作的简单解决方案。我在树莓派上做这个项目,所以寻找一个与树莓派兼容的解决方案。请帮忙。谢谢

标签: pythonface-recognition

解决方案


抱歉有任何错误,因为我不是来自树莓派的背景,但作为一个体面的人,我认为你应该尝试分辨率检查(如果可能的话),因为手机屏幕的分辨率总是低于真实面孔。然后您可以使用它与眨眼方法来抓住手机,因为照片不会眨眼。人类平均每分钟眨眼 12 次,因此每 5 秒眨眼 1 次。这将帮助您抓住打印的照片。希望这会有所帮助。


推荐阅读