ICASSP2024 | MLCA-AVSR: 基于多层交叉注意力机制的视听语音识别

视听语音识别(Audio-visual speech recognition, AVSR)是指结合音频和视频信息对语音进行识别的技术。当前,语音识别(ASR)系统在准确性在某些场景下已经达到与人类相媲美的水平。然而在复杂声学环境或远场拾音场景,如多人会议中,ASR系统的性能可能会受到背景噪音、混响和多人说话的重叠的干扰而严重下降。基于视频的视觉语音识别(VSR)系统通常不会受到声学环境的干扰。因此,越来越多的研究人员开始关注将视觉信息引入ASR中。在视听语音识别模型中,如何高效地融合音视频信息长期以来都是提升性能的关键。目前主流的融合方法有两种,一是对原始音视频数据进行融合,二是对建模后的音视频特征进行融合。前者更注重音视频在数据层面的高效融合,强调不同模态信息的越早融合对最终AVSR系统性能越有利,我们通常称之为融合 (early fusion);而后者则是对建模后的音视频特征,一般情况下是音/视频编码器的输出进行融合,我们通常称其融合 (late fusion)。

近期,西工大音频语音与语言处理研究组(ASLP@NPU)和理想汽车合作论文“MLCA-AVSR: Multi-Layer Cross Attention Fusion based Audio-Visual Speech Recognition”被语音研究顶级会议ICASSP2024接收。该论文提出了一种基于多层交叉注意力机制的视听语音识别方案,通过在音频和视频编码器的不同层中植入交叉注意力模块,建模音视频信息的同时同步进行音视频模态融合,我们称其为中融合 (middle fusion)。实验结果表明,MLCA-AVSR方案在MISP2022-AVSR数据集上的效果超过了MISP2022挑战赛AVSR赛道的第一名。现对该论文进行简要的解读和分享。

论文题目:MLCA-AVSR: Multi-Layer Cross Attention Fusion based Audio-Visual Speech Recognition

合作单位:理想汽车

作者列表:王贺、郭鹏程、周盼、谢磊

论文原文:https://arxiv.org/abs/2401.03424

论文截图

背景动机

目前大量关于视听语音识别 (AVSR) 的研究表明,将视觉信息整合到语音识别 (ASR) 模型中可以显著增强识别系统在复杂声学环境中的鲁棒性。Ma等人[1]提出了一种端到端的双编码器混合CTC/Attention AVSR方案,其中包括基于ResNet的视觉编码器、基于Conformer的音频编码器和一个多层感知模块 (MLP) 来融合不同的模态特征。与MLP的融合策略相比,Sterpu等人[2]首次引入了基于注意力的融合机制,并发现学习不同模态特征之间的对齐信息是提高性能的关键。随后,一些研究[3, 4]采用了交叉注意力模块来捕捉建模后的音视频特征之间的对齐和互补信息。此外,利用来自音频和视觉编码器不同层特征可以提升AVSR系统的性能也得到了许多研究的证实[5, 6]。

近期,基于多模信息的语音处理(MISP)挑战系列[7, 8],旨在探索远场多麦克风信号处理任务(如关键词检测和语音识别)中如何合理使用音视频双模信息,如图1所示。在MISP2022挑战赛的音视频语音分离和识别 (AVDR) 赛道中,参赛者们使用多通道音频数据和唇读视频数据来构建在家庭电视场景中的鲁棒远场语音识别系统。在比赛期间,我们提出了一种基于单层交叉注意力融合的AVSR系统 (SLCA-AVSR) [9],并取得了第二名的优异成绩。该系统使用交叉注意力模块来组合不同模态的特征。然而,这种方法是基于建模后的音视频特征进行模态融合,没有考虑在特征建模期间的上下文信息。尽管Li等人[10]探讨了多层级模态特征的融合,但基于连接的融合方法未能有效捕捉模态间的对齐信息。

图1 MISP竞赛的录制场景[7,8]

在本文中,我们提出了一种基于多层交叉注意力融合的视听语音识别(MLCA-AVSR)方案。具体而言,我们基于先前的SLCA融合模块,将其集成到音/视频编码器的不同中间层。通过在编码器不同层进行音视频特征融合,实现了从粗粒度建模特征到细粒度特征,一个模态从另一模态中学习建模时的上下文信息并对自身进行补充。此外,我们还采用了Inter-CTC损失[11]来引导每个交叉注意力模块的学习过程。据我们所知,这是第一次将交叉注意力模块集成到模态编码器的中间层,并在表示学习过程中同时进行模态融合的尝试。MISP2022-AVSR挑战数据集[7]上的实验结果表明,MLCA-AVSR方案超越了MISP2022挑战赛AVDR赛道的第一名,在此数据集上取得了新的最好结果。

MLCA-AVSR方案

交叉注意力

图2 交叉注意力模块示意图

多层交叉注意力融合

图3展示了MLCA-AVSR视听语音识别系统的结构,其包括四个主要组成部分,分别是音频和视觉前端、音频和视觉编码器、融合模块和解码器。我们采用了2层卷积下采样网络作为音频前端,ResNet3D网络作为视频前端,最近提出的E-Branchformer [12]作为音频和视觉编码器。同时,在音频和视觉编码器内引入了两个交叉注意力模块。这样一来,通过有效地利用编码器中不同层级的音视频特征,实现更好的多模态融合。

图3 MLCA-AVSR系统结构示意图

实验

数据处理

数据集 所有的模型训练和测试实验均在大规模的中文对话音视频语料库MISP2022-AVSR[7]上进行。该数据集由34个装有电视的家庭房间中的远/中/近麦克风和远/中摄像机收集而成,包含141小时的音视频数据。经由说话人日志时间戳切分后,训练、验证,测试集分别包含106.09小时、3.09小时和3.13小时的对话音视频数据。

音频处理 首先使用WPE和GSS算法对中远数据进行预处理,以有效提取每个说话者增强后的干净信号。随后,使用增强后的数据与原始的近场数据相结合,并进行0.9、1.0和1.1的速度扰动。为了模拟真实的声学环境,我们使用MUSAN [13]语料库和开源的pyroomacoustics工具包生成真实的背景噪声和房间脉冲响应(RIRs)。经过上述处理后,最终用于训练的音频数据总量约1300小时,包括预处理增强和模拟的数据。

视频处理 对于视频数据,我们裁剪与说话人嘴唇对应的区域(ROIs),并修改将其尺寸到112  112。在训练过程中,采用随机旋转、水平翻转和颜色抖动等策略来动态增强视频数据。

说话人日志 为了和MISP2022挑战赛参赛方案对比,我们使用了与参赛时一样的说话人日志 (SD)模型[14]来切分验证集 (  )和测试集 (  ),切分后的数据集分别表示为  和  。

实验设置

所有系统,包括 ASR、VSR 和 AVSR,均使用ESPnet工具包进行构建。对于音频ASR模型,我们使用了一个包含 24 层的 E-Branchformer 作为编码器,每层有 256 维、4 个注意力头和 1024 维的前馈内部线性投影。此外,解码器包含 6 个 Transformer 层,每层有 4 个注意力头和 2048 维的前馈。编码器和解码器的dropout都设置为 0.2。对于基于视频的 VSR 模型,视觉前端是一个包含 5 层的 ResNet3D 模块,通道数为 32、64、64、128、256,核大小为 3,视觉编码器是一个包含 9 层的 E-Branchformer,其他与 ASR 系统相同。为了验证 E-Branchformer 编码器的优越性能,我们还训练了与 E-Branchformer 相似模型大小的 Conformer 和 Branchformer ASR 和 VSR 模型。对于音频-视觉语音识别模型,交叉注意力模块使用了 4 个注意力头,每个头有 256 个注意力维度。在训练开始时,音频和视觉编码器分别使用预训练好的 ASR 和 VSR 模型进行初始化。

实验结果及分析

单模态 ASR 和 VSR 模型

如表1所示,我们对Conformer、Branchformer和E-Branchformer编码器在ASR和VSR模型中进行性能比较。对于Conformer和Branchformer编码器,我们通过增加编码器层数或特征维度来扩展ASR和VSR系统的模型大小,确保比较的公平性。在MISP2022-AVSR数据集上的结果表明,E-Branchformer编码器在性能上优于Conformer和Branchformer编码器。具体而言,与Branchformer模型相比,E-Branchformer ASR和VSR模型在Eval集的CER上分别实现了0.8%和2.2%的相对下降,与Conformer模型相比,分别实现了1.3%和3.8%的相对下降。

表1 不同编码器的ASR、VSR模型在Dev和Eval集上的CER(%)结果以及在   集上的cpCER(%)结果

与常见模态融合方法对比

为了更好地展示多层交叉注意力融合方法的优势,我们实现了两种常见的融合方法进行比较:(1)简单地将音频和视觉编码器的输出相加以及(2)在沿特征维度连接输出后通过MLP进行融合。MLP模块包括两层线性投影,分别为2048维和256维。为了公平比较,在Add和MLP融合实验中,我们将音频和视觉编码器的E-Branchformer编码器层数分别从24增加到27和从9增加到12。表2呈现了利用不同融合策略的音视频语音识别系统的实验结果。显然,我们提出的多层交叉注意力(MLCA)融合方法优于Add和MLP,分别在Eval集上实现了高达2.4%和2.5%的相对CER改善。

表2 采用不同融合方法的视听语音识别系统效果

消融实验

表3 针对MLCA-AVSR中的3个交叉注意力模块的消融实验结果

与MISP2022挑战赛Top3系统对比

表4 针对MLCA-AVSR与MISP2022挑战赛AVSR赛道Top3系统对比结果

参考文献

[1] Pingchuan Ma, Stavros Petridis, and Maja Pantic, “End-to-end audio-visual speech recognition with conformers,” in Proc. ICASSP. IEEE, 2021, pp. 7613–7617.

[2] George Sterpu, Christian Saam, and Naomi Harte, “Attentionbased audio-visual fusion for robust automatic speech recognition,” in Proc. MI. ACM, 2018, pp. 111–115.

[3] Yifei Wu, Chenda Li, Song Yang, Zhongqin Wu, and Yanmin Qian, “Audio-visual multi-Talker speech recognition in a cocktail party,” in Proc. Interspeech. ISCA, 2021, pp. 3021–3025.

[4] Ao Zhang, He Wang, Pengcheng Guo, Yihui Fu, Lei Xie, Yingying Gao, Shilei Zhang, and Junlan Feng, “VE-KWS: Visual modality enhanced end-to-end keyword spotting,” in Proc. ICASSP. IEEE, 2023, pp. 1–5.

[5] Ming Cheng, Haoxu Wang, Yechen Wang, and Ming Li, “The DKU audio-visual wake word spotting system for the 2021 MISP challenge,” in Proc. ICASSP. IEEE, 2022, pp. 92569260.

[6] Tao Li, Haodong Zhou, Jie Wang, Qingyang Hong, and Lin Li, “The XMU system for audio-visual diarization and recognition in MISP challenge 2022,” in Proc. ICASSP. IEEE, 2023, pp. 1–2.

[7] Hang Chen, Jun Du, Yusheng Dai, Chin Hui Lee, Sabato Marco Siniscalchi, Shinji Watanabe, Odette Scharenborg, Jingdong Chen, et al., “Audio-visual speech recognition in misp2021 challenge: Dataset release and deep analysis,” in Proc. Interspeech. ISCA, 2022, pp. 1766–1770.

[8] Zhe Wang, Shilong Wu, Hang Chen, Mao-Kui He, Jun Du, Chin-Hui Lee, Jingdong Chen, Shinji Watanabe, et al., “The multimodal information based speech processing (MISP) 2022 challenge: Audio-visual diarization and recognition,” in Proc. ICASSP. IEEE, 2023, pp. 1–5

[9] Pengcheng Guo, He Wang, Bingshen Mu, Ao Zhang, and Peikun Chen, “The NPU-ASLP system for audio-visual speech recognition in MISP 2022 challenge,” in Proc. ICASSP. IEEE, 2023, pp. 1–2.

[10] Tao Li, Haodong Zhou, Jie Wang, Qingyang Hong, and Lin Li, “The XMU system for audio-visual diarization and recognition in MISP challenge 2022,” in Proc. ICASSP. IEEE, 2023, pp. 1–2.

[11] Jaesong Lee and Shinji Watanabe, “Intermediate loss regularization for CTC-based speech recognition,” in Proc. ICASSP. IEEE, 2021, pp. 6224–6228.

[12] Kwangyoun Kim, Felix Wu, Yifan Peng, Jing Pan, Prashant Sridhar, Kyu J Han, and Shinji Watanabe, “E-branchformer: Branchformer with enhanced merging for speech recognition,” in Proc. SLT. IEEE, 2023, pp. 84–91.

[13] David Snyder, Guoguo Chen, and Daniel Povey, “Musan: A music, speech, and noise corpus,” arXiv preprint arXiv:1510.08484, 2015.

[14] Bowen Pang, Huan Zhao, Gaosheng Zhang, Xiaoyue Yang, et al., “Tsup speaker diarization system for conversational short-phrase speaker diarization challenge,” in Proc. ISCSLP. IEEE, 2022, pp. 502–506.

[15] Gaopeng Xu, Xianliang Wang, Sang Wang, Junfeng Yuan, Wei Guo, Wei Li, and Jie Gao, “The NIO System for audio-visual diarization and recognition in MISP challenge 2022,” in Proc. ICASSP. IEEE, 2023, pp. 1–2.

[16] Jonathan G Fiscus, “A post-processing system to yield reduced word error rates: Recognizer output voting error reduction (ROVER),” in Proc. ASRU. IEEE, 1997, pp. 347–354.

文章来源于音频语音与语言处理研究组 ,作者王贺

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

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

相关文章

Qt应用软件【文件篇】XML文件增删查改

文章目录 1. XML文件简介2. XML文件的主要特点3. XML文件的应用场景4. Qt XML文件相关API汇总5. Qt读取XML文件代码示例6. Qt写入XML文件代码示例7. Qt修改XML文件代码示例8. 字符串转换为XML对象9. XML对象转换为字符串10.替换复杂的xml文件中属性,保持格式不变1. XML文件简介…

大语言模型推理加速技术:计算加速篇

原文:大语言模型推理加速技术:计算加速篇 - 知乎 目录 简介 Transformer和Attention 瓶颈 优化目标 计算加速 计算侧优化 KVCache Kernel优化和算子融合 分布式推理 内存IO优化 Flash Attention Flash Decoding Continuous Batching Page…

Go Run - Go 语言中的简洁指令

原文:breadchris - 2024.02.21 也许听起来有些傻,但go run是我最喜欢的 Go 语言特性。想要运行你的代码?只需go run main.go。它是如此简单,我可以告诉母亲这个命令,她会立即理解。就像 Go 语言的大部分功能一样&…

微调实操四:直接偏好优化方法-DPO

在《微调实操三:人类反馈对语言模型进行强化学习(RLHF)》中提到过第三阶段有2个方法,一种是是RLHF, 另外一种就是今天的DPO方法, DPO通过直接优化语言模型来实现对其行为的精确控制,而无需使用复杂的强化学习,也可以有效学习到人类偏好,DPO相…

python中的类与对象(2)

目录 一. 类的基本语法 二. 类属性的应用场景 三. 类与类之间的依赖关系 (1)依赖关系 (2)关联关系 (3)组合关系 四. 类的继承 一. 类的基本语法 先看一段最简单的代码: class Dog():d_…

java常见面试题1

面试题 简单但容易错的题 1.自增、自减 简单题目 // 部分代码,非可运行 int i 1; i i; int j i; int k i i * i; //i? j? k? 这个题看着简单又凌乱的,重要的考点主要是以下几点: “” 右边是从左到右将加载值依次压入操作数栈&…

智慧公厕的目的和意义是什么?

智慧公厕是近年来城市建设中的一项重要举措,其目的在于实现公共厕所的智慧化管理,为市民群众提供更好的服务体验,助力智慧城市和数字环卫的发展,提升社会公共卫生服务水平。 与此同时,智能公厕也具有重要的意义&#x…

C 语言简介

C 语言是一种通用的高级语言,最初是由丹尼斯里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。 在 1978 年,布莱恩柯林汉(Brian Kernighan)和丹尼斯里奇(D…

springboot+vue实现微信公众号扫码登录

通常在个人网站中,都会有各种第三方登录,其中微信登录需要认证才能使用,导致个人开发者不能进行使用此功能,但是我们可以使用微信公众号回复特定验证码来进行登录操作。 微信关键词处理 微信公众号关键词自动回复,具体…

60kW 可编程直流回馈负载箱的优势和特点

60kW可编程直流回馈负载箱是一种先进的电力设备,主要用于模拟电网中的负载,为电力系统提供稳定的负载环境。它具有许多优势和特点,使其在电力系统中得到了广泛的应用。 60kW可编程直流回馈负载箱具有高效的能源转换效率,能够将电能…

Object.groupBy分组方法

在某些浏览器的某些版本中,此方法被实现为 Array.prototype.group() 方法。由于 web 兼容性问题,它现在以静态方法实现。 函数功能 提供的回调函数返回的字符串值对给定可迭代对象中的元素进行分组。返回的对象具有每个组的单独属性,其中包…

代码随想录算法训练营第四十四天|518. 零钱兑换 II、377. 组合总和 Ⅳ

518. 零钱兑换 II 题目链接:零钱兑换 II 题目描述: 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设…

LQB新2024 DS18B20温度检测

温度检测 #include "stc15.h" #include <intrins.h> #include <stdio.h> #include <absacc.h> typedef unsigned char u8; typedef unsigned int u16; typedef unsigned long u32;float dsread();void WriteNbyte(u8 addr…

人机界面和三菱PLC之间以太网通信

本文主要描述人机界面WinCC如何与三菱Q系列PLC进行以太网通讯&#xff0c;主要介绍了CPU自带以太网口和扩展以太网模块两种情况以及分别使用TCP、UDP两种协议进行通讯组态步骤及其注意事项。 一、 说明 WinCC从V7.0 SP2版本开始增加了三菱以太网驱动程序&#xff0c;支持和三…

Windows常用协议

LLMNR 1. LLMNR 简介 链路本地多播名称解析(LLMNR)是一个基于域名系统(DNS)数据包格式的协议,可用于解析局域网中本地链路上的主机名称。它可以很好地支持IPv4和IPv6&#xff0c;是仅次于DNS 解析的名称解析协议。 2.LLMNR 解析过程 当本地hosts 和 DNS解析 当本地hosts 和 …

docker 常用指令(启动,关闭,查看运行状态)

文章目录 docker 常用指令启动 docker关闭 docker查看 docker的运行状态 docker 常用指令 启动 docker systemctl start docker关闭 docker systemctl stop docker查看 docker的运行状态 systemctl status docker如下图所示&#xff1a; 表示docker正在运行中

集合框架体系和使用1(Collection)

Map的不同实现类单独再搞一章讲 目录 数组的特点、弊端与集合框架体系介绍 数组 特点 弊端 Java集合框架体系&#xff08;java.util包下&#xff09; java.util.Collection:存储一个一个的数据&#xff08;主要讲两个子接口&#xff09; java.util.Map:存储一对一对的数据…

Jetpack Compose 状态管理的三个误区

1. 注意在协程中更新状态值时的线程安全问题 例如我们有如下代码&#xff1a; data class MyUiState(val counter: Int 0,val text: String "" )class MainViewModel: ViewModel() {private val _state MutableStateFlow(MyUiState())val state _state.asState…

Vue2 迁移到 Vue3

一.《Vue 3 迁移指南》参考文档&#xff1a;https://v3-migration.vuejs.org/zh/ 二.Vue 3 中需要关注的一些新特性。 1. 组合式 API*&#xff1b; 2. 单文件组件中的组合式 API 语法糖 (<script setup>)*&#xff1b; 3. Teleport 组件&#xff1b; 4. Fragments 片段&…

【uni-app】常用组件和 API

常用组件 uni-app 为开发者提供了一系列基础组件&#xff0c;类似 HTML 里的基础标签元素&#xff0c;但 uni-app 的组件与 HTML 不同&#xff0c;而是与小程序相同&#xff0c;更适合手机端使用。 虽然不推荐使用 HTML 标签&#xff0c;但实际上如果开发者写了div等标签&…