【论文翻译】Out of time: automated lip sync in the wild

pdf: https://ora.ox.ac.uk/objects/uuid:6bdd4768-6fbd-40ac-8efc-edca8a0325b3/download_file?file_format=pdf&safe_filename=Chung%2Band%2BZisserman%252C%2BOut%2Bof%2Btime%2B-%2Bautomated%2Blip%2Bsync%2Bin%2Bthe%2Bwild.pdf&type_of_work=Conference+item

github: https://github.com/joonson/syncnet_python

 
Out of time: automated lip sync in the wild
即时追捕:自然环境下的自动唇音同步
 
摘要:
这项工作的目标是确定音频-视频同步之间的嘴运动和语音在视频。我们提出了一种两流ConvNet体系结构,使声音和嘴图像之间的映射能够从未标记的数据中进行端到端的训练。训练后的网络用于确定视频中的假同步错误。我们将网络应用于另外两项任务:主动说话人检测和唇语阅读。在这两个任务上,我们在标准基准数据集上设置了一个新的最新技术。
 

1.介绍

       音频到视频的同步(或缺乏同步)是电视广播中制作人和观众的一个问题。在电视中,假同步错误高达几百毫秒并不少见。如果错误的原因在传输中,视频通常会滞后于音频。这些错误通常是显而易见的——一般观众可检测到的阈值大约是-125ms(音频滞后于视频)到+45ms(音频领先于视频)[1]。
       在电影制作中,音频和视频的同步是一项常规任务,因为音频和视频通常是用不同的设备录制的。因此,在这个行业中出现了许多解决方案,其中最传统的是clapperboard。现代的解决方案使用时间标记,或者有时使用摄像机内置麦克风和外部麦克风之间的音频进行时间扭曲,但是使用视觉内容作为对齐的指导并不常见。
       我们在这项工作中的目标是开发一个独立于语言和说话人的解决方案,以解决假同步问题,只使用视频和音频流,可供电视视图。关键的贡献是ConvNet架构,以及数据处理管道,使声音和嘴形之间的映射能够从电视广播中有区别地学习,而不需要标记数据。据我们所知,我们是第一个端对端培训工作的AV同步系统。
       此解决方案与许多不同的应用程序相关。我们证明了该方法可以应用于三个不同的任务:(i)确定视频中的假唱错误;(二)在多面场景中检测说话者;(三)唇读。所有这些任务的实验表现都非常出色。在说话者检测和唇读方面,我们的结果超过了公共数据集 Columbia[4]和OuluVS2[2]的最新水平。
 

1.1.相关工作

        关于音频到视频的同步问题有大量的工作。其中大多数是基于电视接收机无法使用的方法(例如。将时间戳嵌入传输流);相反,我们专注于只依赖视听数据的计算机视觉方法。
        许多论文将音素识别作为解决假同步问题的代理任务。在Lewis等人中。[15]使用线性预测来提供音频中的音素识别和r生态识别音素与嘴的位置相关联,以提供假同步视频。Morishima等人[19]将人脸参数分类为viseme,并利用viseme进行音素映射以获得同步性。虽然[13]和[18]没有明确地将声音分类为音素,但它们的方法与上述方法相似,因为它们通过让说话人记录一组元音来开发模型。无论是[13]还是[18],都将人脸参数(如颌骨位置)与声音信号的FFT相关联。Zoric和Pandzic[29]使用了神经网络来解决这个问题。训练多层前馈神经网络从MFCC输入向量中预测viseme。采用参数化人脸模型进行视觉处理。我们不把声音和口型分为元音或音素。
        最近的论文试图在没有这种标签的情况下找到语音和视觉数据之间的对应关系。一些方法是基于规范相关分析(CCA)[3,22]或音频和视觉特征的共同惯性分析(CoIA)[20](例如,几何参数或二维DCT特征)。与我们最相关的工作是Marcharet等人的[17],他们使用基于深度神经网络(DNN)的分类器来确定基于预先定义的视觉特征(语音类可能性、瓶颈特征等)的时间偏移量,而我们直接学习视觉特征。
        与本文开发的体系结构相关的是Siamese网络[6],其中学习了相似性度量,用于没有显式类标签的人脸分类。[23,27]也是值得注意的是,它们同时训练多流网络,其中输入具有不同的域。
 

2. 表征和架构

        本节描述音频和视频输入的表示和网络体系结构。网络摄取每种数据类型的0.2秒剪辑。在数据集中(第3节),音视频数据没有给出明确的注释(如音素标签,或精确的时间偏移),然而,我们假设在电视广播中,音频和视频通常是同步的。
该网络由两个用于音频和视频的非对称流组成,每个流如下所述。

2.1音频流

输入音频数据为MFC C值..这是声音的短期功率谱在非线性梅尔频率标度上的表示。每个时间步骤使用13个mel频带。特征值以100Hz的采样率计算,0.2秒的输入信号需要20个时间步长。
【论文翻译】Out of time: automated lip sync in the wild_第1张图片

图1.输入表示。左:时间表示为音频热图。音频图像中的13行(A到M)分别对代表不同频率箱内功率的13个MFCC特征进行编码。右图:嘴巴区域的灰度图像。

表征

音频被编码为表示每个时间步长和每个mel频带的MFCC值的热图图像(参见图1)。图像的顶部和底部三行被反射以减少边界效果。以前的工作[9]也曾尝试训练类似输入的图像样式的ConvNet。

 架构

我们使用的卷积神经网络灵感来自那些设计的图像识别..我们的层体系结构(图2)是基于VGGM[5],但有修改的过滤器大小,以吸收输入的不寻常的维度。VGG-M采用的是尺寸为224×224像素的正方形图像,而我们的输入尺寸为20像素(时间步长),而另一方向只有13像素(因此,输入图像为13×20像素)。

2.2 视频流

表征

视觉网络的输入格式是口区域作为灰度图像的序列,如图1所示。输入维度为111×111×5 (W×H×T)为5帧,相当于0.2秒25 hz的帧速率。

架构

我们的体系结构基于[7],它是为视觉语音识别的任务而设计的。特别是,该体系结构基于早期的融合模型,该模型紧凑且训练速度快。已经修改了conv1过滤器以摄取5通道输入。

【论文翻译】Out of time: automated lip sync in the wild_第2张图片

图2.双流ConvNet架构。两条溪流同时训练。

2.3 损失函数

训练目标是音频和视频网络的输出与真对相似,与假对不同。具体地说,网络输出之间的欧氏距离被最小化或最大化。我们建议使用最初提出的用于训练Siamese网络[6]的对比损耗(公式1)。v和a分别是视频流和音频流的fc7向量。y∈[0,1]是音频和视频输入之间的二进制相似度度量。

 另一种方法是将这个问题作为一个类化(同步/不同步,或使用合成数据进入不同的偏移箱)来处理,但是我们无法使用这种方法来实现收敛。

2.4 训练

该训练程序是对单流卷积神经网络常用程序的改编[14,24],并受到[6,23]的启发。然而,我们的网络是不同的,因为它由不同的流组成,两组独立参数以及来自两个不同领域的输入。利用带动量的随机梯度下降法学习网络权值。两个网络流的参数是同时学习的。

数据增强

在卷积神经网络的图像分类任务[14]中,应用数据增强通常可以提高验证性能并减少过拟合。对于音频,音量在±10%的范围内随机改变。我们不会改变音频播放速度,因为这可能会影响重要的计时信息。对于错误的例子,我们采取随机的作物在时间。对于视频,我们采用了ImageNet分类任务中使用的标准增强方法[14,24](例如随机剪切、翻转、颜色移动)。单个转换应用于单个剪辑中的所有视频帧。

细节

我们的实现是基于MATLAB工具箱MatConvNet[26],在NVIDIA Titan X GPU上训练12GB内存。网络使用批处理规范化[10]进行训练,10-2到10-4的学习速率,这比通常用于训练具有批处理规范化的ConvNet的速度要慢。训练在20个epoch后停止,或者当验证错误在3个epoch内没有改善时,以较早者为准。

3 数据集

【论文翻译】Out of time: automated lip sync in the wild_第3张图片

图3.BBC News视频的静止图片

在本节中,我们描述了自动生成用于训练唇同步系统的大型视听数据集的管道。使用上述方法,我们从BBC视频中收集了数百小时的演讲,覆盖了数百名演讲者。我们从2013年到2016年的BBC新闻节目开始(图3),因为新闻中出现了大量不同的人,而不是固定的演员阵容。训练集、验证集和测试集按时间进行划分,各集对应的视频日期如表1所示。

【论文翻译】Out of time: automated lip sync in the wild_第4张图片

表1。数据集统计:记录日期,真实(阳性)和假唇同步音频视频训练样本的数量,facetrack的小时数。

处理管道如图4所示。管道的可视化部分基于Chung和Zisserman[7]使用的方法,我们在这里给出了该方法的简要概述。首先,通过比较颜色直方图在连续帧[16]来确定镜头边界。然后在每帧上执行基于hogb的人脸检测方法,并使用KLT tracker[25]将人脸检测分组到帧上。我们将丢弃视频中出现多个面孔的任何剪辑,因为在此场景中不知道说话者。

【论文翻译】Out of time: automated lip sync in the wild_第5张图片

图4.管道生成视听数据集。

pipeline的音频部分非常简单。在语音识别系统中,音频通常采用Mel-frequency cepstral coefficient (MFCC)[8]特征来描述。对音频不执行其他预处理。

3.1汇编培训数据

【论文翻译】Out of time: automated lip sync in the wild_第6张图片

图5.获取真、假音视频对的过程。

真正的音视频对是由一个5帧的视频剪辑和相应的音频剪辑生成的。只有音频被随机移动2秒,以生成合成的假音视频对。如图5所示。我们从相同的剪辑中提取音频,这样网络就能识别排列,而不是扬声器。

细化训练数据

使用该方法生成的训练数据是有噪声的,因为它包含声音和嘴巴形状不相关的视频(例如配音视频)或不同步的视频。

网络最初针对这些有噪声的数据进行训练,训练后的网络通过拒绝超过阈值的正对来丢弃训练集中的误报。然后根据这些新数据对网络进行重新训练。

讨论

该方法不需要对训练数据进行注释,与以前的一些基于音素识别的工作不同。我们使用音视频对进行训练,这种方法的优点是,可用数据的数量几乎是无限的,而获取数据的成本是最低的(几乎所有从互联网上下载的语音视频都可以用于训练)。关键的假设是,我们下载的大多数视频都是近似同步的,尽管有些视频可能存在口型同步错误。卷积神经网络损失函数和训练通常能容忍数据的噪声。

4.实验

在本节中,我们使用经过训练的网络来确定视频中的假同步错误。每个流的256维fc7向量被用作表示音频和视频的特征。为了得到信号之间的相似度度量,需要特征的欧氏距离。这是训练时使用的距离函数。直方图(图6)显示了度量的分布。

 【论文翻译】Out of time: automated lip sync in the wild_第7张图片

图6.欧几里德距离的分布为真和假音视频对,使用单一的0.2秒样本。注意,这是在嘈杂的验证数据上,其中可能包括非扬声器或配音视频的剪辑。

4.1确定嘴唇同步错误 

为了找到音频和视频之间的时间偏移,我们采取了滑动窗口的方法。对于每个样本,在±1秒范围内计算一个5帧视频特征和所有音频特征之间的距离。正确的偏移量是当这个距离最小时。然而,如表2所示,并不是剪辑中的所有样本都是有区别的(例如,在某个特定时间可能有一些样本什么都没有说),因此对每个剪辑取多个样本,然后取平均值。典型的响应图如图8所示。

 评估

音频和视频之间的精确时间偏移是未知的。因此,评估是手工完成的,如果同步是成功的,那么对口型的错误就不会被人发现。我们从保留用于测试的数据集中随机抽取几百个片段,如第3节所述。成功率见表2。

 【论文翻译】Out of time: automated lip sync in the wild_第8张图片

表2在人类可探测范围内的准确性。

研究人员还对韩国和日本的视频样本进行了实验(图7),以显示我们的方法可以跨不同的语言工作。定性的结果是非常好的,将从我们的研究页面。

【论文翻译】Out of time: automated lip sync in the wild_第9张图片 性能

数据准备管道和网络的运行速度比中档笔记本电脑(苹果MacBook Pro)的实时运行速度要快得多
NVIDIA GeForce GT 750M图形),除了人脸检测步骤(外部应用),运行速度约×0.3实时性。

4.2应用:主动扬声器检测

【论文翻译】Out of time: automated lip sync in the wild_第10张图片

图8.对于不同的偏移值,音频和视频功能之间的平均距离,在一个剪辑上平均。实际偏移位于低谷..这里显示的三个例子片段是为了区别你的场景。左:同步AV数据;中:音频引导视频;右:音频和视频不相关。 

AV同步问题和主动扬声器检测问题密切相关,因为视频和伴随音频之间的对应关系必须建立。因此,同步方法可以扩展到确定说话人在一个场景中有多个面孔。我们将时间偏移(同步误差)的置信分数定义为欧几里得距离的最小值和中值之间的差值(例如,图8中两个图中的值都在6到7之间)。在一个多主题场景中,说话者的面部自然是音频和视频之间最对应的部分。一个不会说话的人的相关性应该接近于零,因此得分也应该很低。 

与单模态的主动说话人检测方法不同,我们的方法只依赖于嘴唇的运动,我们的方法也可以检测说话人的情况,但与音频不相关(例如在配音视频中)。

评估

我们使用数据集(图9)和Chakravarty等人的评估协议对我们的方法进行了测试。目的是在多主题场景中确定说话者是谁。

【论文翻译】Out of time: automated lip sync in the wild_第11张图片 图9.Columbia数据集的静止图像[4]。

数据集包含6个扬声器,其中5个(Bell、Bollinger、Lieberman、Long、Sick)用于测试。在ROC曲线与对角线相交的点上,使用剩余发言者(Abbas)的注释设置评分阈值(错误率相等)。

我们在表3中报告了f1的分数。每个测试样本的分数在10帧或100帧窗口内取平均值。对于100帧窗口,性能几乎是完美的。增加平均窗口大小的缺点是,该方法不能检测到说话人在很短时间内说话的例子;虽然在这种情况下这不是问题。

【论文翻译】Out of time: automated lip sync in the wild_第12张图片

 表3 在Columbia speaker检测数据集上的f1得分。[4]的结果已经从他们论文的图3b中进行了数字化处理,其准确度在±0.5%左右

4.3应用:唇部阅读

针对任何任务训练深度网络都需要大量数据,但对于唇读等问题,大规模带注释的数据的收集成本可能高得令人望而却步。然而,没有标签的口语视频是丰富的,容易获得。

同步网络的一个有用的副产品是,它使人们能够在不使用任何标记数据的情况下学习非常强的嘴巴描述符。我们使用这个结果在OuluVS2[2]数据集上达到了新的最先进的技术。这包括52名受试者说出相同的10个短语(如“谢谢”、“你好”等)或10个预先确定的数字序列。它是在一个与说话者无关的实验中评估的,在这个实验中,12个指定的对象被保留下来进行测试。只有视频流用于训练和测试,即这是一个“唇读”实验,而不是视听语音识别。

实验装置

本实验采用一种单层250个隐藏单元的简单单向LSTM分类器。设置如图10所示。LSTM网络摄取的视觉功能(fc7激活从
(ConvNet)中的5帧滑动窗口,每次移动1帧,并在序列结束时返回分类结果。

训练细节

我们对递归网络的实现是基于Caffe[11]工具箱的。该网络采用Stocastic梯度下降训练,学习率为10-3。梯度是反向传播的整个长度的剪辑。使用Softmax log loss,这里,对于10个短语或数字序列,n = 10。损失只在最后一步计算。

【论文翻译】Out of time: automated lip sync in the wild_第13张图片

 图10.网络配置为唇读实验..在LSTM训练时,ConvNet权重没有更新。

【论文翻译】Out of time: automated lip sync in the wild_第14张图片

 表4在OuluVS2上测试集合分类精度,正面视图。

评估

我们将我们的结果与这个数据集上的最新技术进行比较;还有同样的LSTM设置,但是用的是在ImageNet[21]上预先训练的VGG-M[5]卷积网络。我们在表4中报告了结果。特别值得注意的是,我们的结果优于[7],它是使用预先在非常大的标记数据集上训练的网络获得的。

5.结论

我们已经证明,一个双流卷积神经网络可以被训练来同步音频和嘴部动作,从很容易获得的自然语音视频。这种方法的一个有用的应用是在媒体播放器中,可以在运行时在本地机器上纠正唇同步错误。此外,该方法可以扩展到任何需要学习不同领域中相关数据之间的相似度度量的问题。我们还证明了训练后的网络对于视频中的说话人检测和唇读等任务是有效的。

 

你可能感兴趣的:(跨模态)