FaceBook个人资料图片中有多少人?

时间:2017-04-05 08:26:16

标签: opencv computer-vision conv-neural-network

所以我想知道有多少人出现在Facebook个人资料图片中。 通常有0-2人(有时候有4-5人,但更罕见)。

可以在此处找到样本数据集(以及使用python的几次尝试):

https://github.com/yoniker/FaceDetect

我尝试过不同的方法,但没有一个方法能给出合理的结果(所有这些方法在大多数情况下都是错误的),我已尝试过以下方法:

- 面部检测 - http://docs.opencv.org/trunk/d7/d8b/tutorial_py_face_detection.html

它通常找不到任何人(大约75%的图片都会发生) - 我尝试过不同的Haar滤镜和参数。

- 行人检测http://www.pyimagesearch.com/2015/11/09/pedestrian-detection-opencv/ 再次,它在大多数时间都找不到人。

OpenFace:这个面部识别算法可能并不能真正帮助进行人脸检测(参见https://groups.google.com/forum/#!topic/cmu-openface/X6erXKckk0Q)。

最后,我查看了不同的StackOverflow问题,例如 Count the number of people in the video但没有一个是相关的!

我已经尝试了半天了 - 所以我会非常感激帮助!!

2 个答案:

答案 0 :(得分:2)

对我来说,dlib比使用OpenCV的haar人脸检测器效果更好。它也有python绑定。您可以找到快速启动代码来进行面部检测here

如果您发布未正确检测到面部的图像,则可以提供更好的帮助。

话虽如此,除了使用dlib之外,为了改善面部检测,您可以尝试这些想法:

  • 在将灰度图像传递到面部检测器之前,使用直方图均衡(opencv上的equalizeHist)。 (即预处理你的图像)
  • 如果脸部向左或向右倾斜,则脸部检测通常会失败。要解决此问题,请将图像以5度到30度的步长旋转并应用面部检测。在每次旋转时,您都可以检测到新面孔。
  • 大多数未使用深度学习的面部检测器主要检测正面。除了使用深度学习或使用HOG或HAAR功能训练您自己的侧面人脸探测器之外,没有什么可以做的。

希望这可以帮助您改善面部检测。

答案 1 :(得分:0)

OpenCV中始终存在级联分类器,可满足您的所有面部检测需求。如果你能用它提供一些不错的功能,它会给你所有的结果。