如果我问了一个太幼稚的问题,请提前道歉。我是OpenCV的初学者。我已经做了一些教程,但我还没有很好地掌握它的概念。
问题:如何使用OpenCV进行头部检测(不是面部检测)-例如在公共汽车或房间内的照片中?注意:我不想做人脸检测;通过头部检测来找出照片中有多少人。不幸的是,对我来说,我找到的那些教程和文档都是关于面部检测而不是头部检测的。
谢谢
查看OpenCV和专用类CascadeClassifier
中可用的所有Haar增强分类器。以下是分类器在本地拥有的列表:
- 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所评论的那样,头部检测分类器可能也很有趣,因为他们发现的东西通常与肩膀有关:-)
您也可以创建自己的级联分类器来检测正面。上半身根本不是头部,但仅仅是头部并不是那么准确。你需要裁剪几个阳性样本和阴性样本。在text.txt, opencv_createssamples .exe(为训练准备输入向量)中准备这些示例列表,并使用opencv_traincascade.exe命令行实用程序创建opencv级联检测多尺度分类器。这很简单,但是创建数据集很耗时。我的头部LBP级联可以在这里免费下载链接到我的博客头部,汽车和人级联。它与detectMultiscale兼容,但不那么精确。