人脸识别之SphereFace

2023-05-16

论文:SphereFace: Deep Hypersphere Embedding for Face Recognition

首先,需要先科普一下在训练和测试人脸识别分类器的时候经常被提到的Open-set 和Close-set。Figure 1是一个直观的展示。

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

open-set,就是测试的图片并没有在训练集中出现过,那么每张测试图片的预测结果是特征向量,如果想要比较两张图片的人脸是否属于同一个人,需要测试图像特征向量的距离。


该论文主要是解决Open-set数据集上的人脸识别任务。理想的Open-set人脸识别学习到的特征应当在特定的度量空间中,满足同一类的最大类内距离小于不同类的最小类间距离。然而softmax loss仅仅能够使得特征可分,还不能够使得特征具有可判别性。尽管有一些方法通过结合softmax loss和 contrastive loss,center loss去提高特征的可判别性,但是contrastive loss和center loss需要精心地构建图像对和三元组,不仅耗时而且构建的训练对会对识别性能影响很大。因此,在这篇论文中,作者提出了angular softmax(A-Softmax)loss。

对于一个二分类的softmax的决策边界是,如果限制,那么边界决策函数就就可以变形为, 其中是权重向量和特征向量之间的夹角,那么这个边界决策函数仅仅由所决定,因此损失函数关注的是特征的角度可分性。在此基础上,作者又引进了一个整数变量m(m>=1),m控制着角度间隔,对类别1和类别2的边界决策函数变形为。这就是二分类的A-Softmax loss。Table 1罗列了softmax Loss ,modified softmax loss和A-softmax loss 在二分类的情况下的边界决策函数的形式,Figure 2 则是效果展示。虽然是二分类形式,但是也可以一般化成多类别的分类。



上面以二分类的情况作为一个例子,下面就开始描述一般化的形式。

对于输入特征和它的标签,softmax loss的一般化函数可表示如下


其中N表示训练样本的次数,卷及网络中,f通常是全连接层W的输出,所以,将f函数带入,可以将公式变换为如下:

                                                    

然后,在每一次迭代中归一化权值并且将偏置 biases 设置为0,那么就可以得到 modified softmax-loss,公式如下所示:


虽然可以通过modified softmax loss学习特征,但是这些特征不一定可判别。为了进一步将强特征的可判别性,作者将角度距离加入到损失函数中,即A-Softmax loss,一般化的公式如下:


其中,的范围为,为了消除该限制,并能够在CNN中最优,定义角度函数扩展的定义范围,这个函数在区间内等价于,因此A-softmax的公式可表示为:


其中。可以看出,当m=1时,A-softmax loss就变成modified softmax loss。当m增大时,角度距离也会增加,当m=1时,角度距离为0. 从决策函数角度解释A-softmax loss,A-softmax loss 对于不同的类别采用了不同的决策函数,每个决策函数比原始的更加严格,因而产生了角度距离。

总的来说,论文中的A-softmax loss并不是新的loss,只是在原始的softmax loss的基础上做了改进,加入整数m,产生了角度距离,结果表明这个角度距离可以使得特征具有可判别性,而且m越大,可判别性就越大。



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

人脸识别之SphereFace 的相关文章

  • GitLab统计代码量

    gitlab官方文档 xff1a https docs gitlab com ee api index html 1 生成密钥 登录gitlab xff0c 编辑个人资料 xff0c 设置访问令牌 2 获取当前用户所有可见的项目 接口地址
  • 【树莓派】(2)网络连接、IP设置、屏幕大小设置、VNC安装与配置

    目录 1 网络连接 1 1有线网连接 SSH协议 1 2 无线网连接 VNC 方法1 xff1a 不能联网 方法2 xff1a 能联网 2 VNC安装与配置 3 IP WiFi配置 4 屏幕大小 屏幕黑屏时间设置 1 网络连接 分为有屏幕和
  • Linux服务配置 配置VNC远程桌面

    一 VNC简介 VNC Virtual Network Console 是虚拟网络控制台的缩写 它 是一款优秀的远程控制工具软件 xff0c 由著名的 AT amp T 的欧洲研究实验室开发的 VNC 是在基于 UNIX 和 Linux 操

随机推荐

  • 异常检测 and 自编码器(2)

    文章目录 前言一 自编码器用于异常检测的网址推荐1 自编码器AutoEncoder解决异常检测问题2 基于自编码器的时间序列异常检测算法3 深度学习实现自编码器Autoencoder神经网络异常检测心电图ECG时间序列 总结 前言 上篇文章
  • python树莓派3控制蜂鸣器_树莓派3 modelB型 连接HC-SR501人体红外感应模块和蜂鸣器模块...

    连接前准备 树莓派3 modelB型一个 HC SR501传感器一只 低电平蜂鸣器模块 有源 即接上电就会响 xff0c 低电平触发 母对母杜邦线三根 实物图如下 xff1a 博主连接的不是特别美观 两个传感器的连接图分别如下 HC SR5
  • git submodule 使用教程

    1 submoude 介绍 xff08 1 xff09 项目很大参与开发人员多的时候 xff0c 需要将各个模块文件进行抽离单独管理 xff08 2 xff09 使用git submodule来对项目文件做成模块抽离 xff0c 抽离出来的
  • 为什么笔记本电脑电源适配器基本是19V供电

    为什笔记本电源适配器供电一般不是20V xff0c 不是25V xff0c 偏偏是19V呢 xff0c 我们从硬件角度聊聊这个问题 首先一个大背景是 xff0c 笔记本电池基本都是锂电池为主 xff0c 在设计上 xff0c 一般会使用多枚
  • 基于国产飞腾、Intel X86等CPU主板设计与调试入门指导

    知识就像货币 xff0c 流动才有意义 一 前言 因为我是做硬件的 xff0c 想用这样一篇文章介绍一下我们常见的电脑主板 xff0c 或者说电路板卡 xff0c 是怎么设计出来的 仅以技术之所学 xff0c 得此文章 xff0c 若有表达
  • 两台电脑直接使用一根网线传输文件

    教程 目录 xff1a https blog csdn net dkbnull article details 87933584 有时候我们需要在两台电脑之间传输几十G的大文件 xff0c 或者置换新电脑时复制文件到新电脑 xff0c 而我
  • keil5(ARM)的下载和安装教程

    Keil 5的下载与安装 下载和安装教程均在以下百度网盘链接中 链接 xff1a 百度网盘 请输入提取码 https pan baidu com s 11N8EwQRBT 5AzXmW7y1X6A 提取码 xff1a efv3
  • git 远程分支与本地分支

    前言 远程仓库上只有 1 个 master 分支 复制远程仓库的地址 3 克隆远程仓库到本地 一 注意 xff1a 本地的 head 和 master 文件都存在 xff0c 但是 remote 的 master 信息是保存在文件 git
  • ARM 自己动手安装交叉编译工具链

    一 Windows中装软件的特点 Windows中装软件使用安装包 xff0c 安装包解压后有2种情况 xff1a 一种是一个安装文件 xff08 exe msi xff09 xff0c 双击进行安装 xff0c 下一步直到安装完毕 安装完
  • ARM X210开发板的软开关按键问题

    一 X210 开发板的软启动电路详解 x210bv3 pdf 1 210 供电需要的电压比较稳定 xff0c 而外部适配器的输出电压不一定那么稳定 xff0c 因此板载了一个文稳压器件 MP1482 这个稳压芯片的作用就是外部适配器电压在一
  • pyqt5 编写串口通讯上位机_如何使用Python开发串口通讯上位机(二)

    黑色的dos窗口对于大部分来说 xff0c 页面极为不友好 xff0c 且操作不方便 xff0c 因此本篇主要讲讲如何结合QtDesigner创建一个UI并初步与串口Api链接 1 QtDesigner进行上位机页面设计 Python下的软
  • TensorRT介绍

    TensorRT 文章目录 TensorRT训练和推理的区别TensorRTTensorRT 优化和性能TensorRT 工作原理Python APIImporting TensorRT Into PythonCreating A Netw
  • Pytorch 加载图像数据(ImageFolder和Dataloader)

    Pytorch加载图像数据集需要两步 xff0c 首先需要使用 torchvision datasets ImageFolder 读取图像 xff0c 然后再使用torch utils data DataLoader 加载数据集 Image
  • S2A-NET

    S2A NET 文章目录 S2A NET基础知识引言网络架构FAMARNACL 对齐卷积ODM 实现损失函数推理消融实验 参考 基础知识 长边 13 5 135 circ
  • [已解决] New Bing Chat报错: Sorry, looks like your network settings are preventing access to this feature

    文章目录 前因解决方案参考 前因 更改全局XX xff0c 线路选择美国 xff0c 做足一切准备 xff0c 让Bing认为我是一个彻头彻尾的美国用户 高兴地以为终于能在Microsoft Edge Dev版本中体验 New Bing C
  • 腾讯手游助手修改共享目录/缓存目录/Temp文件夹路径

    使用帮助 目录 xff1a https blog csdn net dkbnull article details 87933584 我们在电脑上安装了 腾讯手游助手 后 xff0c 发现 腾讯手游助手 的 缓存目录 游戏安装目录 共享目录
  • 【大学时光】回首向来萧瑟处,归去,也无风雨也无晴

    现状 自2023年始 xff0c 人生突遇大变 相恋四年的男友 xff0c 本以为要携手步入婚姻 xff0c 奈何由于对方母亲的缘故 xff0c 不得不忍痛舍弃四年的感情 同时间段 xff0c 因实在无法再忍受不了组内的PUA气氛 xff0
  • ChatGPT背后的技术:人类反馈强化学习RLHF

    文章目录 前言Chat GPT是如何基于RLHF进行训练的RLHF 技术分解预训练语言模型训练奖励模型强化学习微调预训练模型 局限性参考 前言 随着OpenAI推出的Chat GPT火热出圈 xff0c Chat GPT背后的技术原理之一
  • 【YOLO 系列】YOLO v4-v5先验知识

    文章目录 输入端Mosaic数据增强Self Adversarial TrainingCmBN 主干网络Mish激活函数DropBlock 正则化CSPNetFocus结构 NeckPANet 输出目标损失函数IoU LossGIoU Lo
  • 人脸识别之SphereFace

    论文 xff1a SphereFace xff1a Deep Hypersphere Embedding for Face Recognition 首先 xff0c 需要先科普一下在训练和测试人脸识别分类器的时候经常被提到的Open set