Opencv 人脸识别,相同图像的不同结果
我正在做一个人脸识别项目。以下是我使用的预处理步骤:Opencv 人脸识别,相同图像的不同结果,opencv,face-detection,face-recognition,Opencv,Face Detection,Face Recognition,我正在做一个人脸识别项目。以下是我使用的预处理步骤: 1.使用lbpcascade_frontalface.xml从原始图像裁剪面部(这将生成方形图像) 2.将图像转换为灰度 3.将图像大小调整为固定大小(50,50) 在此之后,我使用生成的图像来训练LBPH人脸识别器。从我的测试来看,识别器似乎返回了一个置信度,表示测试图像和训练集中另一图像之间的最佳匹配(如果我错了,请纠正我)。我试着用15幅图像训练模型,然后只用最匹配的图像训练模型,在这两种情况下我得到了相同的准确置信度 为了验证准
1.使用lbpcascade_frontalface.xml从原始图像裁剪面部(这将生成方形图像)
2.将图像转换为灰度
3.将图像大小调整为固定大小(50,50) 在此之后,我使用生成的图像来训练LBPH人脸识别器。从我的测试来看,识别器似乎返回了一个置信度,表示测试图像和训练集中另一图像之间的最佳匹配(如果我错了,请纠正我)。我试着用15幅图像训练模型,然后只用最匹配的图像训练模型,在这两种情况下我得到了相同的准确置信度 为了验证准确性,我尝试了以下方法:我拍摄了一张图像,用于训练。在gimp中手动剪切图像(面不受剪切影响)。我测试了原始图像相对于裁剪图像,只得到了42.48的置信度(范围似乎在0…100之间,结果是相同的图像0,所以我不确定是否有很大的信心,无论哪种方式42都在中间,所以信心不是很好)。我认为自信应该是非常好的,因为图像中的人脸是相同的 我在这里观察到两个问题:
注意。这可能不重要,但我在Ubuntu机器上使用java和opencv。50x50对于人脸识别来说有点小。我建议将其增加到100x100。此外,由于算法并不完美,裁剪可能不正确。当你在训练时,如果可能的话,进行各种各样的训练——眼睛睁开和闭上,嘴巴张开和闭上,轻微的角度,等等。多亏了,我把尺寸增加到200x200,我有了更好的效果,但这仍然不够