人脸检测是基础非常关键,涉及到后续的人脸处理,人脸对齐,人脸特征提取,人脸识别等应用。本篇文章讲了我测试过的人脸检测库,或者收集相关的一些文章讲解或者源码。
这几天一直在寻找好的人脸检测的算法。遭遇到挫折,心中一直不舒服,因为一直找不一个开源的好的人脸检测算法,有些气馁。但是沉下心来想一想,还是有收获的。就把这些收获,肤浅的认识交流下
几个我测试的人脸库说下
1)fds70外国的一个神经网络加gabor特征的人脸检测(国外matlab开源),哎,速度慢,当前代码还是研究阶段,针对大的图片还不使用。
2)ofxFaceTracker中用的检测跟踪库(github上开源)原理与openc中的人脸检测库差不多吧,效果稍稍好了一点点吧,速度比opencv的慢。
3)其余的github上的几乎很多用的都是opencv的CascadeClassifier,即使自创的效果也非常一般,可能是训练的数量少的原因吧。
4)中国的一个开源的lib,dll的形式,效果比较不错libfacedetection,作者是yushiqi吧。
5)个人一直用opencv的那个人脸检测库,感觉还可以;速度效果可以,准备后面进行训练,增加具体场景的训练效果应该会好些。网上有关于讲解opencv那个人脸检测原理算法介绍的,也有讲解如何使用的。但是我刚开始尝试使用,失败,原来opencv有两个训练exe文件,应该如此使用。在评论下面,我会把训练代码附上,希望一块继续对opencv这个人脸检测算法进行一些优化。下面是具体训练命令行
opencv_traincascade.exe -data data -vec pos.vec -bg neg_image.txt -minHitRate 0.999 -precalcValBufSize 1024 -precalcIdxBufSize 1024 -numPos 40000 -numNeg 60000 -featureType HOG -w 300 -h 300 -numStages 25
下面是收集的其他人脸检测的相关算法,作为收集备份吧
6)神经网络相关的人脸检测算法1)Eblearn,地址点击打开链接;是个深度学习的开源库,里面着重有个讲人脸检测的例子,效果非常好,就是速度有点慢
7)Surf特征Casda检测人脸,2011年的IEE比Opencv好,源码地址
8)另外一个不知道名称的,效果也没有实践过的人脸检测,源码地址