0

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

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

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

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

4

2 回答 2

0

基于深度学习的面部检测器(例如 ssd 或 mtcnn)也会返回置信度分数。

deepface 封装了这些最先进的人脸检测器。

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

在这里,ssd expexts 90% 的置信度得分。那会解决你的问题。

于 2020-09-06T09:28:58.853 回答
0

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

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

于 2020-09-06T09:17:16.937 回答