如何提高特征脸算法的准确率

时间:2010-09-10 06:25:34

标签: opencv image-recognition eigenvector eigen

我在C#上使用EmguCV库(openCV包装器)使用Eigenface算法实现人脸检测和面部识别

我发现很多准确率的错误,例如最小距离不是训练集中的同一个人,训练集中不存在但与训练集中距离良好的人匹配的人等。

请帮帮我。

谢谢。

其他信息: - 我在训练集中使用1个面部图像(直面部图像,没有方向) - 现在,我在训练集中测试了大约10-20个人

2 个答案:

答案 0 :(得分:3)

尝试模糊图像。由于您每人只使用一张训练图像,因此Eigenface无法判断高频分量或低频分量是否更有用。

要决定模糊/缩小图像的程度,请对人进行实验。给一个人一些模糊的测试图像对并要求他们匹配。试着找出你可以模糊图像多少,并仍然成功匹配它们。对计算机使用相同的模糊参数。

图像对齐技术也可能有所帮助。例如,将图像标准化,使鼻尖和两只眼睛(形成一个三角形)仿射变换为一组标准位置。

最后,一些简单的特征值预处理技术或图像预处理技术(如直方图均衡)可能有所帮助。

答案 1 :(得分:1)

  • 以下是可以帮助您提高准确性的选项

1]图像标准化:

  • 使图像像素值从0到1

2]图像对齐(这是实现良好性能的非常重要的一步):

3]数据增加技巧:

  • 您可以为在不同光照条件下具有相同面部效果的面部添加滤镜
  • 因此,从一个面部,您可以在不同的光照条件下制作多张图像

4]消除噪音:

  • 在执行步骤3之前,对所有图像应用高斯模糊