opencv人脸识别误报未知类别

时间:2019-01-16 08:25:51

标签: computer-vision opencv3.0 javacv

我已经训练了FisherFaces算法,为两个人制作了约50张图像。它确实可以准确识别它们,但也可以识别其他人。

我试图将阈值用作指标,但我不断地也获得了对这些样本的准确预测(小距离)。

为了尝试解决此问题,我添加了一些预处理:

  1. 在训练图像和测试图像上均减少了脸部修剪
  2. 用x标量对测试图像加亮(最佳值为30)

我还考虑过使用带有“未知”标签的新类别来训练新类别,其中随机人作为训练图像。

1 个答案:

答案 0 :(得分:1)

这是统计学和称为Open Set Recognition Problem的神经网络领域中的一个众所周知的问题。

从本质上讲,您训练的分类器仅计算样本的分类概率,通常不具有区分已知/训练的分类之外的标签的能力。

在人脸识别的情况下,我们需要神经网络不仅具有定义决策边界的能力,而且还具有很好地区分数据点的能力。

可能的解决方案之一是将贝叶斯特性赋予神经网络。在贝叶斯神经网络中,所有权重和偏差都具有附加的概率分布。您可以在推理期间进行多次前向通过,并解释每个类别的不确定性的输出概率。

希望我的2美分有帮助。