机器学习周报第31周

目录

  • 一、论文阅读
    • 1.1 论文标题
    • 1.2 论文摘要
    • 1.3 论文背景
    • 1.4 提出的系统:MAER
      • 1.4.1 基于Asyncio的预处理
      • 1.4.2 多模态信号下的情感识别
      • 1.4.3 针对情感不匹配情况的自适应融合

一、论文阅读

1.1 论文标题

Beyond superficial emotion recognition: Modality-adaptive emotion recognition system(模态适应的情绪识别系统)

1.2 论文摘要

该论文提出了一个实时的模态自适应情感识别(MAER)系统,解决了现有面部表情识别系统在可靠性和实时操作方面的限制。该系统通过并行处理和模态自适应融合来改善情感识别的性能和可靠性。通过实时试验,该系统的准确性比仅使用外部信号(视频和音频)的情感识别高出33%。该系统能够推断出真实的情感,即使在内部和外部状态之间存在情感不匹配的情况下,通过给予真实情感信号更大的权重。该系统利用轻量级网络和可穿戴设备进行信号采集,实现了实时计算和实际应用。

1.3 论文背景

随着深度学习的发展,面部表情的情感识别取得了进展,但在实际应用中仍存在可靠性的问题。根据提供的来源,这些限制包括面部表情和真实情感之间的不一致性,以及仅使用外部信号进行情感识别的有限可靠性。此外,由于MAER系统基于预训练的神经网络,它对于超出分布范围的输入是脆弱的。为了提高情感识别的可靠性,研究人员开始探索使用音频或生物信号作为辅助模态。该论文提出了一种模态自适应融合的方法,通过并行处理和特征提取来预测主体的综合情感状态。通过实时试验验证了该系统的性能,并取得了比仅使用外部信号的情感识别更高的准确性。

1.4 提出的系统:MAER

该系统是一种多模态情感识别系统,通过融合视频、音频和生物信号来检测内部和外部情感信号之间的差异。该系统采用异步并行处理,可以实时响应多模态信号输入。通过模态自适应融合,该系统可以更加精细地识别内部情感,相比仅使用两种模态信号的传统方法更具优势。该系统在真实环境中进行了多种场景的实时试验,验证了多模态信号的协同效应。该系统的技术贡献包括实时自适应融合三种模态信号、通过实际试验验证系统的可行性,并且能够更好地捕捉真实情感。
在这里插入图片描述

1.4.1 基于Asyncio的预处理

MAER的第1部分是建立一个对多个信号进行实时处理的环境。MAER系统基于三种模态的信号:来自网络摄像头的视频信号,来自麦克风的音频信号,以及来自Shimmer3传感器信号。与大多数基于深度学习的框架一样,MAER系统是用Python实现的。然而,Python基本上都是通过一个全局解释器锁( GIL )来限制任务之间的并行性,从而防止多个任务同时被执行。因此,作为一种替代方案,提供了Asyncio库来保证任务之间的并发性。Asyncio通过基于协程反复测量每个任务的进度,支持任务之间的快速切换,并且具有微型性。通过在读取另一个信号的同时等待一个信号来最小化延迟。
来自三个传感器的多模态数据的帧率,即每秒帧数( fps )各不相同。例如,生物信号的采集速率为1 fps,而视频信号的输入速率为30 fps。音频信号是零星激活的(只有当主体说话时),输入数据的长度是可变的。为了解决这个实际问题,我们的代理不仅独立地处理每个信号,而且并行地从每个信号中识别情绪。因此,MAER系统必须能够异步地处理各模态信号,同时对连续信号做出响应。
为了平滑的系统维护,代理包括以下两个功能:( 1 )当多个任务同时请求时,提供适当的时间延迟以防止开销。( 2 )在情感识别分布式处理的同时,实现了各任务的数据采集。如果在模型运行过程中收到数据请求,则代理配备允许同时获取数据的功能。
在这里插入图片描述

1.4.2 多模态信号下的情感识别

  • 面孔情绪识别
    人脸检测器对人脸图像的预处理和基于深度学习网络的情感分析。采用平幅皂洗机单次曝光检测器( SSD )框架进行人脸检测。该检测器输出的人脸区域裁剪后大小为300 × 300,并输入到后续的网络中。为了从人脸数据中识别情绪,我们使用了FER模型。首先,FER模型可以在潜在特征空间中通过基于批评网络的对抗学习区分强、弱情感组,从而学习到多样性的表情。其次,它基于简单的AlexNet,保证了操作的实时性。特别地,FER模型适用于许多看不见的对象频繁出现的野外环境。该FER模型在ImpactNet数据集上进行预训练,并返回范围为[ -1⋅1 ]的连续AV值。
    在这里插入图片描述
  • 语音情感识别。
    SER过程包括三个步骤:用于信号采集的语音识别、特征提取和情感分析。注意到语音信号只有在主体说话时才会被激活,因此是在话语单元中进行处理的。因此,我们需要确定以下两点来实时采集语音信号:语音的存在和语音的结束。我们使用了能够区分语音和其他声音的WebRTC语音活动检测器,以便只收集语音信号。如果语音开始被工具检测到,则将其记录下来,直到超过一秒钟没有检测到语音信号。采集了长达10 s的语音数据,并对录制的语音信号进行批量填充。
    SER的一些特征是从语音信号中提取的。据报道,速度和加速度特征显示出噪声不敏感的语音识别。因此,利用Speech Py库提取MFCC能量、速度和加速度。在这里,每个特征有13个维度。然后,将这三个特征串联成一个39维的向量,并输入到后续的网络中,即VGGNet。最后,使用IEMOCAP数据集对基于2D CNN的小尺寸VGGNet进行预训练,并将其用于SER。SER模型返回离散的唤醒度和效价值范围为[ - 2,2 ]。因此,我们的小型VGGNet表现出噪声鲁棒性的SER性能。
    在这里插入图片描述
  • 生物信号情绪识别
    类似地,利用生物信号进行情绪识别包括3个步骤:通过可穿戴设备进行信号采集、预处理和情绪分析。如前所述,大多数基于生物信号的情绪识别系统所采用的EEG信号难以实时获取。因此,我们选择了PPG和GSR信号,即使通过简单的可穿戴设备也可以采集。PPG和GSR信号不需要额外的数据处理,可以在一秒内同时采集。在我们的系统中,巴特沃斯滤波器和滑动平均滤波器分别用于去除采集到的原始数据中的高频和低频噪声。为了保证在通用计算机上进行实时计算,必须使用小规模的输入数据或轻量级网络。然而,由于Shimmer3的硬件限制,输入数据大小不能任意减小。因此,我们应该采用轻量级的网络。我们应用了一种针对轻量级网络的知识蒸馏技术。配置了不同结构的教师模型和学生模型。具体来说,一维( 1D )卷积自编码器( CAE )和1D CNN模型分别用作教师和学生模型。最后,我们使用MERTI - Apps数据集对基于生物信号的情绪识别网络进行预训练,返回离散的唤醒度和效价值范围[ -1⋅1 ]。
    在这里插入图片描述

1.4.3 针对情感不匹配情况的自适应融合

所提出的模态自适应融合旨在实现对生物信号表达的内部状态和视听信号表达的外部状态之间的情感不匹配的鲁棒性。在多模态融合之前,进行基于模态的情感识别。设预处理后的视频、音频和生物信号分别为Xv∈Rvt × vw × vh、Xa∈Rat × ad和Xb∈Rbt × bd。
视频:vt、vw、vh分别表示视频帧的帧长、帧宽、帧高;
音频:at、ad分别表示音频信号的序列长度和特征维数;
生物:bt、bd分别表示生物信号的序列长度和特征维数。
用于情感识别的预训练编码器分别记为fv、fa、fb。它们的输出定义如下。
在这里插入图片描述
在这里插入图片描述
由于编码器的数据集覆盖了足够广泛的唤醒度和效价范围,因此我们假设对输出的融合没有负面影响。另一方面,每个模态的输出y具有连续或离散的形式,甚至是不同的范围。因此,我们通过使用ya和yb的置信度分数来调整ya和yb,使其具有与视频信号相同的标准(即,连续)。设ya和yb是离散的AV值.同样,令pa和pb分别表示ya和yb的置信度分数.然后将其转化为连续的AV值: ya = yapa / 2, yb = ybpb。因此,我们可以获得与视频信号相同范围[ - 1至1 ]的连续值。
为了从面部表情和音频信号中提取外部情感状态,我们使用条件平均值,该操作取决于是否启用音频输入,因为音频信号不像常规视频信号那样不规则地出现。
另一方面,一个人可以控制外在的情绪状态,却无法控制生物信号,即内在的情绪状态。因此,如果外部状态与内部状态之间的差距较大,那么主体隐藏内部(或真实)情绪的可能性就很高。基于这个假设,我们提出了一种融合方法,当外部状态和内部状态之间的差距较大时,对代表内部状态的yb赋予较大的权重。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter 安装

JMeter是Java的框架,因此在安装Jmeter前需要先安装JDK,此处安装以Windows版为例 1. 安装jdk:Java Downloads | Oracle 安装完成后设置环境变量 将环境变量JAVA_HOME设置为 C:\Program Files\Java\jdk1.7.0_25 在系统变量Path中添加 C:\Pro…

VS Code 的粘性滚动预览 - 类似于 Excel 的冻结首行

VS Code 的粘性滚动预览 - 类似于 Excel 的冻结首行功能,即滚动 UI 显示当前源代码范围。便于在代码行数比较多的时候更好的知道自己所在的位置。粘性滚动UI 显示用户在滚动期间所处的范围,将显示编辑器顶部所在的类/接口/命名空间/函数/方法/构造函数&a…

Dell R730 2U服务器实践3:安装英伟达上代专业AI训练Nvidia P4计算卡

Dell R730是一款非常流行的服务器,2U的机箱可以放入两张显卡,这次先用一张英伟达上代专业级AI训练卡:P4卡做实验,本文记录安装过程。 简洁步骤: 打开机箱将P4显卡插在4号槽位关闭机箱安装驱动 详细步骤: 对…

【java-面试题】链表刷题

【java-面试题】链表刷题 1. 删除链表中等于给定值 val 的所有节点(最多遍历链表一遍)题目思路代码 2. 反转一个单链表(就地反转) 1. 删除链表中等于给定值 val 的所有节点(最多遍历链表一遍) 力扣链接&am…

基于JSON的Ollama和LangChain agent

到目前为止,我们都可能意识到,通过为LLMs提供额外的工具,我们可以显著增强它们的功能。 例如,即使是ChatGPT在付费版本中也可以直接使用Bing搜索和Python解释器。OpenAI更进一步,为工具使用提供了经过优化的LLM模型&am…

GIT 卸载干净(图文详解)

一、控制面板卸载 右击卸载 等待卸载过程 二、在环境变量,把相关信息删除干净

巧妙解决接口测试产生脏数据问题

测试数据创建后需要对其删除,不然可能产生脏数据,对开发和测试、生产环境造成一定影响。 其接口框架是基于Python,API规范基于REST。 产生原因 改进前:清除资源的操作放在每个正向测试用例里,没有在setUp和tearDown…

使用 MongoDB Atlas 无服务器实例更高效地开发应用程序

使用 MongoDB Atlas无服务器实例更高效地开发应用程序 身为开发者,数据库并不一定需要您来操心。您可不想耗费时间来预配置集群或调整集群大小。同样地,您也不想操心因未能正确扩展而导致经费超标。 MongoDB Atlas 可为您提供多个数据库部署选项。虽然…

Vue路由(黑马程序员)

路由介绍 将资代码/vue-project(路由)/vue-project/src/views/tlias/DeptView.vue拷贝到我们当前EmpView.vue同级,其结构如下: 此时我们希望,实现点击侧边栏的部门管理,显示部门管理的信息,点击员工管理,显…

Vision Pro开发者学习路线

官方给到的Vision Pro开发者学习路线: 1. 学习基础知识: - 学习 Xcode、Swift 和 SwiftUI 的基础知识,包括语法、UI 设计等。 - 掌握 ARKit 和 SwiftUI 的使用,了解如何创建沉浸式增强现实体验。 2. 学习 3D 建模&#xf…

【latex】\IEEEpubid版权声明与正文内容重叠

问题描述 撰写IEEE Trans论文时,出现版权声明文字\IEEEpubid与正文内容重叠的问题: 原因分析: 在使用模板时,不小心将以下命令删除了: \IEEEpubidadjcol 解决方案: 在需要换页的位置附近添加以上命令&…

Appium自动化测试环境搭建

1、Appium简介 Appium是一个开源的,适用于原生或混合移动应用( hybrid mobile apps )的自动化测试平台,Appium应用WebDriver: JSON wire protocol驱动安卓和iOS移动应用。 2、环境配置 (1) 配置java环境 首先安装jdk。安装完成后新建用户…

【算法大家庭】动态规划算法

目录 🧂1.动态规划思想 🌭2.背包问题思路分析 🍿3.代码实现 1.动态规划思想 将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的 2.背包问题思路分…

德人合科技 | 天锐绿盾终端安全管理系统

德人合科技提到的“天锐绿盾终端安全管理系统”是一款专业的信息安全防泄密软件。这款软件基于核心驱动层,为企业提供信息化防泄密一体化方案。 www.drhchina.com 其主要特点包括: 数据防泄密管理:天锐绿盾终端安全管理系统能够确保数据在创…

10.轮廓系数-机器学习模型性能的常用的评估指标

轮廓系数(Silhouette Coefficient)是评估聚类算法效果的常用指标之一。它结合了聚类的凝聚度(Cohesion)和分离度(Separation),能够量化聚类结果的紧密度和分离度。 背景 1.聚类分析的背景 在…

蓝桥杯算法题汇总

一.线性表:链式 例题:旋转链表 二.栈: 例题:行星碰撞问题 三.队列 三.数组和矩阵 例题: 四.哈希表 五.二叉树 主要方法是递归 主要考察点是遍历:前序,中序,后序遍历,层…

C习题002:澡堂洗澡

问题 输入样例 在这里给出一组输入。例如&#xff1a; 2 5 1 3 3 2 3 3 输出样例 在这里给出相应的输出。例如&#xff1a; No代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 栈限制 8192 KB 代码 #include<stdio.h> int main() {int N,W,s,t,p;int arr_s[…

解决:Information:java: javacTask: 源发行版 8 需要目标发行版 1.8

解决&#xff1a;Information:java: javacTask: 源发行版 8 需要目标发行版 1.8 先点击 Project Structure 查看jdk是否为1.8版本 我这jdk版本为1.8版本的&#xff0c;但还是运行还是报错 据以上错误显示以及上述配置&#xff0c;我选择的编译器是jdk1.8的&#xff0c;但是在i…

2.模拟问题——3.叠筐

【原题链接】 分析 题目含义 根据题目要求&#xff0c;即要将中心值放在正方形框正中心&#xff0c;然后依次轮换在外层围上另一个边缘值&#xff0c;围的时候边框要保证中心值和边缘值交替&#xff0c;所围图形保持为一个正方形&#xff0c;围完最后一圈后&#xff0c;需要…

【leetcode】用队列实现栈

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家刷题&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 点击查看题目 思路: 在做此题之前&#xff0c;我们先要实现队列&#xff0c;这在上个博客中已经写过&#…