如何提高特征脸算法的准确率
我在C#上使用EmguCV库(openCV包装器)使用Eigenface算法实现人脸检测和面部识别
我发现了很多准确率错误,例如最小距离不是训练集中的同一个人,训练集中不存在的人但与训练集中的人进行良好距离的匹配等,
请帮助我。
谢谢。
附加信息: - 我在训练集中每 1 人使用 1 张面部图像(直接面部图像,无方向) - 现在,我在训练集中对大约 10-20 个人进行测试
I use EmguCV library(openCV wrapper) on C# to implemented face detection and facial recognition using Eigenface algorithm
I found many mistakes of accuracy rate such as minimum distance is not a same person in Training Set, person who doesn't exist in Training Set but match with person in Training set with good distance, etc.
please help me.
Thank you.
additional information:
- I use 1 facial image per 1 person in Training set (straight facial image, no orientation)
- Now, I test with around 10-20 people in Training set
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试模糊图像。由于每个人仅使用一张训练图像,因此 Eigenface 无法判断高频分量还是低频分量是否更有用。
要决定图像模糊/缩小的程度,请对人类进行实验。给一个人一些模糊的测试图像对并要求它们进行匹配。尝试找出可以将图像模糊到何种程度,同时仍能成功匹配它们。对计算机使用相同的模糊参数。
图像对齐技术也可能有所帮助。例如,标准化图像,使鼻尖和两只眼睛(形成三角形)仿射变换到一组标准位置。
最后,一些简单的特征值预处理技术或图像预处理技术(例如直方图均衡化)可能会有所帮助。
Try blurring the images. Since you are only using one training image per person, Eigenface does not have a way to tell whether the high-frequency component or low-frequency component would be more useful.
To decide on how much to blur / downscale the images, do an experiment with a human. Give a person some blurred test image pairs and ask them to match. Try to find out how much you can blur the images and still be successful at matching them. Use the same blurring parameters for the computer.
Image alignment techniques may also help. For example, normalize the images so that the tip of nose, and the two eyes (forming a triangle) are affine-transformed to a standard set of locations.
Finally, some simple eigenvalue preprocessing techniques or image preprocessing techniques (such as histogram equalization) may help.
1] 图像标准化:
2] 图像对齐(这是实现良好效果的非常重要的一步)性能):
对齐所有训练图像和测试图像,使所有图像中所有人脸的眼睛、鼻子、嘴巴的坐标几乎相同
查看这篇关于面部对齐的文章(强烈推荐):https://www.pyimagesearch.com/2017/05/22/face-alignment-with -opencv-and-python/
< strong>3] 数据增强技巧:
4]消除噪声:
1] Image Normalization:
2] Image Alignment (This is a very important step to achieve good performance):
Align all the train images and test images so that eyes, nose, mouth of all the faces in all the images have almost the same co-ordinates
Check this post on face alignment (Highly recommended) : https://www.pyimagesearch.com/2017/05/22/face-alignment-with-opencv-and-python/
3] Data augmentation trick:
4] Removing Noise: