人脸识别 Face Recognition 入门

news/2024/10/23 11:27:50/

人脸识别 Face Recognition 入门概述

  • 总述
    • 传统特征方法
    • 深度学习方法
    • 损失函数改进
      • 基于欧几里德和距离的损失
      • 基于角度/余弦边距的损失
      • SoftMax 损失及其变体
    • 一级标题
      • 二级标题
      • 二级标题
      • 二级标题

找论文搭配 Sci-Hub 食用更佳 💪
Sci-Hub 实时更新 : https://tool.yovisun.com/scihub/
公益科研通文献求助:https://www.ablesci.com/

总述

人脸识别流程:检测、对齐、(活体)、预处理、提取特征、人脸验证(识别)
在这里插入图片描述
在这里插入图片描述

传统特征方法

传统方法试图通过一两层表示来识别人脸,例如过滤响应、特征直方图分布。学术圈进行了深入的研究,分别改进了预处理、局部描述符和特征转换,但这些方法在提高FR准确性方面进展缓慢。更糟糕的是,大多数方法只针对不受约束的面部变化的一个方面,如光照、姿势、表情。没有任何综合技术来整体解决这些不受约束的挑战。因此,经过十多年的持续努力,“浅层”方法仅将LFW基准数据集的准确性提高到约95%[15],这表明“浅层的”方法不足以提取对真实世界变化的稳定身份特征。

深度学习方法

GhostFaceNets: Lightweight Face Recognition Model From Cheap Operations ,IEEE Access,2023,LFW dataset Rank 1.

混合精度,arcface (sub-center) cosface loss, ghostnet (lightweight)


Deep Polynomial Neural Networks,2021,作者来自英国伦敦帝国理工学院计算系、瑞士洛桑联邦理工学院 (EPFL) 电气工程系、希腊雅典大学信息学和电信系,该方法已申请专利。

多项式神经网络,即输出是输入的高阶多项式。未知参数自然地由高阶张量表示,通过因子共享的集体张量分解来估计。作者介绍了三种显着减少参数数量的张量分解,并展示了如何通过分层神经网络有效地实现它们。并凭经验证明,π-Nets 具有很强的表现力,它们甚至可以在大量任务和信号(即图像、图形和音频)中不使用非线性激活函数的情况下产生良好的结果。当与激活函数结合使用时,Π-Nets 在图像生成、人脸验证和 3D 网格表示学习三个具有挑战性的任务中产生了最先进的结果。


在这里插入图片描述
DCNN 将人脸图像(通常在姿势归一化步骤 [7]、[8] 之后)映射到应该具有较小的类内距离和较大的类间距离的特征。训练 DCNN 进行人脸识别有两个主要研究方向。一些训练一个多类分类器,可以在训练集中分离不同的身份,例如使用 softmax 分类器 [2]、[4]、[9]、[10]、[11],其他直接学习嵌入,例如三元组损失 [3]。

基于大规模训练数据和精细的 DCNN 架构,softmax-loss 的方法 [9] 和triplet-loss 的方法 [3] 都可以获得出色的人脸识别性能。然而,softmax loss 和 triplet loss 都有一些缺点。

对于 softmax 损失:(1)学习到的特征对于闭集分类问题是可分离的,但对于开放集人脸识别问题的区分度不够; (2) 线性变换矩阵 W ∈ R d × N W \in \mathbb{R}^{ d×N} WRd×N 的大小随身份数 N N N 线性增加。

对于三元组损失: (1) 人脸三元组的数量组合爆炸式增长,尤其是对于大规模数据集,导致迭代步数显着增加; (2) 半难样本挖掘对于训练有效的模型来说相当困难。

在这里插入图片描述
DiscFace: Minimum Discrepancy Learning for Deep Face Recognition,2020,ACCV

作者发现了基于Softmax的方法的一个重要问题:在训练阶段,对应类权重附近的样本特征同样受到惩罚,尽管它们的方向不同。为了缓解这一问题,提出了一种新的训练方案,称为最小差异学习,它通过使用单一的可学习基来强制类内样本特征的方向向最优方向对齐。

早些时候,深度度量学习方法通​​过样本对(或三元组)之间距离的局部关系学习人脸嵌入,从而在类不平衡数据集下取得了可喜的成果 [1–3, 11]。深度度量学习能够通过利用某些度量损失直接捕获更多的判别力。然而,它们的性能在很大程度上取决于采样和挖掘策略,因此,度量学习模型通常需要耗时的来回过程来训练。

与分类任务相比,学习大边缘判别特征对于人脸识别任务至关重要,特别是在开放集协议下,这是一种更现实但更具挑战性的人脸识别协议 [6]。许多工作都试图修改 softmax 损失以获得有效的 large-margin 判别特征 [5, 6, 13, 7, 8]。这样的变体能够直接优化特征之间的角度和超球面流形中相应的类权重。

然而,作者观察到,在开放集协议下,它们的评估性能可能会受到训练和评估过程之间差异的影响:训练期间使用样本特征和 softmax 类权重之间的匹配分数,而在评估阶段(没有类别权重)匹配分数是在不同样本特征之间计算的。这种差异导致样本特征之间存在方向差异,如图 1 所示。作者将此问题称为“process discrepancy”。

在这里插入图片描述
总之,该方案专门用于减轻训练和评估阶段之间的过程差异,以便在评估阶段提供更好的性能。这是第一个基于 softmax 学习方法的用于解决过程差异问题的人脸识别任务,而以前的方法只关注判别学习。

在这里插入图片描述

损失函数改进

基于 Softmax 的学习:在各种应用中许多方法已经研究基于 softmax 的判别特征学习 [18-25]。在人脸识别任务中,Center loss [4]提出了一种最小化类内方差的方法。该方法计算每个类的样本质心,并最小化特征向量与其对应质心之间的类内距离。 Crystal loss [26]引入一个约束来强制特征向量的范数为某个值。Ring loss[27]使范数成为可训练的参数,并鼓励对特征向量的范数进行最佳训练。 NormFace [5] 是一种学习超球体流形特征的方案,这样类之间的区分就可以通过角度来完成。Sphereface [6] 引入了乘法角度边缘损失,使特征更具辨别力。类似的方式,CosFace [7] 和 ArcFace [8] 证明了角边距的有效性,它们以不同的方式使用角距。

基于度量学习: 基于度量的学习方法 [1-3] 直接从样本之间的关系中学习判别特征。对比损失 [1] 使用正负样本对来学习两个样本之间的关系。三元组损失 [3] 学习到锚点和正样本之间的距离小于锚点和负样本之间的距离。尽管基于度量的学习是解决验证问题的一种直观方法,但基于度量的学习的主要缺点在于数据采样的困难。很难训练所有可能的对或三元组,性能在很大程度上取决于挖掘策略。

基于欧几里德和距离的损失

基于角度/余弦边距的损失

SoftMax 损失及其变体

一级标题

二级标题

二级标题

二级标题


http://www.ppmy.cn/news/52629.html

相关文章

企企通受邀出席嘉兴产业数字化峰会,助力嘉兴“智”造业发展

近日,2023年嘉兴产业数字化峰会在浙江嘉兴圆满举办,企企通作为采购供应链厂商受邀出席,并与众多信息化领域的专家一起分享心得、总结得失、展望未来,为嘉兴市企业的产业数字化发展探索合适的路径与方向。 01、数字蓄能&#xff0c…

02 【Sass语法介绍-变量】

sass有两种语法格式Sass(早期的缩进格式:Indented Sass)和SCSS(Sassy CSS) 目前最常用的是SCSS,任何css文件将后缀改为scss,都可以直接使用Sassy CSS语法编写。 所有有效的 CSS 也同样都是有效的 SCSS。 Sass语法介绍-变量 1.前言 Sass …

C/C++每日一练(20230426)

目录 1. 不喜欢带钱的小C 🌟🌟 2. 数组排序 ※ 3. 超级素数 ※ 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 不喜欢带钱的小C 小C不喜欢带钱&#xff0c…

可视化 | Flask+Pyecharts可视化模板二

文章目录 🏳️‍🌈 1. 系统说明界面🏳️‍🌈 2. 柱状图示例界面🏳️‍🌈 3. 散点图示例界面🏳️‍🌈 4. 折线图示例界面🏳️‍🌈 5. 饼图示例界面&#x1f3f…

2023网络搭建项目改革

好久没更新了,哈哈哈,也废话不多说,直接进入正题。 3月的时候就有人吓我说什么网搭取消了,当时我还觉得高兴,主要是不喜欢这个行业,要是没了我就可以跑路了,哈哈,然后我就觉得很奇怪…

Zookeeper安装

1.1 下载安装 1、环境准备 ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。 2、上传 将下载的ZooKeeper放到/opt/ZooKeeper目录下 #上传zookeeper altp put f:/setup/apache-zookeeper-3.5.6-bin.tar.gz #打开 opt目录 cd /opt #创建…

【Vue】学习笔记-组件化编程

学习笔记-组件化编程 模块与组件、模块化与组件化非单文件组件基本使用组件注意事项组件的嵌套VueComponent一个重要的内置关系 单文件组件 模块与组件、模块化与组件化 模块 a.理解:向外提供特定功能的js程序,一般就是一个js文件 b.为什么:j…

Docker 常用命令

1.Docker常用命令 Docker 命令 查看命令 命令解释docker ps查看正在运行的容器docker ps -a查看所有已经创建的容器docker images列出镜像列表docker container ls效果同ps命令(加-a效果同) docker ps 详细参数 -a :显示所有的容器,包括未运行的。-f :根据条件…