我是否可以使用OpenCV实现面部识别?我尝试使用LBPH,并用一张图像训练。它给出了置信度分数,但我不确定这用于验证的准确程度。
我的问题是如何创建一个面部识别系统,告诉我这两个面是多么相似/如果他们是同一个人或不使用OpenCV。如果我正确地做到这一点,那么信心分数似乎不是一个准确的衡量标准。
此外,更高的置信度得分会更好吗?
由于
答案 0 :(得分:1)
OpenCV 3目前支持以下人脸识别算法:
- 特征脸(参见createEigenFaceRecognizer())
- Fisherfaces(参见createFisherFaceRecognizer())
- 局部二进制模式直方图(参见createLBPHFaceRecognizer())
这些算法的置信度得分是人脸之间的相似性度量,但这些方法确实陈旧且表现不佳。我建议你试试这篇文章:http://www.robots.ox.ac.uk/~vgg/publications/2015/Parkhi15/parkhi15.pdf
基本上你需要从这里下载训练有素的caffe模型:http://www.robots.ox.ac.uk/~vgg/software/vgg_face/src/vgg_face_caffe.tar.gz
使用opencv运行此分类器,如下所示:
http://docs.opencv.org/trunk/d5/de7/tutorial_dnn_googlenet.html#gsc.tab=0
然后从caffe网络收集大小为4096的fc8功能层浮点数。并将您的相似度计算为为面部计算的两个fc8图层之间的L2范数。