基于深度学习的人脸识别(连体架构)

Face Recognition based on Deep Learning (Siamese Architecture)

我想使用预训练模型进行人脸识别。我尝试使用需要少量图像的 Siamese 架构。你能给我任何我可以为暹罗建筑改变的训练模型吗?如何更改网络模型,我可以放置两张图像以找到它们的相似性(我不想根据教程here创建图像)?我只想使用该系统进行实时应用。你有什么建议吗?

我想您可以使用 this model, described in Xiang Wu, Ran He, Zhenan Sun, Tieniu Tan A Light CNN for Deep Face Representation with Noisy Labels (arXiv 2015) 作为实验的起点。

至于 Siamese 网络,您想要获得的是从人脸图像到某个高维向量的映射 space,其中点之间的距离反映了人脸之间的(不)相似性。
为此,您只需要 一个 网络将人脸作为输入并生成高暗度矢量作为输出。
但是,要使用 Siamese 方法训练此 single 网络,您将复制它:创建 same 网络的两个实例(您需要显式 link 两个副本的权重)。在训练期间,您将向网络提供成对的面孔:每个副本一个,然后两个副本之上的单个损失层可以比较表示两个面孔的高维向量并根据 "same/not same" 与此对关联的标签。
因此,您只需要复制即可进行培训。在测试时间 ('deploy') 中,您将拥有一个 单个 网络,为您提供具有语义意义的高维人脸表示。

有关更高级的 Siamese 架构和损失,请参阅


另一方面,您可能需要考虑 Oren Tadmor, Yonatan Wexler, Tal Rosenwein, Shai Shalev-Shwartz, Amnon Shashua Learning a Metric Embedding for Face Recognition using the Multibatch Method (arXiv 2016) 中描述的方法。这种方法比图像对上的成对损失更有效且更容易实现。