我正在寻找一个稳健的人脸检测算法/库,最好使用C语言(C ++也可以;如果必要,我可以转换其他语言)。我过去曾经使用过OpenCV的实现,但我认为它对旋转不变性不敏感。不需要实时处理,但速度也不应该太慢(每张照片可能需要一两秒钟)。希望能高可靠性,且虚警较少。有人知道有什么好的实现吗?
我正在寻找一个稳健的人脸检测算法/库,最好使用C语言(C ++也可以;如果必要,我可以转换其他语言)。我过去曾经使用过OpenCV的实现,但我认为它对旋转不变性不敏感。不需要实时处理,但速度也不应该太慢(每张照片可能需要一两秒钟)。希望能高可靠性,且虚警较少。有人知道有什么好的实现吗?
请查看OpenCV Wiki上关于使用Haar-like特征进行人脸检测的页面。
@floppydisk:同一个人发布了另一个项目,用于实现这些用于人脸检测的Haar-like特征。
这个概念并不难理解,甚至可以自己实现。也许最困难的部分是构建级联增强分类器(但openCV已经全部准备好了!)
在人脸检测中可以使用其他一些方法,这些方法可以被制作成对仿射变换不变的形式,包括:
你可以尝试查看这个库:
http://vasc.ri.cmu.edu/NNFaceDetector/
在其中一个测试用例中,显示了旋转的面孔。正如您所看到的,它是作为论文完成的,如果您愿意,也可以阅读那篇论文。
马克 - 你说OpenCV可能不具有旋转不变性
那么,是什么阻止你在每个比较后旋转90度进行四次比较呢?
我没有使用Haar特征进行人脸检测,但据我记得,它可能比特征脸/主成分分析更有效地检测人脸。
我遇到了关于人脸旋转问题的问题。我的想法是,也许您可以尝试形状匹配并尝试纠正对象。尝试将其定位为正常头部长宽比。我在Eigenface项目中从未走得那么远,但请告诉我它的工作原理。这在matlab中应该很容易。:P