前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『深度应用』一文搞懂深度学习人脸识别模型开发流程

『深度应用』一文搞懂深度学习人脸识别模型开发流程

作者头像
小宋是呢
发布2019-06-27 14:28:05
8940
发布2019-06-27 14:28:05
举报
文章被收录于专栏:深度应用深度应用

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


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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年06月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 『深度应用』深度学习人脸识别模型开发与应用流程综述
    • 0. 概念简介
      • 1.编码模型训练
        • 2.相似度判别算法
          • References:
      相关产品与服务
      人脸识别
      腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档