0

我也问过这个问题。但由于题目不同,可能没有引起注意。我在java中使用opencv获得了用于人脸识别的特征脸算法。我想提高代码的准确性,这是一个众所周知的事实,即 eigenface 很大程度上依赖于光强度。

我现在拥有的

如果我检查在单击数据库中的图片的同一位置单击的图像,我会得到完美的结果,但是当我给出在不同位置单击的图像时,结果会变得很奇怪。

我发现原因是我的图像的光强度不同。

因此,我的问题是

有什么方法可以为数据库中保存的图像或新进入系统进行识别检查的图像设置标准,以便我可以提高我目前拥有的人脸识别系统的准确性?

任何对问题的积极解决方案都会非常有帮助。

4

3 回答 3

1

识别光照强度和姿态是人脸识别的重要因素。尝试与训练和测试图像进​​行直方图比较(http://docs.opencv.org/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html)。此参数有助于避免最坏的照明情况。而预处理是人脸识别成功的关键因素之一。伽玛校正和 DOG 过滤可以减少照明问题。

于 2013-10-01T13:36:07.340 回答
0

您还可以椭圆过滤掉仅面部,去除头发、颈部等产生的噪音。OpenCV 食谱提供了一个优秀而简单的教程。

于 2013-10-01T22:09:22.277 回答
0
  • 以下是可以帮助您提高准确性的以下选项

1]图像归一化:

  • 使您的图像像素值从 0 到 1,以减少光照条件的影响

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

3] 数据增强技巧:

  • 您可以为您的脸部添加滤镜,在不同的光照条件下产生同一张脸的效果
  • 因此,您可以从一张脸在不同的照明条件下制作多张图像

4]去除噪音:

  • 在执行第 3 步之前,对所有图像应用高斯模糊
于 2018-05-23T04:37:47.943 回答