Как распознать неизвестные лица в распознавании лиц с помощью emguCV c #? - PullRequest
0 голосов
/ 08 мая 2019

Я работаю над системой распознавания лиц, используя 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"
}
...