使用分类器进行面部识别的迁移学习

Posted

技术标签:

【中文标题】使用分类器进行面部识别的迁移学习【英文标题】:Transfer learning for facial identification using classifiers 【发布时间】:2020-03-06 03:18:30 【问题描述】:

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

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

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

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

【问题讨论】:

由于这个问题与编码没有直接关系,您最好在Stats Stack Exchange 中提问。 【参考方案1】:

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

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

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

https://github.com/loheden/face_recognition_with_siamese_network

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

这是一篇关于siamese networks for facial recognition的研究论文。

另外,这里有一个关于如何使用迁移学习实现连体网络进行面部识别的两部分教程:

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 链接中。

【讨论】:

以上是关于使用分类器进行面部识别的迁移学习的主要内容,如果未能解决你的问题,请参考以下文章

图像识别基于Matlab的迁移学习的图像分类案例

如何用 OpenCVPython 和深度学习实现面部识别?

深度学习迁移学习Transfer Learning

美团云TensorFlow 迁移学习识花实战案例(Transfer Learning)

使用迁移学习的单类数据集进行图像分类

使用迁移学习对单类数据集进行图像分类[关闭]