用于Python中人脸识别的人脸防欺骗方法

问题描述

正在进行一个人脸识别项目,首先可以注册自己,然后启动一个识别脚本,该脚本将启动我的网络摄像头并识别我自己。我正在关注此article,它的运行正常。

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

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

2。使用温度传感器:我还连接了欧姆龙热传感器,以便获得面部温度。在正常人脸中,温度始终高于阈值。对于照片中的脸,它将始终低于该阈值。我实现了它,并且运行良好。但是后来才意识到,如果有人在手机中显示照片,在这种情况下,由于手机的屏幕温度很高,它总是超过阈值,因此被标记为真实照片。

以上提到的方法对我不起作用。我正在寻找一种可以在所有情况下工作的简单解决方案。我正在树莓派上进行此项目,因此正在寻找与树莓派兼容的解决方案。请帮忙。谢谢

解决方法

很抱歉有任何错误,因为我不是来自rapiberry pi的背景,而是作为一个体面的家伙在帮助人们,我认为您应该尝试进行分辨率检查(如果可能),因为电话的屏幕分辨率始终低于真实面孔。然后,您可以将其与眨眼方法配合使用,因为照片不会眨眼,因此可以抓住手机。普通人一分钟眨眼12次,因此每5秒1次。这将帮助您抓住打印的照片。希望这会有所帮助。

,

您应该在面部检测器上方使用对象检测器。它绝对可以检测到电话。
您可以对其进行重新培训,以检测照片是否还被举起。

首先运行对象检测器,保存手机的边界框坐标,然后查看面部边界框坐标是否位于手机内部。

,

我目前正在研究人脸识别系统作为我的论文项目。你试过this article吗? Adrian 说它可以在 Raspberry Pi 中使用,但这意味着我们必须安装 TensorFlow 和 Keras 才能做到这一点。我认为这会有所帮助。