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

Python 开放式CV2人脸检测中的模糊人脸,python,cv2,facial-identification,Python,Cv2,Facial Identification,我正在Python中使用OpenCV2人脸检测。它工作得很好,但经常会发现人脸,虽然它们真的是人脸,但模糊得毫无用处。它成功地发现了不能被识别为男性或女性、成人或儿童的面孔,但仍然清晰地显示出人类的面孔 检测一张无法识别的脸并不是一个有用的结果,但我不知道如何通过编程阻止这些结果,或者确定应该忽略它们 我目前唯一的方法是忽略任何小于某个阈值的人脸,但我仍然会得到一些大的模糊人脸 有什么建议吗?我正在使用haarcascade_frontalface_alt_tree.xml进行检测。如果您的问题

我正在Python中使用OpenCV2人脸检测。它工作得很好,但经常会发现人脸,虽然它们真的是人脸,但模糊得毫无用处。它成功地发现了不能被识别为男性或女性、成人或儿童的面孔,但仍然清晰地显示出人类的面孔

检测一张无法识别的脸并不是一个有用的结果,但我不知道如何通过编程阻止这些结果,或者确定应该忽略它们

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


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

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


如果只想检测某些人脸,则需要执行相同的操作,但需要使用要检测的人脸图像对模型进行训练。…

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

deepface将这些最先进的面部检测器包裹起来

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

在此,ssd的置信度得分为90%。这就解决了你的问题。

那么你不高兴你的代码太擅长检测人脸了吗?opencv怎么知道脸对你来说没用?在我看来,这和说人脸检测应该拒绝你不认识的人的脸没什么不同——也就是说,这取决于你的代码来实现。也许试一下脸部区域?我觉得你的评论没什么用。检测一张细节如此之小以至于看起来像是一个5岁小孩画的脸是成功的人脸检测,但对于人脸识别的目标来说毫无用处。我希望找到一个分数来衡量一张脸的细节程度,以表明最终识别它的可能性。也许我的观点不清楚。我对确定一张脸是男性还是女性、成人还是儿童没有任何兴趣。我试图指出,检测一张细节如此之少以至于人类甚至无法分辨它是男性/女性/成人/儿童的脸是没有用的(至少对我来说),因为人脸检测不是目标——它只是人脸识别的一步。我正在寻找一个分数,这将表明该脸有足够的细节被承认。谢谢你的建议。我一定会调查deepface的。