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


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

转载于:https://www.cnblogs.com/xiaosongshine/p/11062641.html

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

  1. ❤『知识集锦』一文搞懂mysql索引!!(建议收藏)

    作者:不吃西红柿 简介:CSDN博客专家.蓝桥签约作者.大数据领域优质创作者. 以我的资历和文凭,将来这个城市的大街,都归我扫.   [系列课程介绍] 『面试知识集锦』系列课程包括以下20个系列,超过 ...

  2. 『深度概念』一文读懂Octave Convolution(OctConv)八度卷积

    RyanXing Multimedia Processing & Computer Vision. Paper | Octave Convolution(OctConv) 论文:Drop an ...

  3. 一文搞懂深度学习正则化的L2范数

    想要彻底弄明白L2范数,必须要有一定的矩阵论知识,L2范数涉及了很多的矩阵变换.在我们进行数学公式的推到之前,我们先对L2范数有一个感性的认识. L2范数是什么? L2范数的定义其实是一个数学概念,其 ...

  4. 一文搞懂EMAS Serverless小程序开发|电子书免费下载

    >> 快来免费下载|电子书<五天玩转EMAS Serverless> << 点击免费下载 <五天玩转EMAS Serverless> EMAS Serv ...

  5. 一文读懂电子工程师的产品开发流程

    微信链接 https://mp.weixin.qq.com/s/VVc3DiIozVKRQprlzMtVxg 申明 首先这篇文章是一篇硬核!! 基本无插图,但是融合了笔者工作至今的所有关于电子产品开发 ...

  6. 一文搞懂如何使用ArcGIS API for Python训练深度学习模型

    一文搞懂如何使用ArcGIS API for Python训练深度学习模型 文章目录 一文搞懂如何使用ArcGIS API for Python训练深度学习模型 写在前面 一.ArcGIS API f ...

  7. 干货 | 台大“一天搞懂深度学习”课程PPT(下载方式见文末!!)

    微信公众号 关键字全网搜索最新排名 [机器学习算法]:排名第一 [机器学习]:排名第一 [Python]:排名第三 [算法]:排名第四 Deep Learing Tutorial 本篇文章我们给出了一 ...

  8. 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述

    <繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...

  9. 一文搞懂RNN(循环神经网络)

    基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...

  10. 【深度学习理论】一文搞透pytorch中的tensor、autograd、反向传播和计算图

    转载:https://zhuanlan.zhihu.com/p/145353262 前言 本文的主要目标: 一遍搞懂反向传播的底层原理,以及其在深度学习框架pytorch中的实现机制.当然一遍搞不定两 ...

最新文章

  1. 【数学基础】校招算法工程师笔试题
  2. 2021机器智能研究方向
  3. 技术分析:搞懂链路追踪
  4. boost::date_time模块wrapping_int的测试程序
  5. mysql left join两个表,mysql left join 多个表
  6. 树莓派局域网文件共享samba
  7. 请求 返回 net::ERR_CONTENT_LENGTH_MISMATCH 调试服务 (启动jboos)
  8. AppleScript快速入门教程
  9. MapReduce运行机制
  10. 游戏理论研究四:RPG游戏
  11. 最后电话挂的才是爱你的
  12. web渗透测试中WAF绕过讲解(二)基于HTTP协议绕过
  13. 14AMESIM安装教程
  14. 将pandas中object类型转换为int类型
  15. Codeforces Edu:双指针 » Step 3 » Practice:A. Looped Playlist
  16. 【HANA系列】SAP HANA XS Administration Tool登录参数设置
  17. LightningChart JS Crack,2D 和 3D JavaScript 图表
  18. 学习小记 -- 线程池的工作原理
  19. 微信支付快速生成签名sign
  20. android上调试H5小工具

热门文章

  1. Ubuntu Server Nginx 下配置 mono 下运行 asp.net mvc
  2. 「代码随想录」343. 整数拆分【动态规划】详解!
  3. 如何在 Mac 上自定 Safari 浏览器窗口?
  4. ON1 Resize 2022 for Mac(图片大小修改工具)
  5. CentOS Linux 系统镜像文件(M1 Mac虚拟机专用)
  6. PDF Checkpoint for mac(pdf文件批量处理工具)
  7. python实现oss文件下载
  8. cordova 打包vue 集成的app , router-view 默认首页白屏
  9. Stack Overflow首席大神,他回答了超过3万个问题
  10. Android存储(1)-- 你还在乱用Android存储嘛!!!