【发布时间】:2017-05-08 21:30:11
【问题描述】:
我想使用预训练模型进行人脸识别。我尝试使用需要少量图像的连体架构。你能给我任何训练有素的模型,我可以为连体架构改变吗?如何更改可以放置两个图像的网络模型以找到它们的相似之处(我不想根据教程here 创建图像)?我只想将系统用于实时应用程序。你有什么建议吗?
【问题讨论】:
标签: neural-network computer-vision deep-learning caffe nvidia-digits
我想使用预训练模型进行人脸识别。我尝试使用需要少量图像的连体架构。你能给我任何训练有素的模型,我可以为连体架构改变吗?如何更改可以放置两个图像的网络模型以找到它们的相似之处(我不想根据教程here 创建图像)?我只想将系统用于实时应用程序。你有什么建议吗?
【问题讨论】:
标签: neural-network computer-vision deep-learning caffe nvidia-digits
我想您可以使用this model(在Xiang Wu, Ran He, Zhenan Sun, Tieniu Tan A Light CNN for Deep Face Representation with Noisy Labels (arXiv 2015) 中描述)作为您实验的策略点。
对于 Siamese 网络,您试图获得的是从人脸图像到某个高维向量空间的映射,其中点之间的距离反映了人脸之间的(不)相似性。
为此,您只需要 一个 网络,该网络将人脸作为输入并生成高维向量作为输出。
但是,要使用 Siamese 方法训练这个 single 网络,您需要复制它:创建 same 网络的两个实例(您需要显式链接两份)。在训练期间,您将向网络提供一对面孔:每个副本一个,然后两个副本顶部的单个损失层可以比较代表两个面孔的高维向量并根据“相同/not same" 与这对关联的标签。
因此,您只需要训练的副本。在测试时 ('deploy'),您将拥有一个 single 网络,为您提供具有语义意义的高维人脸表示。
有关更先进的连体架构和损失,请参阅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) 中描述的方法。这种方法比图像对上的成对损失更有效且更容易实现。
【讨论】: