如何在 Eigenface 中选择(和许多)阈值?

计算科学 本征系统 统计数据 最近邻 模式识别
2021-12-08 02:51:32

我编辑了我的问题,试图使其简短而准确。

我正在为我的毕业项目开发面部识别系统的原型。我使用 Eigenface,我的主要来源是文档 Turk 和 Pentland。可在此处获得:http: //www.face-rec.org/algorithms/PCA/jcn.pdf

我的疑虑集中在第 4 步和第 5 步。

我无法正确解释阈值的数量:如果有两种类型的阈值,或者只有一种(请注意,文本中提到了两种类型但使用相同的符号)。再一次,我的问题是这个(或这些)阈值是否对所有人都是唯一的和全局的,或者每个人是否都有自己的默认值。

我了解要计算的步骤,直到具有权重或加权的类的矩阵 O()。所以这个矩阵 O() 的维度是 M'x P。因为 M' 等于选择的特征脸的数量和 P 的人数。

接下来是什么让我感到困惑。他谈到了两种距离:一类与另一类的距离,以及一张脸与另一张脸的距离。我分别称它为 D1 和 D2。注意:在训练集中总共有 M 幅图像,其中 F = M / P 是每人的图像数量。

我了解应根据经验选择阈值。但必须有一种近似的方法。我最初是在设计一个维度为 PxP 的距离 D1() 矩阵。其中行向量 D(i) 具有从向量平均类 O(i) 到每个 O(j) 的距离,j = 1..P。即“全部与全部”。

直到我来到这里,接下来的事情取决于我是否真的应该为所有人选择一个单一的全局阈值。或者是否应该为每个单独的值选择我。如果它们是两种类型,也不是:一种用于距离类,一种用于距离面。

我有一个理论可以继续,但不受土耳其人概念的支持:

阶段预测试:

性别距离 D1 和 D2 的两个矩阵:在 D1 中将存储类之间的距离,在 D2 中将存储人脸之间的距离。这分别是矩阵 W 和 A 的基础。

然后,实际上在训练集中有 P 个人,为每个人获取 F 向量列 D1,并估计阈值 T1 在 [Min, Max] 范围内。因此我会有一个 T1(i), i = 1..P

根据所有矩阵 D2 中的范围 [Min, Max] 分别有一个 T2。这个定义是不是一张脸。

步骤测试:

为每个已知人构建一个图像测试集 Itest = {Itest(1) ... Itest(P)}

对于每个图像 Itest(i) 测试:

  1. 计算空间面 Atest = Itest - Imean

  2. 计算权重向量 Otest = UT * Atest

  3. 计算距离:

dist1(j) = 距离(Otest, O (j)), j = 1..P

Af = 项目(Otest,U)

dist2 = 距离(Atest,Af)

  1. 评估识别:

MinDist = Min(dist1)

对于每个 j = 1..P

如果 dist2 > T2 那么“不是面子”,否则:

如果 MinDist <= T1(j) 则“主题标识为 j”,否则“主题未标识”

然后我考虑 TFA 和 TFR,并使用不同的阈值重复测试过程,直到找到适合每个人的最佳方法。

已经定义的阈值可以使系统运行未知图像。该算法类似于测试。

我知道我摆脱了官方文档的“脚本”,但至少这个推理是我头脑中最合乎逻辑的地方。我想知道我是否可以提供指导。


编辑:

我没有更多的说尚未说过,这可能有助于澄清事情。

谁能告诉我我的“理论”是否可以解决?我正在进入我的项目,如果这不是正确的方法,将不胜感激一些指导并且不起作用并且你错了。

0个回答
没有发现任何回复~