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

时间:2016-12-23 07:25:12

标签: neural-network computer-vision deep-learning caffe nvidia-digits

我想使用经过预先训练的面部模型进行面部识别。我想使用需要少量图像的Siamese架构。你能给我一些训练有素的模特,我可以为暹罗建筑改变吗?如何更改我可以放置两个图像以找到相似性的网络模型(我不想根据教程here创建图像)?我想用系统进行实时应用你有什么建议吗?

1 个答案:

答案 0 :(得分:3)

我想你可以使用this model中描述的Xiang Wu, Ran He, Zhenan Sun, Tieniu Tan A Light CNN for Deep Face Representation with Noisy Labels (arXiv 2015)作为实验的一个指示点。

至于暹罗网络,你想要获得的是从面部图像到一些高维向量空间的映射,其中点之间的距离反映了面部之间的相似性(dis)。 要做到这一点,您只需要一个网络,将一个面作为输入并生成一个高调的矢量作为输出。
但是,要使用Siamese方法训练此网络,您将复制它:创建相同网络的两个实例(您需要明确链接其中的权重)两份)。在训练期间,您将为网络提供一对面:每个副本一个,然后两个副本顶部的单个损失层可以比较代表两个面的高维向量并根据&#计算损失34;相同/不相同"与此对相关的标签。
因此,您只需要复制培训。在测试时间('deploy')中,您将拥有一个单个网络,为您提供具有语义意义的面部高维表示。

对于更高级的Siamese架构和损失,请参阅this thread

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