由于我使用局部二值直方图(LBPH)算法进行识别,而Haarcascade算法用于人脸检测,我发现这两种算法给出的准确性都达不到想要的水平。在python中有没有机器学习算法可以根据训练过的图像检测和识别图像,并且比LBPH和haarcascade.onetime提供更准确的结果。我尝试使用dlib库,但是在安装它的时候。它要求下载microsoft visual studio,我觉得很无聊。
发布于 2020-09-07 16:30:38
首先,haar级联是人脸检测的遗留技术,LBPH也是人脸识别的遗留技术。基于深度学习的技术是当今最先进的技术。
#!pip install deepface
from deepface import DeepFace
models = ['VGG-Face', 'Facenet', 'OpenFace', 'DeepFace', 'DeepID', 'Dlib']
backends = ['opencv', 'ssd', 'dlib', 'mtcnn']
model = 'VGG-Face'
backend = 'mtcnn'
DeepFace.verify("img1.jpg", "img2.jpg", model_name = model, detector_backend = backend)上面提到的所有型号都是最先进的型号。除了opencv之外的所有后端也都是最先进的。OpenCV后端使用haar级联。SSD是一种现代的人脸检测技术,但在这个后端,人脸对齐是基于haar级联的。我建议你使用VGG-Face / Facenet和MTCNN对来获得最好的结果。
https://stackoverflow.com/questions/60246572
复制相似问题