The Right to Talk: An Audio-Visual Transformer Approach

论文提出了一种基于Transformer的音视频处理方法,用于在多讲话者场景中定位主要说话人。通过视觉-视觉和音频-音频自注意力机制,捕捉音视频信号的内在关联,同时利用Gromov-Wasserstein距离实现跨模态对齐。通过周期同步损失函数,实现无监督学习的主说话人定位和音频分离。实验表明,该方法在小组讨论、电话会议和辩论等场景下表现优秀。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文简介

提出“轮流发言”概念,利用音视Transformer完成语音分离并找到主要说话人的位置,使用了无监督训练,使用Gromov-Wasserstein距离来为音-视对齐,使用Hadamard乘法计算audio损失

论文的任务

(1)定位主要的发言人
(2)打断者音源或背景噪声消除
(3)当说话者转换角色时,自动切换到新的话题

论文的贡献

1.该方法利用音视频信号中的各种关联,包括视频场景中发言者之间的“虚拟”交互以及视觉和听觉模态之间的关系
2.与提取视频片段内的视听关联不同,通过所提Transformer结构中的时间自注意机制,可以进一步利用视频片段间的关系。这有助于吸收语境信息,并在较长的语境中增强注意力,从而可以识别出主要说话人。
3.引入cycle synchronization损失,以自监督方式学习主要讲话者定位
4.收集了主讲话者定位数据集

轮流发言任务

简介

在这里插入图片描述

一段对话中讲话者的角色可以被分为两组:主讲话者,打断者/听者。
主讲话者:引导对话并推动它向前发展,即使中途有人打断仍继续讲话,直到这轮讲话结束。
打断者/听者:在主讲话者说话时进行反应或评论,常在很短的时间内发生,与主讲话者说完后同时结束。
当打断者在主讲话者说完话之后继续单独发言时,主讲话者就会发生转变。

符号表示

多讲话者对话视频,包含视觉成分 V V V(一组RGB帧)和音频成分 A A A(一个或多个讲话者的混合音频),
Turn h , h = 1 , . . . , H \textbf{Turn}^h, h=1,...,H Turnh,h=1,...,H是第 h h h个讲话回合, H H H是对话轮数, Turn h \textbf{Turn}^h Turnh由一或多个 Seg \textbf{Seg} Seg组成,
Seg k = { v k , a k } , k = 1 , … , K \textbf{Seg}^k=\{\textbf{v}^k,\textbf{a}^k\},k=1,\dots,K Segk={vk,ak},k=1,,K K K K是这段视频中 Seg \textbf{Seg} Seg的总数, v k ∈ V \textbf{v}^k\in V vkV a k ∈ A \textbf{a}^k\in A akA Turn h = { Seg k } h s t a r t h e n d \textbf{Turn}^h=\{\textbf{Seg}^k\}^{h_{end}}_{h_{start}} Turnh={Segk}hstarthend h e n d {h_{end}} hend h s t a r t {h_{start}} hstart分别代表第h轮的开始和结束时间;
S m k S^k_m Smk Seg k \textbf{Seg}^k Segk中主要讲话者, S S S是主体。 S I k S^k_I SIk是打断者或听者,在同一个 Turn \textbf{Turn} Turn中主要讲话者和打断者的角色不会转换。
S m k S^k_m Smk中的 M v k \textbf{M}^k_v Mvk代表视觉位置映射, M a k \textbf{M}^k_a Mak代表音频掩膜,具体地:
没有描述
其中 L o c ( S m K , v k ) Loc(S^K_m,\textbf{v}^k) Loc(SmK,vk) v k \textbf{v}^k vk S m k S^k_m Smk的位置, s p e c ( ⋅ ) spec(\cdot) spec()是转换声谱图的 操作符; ⊙ \odot 是Hadamard乘法; a S m k \textbf{a}_{S^k_m} aSmk S m k S^k_m Smk中的干净声音, seg 1 : k \textbf{seg}^{1:k} seg1:k是视频中从开始到第k个 Seg \textbf{Seg} Seg的时间信息。

网络结构

在这里插入图片描述

视觉-视觉自注意力

讲话人兴趣区域(SROI): f v k \text{f}^k_v fvk是视觉的深度特征embedding。把 f v k \text{f}^k_v fvk投影到视觉Seg中表达每个讲话者位置的兴趣区域,同时学习他们之间的相互关系,即:所有视频seg中每个讲话者的位置。 b = { b i k } , i = 1.. N , k = 1.. K \textbf{b}=\{\textbf{b}^k_i\},i=1..N,k=1..K b={bik},i=1..N,k=1..K b i k \textbf{b}^k_i bik是四维数组,代表 Seg k \textbf{Seg}^k Segk中第 i i i个讲话者的位置,
应用ROI Align提取SROI特征,记为 f v k , j \text{f}^{k,j}_v fvk,j
有两种方式可以得到SROI的位置:面部检测和块分解。
块分解即将视觉区域均匀地分解为 n × n n\times n n×n的块。
块分解可以提供对同一个讲话人,跨 Seg \textbf{Seg} Seg,面部轨迹区域的关注。

上面这段话的意思就是:作者试验了用面部检测器和块分解方法来提取SROI,其中块分解效果更好,块分解就是特征图均匀地分解为 n × n n\times n n×n的块,再用ROI Align来提取每个块的特征

视觉交互注意力: 给定 f v k , i \text{f}^{k,i}_v fvk,i,通过使用key, queue, value三个基于注意力的元素为每个特征集建立动态字典来表达跨时空维度的视觉-视觉上下文,训练key和query特征来进行字典查询,其中query特征和与之匹配的key高度相关并与其他key区别开来,value表示每个讲话者的区分特征
在这里插入图片描述

音频-音频自注意力

音频自注意力为音频 Seg \textbf{Seg} Seg之间相互关系建模,与视觉类似都是用的transformer
在这里插入图片描述

音视相互关系学习

在学习两个domain特征间的相关性之前,将两个域的拓扑对齐。作者认为这样做,特征就能对齐,并能够学习相互关系。
将跨域对齐作为优化运输(OT)问题。 音频和视频特征的分布分别记为 p v p_v pv p a p_a pa,提出了两阶段对齐过程:(1)通过运输函数 π \pi π(2)拓扑同步。 π \pi π是音视频样本之间的联合概率, c p v c_{p_v} cpv c p a c_{p_a} cpa是在视频和音频空间上定义的两样本之间距离的代价函数。对齐过程使用Gromov-Wasserstein距离
在这里插入图片描述
最小化 J J J旨在两个域之间(通过 π \pi π)找到合适的关联,并(通过 c p v c_{p_v} cpv c p a c_{p_a} cpa)最小化他们之间的拓扑距离,由于这是非凸二次问题,计算难度大,因此使用了[67]中的切片方法来快速计算 L a l i g n L_{align} Lalign。作者使用t-SNE方法将音视频特征投影到2D平面。
在这里插入图片描述
音视相互关系。 音视特征对齐后,再次使用Transformer学习每个 Seg \textbf{Seg} Seg中的每个SROI和音频特征。具体是以attention过的音频特征为Q,以视觉特征为K和V。作者认为高响应表示音频与与该SROI相关联的讲话人之间的高度相关性。该关联嵌入了说话者成为音频段的活动说话者的概率。
在这里插入图片描述

基于会话语法的主说话人定位与音频分离

在这里插入图片描述
z k \textbf{z}^k zk是音视注意力特征, D D D是可学习的解码器,将 z k \textbf{z}^k zk映射到目标音频掩膜, α k , k i \alpha_{k,ki} αk,ki是第 i i i个讲话人在音频和第 k k k Seg \textbf{Seg} Seg的SROI之间的相互关系得分
学习对话语法。 采取了混合-分离策略为 L a u d i o L_{audio} Laudio音频分离任务获取GT并用对话语法的两种类型进一步扩展它,即合作和竞争模式。合作模式下,每个讲话人轮到他讲话时便讲话,当他说完时便转换角色;竞争模式下其他讲话人打断时发生声音混合。根据以上信息,通过(1)在单一主题的训练集中随机选择不同视频;(2)有序拼接视频(合作模式);(3)在短时窗口内混合他们的声音并垂直拼接视频帧(竞争模式),生成了包含多个讲话人的训练集。在两种模式下, S m k S^k_m Smk被设置为占据音频 Seg \textbf{Seg} Seg或整个视频的所有 Seg \textbf{Seg} Seg的人。

这意思就是自己造了个训练数据集

损失函数

在这里插入图片描述

L a u d i o L_{audio} Laudio针对目标(主)说话者的声音优化模型; L v i s u a l L_{visual} Lvisual提高目标说话人的音频和SROI之间的相关性,同时降低与其他SROI在时空维度上的相关性。
自监督学习。 由于没有主讲话人的标签,所以定义了Cycle Synchronization损失
在这里插入图片描述
在这里插入图片描述
目的是用以下两点惩罚其一致性:(1)输入(混合)声音ak和视觉成分的相互关系;(2)最大化目标预测(干净)声音和视觉成分的相互关系。加强目标说话人语音和视觉间的关系,为定位做指导,降低与其他说话人视觉和语音的关系。
音视Transformer的总体损失
在这里插入图片描述
α \alpha α是控制重要性的参数,作者都设置为1

这个整体损失有点没看明白, L v i s u a l L_{visual} Lvisual直接被替换成了 L C y c _ s y n c L_{Cyc\_sync} LCyc_sync,等作者把源码放出来再看看

其他细节

视觉:3D VGG风格的网络
音频:2D VGG风格的网络
Ω代表512维的全连接层
η代表残差风格的MLP,包含2层1024维全连接层和LN层
音视掩膜生成器D是由一组全连接层组成,同时预测声谱图的magnitude和phase掩膜
面部检测器使用RetinaFace

实施

本文收集的数据集

从多个油管频道收集的视频,分三种类型:小组讨论、电话会议、辩论。
小组讨论:讲话者合作地在对话中轮流发言。
电话会议:在Skype或Zoom上的3-5人电话会议
辩论:两个讲话人同时具有合作和竞争行为,更频繁地打断对方说话
视频共300分钟,每个视频分为若干长度为6-20秒的片段,25fps,16kHz,为主讲人标记bbox。
音频:STFT,han,步幅10ms,窗尺寸40ms,采样率16kHz,生成声谱图的magnitude和phase

训练

训练数据集:LRS2训练集的29小时视频,使用混合-分离策略生成新视频,长度在4-8秒。合成的视频分成2秒短片段,声音混合重叠率为1/3
预处理:分辨率160×160,25FPS,在特征图中包含6×6个块
batch size为32,学习率1e-4
优化器:RMSProp

测试

LRS2的测试集、LRS3:包含0.5-1小时的视频,使用面部检测标记边界框
Columbia:86分钟的小组讨论
本文收集的数据集。
预处理:保留原分辨率,25FPS

单讲话人:定位位置落在主讲话人的GT bbox中
多讲话人:计算F1
主讲话人分离:SDR和PESQ

结果

合作性轮流对话下的主讲话人定位精度
合作性轮流对话下的主讲话人定位精度
竞争性轮流对话下的主讲话人定位精度
在这里插入图片描述

作者认为跨 Seg \textbf{Seg} Seg的关联使得每个讲话人的位置与在其他 Seg \textbf{Seg} Seg里同一人的面部高度相关
定位结论:
(1)来自视觉和音频域上下文注意力的表达
(2)域特征对齐
(3)周期同步损失最小化从混合声音和干净声音获得的定位掩膜之间的差异
在这里插入图片描述
块分解方法与面部检测方法一样可以跨 Seg \textbf{Seg} Seg关注同一讲话人的踪迹

### Audio-Visual Transformer (AVT): 实现与应用场景 Audio-Visual Transformer (AVT) 是一种多模态学习方法,旨在通过联合建模音频和视频数据来捕捉跨模态的信息交互。这种方法通常用于解决涉及视听信号的任务,例如音视频同步检测、说话人分离以及多媒体事件分类。 #### 1. **AVT 的基本原理** AVT 结合了视觉和听觉特征的学习过程,利用 Transformer 架构的强大能力,在序列建模中捕获长时间依赖关系的同时,也能够有效处理不同模态之间的关联性[^1]。具体来说: - 视频帧被编码为一系列空间特征向量; - 音频波形或梅尔谱图则转换成时间序列表示; - 这些来自两种模态的数据随后被送入一个多头注意力机制中进行融合。 这种设计允许模型不仅关注单一模态内的上下文信息,还能够在异质源之间建立联系,从而提高整体表现力。 ```python import torch from transformers import AutoModel, AutoTokenizer class AVT(torch.nn.Module): def __init__(self, audio_model_name="facebook/wav2vec2-base", video_model_name="google/vit-base-patch16-224"): super(AVT, self).__init__() # 加载预训练的音频和视频模型 self.audio_encoder = AutoModel.from_pretrained(audio_model_name) self.video_encoder = AutoModel.from_pretrained(video_model_name) # 定义交叉模态注意层 self.cross_attention = torch.nn.MultiheadAttention(embed_dim=768, num_heads=8) def forward(self, audio_input, video_input): audio_features = self.audio_encoder(**audio_input).last_hidden_state video_features = self.video_encoder(pixel_values=video_input).last_hidden_state # 使用交叉注意模块融合特征 fused_output, _ = self.cross_attention(query=audio_features, key=video_features, value=video_features) return fused_output ``` 上述代码片段展示了如何构建一个简单的 AVT 模型框架,其中分别采用了 Wav2Vec2 和 ViT 来提取音频及图像特征,并通过 `MultiHeadAttention` 层完成两者间的交互计算。 #### 2. **实际应用案例** ##### (1)**音视频匹配任务** 在一个典型的音视频一致性验证场景下,给定一段短片及其对应的录音文件,判断它们是否源自同一原始素材。此时可以借助 AVT 提取各自表征并度量相似度得分作为决策依据之一。 ##### (2)**增强现实中的实时反馈系统** 当开发 AR 应用程序时,可能需要即时响应用户的口头指令或者手势动作组合而成的操作请求。这时引入基于 AVT 技术的支持方案有助于提升用户体验流畅性和准确性。 #### 3. **挑战与发展方向** 尽管当前已有不少成功的尝试证明了该类架构的有效性,但仍存在一些亟待克服的技术瓶颈: - 数据标注成本高昂:高质量配对样本获取困难。 - 计算资源消耗巨大:大规模参数优化需高性能硬件支撑。 未来研究可着重探索轻量化版本的设计思路,同时改进现有算法使其更加鲁棒可靠。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值