原文:A Light Weight Model for Active Speaker Detection

什么是讲话人检测(active speaker detection)

​ ASD任务是实现在任意视频中从一群候选者中找到正在说话的人,该任务是一种多模态任务,其输入为视频声音信号。故可以归类为音频-视频任务。当前比较有名的大数据集是AVA-ActiveSpeaker。

目前主流的方法为,将一系列候选者的人脸序列输入到3D卷积神经网络中提取特征,再通过复杂的注意力模块建模跨模态信息。这类方法的缺点是内存消耗大,计算负担大。这大大限制了在实时场景下的应用。

1251

Let's go! 进入正文

本研究提出了一种轻量化端到端的实时讲话人检测模型,其相较于以往模型主要进行了以下三个方面的改进。

  1. 单输入:输入一个候选者的人脸序列和对应的音频
  2. 特征提取:将用于提取视觉特征的3D卷积转变为2D+1D卷积,其中2D卷积提取空间信息,1D卷积提取时间方向信息;将用于提取音频特征的2D卷积转变为1D+1D卷积,一个用于提取频率信息,一个用于提取时间向信息。
  3. 跨模态建模:使用门控循环单元(GRU)

模型详解

模型由特征提取前端和讲话人检测后端两部分组成,前端由视觉特征编码器和音频特征编码器组成,将这两个编码器的输出逐点相加,再通过检测器就可以判断当前候选者是否在讲话。

1252

视觉特征编码器

为了减少参数和计算负担,我们将以往设计中的3D卷积改变为2D+1D的结构。其对于人脸图片序列的处理流程如下图所示

1253

音频特征编码器

1254

检测器

1255

损失函数

Loss主要有主分类器和视觉辅助分类器损失组成。

预测结果经过softmax归一化,但需要除以一个额外的温度系数$\tau$,如下式:

$$ p_s=\frac{exp(r_{speaking}/\tau)}{exp(r_{speaking}/\tau)+exp(r_{no_speaking}/\tau)} $$

$r_{speaking}和r_{no_speaking}$分别代表当前候选人正在讲话和不在讲话的预测值,$p_s$为当前候选者正在讲话的概率。

其中$\tau$在训练过程中逐渐降低,$\tau=\tau_0-\alpha n$,n代表训练轮数。

Loss如下,其中$g$代表groundtruth,T代表视频帧数

$$ \mathcal{L}=-\frac{1}{T} \sum_{i=1}^T\left(g^i \log \left(p_s^i\right)+\left(1-g^i\right) \log \left(1-p_s^i\right)\right) $$

最后总的损失函数如下,$\lambda$=0.5:

$$ L_{a s d}=\mathcal{L}_{a v}+\lambda \mathcal{L}_v $$

来吧!展示

1256

分类: CVPR导读 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录