人脸方向学习(四):Face Recognition-SphereFace解读

2023-05-16

整理的人脸系列学习经验:包括人脸检测、人脸关键点检测、人脸优选、人脸对齐、人脸特征提取五个过程总结,有需要的可以参考,仅供学习,请勿盗用。https://blog.csdn.net/TheDayIn_CSDN/article/details/93199307

SphereFace解读

论文地址:SphereFace: Deep Hypersphere Embedding for Face Recognition

代码地址:https://github.com/wy1iu/sphereface

论文题目:SphereFace: Deep Hypersphere Embedding for Face Recognition

一、Abstract 摘要

论文主要讲解了在开集上的人脸识别问题,最好的特征提取模型是在特定的度量空间中,满足同一类的最大类内距离小于不同类的最小类间距离,作者提出了一种基于角度的loss函数angular softmax (A-Softmax) loss,这种loss函数可以学习角度判别特征。A-Softmax可以在超球面上施加角度判别约束,角边的大小可以通过参数m调整,m越大特征越可分,而且A-softmax也通过LFW、YTF、MegaFace Challenge进行了测试,在人脸识别任务上表现优秀。

二、Introduction简介

主要问题如上所示:人脸识别可以分为人脸验证(1:1)和人脸识别(1:N)问题;如上左侧红色框所示,人脸验证是一个分类问题,是指待测试人脸和对比人脸是不是同一个人(ID),常用于机场高铁进站台口的人证核验场景;人脸识别是一个距离度量问题,是比较待测试的人脸和测试库中哪些人最相似,是不是同一个人,常用与人脸检索等场景。

测试协议可以分为closed-set  和 open-set 两种

close-set,是所有的测试集都在训练集中出现过。所以预测结果是图片的ID,如果想要测试两张图片是否是同一个,那么就看这两张图片的预测ID是否一样,这是一个分类问题,只要求特征可分。

open-set,是测试的图片并没有在训练集中出现过,那么每张测试图片的预测结果是特征向量,如果想要比较两张图片的人脸是否属于同一个人,需要测试图像特征向量的距离。这里的人脸识别也可以看做是在探测集和画廊集之间的人脸验证,基本原理是距离度量问题,最关键的是学习有辨别力的大边特征。

解决Open-set上的人脸识别问题

理想的Open-set人脸识别学习到的特征应当在特定的度量空间中,满足同一类的最大类内距离小于不同类的最小类间距离,然而使用此标准学习特性通常比较困难,因为类内变异大,类间相似度高。

前人有用softmax loss学习人脸特征,然而softmax loss仅仅能够使得特征可分,还不能够使得特征具有可判别性。尽管有一些方法通过结合softmax loss和 contrastive loss、center loss去提高特征的可判别性,但是contrastive loss和center loss需要精心地构建图像对和三元组,不仅耗时而且构建的训练对会对识别性能影响很大。因此,作者提出了angular softmax(A-Softmax)loss。

对于一个二分类的softmax的决策边界是 ,如果限制而且,那么边界决策函数就就可以变形为

 

, ,那么这个边界决策函数仅仅x由w和所决定,因此损失函数关注的是特征的角度可分性。在此基础上,作者又引进了一个整数变量m(m>=1),m控制着角度间隔,类别1和类别2最终形式:

对类别1:

对类别2:

这就是二分类的A-Softmax loss。如下是softmax Loss ,modified softmax loss和A-softmax loss 在二分类的情况下的边界决策函数的形式,

下图则是效果展示。虽然是二分类形式,但是也可以一般化成多类别的分类。

三、Deep Hypersphere Embedding 深度嵌入超球面原理

 

 

 

 

相关博客:

https://blog.csdn.net/cdknight_happy/article/details/79268613

https://blog.csdn.net/qianqing13579/article/details/78288780

https://blog.csdn.net/weixin_42111770/article/details/80665419

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

人脸方向学习(四):Face Recognition-SphereFace解读 的相关文章

随机推荐

  • CentOS6.5下安装远程桌面服务端软件VNC Server

    VNC 使您可以 远程 访问和控制您的计算机从另一计算机或移动设备上 xff0c 无论你在 世界 的 任何地方 常见的 使用情形 xff0c 包括给同事和朋友 提供 桌面支持 远程管理您的服务器 将 VNC Server 部署到 您想要控制
  • Centos(Linux)系统备份与还原

    Centos系统备份与恢复教程 tar xff1a 特点 1 保留权限 2 适合备份整个目录 3 可以选择不同的压缩方式 4 如果选择不压缩还能实现增量备份 xff0c 部份还原 xff0c 参考man tar dd 特点 1 对块进行操作
  • 03--C#入门基础

    今天我们就开始正式进入C 的入门学习 xff0c 从最简单的基础开始切入 xff0c 总结内容都非常的细节 xff0c 但也没有全部概况进去 xff0c 大家可以根据自己情况选择查看 xff0c 如有错处 xff0c 欢迎指正 目录 VS中
  • 04--C#运算符

    这一篇详细的介绍了C 中的几种运算符 xff0c 算术运算符 赋值运算符 复合赋值运算符 关系运算符 逻辑运算符 一元运算符 二元运算符 赋值运算符 61 xff1a 表示赋值 xff0c 表示把等号右边的值 xff0c 赋值给等号左边的变
  • Excel对图片的组合以及选择

    今天介绍的是利用Excel对图片进行的一些简单处理的方法 xff0c 比如对图片的编辑以及组合 xff0c 以及对图片的选择 xff1a 对图片进行一些圈红标注 xff1a 插入 gt 形状 gt 选择一个矩形框 xff0c 圈主自己要注释
  • 02--C#Winform--控件大小随窗口大小改变等比例变化

    最近在做Winform相关的项目 xff0c 这就会涉及到如何将窗口里的控件大小随窗口的调整而改变大小 xff0c 一开始想要直接调整窗口以及控件的属性来达到效果 xff0c 比如 xff0c Anchor和Dock属性 xff0c 但是没
  • 05--C#流程控制

    前面讲到的都是顺序结构 xff0c 顺序结构的意思就是程序从main函数进入 xff0c 从上到下一行一行的执行 xff0c 不会落下任何一行 xff0c 这章的内容就会讲到流程控制相关的几个结构 xff1a 分支结构 选择结构 循环结构
  • 03--C#Winform--让你的button控件更漂亮

    最近做一个小的项目 xff0c 想要将部门的各种资料 各种辅助软件汇总一下 xff0c 需要使用到很多的button的控件 xff0c 然后效果是这样的 xff1a 额 这效果太难看了 xff0c 不符合小姐姐的审美 xff0c 就打算深入
  • java,验证码base64编码到json字符串出显数据一行一行的问题,关于base64编码函数解释

    因为在写项目图片验证码时遇到 xff1a 一个json解析错误 Error 在第1行发生解析错误 34 code 34 34 9j 4AAQSkZJRgABAgA 此处缺少 39 STRING 39 39 NUMBER 39 39 NULL
  • HCNA配置静态LACP模式链路聚合

    1 静态LACP模式 静态LACP模式是一种利用LACP协议进行聚合参数协商 确定活动接口和非活动接口的链路聚合方式 该模式下 xff0c 需手工创建Eth Trunk xff0c 手工加入Eth Trunk成员接口 xff0c 由LACP
  • 在vs中配置cuda环境

    问题 xff1a 在vs中配置cuda环境 1 xff1a 包含头文件路径 xff1a VC 43 43 Directories gt Include Directories C ProgramData NVIDIA Corporation
  • 屏蔽编译过程中的警告信息cmake、QT

    linux中配置cmake文件屏蔽警告 在 cmake 中添加add definitions w QT工程中屏蔽警告输出 在工程文件 pro 里面添加 DEFINES 43 61 QT NO WARNING OUTPUT QT NO DEB
  • wps浏览器插件(wps online) webwps

    LINUX 下 WPS 浏览器插件 本wps插件可以实现将wps嵌入linux系统浏览器中 xff08 在linux系统中 xff0c web 端使用wps xff09 xff0c 以实现在浏览器中 阅读 修改 上传 下载以及特殊的快捷操作
  • c/c++ trim

    use erase and find if to implement trim c c 43 43 trim 实现字符串两头空格删除 span class token macro property span class token dire
  • QT之删除指定目录下指定尾缀文件

    使用QT删除指定目录下指定尾缀的文件 use entryList span class token comment delete the files endswith ref dir name the dir to remove files
  • C语言实现MATLAB中的fir1函数(绝对一摸一样的系数矩阵)

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • C++语音识别

    visual c 43 43 创建Win32工程调用windows API 做语音识别 查找了很多资料 xff0c 但是很少用Win32的 xff0c 国外倒是有很多人用C 调用Windows API 做语音识别 很多结合语音识别与word
  • 傅里叶变换(二维离散傅里叶变换)

    离散二维傅里叶变换 一常用性质 xff1a 可分离性 周期性和共轭对称性 平移性 旋转性质 卷积与相关定理 xff1b xff08 1 xff09 可分离性 xff1a 二维离散傅里叶变换DFT可分离性的基本思想是DFT可分离为两次一维DF
  • windows10+vs2015+python3.5编译安装caffe-ssd

    第一步 xff1a 下载caffe ssd 此下载链接是针对windows的caffe ssd源 第二步 xff1a 下载编译工具Cmake xff0c 现在的Cmake版本已经很高了 xff0c 不过建议是使用 gt 61 3 4的版本
  • 人脸方向学习(四):Face Recognition-SphereFace解读

    整理的人脸系列学习经验 xff1a 包括人脸检测 人脸关键点检测 人脸优选 人脸对齐 人脸特征提取五个过程总结 xff0c 有需要的可以参考 xff0c 仅供学习 xff0c 请勿盗用 https blog csdn net TheDayI