【问题标题】:Incremental learning in facial recognition人脸识别中的增量学习
【发布时间】:2021-01-11 06:47:37
【问题描述】:

我正在尝试为面部识别应用程序实施增量/在线学习。我已经在数据集上训练了一个模型,它工作得非常好,但是,我需要随着时间的推移捕获新的面孔(类)并将它们添加到现有的数据集中。有什么方法可以让我不用从头开始重新训练就可以用新的类训练模型?

到目前为止,我还没有找到任何丰富的资源,如果有人能指出我的某个地方,我真的很感激。

【问题讨论】:

    标签: python deep-learning face-recognition online-machine-learning


    【解决方案1】:

    我的建议是使用以下两种技术之一来训练您的模型:

    最后,您应该认为您不会保留该模型,而只是将其用作特征提取器。换句话说,模型将非常擅长提取面部信息,而不是分类(这不是他们的任务)。

    稍后您修复该模型,您可以做不同的事情:

    • 直接使用距离作为余弦来识别相对于数据集最近的人脸(如果您不需要非常确定的准确性,它可以工作)。你直接在你的人脸特征和你的整个数据库之间使用KNN,并认为识别是最近的人脸。

    • 您训练了一个使用前一个模型的特征的附加模型。您可以再次使用神经网络,但在这种情况下,我的建议是使用 SVM(因为作为 LASVM 的 SVM 模型是在线学习的近似值)。因此,他们只需要经常训练一个小型分类器。 https://machinelearningmastery.com/how-to-develop-a-face-recognition-system-using-facenet-in-keras-and-an-svm-classifier/

    【讨论】:

    • 谢谢@Adria。我正在寻找度量学习以外的解决方案。使用 SVM 是一个很好的建议,但是,我已经尝试过使用 partial_fit。问题是当我向模型添加新面孔时,旧类的性能会下降。关于 LASVM,我找不到任何有关 python 的文档。所以,我不确定如何实现。
    猜你喜欢
    • 2019-07-24
    • 2020-04-19
    • 1970-01-01
    • 2020-07-02
    • 2018-10-15
    • 2017-05-08
    • 2021-08-05
    • 1970-01-01
    • 2017-10-16
    相关资源
    最近更新 更多