【人脸识别】DDL:数据分布知识蒸馏思想,提升困难样本(遮挡、低分辨率等)识别效果

news2024/9/23 1:34:05

论文题目:《Improving Face Recognition from Hard Samples via Distribution Distillation Loss》
论文地址:https://arxiv.org/pdf/2002.03662v3.pdf
代码地址:https://github.com/HuangYG123/DDL

1.前言及相关工作

Large facial variations are the main challenge in face recognition。
目前人脸识别面临的主要挑战是大的面部变化(遮挡、姿态如侧脸、低分辨率、种族、光照等)。

解决方式及缺点:

  1. variation-specific:在设计特殊网络损失之前充分利用了与任务相关的方法,即针对不同的问题设计特定的算法。如姿态(pose-invatiant、face frontalization),分辨率(super- resolution),遮挡模型等。
    缺点:在不同的任务和场景中通常是不通用的。
  2. generic methods:侧重于提高特征可辨别性以最小化类内距离同时最大化类间距离。如margin-based loss(cosface、arcface),metric learning(triplet loss)等。
    缺点:在简单样本上表现良好但在困难样本上表现不佳。

DDL:
       为了提高困难样本的性能,我们提出了一种新颖的 Distribution Distillation Loss (分布式蒸馏)来缩小简单样本和困难样本之间的性能差距,该方法简单、有效且通用,适用于各种类型的面部变化。 具体来说,我们首先采用最先进的分类器(如 Arcface)来构建两个相似性分布:来自简单样本的教师分布(例如图1中d3的简单样本)和来自困难样本的学生分布(例如图1中d1的困难样本)。 然后,我们提出了一种新的分布驱动损失来约束学生分布以近似教师分布,从而实现学生分布中正负对之间的重叠更小。

在这里插入图片描述
       如图 1 所示,最先进的 (SotA) 面部分类器,如 Arcface [6],可以很好地处理特征空间中具有紧密分组的小变化图像。我们将这些表示为简单样本。相比之下,具有较大变化的图像通常与特征空间中的简单图像相距甚远,并且更难处理。我们将这些表示为困难样本。在图1中,相同的颜色表示同一主题的样本。 Distance1 (d1) 和 Distance3 (d3) 表示分别在 4.2 和 1.0m 的距离处捕获的低分辨率和高分辨率图像。 每种方法都有来自 d3 和 d1 的两个分布,其中也有来自正负对的两个分布,margin表示它们的期望差异。 通过我们在教师和学生分布之间的分布蒸馏损失,我们的方法有效地缩小了简单样本和困难样本之间的性能差距,将期望差从 0.21 (0.52-0.31) 降低到 0.07 (0.56-0.49)。

知识蒸馏相关:
在这里插入图片描述
与传统蒸馏方法相比, DDL 在几个方面有所不同(见图 2):

  1. KD 至少有两个网络,一个老师和一个学生,而 DDL 只学习一个网络。 尽管在 KD中,学生可能具有与教师相同的结构(例如,自蒸馏),但他们在训练中具有不同的参数。
  2. KD使用sample-wise、Euclidean distance-wise或anglewise约束,而DDL提出了一种新的余弦相似度分布约束,专为人脸识别设计。
  3. 据我们所知,目前没有 KD 方法在人脸基准上优于 SotA 人脸分类器,而 DDL 始终优于 SotA Arcface 分类器。

2.DDL

在这里插入图片描述

       上图为 DDL 的框架。 我们将训练集分为两部分,即 E 表示简单样本,H 表示困难样本,分别形成教师和学生分布。 通常,对于训练期间的每个小批量,我们从两个部分进行采样。 为了确保良好的教师分布,我们使用 SotA FR 模型 [6] 作为我们的初始化。 提取的特征用于构建正负对(第 3.1 节),它们进一步用于估计相似性分布(第 3.2 节)。 最后,基于相似性分布,所提出的 DDL 用于训练分类器(第 3.3 节)。

2.1.Sampling Strategy from PE and PH

       首先,我们介绍了在训练过程中如何在一个mini-batch中构建正负对的细节。 给定来自 PE 和 PH 的两种输入数据,每个 mini-batch 由四部分组成,两种正对(即 (x1, x2) ∼ PE 和 (x1, x2) ∼ PH),以及两种具有不同身份的样本(即 x∼PE 和 x∼PH)。 具体来说,我们一方面构造 b 个正对(即 2b 个样本),另一方面构造 b 个来自 PE 和 PH 不同身份的样本。 结果,每个 mini-batch 中有 6b = (2b + b) * 2 个样本(更多细节见图 3)。

2.1.1.Positive Pairs

       正对是预先离线构建的,每对由两个具有相同身份的样本组成。 如图 3 所示,每个正对的样本按顺序排列。 通过深度网络F将数据嵌入到高维特征空间后,可以得到正对s+的相似度如下:
在这里插入图片描述
       其中 xposi1 、 xposi2 是一对正样本。 请注意,相似度小于 0 的正对通常是异常值,由于我们的主要目标不是专门处理噪声,因此将其作为实际设置删除

2.1.1.Negative Pairs

       与正对不同,我们通过困难负样本挖掘从具有不同身份的样本在线构建负对,它选择具有最大相似性的负对。 具体来说,负对s−的相似度定义为:
在这里插入图片描述
       其中 xnegi , xnegj 来自不同的ID。 一旦构造了正负对的相似性,就可以估计相应的分布。

2.2.Similarity Distribution Estimation

       相似性分布估计的过程类似于[37],它使用具有软分配的一维直方图以简单且分段可微分的方式执行。 具体来说,来自同一个人的两个样本xi,xj组成正对,对应的标签记为mij = +1。 相反,来自不同人的两个样本形成负对,标签表示为 mij = -1。 然后,我们得到两个样本集 S+ = {s+ = 〈F (xi), F (xj)〉|mij = +1} 和 S− = {s− = 〈F (xi), F (xj)〉|mij = −1} 分别对应于正负对的相似性。
       令 p+ 和 p− 分别表示 S+ 和 S− 的两个概率分布。 与基于余弦距离的方法 [6] 一样,每对的相似性限制为 [−1, 1],这被证明可以简化任务 [37]。 受直方图损失的启发,我们通过用均匀间隔的 bin 拟合简单直方图来估计这种类型的一维分布。 我们采用 R 维直方图 H+ 和 H−,节点 t1 = −1, t2, … , tR = 1 均匀填充 [−1, 1],步长为 2 / R−1。 然后,我们估计直方图 H+ 在每个 bin 的值 h+r 为:
在这里插入图片描述
       其中 (i, j) 跨越所有正对。 与 [37] 不同,权重 δi,j,r 由指数函数选择为:

在这里插入图片描述
       其中 γ 表示高斯核函数的扩展参数,tr 表示直方图的第 r 个节点。 我们采用高斯核函数,因为它是最常用的密度估计核函数,并且对小样本量具有鲁棒性。 H− 的估计类似地进行。

2.3.Distribution Distillation Loss

在这里插入图片描述

       我们利用 [6] 等 SotA 人脸识别引擎,从两种样本中获取相似度分布:简单样本和困难样本。 这里,easy samples 表明 FR engine 表现良好,其中正负对的相似度分布明显分开(参见图 4 中的教师分布),而 hard samples 表明 FR engine 表现不佳,其中 相似性分布可能高度重叠(参见图 4 中的学生分布)。

2.3.1.KL Divergence Loss

       为了缩小简单样本和困难样本之间的性能差距,我们将困难样本的相似性分布(即学生分布)约束为近似简单样本的相似性分布(即教师分布)。 教师分布由正对和负对的两个相似性分布组成,分别表示为 P + 和 P - 。 类似地,学生分布也由两个相似性分布组成,表示为 Q+ 和 Q−。 受先前 KD 方法 [12, 53] 的启发,我们采用 KL 散度来约束学生和教师分布之间的相似性,其定义如下(其中 λ1, λ2 是权重参数):
在这里插入图片描述

2.3.2.Order Loss

       然而,仅使用 KL 损失并不能保证良好的性能。 事实上,教师分布可能会选择接近学生分布,并导致正对和负对分布之间出现更多混淆区域,这与我们的目标相反(见图 4)。 为了解决这个问题,我们设计了一个简单而有效的术语,称为 order loss,它最小化负对和正对的相似性分布期望之间的距离,以控制重叠。 我们的order loss可以表述如下:

在这里插入图片描述
       其中 S+ p 和 S− p 表示教师分布的正负对的相似度; S+ q 和 S− q 表示学生分布的正负对的相似度; λ3 是权重参数。
总之,我们的分布蒸馏损失的整个公式是:LDDL = LKL + Lorder。 DDL 可以很容易地扩展到多个学生分布,从一个特定的变体变化如下:

在这里插入图片描述
       其中 K 是学生分布的数量。 此外,为了保持简单样本的性能,我们结合了 Arcface [6] 的损失函数,因此最终损失为:

在这里插入图片描述
       其中 Θ 表示参数集。 请注意,LArcface 可以很容易地替换为 FR 中任何一种流行的损失。

2.4.Generalization on Various Variations

       接下来,我们讨论 DDL 在各种变体上的泛化,它定义了我们的应用场景以及我们如何选择简单/困难样本。 基本上,我们可以根据图像是否包含可能阻碍身份信息的大面部变化(例如,低分辨率和大姿势变化)来区分简单和困难样本。

2.4.1.Observation from Different Variations

在这里插入图片描述

       我们的方法假设两个或多个分布,每个分布都是从训练数据的一个子集计算出来的,它们之间存在差异,这是人脸识别中的一种普遍现象,如图 5 所示。它显示了正常和具有挑战性的样本的相似性分布基于 Arcface [6] 在 CASIA 上训练,除了 CFP,它在 VGGFace2 上训练。 正如我们所见,1)由于 CASIA 偏向高加索人,COX 中的蒙古样本更难,因此相对被视为困难样本,2)不同的变化有一个共同的观察结果,即具有挑战性的样本的相似性分布通常与那些样本不同简单样本的数量,3)不同程度的变化可能具有不同的相似性分布(例如,图 5(c)中的 H1 和 H2)。 总之,当一项任务满足简单样本和困难样本之间的相似性分布不同时,我们的方法是一个很好的解决方案,并且可以通过正确构建正负对来享受性能提升,如4.3节中所验证的那样。

2.4.2.Performance Balance Between Easy and Hard Samples

       提高困难样本的性能同时保持简单样本的性能是一种权衡。 我们方法中的两个因素有助于保持简单样本的性能。 首先,我们结合了 SotA Arcface 损失 [6] 来保持简单样本的特征可辨别性。 其次,我们的order loss最小化了负对和正对的相似性分布期望之间的距离,这有助于控制正负对之间的重叠。

2.4.3.Discussions on Mixture Variations.

       如公式(7)所示,我们的方法可以很容易地扩展到一项任务的多种变体(例如,低分辨率、大姿势等)。 另一种方法是将一项任务的不同程度的变化混合到一个学生分布中,如第 4.2 节所示、对不同程度的具体建模不够好,容易导致性能下降。 对于不同任务的不同变化,也可以构建多个师生分布对分别解决相应的任务,这不失为一个很好的未来方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/377329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

秒懂算法 | 基于图神经网络的推荐算法

图神经网络(Graph Neural Networks,GNN)是近几年兴起的学科,用来作推荐算法自然效果也相当好,但是要学会基于图神经网络的推荐算法之前,需要对图神经网络自身有个了解。 图卷积网络(Graph Convolutional Networks,GCN)提出于2017年。GCN 的出现标志着图神经网络的出现。深度学习…

大家一起来找茬,新手第一次layout到底能挑出多少毛病?

有一个新手工程师在论坛上发了一篇帖子,把自己的处女PCB布线图贴出来。 如果不看其他网友的评论,你能看出多少问题呢?可以在留言区和我们互动哦~ 帖子里他还提出了自己的小见解:问一下,我觉得自动布线挺好用的啊&#…

汽车标定知识整理(一):标定简介与CCP报文协议简介

目录 一、什么是标定 二、XCP与CCP 三、CCP报文协议简介 1、CCP报文协议简介 (1)CRO:Command Receive Object ,命令接收对象(由Master -> Slave) (2)DTO:Data T…

Kotlin 39. Dependency Injection依赖注入以及Hilt在Kotlin中的使用,系列2:手动依赖注入

一起来学Kotlin:概念:26. Dependency Injection依赖注入以及Hilt在Kotlin中的使用,系列2:手动依赖注入 此系列博客中,我们将主要介绍: Dependency Injection(依赖注入) 概念介绍。…

当IDEA加载一个MAVEN新项目时,加载不成功,无法加载依赖的解决方法

当IDEA加载一个MAVEN新项目时,加载不成功,无法加载依赖的解决方法 此文为练习项目时的错误记录 当使用IDEA引入一个MAVEN新项目时,点击Reload maven按钮加载不成功,显示如下图界面: 在项目中的代码显示报红&#xff0c…

urllib之ProxyHandler代理以及CookieJar的cookie内存传递和本地保存与读取的使用详解

处理更高级操作时(Cookies处理,代理设置),需要一个强大的工具Handler,可以理解成各种处理器,有处理登录认证的、有处理Cookies的、有处理代理设置的。利用这些几乎可以做到HTTP请求中所有事情。当中urllib.request模块里的 BaseHa…

机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测

机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测 作者:AOAIYI 作者简介:Python领域新星作者、多项比赛获奖者:AOAIYI首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞…

MySQL实战解析底层---基础架构:一条SQL查询语句是如何执行的?

目录 前言 连接器 查询缓存 分析器 优化器 执行器 前言 平时使用数据库,看到的通常都是一个整体比如,有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时: 看到的只是输入一条语句,返回…

微电影广告的内容突破方案

微电影作为新媒体时代背景的产物,深受大众的欢迎,同时,微电影广告在微电影模式环境下应运而生,以自己独特的传播优势,俘获了大量企业主的青睐,也获得了广大青年群体的喜爱。微电影广告欲确保可持续发展&…

Android App异常崩溃处理详解

异常崩溃是Android项目中一个棘手的问题,即使你做了很多的try - catch处理,也不能保证不崩溃,一旦崩溃就会出现下图的弹窗,xx应用就会停止运行这种体验对于用户来说是很差的,所以很明显我们做的app已经崩溃了。 像现在…

社科院与杜兰大学金融管理硕士项目——在这里共同改变,一起前行

人这一生,要走很长的路,才能确定前行的方向,在路上遇到很多的人,才知道与谁同行。在人生旅程中,保持怎样的姿态前行,往往与身边的人有很大关系。身边的人都很努力,你也会跟着努力上进。怀揣着在…

Synchronized,我要一层一层剥开你的心

三种应用方式 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁。修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对象的锁。修饰代码块,指定加锁对象,对给定对象加锁&a…

TypeScript 使用 ES6 解构骚操作

TypeScript 使用 ES6 解构骚操作 文章目录TypeScript 使用 ES6 解构骚操作一、TypeScript 对象解构二、TypeScript 函数参数解构四、参考资料💘五、推荐博文🍗一、TypeScript 对象解构 我们都知道 ES6 的数据解构功能很强大,一行命令就能够声…

HTMLCSS常见问题解决

文章目录一、解决img图片底部空白问题1、出现问题的效果2、原理3、解决方式3.1、将图片变为盒子3.2、处理基线3.3、把上级元素的字体大小改成0像素二、解决给子元素设置margin-top父子盒子都向下移动问题1、出现问题的效果2、原理3、解决方式3.1、给父元素设置边框3.2、给父元素…

程序员多赚20k的接私活必备网站

为什么都是程序员,就有人能多赚20k?那是因为副业搞得那么溜啊! 今天分享一些程序员搞钱必备的接私活网站,让更多程序员们在工作之余能有另外一份收入。 1.程序员客栈:http://proginn.com 专为程序员服务的软件外包对…

跨境电商代购系统演示说明

首先来看什么是淘宝代购淘宝代购是近年兴起的一种购物模式,是帮国外客户购买中国商品。主要是通过万邦 科技的外贸代购系统,把淘宝、天猫等电商平台的全站商品通过API 接入到你的网站 上,瞬间就可以架设一个有数亿产品的大型网上商城&#xf…

FATE联邦学习centos成功部署

官方文档:https://fate.readthedocs.io/en/latest/deploy/standalone-deploy/#1-description。 我用的文档中的Standalone的第二种安装方式,没用docker。 安装过程 文档上写着确定版本 export version1.7.0但是你别真的用1.7.0啊! &#…

ATS认证教学

我用的版本是ATS7.11、系统版本是用最新的ios13.2.1 定义 ATS旨在分析通过UART、USB和蓝牙传输传输的iAP流量、通过USB和无线(蓝牙和Wi-Fi)传输的CarPlay流量、通过Wi-Fi传输的AirPlay 2流量以及闪电音频流量。 ATS是Apple’s Accessory Test System的…

Cookie、Session、JWT 那些事

文章目录前言一、概念1、Cookie:2、Session:3、JWT二、应用1. 基本使用2. 实现 “退出” 功能总结前言 目前 C/S 模式盛行,HTTP 是其中最常见的通信协议,我们知道 HTTP 协议是无状态的,但是这场景完全不够用。 比如&…

让物流园区可视可控,顺丰供应链与亚马逊云科技的供应链新解法

导读:物流园区如何破解供应链断点?在物流园区附近,我们经常看到周边道路停满了集装箱卡车。这是物流园区的一个典型痛点,由于园区内部业务情况的不可见性,司机们往往到了园区才被告知业务繁忙,需要长时间排…