The Right to Talk: An Audio-Visual Transformer Approach
论文简介
提出“轮流发言”概念,利用音视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
vk∈V,
a
k
∈
A
\textbf{a}^k\in A
ak∈A;
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关注同一讲话人的踪迹