当前位置: 首页 > news >正文

人脸识别 Face Recognition 入门

人脸识别 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 损失及其变体

一级标题

二级标题

二级标题

二级标题

相关文章:

人脸识别 Face Recognition 入门

人脸识别 Face Recognition 入门概述 总述传统特征方法深度学习方法损失函数改进基于欧几里德和距离的损失基于角度/余弦边距的损失SoftMax 损失及其变体 一级标题二级标题二级标题二级标题 找论文搭配 Sci-Hub 食用更佳 💪 Sci-Hub 实时更新 : https://tool.yovisu…...

【AI绘画】Midjourney的使用及程序示例

Midjourney 1.背景2.Midjourney的原理3.Midjourney的使用方法4.Midjourney的示例代码 1.背景 Midjourney 是一款基于深度学习的图像转换工具,其可以将一张图像转换成具有不同风格的图像,例如将一张照片转换成卡通风格的图像。Midjourney 基于 TensorFlow…...

无公网IP?教你在外远程访问本地wamp服务器「内网穿透」

目录 前言 1.Wamp服务器搭建 1.1 Wamp下载和安装 1.2 Wamp网页测试 2. Cpolar内网穿透的安装和注册 2.1 本地网页发布 2.2 Cpolar云端设置 2.3 Cpolar本地设置 3. 公网访问测试 4. 结语 前言 软件技术的发展日新月异,各种能方便我们生活、工作和娱乐的新…...

leetcode 628. 三个数的最大乘积

题目描述解题思路执行结果 leetcode 628. 三个数的最大乘积 题目描述 三个数的最大乘积 给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入:nums [1,2,3] 输出:6 示例 2&…...

fork函数如何创建进程,exit/_exit函数如何使进程终止的详细分析与代码实现

🎊【进程通信与并发】专题正在持续更新中,进程,线程,IPC,线程池等的创建原理与运用✨,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列…...

重置电脑时提示“缺少所需的驱动器分区”怎么办?

当您启动Windows 10电脑并收到“您的电脑/设备需修复”这个消息提示时,您会马上尝试修复电脑,如果您这样做了,您可能会收到一个“安装Windows的驱动器已被锁定”的信息。如果您尝试重置您的电脑,您可能会收到一条提示,…...

在KylinV10安装Dm8

前言 因为近期,业外和几个朋友想搞点有趣的项目玩玩,既然不以盈利为主,就> 主推国产化,所以这篇记录一下,我在KylinV10安装dm8.最近真的很忙,要负责专研一下国产化工具开发的事,还要负责tb级…...

「SQL面试题库」 No_46 交换工资

🍅 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试&#xff0…...

SLAM论文速递【SLAM—— RDS-SLAM:基于语义分割方法的实时动态SLAM—4.24(1)

论文信息 题目: RDS-SLAM:Real-Time Dynamic SLAM Using Semantic Segmentation Methods RDS-SLAM:基于语义分割方法的实时动态SLAM论文地址: https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber9318990发表期刊: IEEE Access ( Volum…...

OJ练习第82题——填充书架

填充书架 力扣链接:1105. 填充书架 题目描述 给定一个数组 books ,其中 books[i] [thicknessi, heighti] 表示第 i 本书的厚度和高度。你也会得到一个整数 shelfWidth 。 按顺序 将这些书摆放到总宽度为 shelfWidth 的书架上。 先选几本书放在书架…...

OHOS IDE和SDK的安装方法

参照OpenHarmony应用开发环境安装流程,下载安装OHOS的IDE,过程中需要全程联网。 IDE,安装至D:\Tools\Huawei\DevEcoStudio。 IDE安装成功之后,按照提示下载安装HOS和OHOS的SDK。 nodejs,安装至D:\Tools\Huawei\nodejs…...

New Year Garland(计数类DP)

New Year Garland 题意 ​ 用m种颜色的球装饰n层的圣诞树,圣诞树的第i层由 l i l_{i} li​个彩球串成,且同一层相邻的球颜色不同,相邻的层之间彩球颜色的集合不同,问有多少种方案,对p取模。 分析 ​ 首先先计算每一…...

32岁阿里P7,把简历改成不知名小公司,学历改成普通本科,工作内容不变,投简历全挂!...

hr靠什么来招人? 一位猎头讲述了自己和朋友打赌的故事: 朋友在阿里云,32岁,P7,他把简历上的公司改成不知名,学历改成普通本科,工作内容不变,结果投其他公司(比如京东&…...

从三室心脏MRI影像检测主动脉瓣病变

Detecting Aortic Valve Pathology from the 3-Chamber Cine Cardiac MRI View 摘要 背景 心脏磁共振(CMR)是量化心脏容量、功能和血流量的金标准。定制的MR脉冲序列定义了对比机制,采集几何形状和定时,可以在CMR期间应用,以实现独特的组织…...

【JavaWeb】JavaScript

1、JavaScript 介绍 Javascript 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。 JS 是 Netscape 网景公司的产品,最早取名为 LiveScript;为了吸引更多 java 程序员。更名为 JavaScript。 JS 是弱…...

Apache Doris 1.2.4 Release 版本正式发布|版本通告

亲爱的社区小伙伴们,我们很高兴地宣布,Apache Doris 于 2023 年 4 月 27 日迎来 1.2.4 Release 版本的正式发布!在 1.2.4 版本中,Doris 团队已经修复了自 1.2.3 版本发布以来近 150 个问题或性能改进项。同时,1.2.4 版…...

【C++STL】map

文章目录 一. map的介绍二. map的使用结束语 一. map的介绍 map是关联容器,它按照特定的次序(按照key来比较)存储由键值key和值value组合而成的元素在map中,键值key通常用于排序和唯一地标识元素,而value中存储与此键值…...

vue2项目PC端如何适配不同分辨率屏幕

项目构建:基于vue-cli3构建,使用postcss-px2rem px2rem-loader进行rem适配 实现原理:每次打包,webpack通过使用插件postcss-px2rem,帮我们自动将px单位转换成rem单位前方有坑:UI框架部分组件使用JavaScript…...

CorelDRAW2023最新版本图像设计软件

CorelDRAW 2023作为最新版的图像设计软件,在功能上做了较大提升,主要新的功能特性如下: 1. 全新界面设计:采用简约现代的 UI 设计,菜单和工具重新组织,更加直观易用。提供自动提示与设计指导,易于上手。 2. 智能工具与提示:运用 AI技术对用户操作行为和设计习惯进行分析,给出…...

第64章 树型结构数据的前端渲染渲染显示示例

1 \src\views\TreeTestView.vue <template> <div class"wrap"> <!--注意&#xff1a;1、“回到顶部”组件及其回滚内容都必须包含到同1个div容器中。--> <!-- 2、div容器中必须有1个唯1性的样式类&#xff08;例如&#xff1a;wrap&#xff09…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 &#xff08;1&#xff09;设置网关 打开VMware虚拟机&#xff0c;点击编辑…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

从物理机到云原生:全面解析计算虚拟化技术的演进与应用

前言&#xff1a;我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM&#xff08;Java Virtual Machine&#xff09;让"一次编写&#xff0c;到处运行"成为可能。这个软件层面的虚拟化让我着迷&#xff0c;但直到后来接触VMware和Doc…...