人脸识别信心下降,同时招募更多人和图像

问题描述 投票:0回答:1

我有一个人脸识别项目,其中包括招募人员,然后训练模型。完成所有操作后,我将调用识别脚本来识别人脸。

[在注册时,我首先使用caffe model检测面部。然后,我使用开放的面部识别器提取面部嵌入,然后将所有面部嵌入保存在pickle文件中。在培训中,我正在使用rbf内核进行培训。

假设我下面有每个人拥有20张图像的数据集

1. personA
        image1.jpg
        image2.jpg
        ...
        ...
        image20.jpg

2. personB
        image1.jpg
        image2.jpg
        ...
        ...
        image20.jpg

3. personC
        image1.jpg
        image2.jpg
        ...
        ...
        image20.jpg

4. personD
        image1.jpg
        image2.jpg
        ...
        ...
        image20.jpg

如果通过personC的测试图像,则将以personC的置信度获得识别结果为92%。现在,如果我用30-40张图像招募更多的人,那么我看到的是personC的置信度得分已降至64%,我不确定为什么会这样。以下是我如何训练模型的方法:

params = {"C": [0.001, 0.01, 0.1, 1.0, 10.0, 100.0, 1000.0], "gamma": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1]}
model = GridSearchCV(SVC(kernel="rbf", gamma="auto", probability=True), params, cv=3, n_jobs=-1)
model.fit(data["embeddings"], labels)

在上面的代码中,data["embeddings"]是人物的面部嵌入,而标签是名称。

所以我注意到,一旦我开始添加越来越多的人并拥有更多的图像,那么对他们来说拥有较少图像的人的信心就会开始降低。这是真的。?有没有人遇到过这类问题?我该如何解决。

python machine-learning computer-vision face-recognition
1个回答
0
投票

这完全有道理。

如果您的数据集中只有一个人/一张图像,并且您对模型进行了训练,则模型的准确性应接近100%。随着模型添加了更多面孔/人物,面孔所属的人也越来越模糊。

随着数据集的增长,您的模型应该尝试将数据推广到不过度拟合的情况。 PersonC可能看起来与您数据集中的另一个人相似。您的模型可能不是正确的选择,超级参数错误,或者某些配置不正确。那部分,我无法评论。

对于图像较少的人,其信心会降低。那是你所观察的吗?您是否尝试过与数据集中的许多人一起尝试?通过查看您是否有更准确的预测,您应该可以自己回答这个问题。

它也可能有助于绘制其中一些图像,以便您查看分类是否合理。

© www.soinside.com 2019 - 2024. All rights reserved.