使用OpenCV进行头部(和肩部)检测

时间:2011-04-20 06:54:54

标签: opencv

(如果我问一个太小的问题,请提前申请。我是OpenCV的初学者。我已经完成了一些教程,但我还没有很好地掌握它的概念。)

问题:如何使用OpenCV进行头部检测(不是面部检测) - 例如在公共汽车或房间内的照片中?

注意:我不想做面部检测;只是检测头发以确定照片中的人数。不幸的是 - 对我来说 - 我发现的那些教程和文档都是关于人脸检测而不是头部检测。

谢谢

2 个答案:

答案 0 :(得分:16)

查看OpenCV提供的所有Haar提升分类器和专用类CascadeClassifier以使用它。以下是分类器在本地具有的列表:

  • haarcascade_eye.xml
  • haarcascade_lefteye_2splits.xml
  • haarcascade_mcs_righteye.xml
  • haarcascade_eye_tree_eyeglasses.xml
  • haarcascade_lowerbody.xml
  • haarcascade_mcs_upperbody.xml
  • haarcascade_frontalface_alt.xml
  • haarcascade_mcs_eyepair_big.xml
  • haarcascade_profileface.xml
  • haarcascade_frontalface_alt2.xml
  • haarcascade_mcs_eyepair_small.xml
  • haarcascade_righteye_2splits.xml
  • haarcascade_frontalface_alt_tree.xml
  • haarcascade_mcs_lefteye.xml
  • haarcascade_upperbody.xml
  • haarcascade_frontalface_default.xml
  • haarcascade_mcs_mouth.xml
  • haarcascade_fullbody.xml
  • haarcascade_mcs_nose.xml

我加粗的两个可能对你特别感兴趣。尝试将它们作为项目的开始。正如Alessandro Vermeulen评论的那样,头部检测分类器也可能很有趣,因为他们发现它与肩部有用: - )

答案 1 :(得分:1)

您也可以创建自己的级联分类器来检测磁头。上半身根本不是头部,但只是头部并不那么准确。您需要裁剪一些正样本和负样本。在text.txt,opencv_createsamples.exe(准备用于训练的输入向量)中准备这些示例的列表,并使用opencv_traincascade.exe命令行实用工具创建opencv分类器,以进行级联检测多尺度。 这很容易,但是创建数据集非常耗时。我的头部LBP级联可从此处免费下载link to my blog for head, car and people cascade。它与detectMultiscale兼容,但不那么准确。