开放式 CV2 人脸检测中的模糊人脸

Blurry faces in open CV2 face detection

我在 Python 中使用 Open CV2 人脸检测。它工作得很好,但经常会发现那些面孔,虽然它们确实是面孔,但非常模糊以至于毫无用处。它成功地找到了不能被识别为男性或女性、成人或儿童的面孔,但仍然是清晰的人脸。

检测到无法识别的人脸不是有用的结果,但我不知道如何以编程方式阻止这些结果,或确定应忽略它们。

我目前唯一的方法是忽略任何小于某个阈值的人脸,但我仍然得到一些大而模糊的人脸。

有什么建议吗?我正在使用 haarcascade_frontalface_alt_tree.xml 进行检测。

如果您的问题是检测男性、女性或儿童的面孔,您需要输入性别图像并训练您的程序。它涉及很多编程,但可以使用opencv轻松解决。您需要使用数千张图像来训练您的模型(项目)以提高准确性。

如果你只想检测特定的人脸,你需要做同样的事情,但是用你想要检测的人脸图像训练你的模型......

基于深度学习的面部检测器,例如 ssd 或 mtcnn return 置信度得分。

deepface 封装了这些 state-of-the-art 人脸检测器。

#!pip install deepface
from deepface import DeepFace
backends = ['ssd', 'mtcnn']
detected_face = DeepFace.detectFace("img.jpg", detector_backend = backends[0])

在此,ssd 给出了 90% 的置信度分数。那会解决你的问题。