为了账号安全,请及时绑定邮箱和手机立即绑定

『深度应用』深度学习人脸识别模型开发与应用流程综述

2019.06.22 15:35 589浏览

『深度应用』深度学习人脸识别模型开发与应用流程综述


0. 概念简介


度量学习(Metric Learning),也称距离度量学习(Distance Metric Learning,DML) 属于机器学习的一种。其本质就是相似度的学习,也可以认为距离学习。因为在一定条件下,相似度和距离可以相互转换。比如在空间坐标的两条向量,既可以用余弦相似度的大小,也可以使用欧式距离的远近来衡量相似程度。

常见的人脸识别与声纹识别都属于度量学习。

一般的度量学习包含以下步骤:

  1. Encoder编码模型:用于把原始数据编码为特征向量(重点如何训练模型)

  2. 相似度判别算法:将一对特征向量进行相似度比对(重点如何计算相似度,阈值如何设定)


1.编码模型训练


通过使用大量数据集进行网络模型训练。使编码模型可以实现对原始数据提取特征向量的功能。

基于深度学习的度量学习算法中,可以分为两个流派:

  1. 网络设计派:代表孪生神经网络(Siamese network)

  2. 损失改进派:代表 xx-softmax

本文主要讲整体开发流程,具体细节请自行查阅。

通过对编码模型训练,得到了具备提取特征的encoder模型,让原始数据通过encoder模型就可以对应特征向量:

X = Encoder(row)

下面就是利用这个encoder模型,作为特征提取器,进行相似度判别。


2.相似度判别算法


在第一步(1.编码模型训练)完成后,获得了具备特征提取的编码模型,就可以利用此encoder网络进行验证系统开发。

首先要对在第一步得到的编码模型进行性能测试。步骤如下:

  1. 使用测试数据生成测试对,需要保证尽量随机取对和正负数据平衡,同一种标签为1,不同种为0

  2. 使用编码模型得到所有特征向量

  3. 根据测试对的特征向量计算相似度,可选余弦距离度/欧式距离

  4. 根据测试对的相似度与标签,设置合理阈值范围,分辨率取0.0001,遍历阈值计算 FAR(错误接受率)FRR(错误拒绝率),两者相等得到EER(等错误概率),此时的阈值也是较优阈值。(也可以使用类似方法验证准确率)

通过上述步骤就可以获得模型的识别性能和应用阈值。

如若想提高阈值的泛化能力,可以采用测试与验证的方法计算阈值:

  1. 将测试对分为10组,用来确定阈值并验证精读。

  2. 使用其中1组,同种判断错误和不同种判定错误的个数。

  3. 选择错误个数最少的那个阈值,用剩余9组,判断识别精度。

  4. 步骤2和3执行10次,将每次3获取的精度进行累加并求平均,得到最终判定精度。记录下精度最高的那次的阈值,记为最优阈值



References:

1.https://blog.csdn.net/fuwenyan/article/details/74943248


点击查看更多内容

本文原创发布于慕课网 ,转载请注明出处,谢谢合作

2人点赞

若觉得本文不错,就分享一下吧!

评论

相关文章推荐

正在加载中
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消