简介
进一步改进了音视特征聚类网络。目标函数为样本与聚类中心的加权距离之和(与之前类似),权重仍为距离的softmax,距离度量标准换成了L2;针对无法预知声源数目的情形,根据泊松分布,提出了声音分离损失,能够根据音频预测声源数目。聚类损失换成了contrastive损失。在ESC-50声音场景分类、SoundNet-Flickr声音定位、MIT-MUSIC声音分离任务上表现较好。
贡献
1.开发了一个视听学习模型,能够输出单模态表征,音视对齐。将软聚类模块作为模式检测器,在两种模态共享空间中,通过结构化对齐目标 来关联聚类后的pattern。
2.提出课程音视学习策略,其难度级别由场景中声源的数量决定,容易训练并提高了性能。还建立了用于估计音视场景复杂度的计数模型。
3.音视声音定位方面有很大提升。为声音分离提供有效的视觉表征。性能与有监督相当。
网络结构
视觉:VGG16,输出16×16×512
声音:VGGish,输出64×54×512,移除了最后的最大池化层和最后三个全连接层。
聚类
目标函数
j
j
j是指第
j
j
j个簇,
k
k
k是音源数量,
d
d
d是特征与聚类中心的欧氏距离,
w
w
w通过softmax而来,是为距离分配权重,
超参
β
>
0
β>0
β>0,称为刚度参数,控制assignment的可伸缩性。论文中
β
=
30
β=30
β=30
c
j
c_j
cj为聚类中心,每个中心对应于特定模态成分,例如某个物体或声音。
通过比较每个音视频组合的匹配程度可以确定是否对齐,具体地,是最小化音视中心的距离
与音频特征聚类中心相关的视觉特征聚类中心可以表示为
对应的
w
w
w可以变形回
H
×
W
H×W
H×W并将其作为与音频相关的视觉定位掩膜
复杂度估计
由于音视场景的复杂性对于课程训练至关重要,因此学习建模和估计给定场景中的声源数量是值得的。计数数据
y
i
y_i
yi的泊松离散概率分布由
P
(
Y
i
=
y
i
)
=
e
−
λ
i
λ
i
y
i
y
i
!
P(Y_i=y_i)=\frac{e^{-\lambda_i}\lambda^{y_i}_i}{y_i!}
P(Yi=yi)=yi!e−λiλiyi给出,其中
λ
i
λ_i
λi解释为区间内的期望事件数量。在本任务中,
y
i
y_i
yi作为音视场景中的声源数量。提出通过音频网络将
λ
i
λ_i
λi建模为输入声音ai的函数,记为
λ
i
=
f
(
a
i
)
λ_i = f(a_i)
λi=f(ai)。函数
f
(
⋅
)
f(\cdot)
f(⋅)为声源计数网络。通过对泊松分布取负对数似然,得到泊松回归损失
ln
(
y
i
!
)
\ln(y_i!)
ln(yi!)作为模型训练的常数可以被忽略掉。在训练计数网络之后,我们可以通过识别持有最大概率的数字来估计场景复杂度。
泊松回归网络移除了VGGish最后三个全连接层,添加了GMP层产生512D特征向量,两个全连接层:512-512-1来预测泊松平均值
λ
λ
λ。
声音分离
将视觉聚类中心 c i − s o u r c e v c^v_{i-source} ci−sourcev 作为第 i i i个场景的发声者表征,使用 w ⋅ s o u r c e w_{\cdot source} w⋅source表示发声者位置。使用U-Net的变体来执行声音分离,然后对视觉表征进行复制和平铺使其与音频特征匹配,将音视特征concat,送入up-conv层生成声谱图掩膜。
损失函数
聚类损失
L
a
v
=
1
2
n
∑
i
,
j
=
1
n
δ
i
=
j
S
a
i
v
j
2
+
(
1
−
δ
i
=
j
)
max
(
m
a
r
g
i
n
−
S
a
i
v
j
2
,
0
)
2
)
L_{av}=\frac{1}{2n}\displaystyle\sum^n_{i,j=1}{\delta_{i=j}S^2_{a_iv_j}+(1-\delta_{i=j})\max(margin-S^2_{a_iv_j},0)^2)}
Lav=2n1i,j=1∑nδi=jSaivj2+(1−δi=j)max(margin−Saivj2,0)2)
δ
δ
δ指图像和声音是否来自同一视频片段,
m
a
r
g
i
n
margin
margin是超参数,论文中为5。这里的
n
n
n其实是指batch的数目
声音分离损失
a
i
m
i
x
a^{mix}_i
aimix是输入的混合声音,
g
(
⋅
)
g(\cdot)
g(⋅)是声音分离网络,
M
i
=
m
a
i
/
m
a
i
m
i
x
M_i=m^{a_i}/m^{a^{mix}_i}
Mi=mai/maimix
实施
训练
使用期望(E)-最大化(M)算法更新参数,E阶段固定簇中心C并更新
w
i
j
w_{ij}
wij,在M阶段固定
w
i
j
w_{ij}
wij并用更新后的参数重新计算中心。
使用课程学习训练策略,根据场景的复杂性,即场景中声源数量由少(1)到多训练(4)网络。
数据集:(1)来自Youtube的音频事件数据集AudioSet,使用第三级标签,Balanced-Train数据集。音频为10秒片段,视觉为随机1帧图像。训练时未使用语义标签
(2)来自YouTube的MIT MUSIC数据集中选取467个音乐独奏,随机分成10秒片段
声音:STFT:窗口尺寸1022,步幅256,生成log声谱图
视觉:256×256×3
优化器:Adam
学习率:第一个课程10e-4,每个课程逐渐减小0.1
泊松回归网络:SGD,momentum为0.9,初始学习率0.01,衰减程度为0.01/(1+epoch*0.5)
测试
将已经训练好的音视模型作为特征提取器,应用在声学场景分类任务中,数据集为ESC-50。
泊松回归结果,测试数据集为AudioSet
声音定位:使用AudioSet训练,SoundNet-Flickr测试
声音分离:使用MIT-MUSIC数据集,也有用到AudioSet
结果
(1)使用课程训练可以提升性能
(2)在复杂场景下,声-源级匹配(对音视特征聚类并让其距离相互靠拢)比场景级匹配更好地利用了音视并发性
(3)对于定位任务,音视对齐后性能得到了提升
(4)对于定位任务,如果训练集中包含多个声源的音视场景,而测试集为单声源,则导致结果变差,可能是多声源视频会把单声源学到的对齐知识搞混
(5)对于声音分离任务,由于没有预训练或微调视觉网络,效果不是那么好,当使用二重奏音乐训练定位网络时,在SDR和SAR指标上比独奏好一些
代码 https://gitee.com/reallty/Simplified_DMC