我在 C# 上使用 EmguCV 库(openCV 包装器)来使用 Eigenface 算法实现人脸检测和人脸识别
我发现了很多准确率的错误,例如最小距离不是训练集中的同一个人,训练集中不存在的人但与训练集中有良好距离的人匹配等。
请帮我。
谢谢你。
附加信息: - 我在训练集中每 1 人使用 1 张面部图像(直面部图像,无方向) - 现在,我在训练集中使用大约 10-20 人进行测试
我在 C# 上使用 EmguCV 库(openCV 包装器)来使用 Eigenface 算法实现人脸检测和人脸识别
我发现了很多准确率的错误,例如最小距离不是训练集中的同一个人,训练集中不存在的人但与训练集中有良好距离的人匹配等。
请帮我。
谢谢你。
附加信息: - 我在训练集中每 1 人使用 1 张面部图像(直面部图像,无方向) - 现在,我在训练集中使用大约 10-20 人进行测试
尝试模糊图像。由于每个人只使用一张训练图像,Eigenface 无法判断高频分量还是低频分量更有用。
要决定对图像进行多少模糊/缩小,请与人类进行实验。给一个人一些模糊的测试图像对并要求他们匹配。尝试找出您可以模糊图像多少,并且仍然可以成功匹配它们。对计算机使用相同的模糊参数。
图像对齐技术也可能有所帮助。例如,对图像进行归一化,以便将鼻尖和两只眼睛(形成一个三角形)仿射变换为一组标准位置。
最后,一些简单的特征值预处理技术或图像预处理技术(如直方图均衡)可能会有所帮助。
1]图像归一化:
2]图像对齐(这是实现良好性能的非常重要的一步):
对齐所有训练图像和测试图像,使所有图像中所有人脸的眼睛、鼻子、嘴巴具有几乎相同的坐标
检查这篇关于人脸对齐的帖子(强烈推荐):https ://www.pyimagesearch.com/2017/05/22/face-alignment-with-opencv-and-python/
3] 数据增强技巧:
4]去除噪音: