基于部分注意力的人脸识别

2024-08-29 11:28

本文主要是介绍基于部分注意力的人脸识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ATTENTION-BASED PARTIAL FACE RECOGNITION

创新点

        通过将ResNet的中间特征图的注意力池与单独的聚合模块相结合。

网络模型

        分为三个模块:提取、注意力和聚合。提取模块从输入图像中提取特征图F ∈ R20×20×1024和注意图A ∈ R20×20×K,K表示注意图的个数。在Attend模块中,使用重新校准的注意力图将特征图汇集成K个中间特征向量。聚合模块将这些中间特征向量映射到一个联合特征空间,在该空间中得到最终的特征向量f ∈ R256。

1.提取

        利用截断的ResNet-50架构,该架构在第四个块之后结束。因此,只执行了三次空间下采样,并获得了大小为20×20的特征图,其中区域仍然可以很好地区分。与ResNet-50架构不同,在第三个块之后分离ResNet,以允许两个分支专注于各自的任务。虽然在第四个ResNet块之后直接获得F,但添加了一个额外的1 × 1卷积与ReLU激活函数以获得A。

生成的注意力地图应该满足以下两个关键属性:

        1)注意力地图应该是互斥的,即,不同的注意力图聚焦于人脸图像的不同区域;

        2)注意力地图的激活应该与其各自区域的可见性相关。值得注意的是,隐式定义的注意力地图激活不一定遵循与人类定义的面部标志(例如眼睛或鼻子)相同的直觉。

2.注意力

        注意力图A需要重新校准,基于集合的FR的注意力池,分别对集合内的所有图像进行归一化A,从而确保从A中具有最大激活的图像中提取相应的信息。然而,对于部分FR,只考虑单个图像,并期望不同的注意力图根据面部的区域而相关,即,如果眼睛被遮挡,则相应的注意力图应该包含低激活。因此,使用无参数重新校准:

        首先,我们通过应用sigmoid函数fnorm(·)= sigmoid(·)来规范化A。通过这种方式,每个注意力图中的每个像素都被分别归一化为(0; 1)。此外,通过应用全局平均池(GAP)和fex(·)= softmax(·)来计算表示每个注意力图重要性的向量s ∈ RK:

其中索引i、j和k表示第k个注意力图的第i行和第j列中的像素。

        通过结合GAP,获得了所有注意力地图的全局信息,并使用softmax函数将其转换为表示各个注意力地图重要性的概率分布。接下来,将第k个自归一化注意力图Ak与其相应的重要性sk相乘,以获得最终的重新校准的注意力图Ak:

        因此,将每个注意力图中的联合局部信息与整个注意力图中的全局信息结合在一起。

        应用注意力池,以获得K个特征描述符vk ∈ R1024:

以这种方式,第k个特征描述符包含在相应的注意力图Ak的激活时的F的信息。

3.聚合

        由于所有特征描述符vk取决于它们对应的注意力图Ak而集中在F内的不同区域上,直接聚合是不可能的。因此,分别利用单个全连通层将每个vk映射到联合特征空间fk ∈ R256。注意,由于每个vk都在不同的特征空间中,因此权重不被共享。由于fk同样编码身份信息,因此计算均值以获得最终特征向量f ∈ R256:

这篇关于基于部分注意力的人脸识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117730

相关文章

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

【Tools】大模型中的自注意力机制

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 自注意力机制(Self-Attention)是一种在Transformer等大模型中经常使用的注意力机制。该机制通过对输入序列中的每个元素计算与其他元素之间的相似性,

如何通俗理解注意力机制?

1、注意力机制(Attention Mechanism)是机器学习和深度学习中一种模拟人类注意力的方法,用于提高模型在处理大量信息时的效率和效果。通俗地理解,它就像是在一堆信息中找到最重要的部分,把注意力集中在这些关键点上,从而更好地完成任务。以下是几个简单的比喻来帮助理解注意力机制: 2、寻找重点:想象一下,你在阅读一篇文章的时候,有些段落特别重要,你会特别注意这些段落,反复阅读,而对其他部分

【Tools】大模型中的注意力机制

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 在大模型中,注意力机制是一种重要的技术,它被广泛应用于自然语言处理领域,特别是在机器翻译和语言模型中。 注意力机制的基本思想是通过计算输入序列中各个位置的权重,以确

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

深度学习实战:如何利用CNN实现人脸识别考勤系统

1. 何为CNN及其在人脸识别中的应用 卷积神经网络(CNN)是深度学习中的核心技术之一,擅长处理图像数据。CNN通过卷积层提取图像的局部特征,在人脸识别领域尤其适用。CNN的多个层次可以逐步提取面部的特征,最终实现精确的身份识别。对于考勤系统而言,CNN可以自动从摄像头捕捉的视频流中检测并识别出员工的面部。 我们在该项目中采用了 RetinaFace 模型,它基于CNN的结构实现高效、精准的

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的

牛客小白月赛100部分题解

比赛地址:牛客小白月赛100_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A.ACM中的A题 #include<bits/stdc++.h>using namespace std;#define ll long long#define ull = unsigned long longvoid solve() {ll a,b,c;cin>>a>>b>