如何使用emguCV c#识别面部识别中的未知面部?

时间:2019-05-08 16:43:28

标签: c# opencv emgucv face-recognition

我正在使用emguCV 4.0.1开发人脸识别系统,在检测未知人脸时遇到了问题。问题是系统始终会从数据库中为未知的面孔返回最匹配的面孔。

我使用了三种算法(EIGEN,FISHER和LBPH)的组合来获得更好的面部识别精度。对于数据库中已经存在的面部,它可以提供80-90%的准确性,但是对于数据库中不存在的未知面部,它总是从数据库中返回最佳匹配的面部。

EigenFaceRecognizer eigenFaceRecognizer = new EigenFaceRecognizer(4,5000);
FisherFaceRecognizer FisheigenFaceRecognizer = new FisherFaceRecognizer(4, 5000);  
LBPHFaceRecognizer LBPeigenFaceRecognizer = new LBPHFaceRecognizer(4, 8, 8, 8, 5000)

var result = eigenFaceRecognizer.Predict(_grayFrame);
var resultFish = FisheigenFaceRecognizer.Predict(_grayFrame);
var LBPresult = LBPeigenFaceRecognizer.Predict(_grayFrame);

if (result.Label != -1 && resultFish.Label != -1 && LBPresult.Label != -1)
{
    if ( result.Label == resultFish.Label == LBPresult.Label)
    {
     return Label;
    }
}
else
{
return "Unknown"
}

0 个答案:

没有答案