局部加全局视角遮挡人脸表情识别方法

news2024/9/22 21:33:08

一、摘要

        实际场景中各种遮挡增加了表情识别难度。为此,提出一种滑块局部加权卷积注意力和全局注意力 池化的视觉 Transformer 结合的方法来解决遮挡问题。
        利用主干网络提取表情特征图,将表情特征图裁剪成 多个区域块,利用局部 Patch 注意力单元通过自适应计算局部特征的注意力权重来感知被遮挡的区域,提取 表情局部特征。同时,表情特征图转换成 Patch 块,通过 Patch 级和 Token 级注意力池化的视觉 Transformer , 从全局角度捕获 Patch 块之间的相互作用和相关性。引导模型强调最具区别性的特征,而忽略遮挡减少不相关特征的影响。
主要贡献总结如下 :
        (1) LPAPViT模型为了解决局部遮挡表情识别问题,利用局部块注意力特征和全局抗干扰自主意力来关注局部特征和全局相关性,增强面部特征的可分辨性。
        (2) 局部注意力模块的设计是学习表情最相关的局部特征,通过估计它们对 FER 的重要性来调整权重,能够抵御被遮挡特征的干扰。
        (3) 改进后的视觉 Transformer 用于捕获最具判别力的面部不同 Patch 块之间的全局相互作用和相关性。视觉 Transformer 中的注意力模块计算出注意力图,引导注意力池化模块选择相应的 Patch 块。选定的 Patch块展平,送入 M 个堆叠的 Token 注意力池化增强的Transformer 编码器中,并附加一个额外的可学习的类向量。引导全局特征模块将注意力转移到具有显著面部特征的未遮挡区域,而忽略遮挡。

二、网络架构

        它由主干 CNN、用于局部特征提取的 LPU 模块和用于全局特征学习的 APViT 模块组成。采用预训练的前三个阶段 IR-50 作为主干提取人脸特征图。然后从特征映射中提取局部和全局特征,而不是从原始表情图像中提取。为了学习不同的局部特征,采用滑动窗口将人脸特征映射裁剪成多个小块,LPU 模块从裁剪后的小块中学习局部人脸表征。Patch 级注意力机制使 LPU 模块能够感知被遮挡的 Patch 块,并通过估计 Patch 块对面部表情识别的重要性来权衡局部特征。在全局抗干扰部分,人脸特征图嵌入位置编码再和求和绝对值注意力进行前 k 个 Patch 块选择,选定的 Patch 块展平加类别向量被联合传递 Transformer 编码器模块。它由多头自主意力和多层感知机模块的交替层组成,在全局范围内探索不同 Patch 块之间的关系。在 Transformer 模块中加入 TAP 模块,逐步减少特征图向量的数量,迫使模型注意具有判别能力的特征图向量,消除背景和遮挡的噪声向量,类别向量的最终输出作为全局特征。将局部特征与全局特征相结合进行表情预测。在损失函数的监督下更新模型的权值,并使用 Softmax 进行分类。

        PAP 模块通过定位有信息的区域,删除无信息的区域来提升识别性能。

        ViT-small 模型中嵌入特征图意力池化模块 PAP 找到前 k 个相对特征较多的特征图块,把这些特征图块展平,加上类别向量,加上位置编码,送入 Transformer编码器,Transformer 编码器的多头自主意力机制中嵌入向量注意力池化模块 TAP 进一步查找相对特征丰富的特征块转换向量,最后得到过滤掉与表情无关或干扰的向量,得到最具表情的全局特征。PAP 模块通过注意力机制对无信息和噪声 Patch 进行了高效的池化,利用 TAP 增强的 Transformer 编码器在全局范围内探索所选特征图块之间的关系。

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

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

相关文章

Mem0 - 个人 AI 的内存层

文章目录 一、关于 Mem0核心功能🔑路线图 🗺️常见用例Mem0与RAG有何不同? 二、快速入门 🚀1、安装2、基本用法(开源)3、高级用法🔧4、大模型支持 三、MultiOn1、概览2、设置和配置4、将记忆添加…

【嵌入式开发之并发程序设计】守护进程的定义、特点、相关概念及创建

守护进程的定义 守护进程(Daemon Process),又叫精灵进程、监控进程,是Linux三种进程类型之一,是 Linux 中的后台服务进程,是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事…

亚信安全与软银中国全资企业爱思比通信达成战略合作

近日,亚信安全携手软银集团旗下全资企业爱思比通信科技(上海)有限公司(以下简称“爱思比通信”) 共同宣布,双方正式签署战略合作协议。依托双方在技术、业务和资源三大层面的实力与优势,亚信安全…

2024-07-23 Unity AI行为树2 —— 项目介绍

文章目录 1 项目介绍2 AI 代码介绍2.1 BTBaseNode / BTControlNode2.2 动作/条件节点2.3 选择 / 顺序节点 3 怪物实现4 其他功能5 UML 类图 项目借鉴 B 站唐老狮 2023年直播内容。 点击前往唐老狮 B 站主页。 1 项目介绍 ​ 本项目使用 Unity 2022.3.32f1c1,实现基…

韦东山嵌入式linux系列-查询方式的按键驱动程序_编写框架

1 LED 驱动回顾 对于 LED, APP 调用 open 函数导致驱动程序的 led_open 函数被调用。在里面,把 GPIO 配置为输出引脚。安装驱动程序后并不意味着会使用对应的硬件,而 APP 要使用对应的硬件,必须先调用 open 函数。所以建议在驱动…

算法-DFS搜索

题目一 解题思路 深度遍历剪枝优化 第r行,第i列能不能放棋子:用数组dg udg cor 分别表示:点对应的两个斜线以及列上是否有皇后。 边界问题: dg[i r] 表示 r行i列处,所在的对角线上有没有棋子 udg[n - i r]表示 r…

环信+亚马逊云科技服务:助力出海AI社交应用扬帆起航

随着大模型技术的飞速发展,AI智能体的社交体验得到了显著提升,AI社交类应用在全球范围内持续火热。尤其是年轻一代对新技术和新体验的热情,使得AI社交产品在海外市场迅速崛起。作为领先的即时通讯解决方案提供商,环信与亚马逊云科…

uni-app:踩坑路---scroll-view内使用fixed定位,无效的问题

前言: emmm,说起来这个问题整得还挺好笑的,本人在公司内,奋笔疾书写代码,愉快的提交测试的时候,测试跟我说,在苹果手机上你这个样式有bug,我倒是要看看,是什么bug。 安卓…

Golang | Leetcode Golang题解之第268题丢失的数字

题目: 题解: func missingNumber(nums []int) int {n : len(nums)total : n * (n 1) / 2arrSum : 0for _, num : range nums {arrSum num}return total - arrSum }

5.9 结构化开发方法

大纲 系统分析与设计概述(选择题 1 分) 结构化开发方法 系统分析阶段的主要工作 系统设计基本原理 内聚(主要考点)

【HarmonyOS学习】用户文件访问

概述 文件所有者为登录到该终端设备的用户,包括用户私有的图片、视频、音频、文档等。 应用对用户文件的创建、访问、删除等行为,需要提前获取用户授权,或由用户操作完成。 用户文件访问框架 是一套提供给开发者访问和管理用户文件的基础框…

深入Mysql-03-MySQL 表的约束与数据库设计

文章目录 数据库约束的概述约束种类主键约束唯一约束非空约束默认值外键约束 表与表之间的关系数据库设计 数据库约束的概述 对表中的数据进行限制,保证数据的正确性、有效性和完整性。一个表如果添加了约束,不正确的数据将无法插入到表中。 约束种类 …

java实现OCR图片识别,RapidOcr开源免费

先看一下识别效果(自我感觉很牛逼),比Tess4J Tesseract省事,这个还需要训练,安装软件、下载语言包什么的 很费事,关键识别率不高 RapidOcr不管文字的横竖,还是斜的都能识别(代码实现…

鸿蒙开发仓颉语言【在工程中使用Hyperion TCP框架】

3. 在工程中使用Hyperion TCP框架 3.1 导入Hyperion TCP框架的静态库 在工程的module.json中引入Hyperion TCP框架的静态库: "package_requires": {"package_option": {"hyperion_hyperion.buffer": "${path_to_hyperion_proj…

SpringBoot整合SSE技术详解

Hi 👋, Im shy SpringBoot整合SSE技术详解 1. 引言 在现代Web应用中,实时通信变得越来越重要。Server-Sent Events (SSE)是一种允许服务器向客户端推送数据的技术,为实现实时更新提供了一种简单而有效的方法。本文将详细介绍如何在SpringBoot中整合SSE,并探讨S…

java之回合制游戏以及如何优化

public class Role {private String name;private int blood;//空参public Role() {}//包含全部参数的构造public Role(String name, int blood) {this.name name;this.blood blood;}public String getName() {return name;}public void setName(String name) {this.name na…

单细胞生物都能学会的树莓派4B实现路由器

本文参考自CSDN用户羟基氟化宇的畅玩树莓派4B(二)树莓派搭建无线路由器(支持5GWIFI) 本文补充其中的细节及遇到的问题。 本文提及的代码,均需在树莓派终端中运行。 〇、硬件准备 树莓派4B一个、网线一根。 &#xff…

【NoSQL数据库】Redis学习笔记

一、缓存穿透 缓存穿透是先查Redis,发现缓存中没有数据,再查数据库。然而,如果查询的数据在数据库中也不存在,那么每次查询都会绕过缓存,直接落到数据库上。 解决方案一、缓存空数据 查询Redis缓存:首先查…

前后端分离项目部署,vue--nagix发布部署,.net--API发布部署。

目录 Nginx免安装部署文件包准备一、vue前端部署1、修改http.js2、npm run build 编译项目3、解压Nginx免安装,修改nginx.conf二、.net后端发布部署1、编辑appsetting.json,配置跨域请求2、配置WebApi,点击发布3、配置文件发布到那个文件夹4、配置发布相关选项5、点击保存,…

中电金信:AI数据服务

01 方案简介 AI数据服务解决方案为泛娱乐、电子商务、交通出行等行业提供数据处理、数据分析、AI模型训练等服务,通过自主研发的IDSC自动化数据服务平台与客户业务流程无缝衔接,实现超低延时的实时数据处理支持。 02 应用场景 智能医疗: 通…