我正在尝试为人脸识别应用程序实现增量/在线学习。我已经在数据集上训练了一个模型,它工作得很好,但是,我需要随着时间的推移捕获新的面孔(类)并将它们添加到现有的数据集中。有什么方法可以不用从头开始重新训练,就可以用新的类训练模型吗?
到目前为止,我还没有找到任何丰富的资源,如果有人能在某个地方指出我,我真的很感激。
我正在尝试为人脸识别应用程序实现增量/在线学习。我已经在数据集上训练了一个模型,它工作得很好,但是,我需要随着时间的推移捕获新的面孔(类)并将它们添加到现有的数据集中。有什么方法可以不用从头开始重新训练,就可以用新的类训练模型吗?
到目前为止,我还没有找到任何丰富的资源,如果有人能在某个地方指出我,我真的很感激。
我的建议是使用以下两种技术之一来训练您的模型:
最后,您应该认为您不会保留该模型,而只是将其用作特征提取器。换句话说,模型将非常擅长提取面部信息,而不是分类(这不是他们的任务)。
稍后您修复该模型,您可以做不同的事情:
直接使用距离作为余弦来识别相对于数据集最近的人脸(如果您不需要非常确定的准确性,它可以工作)。您直接在人脸特征和整个数据库之间使用 KNN,并将识别视为最近的人脸。
您训练了一个使用前一个模型的功能的附加模型。您可以再次使用神经网络,但在这种情况下,我的建议是使用 SVM(因为作为 LASVM 的 SVM 模型是在线学习的近似值)。因此,他们只需要经常训练一个小型分类器。https://machinelearningmastery.com/how-to-develop-a-face-recognition-system-using-facenet-in-keras-and-an-svm-classifier/