我正在使用深度学习架构进行人脸识别项目,将图片分类到各自的类别中。网络在Softmax层的输出是预测的类别标签,而在倒数第二层的Dense层输出是输入图片的特征表示。这里的特征向量是每个图片的1000维的1-D矩阵。预测类别是识别类型的问题,但我对验证问题更感兴趣。
因此,给定两张样本图片,我需要使用它们的特征表示来比较两张图片之间的相似度/不相似度得分。如果匹配得分大于阈值,则为命中,否则不命中。请问是否有任何标准方法?
相似面孔的示例(理想情况下应生成匹配得分>阈值):https://3c1703fe8d.site.internapcdn.net/newman/gfx/news/hires/2014/yvyughbujh.jpg
回答:
你的项目有两个解决方案:
- 训练你自己的网络(使用预训练的网络)以输出1000个类别。这种方法并不是最简单的,因为需要为每个类别准备足够的(比如说大量的)数据,大约每个类别1000个样本。
- 另一种方法是使用距离度量学习。我们通常所说的“距离”是指欧几里得范数。这种方法比仅仅提取特征并匹配到最近的特征要广泛和深入得多。尝试搜索一下。祝你好运!