-5

我想知道是否可以使用 Inception 或 ResNet 模型来识别人脸。我想知道迁移学习和培训对我的任务是否重要。

我只想能够识别面孔,但我也很好奇我是否可以为我的任务重新训练/优化预训练模型。

还是我读错了;我需要获得专为人脸设计的预训练模型吗?

我尝试过使用 Inception 和 VGG16,但我没有训练它们的面孔。我正在努力,但我想知道这是否可行或只是浪费时间。如果我在 FaceNet 中使用迁移学习,我想我会做得更好。

4

1 回答 1

1

用于面部检测的迁移学习将是一个很好的方法。此外,是的,使用 facenet 进行迁移学习是一个好主意。

此外,为了使迁移学习发挥作用,不必像使用 facenet 那样最初只使用人脸对模型进行预训练。使用 imagenet 预训练的模型也非常好!这是一个非常热门的话题,所以不要试图重新发明轮子。有许多存储库已经使用来自 imagenet 数据集的迁移学习和使用 resnet50 完成了这项工作,并取得了惊人的好结果。

这是一个这样的存储库的链接:

https://github.com/loheden/face_recognition_with_siamese_network

另请注意,孪生网络是一种在面部识别用例中特别好的技术。siamese 的概念其实很简单:取两张图片,比较这两张图片的特征。如果特征的相似性高于设定的阈值,则两个图像相同(两张脸相同),否则不相同(无法识别人脸)。

这是一篇关于用于面部识别的连体网络的研究论文。

此外,这里是关于如何使用迁移学习实现用于面部识别的连体网络的两部分教程:

http://www.loheden.com/2018/07/face-recognition-with-siamese-network.html

http://www.loheden.com/2018/07/face-recognition-with-siamese-network_29.html

上面教程的代码在我在这个答案开头分享的第一个 Github 链接中。

于 2019-11-09T23:50:10.263 回答