一张脸书个人资料图片中有多少人?



所以我想计算一下有多少人出现在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问题,例如 计算视频中的人数,但没有一个是相关的!

我已经尝试了半天了 - 所以帮助将不胜感激!

对我来说,dlib 比使用 OpenCV 的 haar 人脸检测器给出了更好的结果。它也有python绑定。您可以在此处找到执行人脸检测的快速入门代码。

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

话虽如此,除了使用 dlib 之外,为了改进人脸检测,您可以尝试以下想法:

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

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

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