当前位置: 首页 > article >正文

【Paper Note】跨音频-视觉匹配识别的3D CNN

3D Convolutional Neural Networks for Cross Audio-Visual Matching Recognition

  • 摘要
  • 引言
    • 文章背景
    • 解决的问题
    • 主要贡献
  • 相关工作
  • 数据集
  • 数据处理
    • 音频特征提取
  • 架构
    • 视觉网络(Video Stream Network):
      • 名词解析
        • 卷积层(Convolutional Layer)
        • 池化层(Pooling Layer)
        • 在3D CNN中的应用
        • 全连接层
    • 音频网络(Audio Stream Network):
    • 耦合(Coupling):
    • 特点
  • 评估和验证指标
  • 训练过程
    • 概述
    • 在线对选择
        • 输入:
        • 初始化:
        • 过程:
        • 输出:
        • 算法的目的和优势:
  • 实验及结果
    • 在LRW数据集上的结果
      • 实验设置:
      • 实验结果:
    • 在AVD数据集上的结果
      • 评估设置
      • 评估结果
    • 结论

文章标题:3D Convolutional Neural Networks for Cross Audio-Visual Matching Recognition
跨音频-视觉匹配识别(AVR)的问题,特别是在音频被干扰或者在多说话者场景中用于说话者验证的视觉识别方法

论文地址:https://arxiv.org/abs/1706.05739
代码运行参考:https://cloud.tencent.com/developer/article/1369372
代码链接:https://github.com/astorfi/lip-reading-deeplearning

摘要

讨论了跨音频-视觉匹配识别(AVR),即在音频被干扰或者在多说话者场景中用于说话者验证的视觉识别方法。
文章的核心是提出一种耦合的3D卷积神经网络(3D CNN)架构,用于将音频和视觉两种模态映射到一个表示空间中,以评估音频-视觉流之间的对应关系,并使用学习到的多模态特征,找到不同模态时间信息之间的相关性。

引言

文章背景

  • 音频-视觉识别的重要性:在嘈杂环境中的语音识别和多说话者场景中的说话者验证是AVR系统的两个重要应用场景。这些场景中,音频和视觉信息的结合可以提高识别的准确性和鲁棒性。

  • 深度学习的应用:文章提到,深度学习最近被用作无监督语音特征提取的机制,并且也被用于未标记面部图像的特征提取。这些技术在多模态声音和面部数据分析中提高了语音识别性能。

  • 音频-视觉同步性验证:文章还提到了音频-视觉同步性验证的问题,这是识别音频-视觉流一致性所需的前提,也是身份验证和活性识别等应用中的关键问题。

  • 3D CNN在多模态学习中的应用:3D CNN最近被用于动作识别、场景理解和说话者验证,并显示出有希望的结果。这些网络能够同时从空间和时间维度提取特征,因此可以捕捉并连接运动信息。

综上所述,文章的背景是音频-视觉识别领域中对于提高识别准确性和鲁棒性的需求,以及深度学习技术在这一领域的应用。

解决的问题

  1. 音频-视觉识别(AVR):文章提出了一种解决方案,用于在音频信号受损时的语音识别任务,以及在多说话者场景中用于说话者验证的视觉识别方法。AVR系统的目标是通过一个模态提取的信息来改善另一个模态的识别能力,通过补充缺失的信息。

  2. 音频和视觉流的对应关系:文章的核心问题是如何找到音频和视觉流之间的对应关系。为了解决这个问题,作者提出了使用耦合的3D卷积神经网络(3D CNN)架构,该架构可以将两种模态映射到一个表示空间中,使用学习到的多模态特征来评估音频-视觉流的对应关系。

  3. 空间和时间信息的联合利用:文章提出的方法将空间和时间信息联合起来,有效地找到不同模态之间的时间信息的相关性。

  4. 小规模网络架构和数据集:作者提出的方法在相对较小的网络架构和更小的训练数据集上,超越了现有的类似方法,这些方法使用3D CNN进行特征表示。

  5. 有效的配对选择方法:文章还展示了一种有效的配对选择方法,可以显著提高性能。与最先进的方法相比,提出的方法在等错误率上提高了超过20%,在平均精度上提高了超过7%。

主要贡献

  • 提出了一种新颖的耦合3D CNN架构,能够同时提取空间和时间信息,并针对匹配和非匹配的音频-视觉流进行优化。
  • 网络相对较小,易于训练且测试速度快。
  • 与传统的MFCC(Mel频率倒谱系数)相比,使用了不同类型的音频特征来表示音频流,取得了更好的结果。
  • 提出了一种基于输出特征空间距离的自适应在线配对选择方法,以加速收敛速度并防止过拟合。

文章还详细讨论了数据集的处理、数据表示、网络架构、训练方法、评估和验证指标,并通过实验验证了所提出方法的有效性。与现有的类似方法相比,他们的方法在音频-视觉匹配方面超越了现有的性能,并且在等错误率和平均精度方面相对于最先进的方法取得了超过20%和7%的相对改进。

相关工作

在文章《3D Convolutional Neural Networks for Cross Audio-Visual Matching Recognition》中,作者们回顾了与音频-视觉匹配识别(AVR)相关的几个关键研究领域。以下是文章中提到的一些相关工作:

  1. 深度神经网络(DNNs)在音频和视觉模态融合中的应用:DNNs已被用于融合语音和视觉模态,以提高音频-视觉自动语音识别(AV-ASR)的性能。例如,有研究引入了连接主义隐马尔可夫模型(HMM)系统用于AVSR,并使用预训练的CNN来分类音素。

  2. 音频-视觉同步性:音频-视觉同步性是音频-视觉识别中的一个挑战性应用,需要音频-视觉匹配能力。相关研究包括使用DNN分类器来确定不同步时间,以及基于规范相关性分析(CCA)和共惯性分析(CoIA)的方法。

  3. 音频-视觉匹配问题的不同方法:不同的方法被用来解决音频-视觉匹配问题。一些方法基于数据驱动,例如使用DNN分类器来确定不同步时间,而另一些方法则基于CCA和CoIA。

  4. 音频-视觉识别的其他应用:音频-视觉识别在多种应用中被描述,包括在嘈杂环境中使用唇部动作作为辅助特征进行语音识别,以及利用语音数据进行唇读。

  5. 3D CNN在动作识别和场景理解中的应用:3D CNN最近被用于动作识别、场景理解和说话者验证,并显示出有希望的结果。

  6. 音频-视觉流的特征提取:一些研究尝试使用CNN来预测和生成音素或视觉等效的视觉单元(visemes),而不考虑单词级别的预测。

  7. 音频-视觉识别的挑战:音频-视觉识别的挑战之一是确定视觉唇部动作与伴随的语音信号是否对应。这被认为是音频-视觉同步性验证的先决条件。

文章中提出的3D CNN架构旨在通过学习多模态特征来评估音频-视觉流的对应关系,这在音频-视觉匹配领域是一个创新的尝试。此外,文章还提出了一种自适应在线配对选择方法,以加速收敛速度并防止过拟合。这是首次尝试使用3D卷积神经网络进行音频-视觉匹配,建立了时空特征之间的桥梁,构建了音频-视觉模态之间的共同特征空间。

数据集

  1. Lip Reading in the Wild (LRW) 数据集

    • 这个数据集包含了500个不同单词的1000个发音实例,由不同的说话者发出。
    • 所有视频长度为1.16秒,单词出现在视频的中间位置。
    • 这个数据集的特点是它包含了在自然环境下采集的唇读数据,具有较高的多样性,包括不同的说话者、背景和光照条件。
  2. West Virginia University Audio-Visual Dataset (AVD) 数据集

    • 这个数据集包含了2014年至2015年期间收集的音频和视频数据,包括有脚本和无脚本的声音样本。
    • 对于有脚本的样本,参与者阅读了一段文本;对于无脚本的样本,参与者回答了采访问题,这些问题引发了对话式的回答,而不仅仅是简单的“是”或“否”。
    • AVD数据集的特点是它包含了真实环境下的音频和视频数据,这些数据更加接近于实际应用中的场景,因此对于音频-视觉匹配识别的研究具有较高的实用价值。

在实验中,作者对这些数据集进行了处理,包括视频的帧率统一、面部跟踪、嘴部区域提取和大小调整,以及从视频中提取音频文件并进行语音特征提取。这些处理步骤旨在为后续的音频-视觉匹配识别任务准备合适的数据格式。

数据处理

图1展示了数据集处理流程,该流程被分为视觉和音频两个部分,目的是为了从视频中提取出用于音频-视觉匹配识别的特征。

在这里插入图片描述

视觉部分的处理流程包括:

  1. 视频帧率统一:将所有视频的帧率处理为每秒30帧。
  2. 面部跟踪与嘴部区域提取:使用dlib库对视频进行处理,跟踪面部并提取嘴部区域。
  3. 嘴部区域大小调整:将所有嘴部区域调整为相同的大小。
  4. 特征立方体形成:将调整大小后的嘴部区域按照时间序列进行拼接,形成一个三维的特征立方体(例如,图3中9帧连续的嘴部图像形成一个9x60x100的立方体)。这个立方体作为视觉流的输入,包含了时间序列上的空间信息,为3D CNN提供了必要的时空特征。
    在这里插入图片描述

音频部分的处理流程包括:
5. 音频文件提取:使用FFmpeg框架从视频中提取音频文件。
6. 语音特征提取:使用SpeechPy库从音频文件中提取语音特征。
7. 在音频-视觉匹配识别任务中,“shift audio stream”(音频流移位)和"copy audio stream"(音频流复制)是两种用于生成训练数据中正样本对(genuine pairs)和负样本对(impostor pairs)的技术。这些技术对于训练模型以区分匹配和不匹配的音频-视觉流至关重要。下面是这两种技术的详细说明:

- Shift Audio Stream(音频流移位):

	1. **目的**:通过在时间轴上移动音频流来生成负样本对(impostor pairs),即音频和视觉内容不匹配的样本对。这种技术模拟了音频和视频不同步的情况,迫使模型学习如何识别真正的音频-视觉同步。

	2. **操作**:选择一个视频片段的音频流,并在时间轴上随机移动(或“移位”)它,通常是向前或向后移动一定的时间(例如,最多0.5秒)。这种移位会导致音频和视频内容之间的不同步,从而生成不匹配的样本对。

	3. **应用**:在测试集上生成负样本对时,它增加了任务的难度,使得模型必须更加精确地学习音频和视觉流之间的对应关系。

- Copy Audio Stream(音频流复制):

	1. **目的**:通过复制与特定视觉流(如唇部动作)匹配的音频流来生成正样本对(genuine pairs),即音频和视觉内容匹配的样本对。

	2. **操作**:对于每个视频片段,提取与之对应的音频流,并将其与视频片段中的视觉信息(如唇部动作)配对。这样,音频和视频内容是同步的,形成了匹配的样本对。

	3. **应用**:这种技术用于生成训练数据中的正样本对,帮助模型学习音频和视觉流之间的正确对应关系。

在训练过程中,模型需要区分这两种类型的样本对,学习如何识别真正匹配的音频-视觉流。通过这种方式,模型能够更好地理解和预测在真实世界应用中遇到的音频-视觉同步问题。这种训练策略提高了模型在实际应用中的鲁棒性和准确性。

这个处理流程的目的是为了准备适合输入到3D卷积神经网络中的数据格式。视觉部分关注于捕捉嘴部动作的时空信息,而音频部分则关注于提取与嘴部动作相对应的语音特征。

音频特征提取

图2展示了如何从输入信号样本创建堆叠帧以生成语音特征。这个过程是音频特征提取的一部分,具体步骤如下:
在这里插入图片描述

  1. 帧分割:首先,将音频信号分割成短时间的帧。在论文中提到的设置中,使用了20毫秒的非重叠窗口来生成频谱特征。这意味着音频信号被分割成一系列连续的、不重叠的20毫秒片段。

  2. 特征提取:对于每个帧,提取梅尔频率能量系数(MFECs),这是通过直接从滤波器组能量中得出的对数能量,而不是传统的梅尔频率倒谱系数(MFCCs)。MFECs保留了时间上的局部相关性,这对于后续的卷积神经网络处理是有益的。

  3. 时间轴特征:在时间轴上,从0.3秒的音频剪辑中,可以提取15个这样的时间特征集,每个特征集包含40个MFEC特征。这些特征集形成了一个三维的语音特征立方体,其中每个输入特征映射对应于单个音频流,具有15x40x3的维度。

  4. 特征立方体构建:将这些特征集堆叠起来,形成一个三维的特征立方体。这个立方体的三个维度分别代表时间帧、MFEC特征和特征的导数(包括原始特征、一阶导数和二阶导数)。

  5. 深度表示:在图2中,这些特征被表示为图像立方体的深度,其中三个通道对应于图像深度。这包括原始的MFEC特征以及它们的一阶和二阶导数,这些导数提供了关于音频信号随时间变化的额外信息。

通过这个过程,音频信号被转换成一个结构化的特征表示,这个表示可以被3D卷积神经网络有效地处理,以学习音频和视觉流之间的对应关系。这种表示方法使得网络能够在时间上捕捉音频信号的动态变化,并与视觉信息(如唇部动作)进行匹配。

架构

图4在论文中描述的是提出的耦合3D卷积神经网络(3D CNN)架构的概览。这个架构是为了处理音频-视觉匹配识别任务而设计的,它结合了两个不同的3D CNN,分别用于处理音频流和视频流。下面详细介绍这个架构的关键组成部分:
在这里插入图片描述

视觉网络(Video Stream Network):

  1. 输入:视觉网络的输入是一个立方体,包含了连续几帧的嘴部区域图像,这些图像捕捉了唇部动作的时空信息。
  2. 3D卷积层:使用3D卷积层来同时提取空间和时间特征。这些层能够捕捉视频帧之间的运动信息。
  3. 3D池化层:为了增加对唇部运动的鲁棒性,使用了3D池化层,这些池化层在空间维度上应用1x3x3的核,并且设置了步长为2,以保持邻近池化核内的唇部运动特征。
  4. 全连接层:在网络的最后几层,使用全连接层来整合提取的特征,并使用PReLU激活函数来增加非线性。
    在这里插入图片描述

名词解析

在卷积神经网络(CNN)中,卷积层和池化层是构建网络的基础,它们共同工作以提取输入数据的特征。下面详细介绍这两层的工作原理:

卷积层(Convolutional Layer)
  1. 目的

    • 卷积层的主要目的是提取输入数据的空间特征。在图像处理中,这意味着提取边缘、颜色、纹理等特征;在音频处理中,则可能提取频率和时间的变化模式。
  2. 工作原理

    • 卷积层通过卷积核(或滤波器)在输入数据上滑动来工作。每个卷积核都是一个小的、可学习的权重矩阵。
    • 卷积核与输入数据的局部区域进行点积运算,生成一个标量值。这个操作在输入数据的整个空间上重复进行,生成一个二维的特征图(feature map)。
    • 每个卷积核负责从输入数据中检测特定类型的特征。多个卷积核可以并行工作,每个核提取不同的特征。
  3. 参数

    • 卷积核大小:决定了卷积核的空间维度,如3x3、5x5等。
    • 步幅(Stride):卷积核滑动的步长。步幅越大,输出的特征图尺寸越小。
    • 填充(Padding):在输入数据的边界添加零,以控制输出特征图的尺寸。
池化层(Pooling Layer)
  1. 目的

    • 池化层用于降低特征图的空间尺寸,减少参数数量和计算量,同时保持特征的重要信息。它还有助于使特征检测对小的位置变化保持不变性。
  2. 工作原理

    • 池化层通常在卷积层之后应用,它通过在特征图上滑动一个窗口(池化核)并应用一个聚合函数来工作。
    • 最常见的池化操作是最大池化(Max Pooling),它取窗口内的最大值;另一种是平均池化(Average Pooling),它计算窗口内所有值的平均值。
    • 池化操作不涉及可学习的参数,它是一个固定的下采样过程。
  3. 参数

    • 池化核大小:决定了池化窗口的大小,如2x2、3x3等。
    • 步幅(Stride):池化窗口滑动的步长。通常,步幅与池化核大小相同,以避免重叠。
在3D CNN中的应用

在3D CNN中,卷积层和池化层的概念扩展到三维空间。这意味着卷积核和池化核不仅在空间维度(高度和宽度)上操作,还在时间维度上操作。这对于处理视频数据或任何具有时间序列的三维数据非常有用。

  • 3D卷积层:使用3D卷积核在输入数据的宽度、高度和时间维度上滑动,提取时空特征。
  • 3D池化层:使用3D池化核在特征图的宽度、高度和时间维度上进行下采样,减少数据的空间和时间维度。

在音频-视觉匹配任务中,3D CNN能够同时处理音频和视频数据的时空特征,这对于理解唇部动作和语音之间的复杂关系至关重要。通过这种方式,网络可以学习到音频和视觉流之间的对应关系,从而提高匹配的准确性。

全连接层

全连接层(Fully Connected Layer,简称FC层)是神经网络中的基本构建块之一,尤其在卷积神经网络(CNN)中,通常位于网络的末端。全连接层的作用和运行原理如下:

作用

  1. 特征整合:全连接层将前层(通常是卷积层或池化层)提取的特征进行整合,为最终的分类或回归任务做准备。

  2. 学习非线性组合:通过全连接层,网络可以学习输入特征之间的非线性组合,这对于复杂任务的决策是非常重要的。

  3. 分类或回归:在CNN中,最后一个全连接层通常用于输出最终的分类结果(例如,不同类别的概率)或回归结果(例如,连续值的预测)。

  4. 维度变换: 全连接层可以将输入特征映射到不同维度的空间,这对于调整网络输出以匹配特定任务的需求是必要的。

运行原理:

  1. 权重矩阵: 全连接层由一个权重矩阵W和一个偏置向量b组成。权重矩阵的大小由输入特征的维度和输出特征的维度决定。

  2. 前向传播:在前向传播过程中,输入特征向量x与权重矩阵W相乘,再加上偏置向量b,即:y = Wx + b。 这个操作可以看作是将输入特征线性变换到一个新的空间。

  3. 激活函数: 线性变换后的结果通常会通过一个非线性激活函数,如ReLU(Rectified Linear Unit)、Sigmoid或Tanh,以引入非线性,使网络能够学习复杂的特征表示。 激活函数的输出是全连接层的最终输出,可以传递给下一个网络层或作为网络的最终预测结果。

  4. 反向传播:在训练过程中,通过反向传播算法计算损失函数关于权重矩阵和偏置向量的梯度。 使用这些梯度,通过优化算法(如SGD、Adam等)更新权重和偏置,以最小化损失函数。

  5. 过拟合问题: 全连接层通常包含大量的参数,这可能导致过拟合,特别是在数据量不足的情况下。 为了缓解过拟合,可以使用正则化技术(如L1、L2正则化)或Dropout等方法。

在音频-视觉匹配任务中,全连接层的作用是将从音频和视觉流中提取的特征融合并映射到一个共同的表示空间,然后通过学习这些特征之间的复杂关系来判断音频和视觉流是否匹配。通过这种方式,全连接层在网络中起到了至关重要的作用。

音频网络(Audio Stream Network):

  1. 输入:音频网络的输入是一个表示音频特征的立方体,这些特征是从音频信号中提取的,包括MFEC及其一阶和二阶导数。
  2. 3D卷积层:虽然音频数据本质上是2D的(时间x频率),但第一层使用3D卷积层来提取时空特征。
  3. 2D卷积层:在高级层中,由于音频特征图的空间维度变为MxNx1,因此使用2D卷积层来同时捕获时间和空间信息。
  4. 全连接层:与视觉网络类似,音频网络也使用全连接层来整合特征,并使用PReLU激活函数。
    在这里插入图片描述

耦合(Coupling):

  • 最后一个全连接层:视觉网络和音频网络在最后一个全连接层耦合。这个层的目的是将两个模态的特征融合,以便进行音频-视觉匹配。
  • 对比损失函数:使用对比损失函数来训练网络,这个损失函数鼓励网络将匹配的音频-视觉对映射到输出空间的附近区域,而将不匹配的对映射到较远的区域。
    L W ( Y , X ) = 1 N ∑ i = 1 N L W ( Y i , ( X p 1 , X p 2 ) i ) L_W (Y, X) = \frac{1}{N} \sum_{i=1}^{N} L_W (Y_i, (X_{p1}, X_{p2})_i) LW(Y,X)=N1i=1NLW(Yi,(Xp1,Xp2)i)

特点

  • 小网络架构:为了便于训练和快速测试,网络架构相对较小。
  • 特征压缩:通过在最后一个全连接层之前使用Dropout和较少的输出单元(例如64个),实现了特征的压缩。

图4展示的架构是音频-视觉匹配识别任务的一个创新点,它通过联合学习空间和时间信息,并利用3D卷积而不是简单地在网络内组合它们,展示了在音频-视觉匹配任务中的优越性能。此外,该模型还通过减少参数数量,提高了计算效率。

评估和验证指标

在论文中,为了评估和验证提出的3D卷积神经网络模型在音频-视觉匹配识别任务上的性能,使用了以下几种指标:

  1. 接收者操作特征曲线(Receiver Operating Characteristic, ROC)

    • ROC曲线是一种性能度量,用于展示分类器在所有可能的阈值下的表现
    • 曲线上的两个轴分别是假正率(False Positive Rate, FPR)和真正率(True Positive Rate, TPR,也称为召回率或灵敏度)。
    • 一个理想的分类器将具有接近左上角的ROC曲线,表示高TPR和低FPR。
  2. 精确率-召回率曲线(Precision-Recall, PR)

    • PR曲线展示了精确率(Precision)和召回率(Recall)之间的关系。
    • 精确率是指被正确识别为正类的样本占所有被识别为正类的样本的比例。
    • 召回率是指被正确识别为正类的样本占所有实际正类样本的比例。
    • 在类别不平衡的情况下,PR曲线比ROC曲线更能反映模型的性能。
  3. 等错误率(Equal Error Rate, EER)

    • EER是当假正率和假负率相等时的错误率,是ROC曲线上的一个点。
    • 它提供了一个单一的性能度量,用于比较不同分类器的性能
    • 较低的EER值表示更好的性能。
  4. 曲线下面积(Area Under the Curve, AUC)

    • AUC用于量化ROC曲线或PR曲线下的面积。
    • 对于ROC曲线,AUC值越接近1,表示模型的性能越好。
    • 对于PR曲线,AUC(也称为Average Precision, AP)同样表示模型的性能,AP值越高,模型性能越好。
  5. 平均精度(Average Precision, AP)

    • AP是PR曲线下的面积,它衡量的是模型在不同召回率水平下的平均精确率
    • AP值越高,表示模型在不同阈值下的平均性能越好。

训练过程

在论文中,训练过程是通过一系列精细的步骤来优化3D卷积神经网络(3D CNN)的参数,以便模型能够有效地执行音频-视觉匹配识别任务。以下是更详细的训练过程介绍,包括一些文中使用的具体数据和方法:

概述

  1. 数据准备:
    • 数据集:使用Lip Reading in the Wild (LRW) 和 West Virginia University Audio-Visual Dataset (AVD) 数据集。
    • 数据处理:视频帧率统一为每秒30帧,面部跟踪和嘴部区域提取,音频文件从视频中提取并进行语音特征提取。
  2. 网络初始化:使用方差缩放初始化器(variance scaling initializer)来设置网络权重的初始值。
  3. 批量归一化(Batch Normalization):应用批量归一化来改善训练收敛性。
  4. 前向传播:输入数据通过网络进行前向传播,包括3D卷积层、3D池化层和全连接层。
  5. 损失计算:
    • 使用对比损失函数(contrastive loss function),定义如下:
      L W ( Y , X ) = 1 N ∑ i = 1 N L W ( Y i , ( X p 1 , X p 2 ) i ) L_W(Y, X) = \frac{1}{N} \sum_{i=1}^{N} L_W(Y_i, (X_{p1}, X_{p2})_i) LW(Y,X)=N1i=1NLW(Yi,(Xp1,Xp2)i)
      其中, N N N 是训练样本数, Y i Y_i Yi 是标签, ( X p 1 , X p 2 ) i (X_{p1}, X_{p2})_i (Xp1,Xp2)i 是第 i i i对输入。
  6. 反向传播和参数更新:
    • 使用反向传播算法计算损失相对于网络参数的梯度。
    • 使用优化算法(如SGD或Adam)根据梯度更新网络的权重和偏置。
  7. 在线对选择(Online Pair Selection):
    • 选择对训练最有贡献的样本对进行训练,使用自适应在线对选择算法,该算法在每个小批量中选择主要贡献的负样本对。
  8. 超参数优化:
    • 使用5折交叉验证来估计超参数,包括对比损失的边界(margin) μ \mu μ、正则化参数 λ \lambda λ、Dropout参数 ρ \rho ρ和初始边界 η 0 \eta_0 η0
  9. 训练迭代:
    • 训练过程中,使用大小为32的批量进行训练。
    • 训练停止条件:完成15个epoch的训练数据,或测试精度显示下降行为。
  10. 模型评估:
    • 使用接收者操作特征(ROC)和精确率-召回率(PR)曲线特性来评估实验结果。
    • 主要性能评估指标包括等错误率(EER)、曲线下面积(AUC)和平均精度(AP)。
  11. 模型保存:
    • 训练完成后,保存模型的参数,以便后续的测试或部署。

在线对选择

算法1描述了自适应在线对选择(Adaptive Online Pair Selection)算法的过程,旨在选择主要贡献的负样本对,以提高训练效率和模型的准确性。以下是算法1的详细叙述:

在这里插入图片描述

输入:
  • 提取的小批量数据(mini-batch):从训练数据集中提取的一组样本。
初始化:
  • 不进行优化(no weight update):在初始化阶段,不对网络权重进行更新。
  • 评估(Evaluation):将提取的小批量数据输入网络,生成输出距离向量。
过程:
  1. 查找最大和最小距离
    • 在生成的输出距离向量中,找到所有真实样本对(genuine pairs)中的最大距离(max_gen)和最小距离(min_gen)。
  2. 计算自适应阈值
    • 根据最大和最小距离计算自适应阈值(\eta):
      ∥ X i m p p i − X g e n p j ∥ > η , ∀ ( X i m p p , X g e n p ) ∈ Mini-batch \lVert Ximp_{pi} - Xgen_{pj} \rVert > \eta, \forall (Ximp_p, Xgen_p) \in \text{Mini-batch} XimppiXgenpj>η,(Ximpp,Xgenp)Mini-batch
    • 这里,(\eta_0)是初始阈值,(\eta)随着训练过程的进行而动态调整。
  3. 检查负样本对
    • 对于每个负样本对(impostor pairs),计算其输出距离(imp_dis)。
    • 如果该距离大于最大距离加上自适应阈值 ( m a x _ g e n + η ) (max\_gen + \eta) (max_gen+η),则丢弃当前的负样本对。
    • 如果该距离小于或等于最大距离加上自适应阈值,则选择当前的负样本对,并返回其索引。
输出:
  • 选择的主要贡献的负样本对的索引。
算法的目的和优势:
  • 提高训练效率:通过只选择那些对模型训练有重要贡献的负样本对,算法可以加速模型的收敛速度。
  • 防止过拟合:避免使用所有负样本对进行训练,从而减少模型对不相关样本的依赖,提高模型的泛化能力。
  • 动态调整:自适应阈值的使用使得算法能够根据当前训练状态动态调整选择标准,增强了训练的灵活性。

通过这种方式,算法1有效地优化了训练过程,使得模型能够更快地学习到音频和视觉流之间的匹配关系。

实验及结果

在LRW数据集上的结果

在论文中,作者在Lip Reading in the Wild (LRW) 数据集上进行了音频-视觉匹配识别的实验,并报告了相关的结果。以下是实验结果的概述:

实验设置:

  • 数据集划分:LRW数据集包含500个单词,每个单词有1000个发音实例。为了确保训练集和测试集互斥,作者使用前400个单词作为训练集,剩余的100个单词作为测试集。
  • 数据生成:对于每个训练/测试集,仅选择每个单词的50个发音实例进行数据生成。
  • 特征表示:使用MFEC特征及其一阶和二阶导数作为音频特征,视觉特征则从视频帧中提取。

实验结果:

  1. 不同特征表示的影响

    • 使用MFCC特征及其导数并未提高性能,反而增加了结果的方差,降低了稳定性。
    • 使用MFEC特征及其时间导数取得了最佳结果,证明了3D CNN架构的有效性,无论使用哪种特征表示。
      在这里插入图片描述
  2. 嵌入层维度的影响

    • 改变嵌入层的维度对性能的影响不大,但在最高维度时性能有所下降,这可能是由于过拟合造成的。
      在这里插入图片描述
  3. 在线对选择的影响

    • 使用在线对选择方法不仅提高了准确性,还加快了训练损失的收敛速度,并且更快地达到了最高的测试精度。
      在这里插入图片描述

在这里插入图片描述

  1. 时间移位的影响
    • 在测试集中生成负样本对时,最小时间移位的实验条件最具挑战性,因为它增加了真实对和负样本对之间的相似性。

在这里插入图片描述

  1. 性能指标
    • 使用等错误率(EER)、接收者操作特征(ROC)曲线下面积(AUC)和精确率-召回率(PR)曲线下面积(AP)作为性能评估指标。
    • 相对于最先进的方法,提出的模型在EER上实现了超过20%的相对改进,在平均精度上实现了超过7%的相对改进。

在AVD(West Virginia University Audio-Visual Dataset)数据集上的评估结果展示了提出的3D卷积神经网络模型在更具挑战性的实际环境中的性能。以下是评估结果的详细介绍:

在AVD数据集上的结果

评估设置

  • 数据集划分:使用2014-2015年的数据,其中201个只在2015年出现的说话者作为测试集,其余作为训练集。
  • 数据预处理:包括语音活动检测(VAD)和去除未检测到嘴部区域的视频帧,以保持音频-视觉流的同步。
  • 训练策略:首先在受限条件下(无外部数据)训练模型,然后在AVD数据集上对预训练模型进行微调。

评估结果

  • 性能提升:微调后的模型在音频-视觉匹配任务上显示出更好的性能,这表明通过在特定数据集上的额外训练,模型能够更好地适应数据集的特点。
  • 等错误率(EER):微调后的模型在EER上相对于现有最佳方法实现了超过29%的相对改进,这表明模型在区分匹配和不匹配的音频-视觉对方面更加有效。
  • 接收者操作特征(ROC)曲线:ROC曲线下的面积(AUC)被用来评估模型的整体性能。微调后的模型在ROC曲线上显示出更大的AUC,表明其在各种阈值下都有更好的性能。
  • 精确率-召回率(PR)曲线:PR曲线下的面积(AP)被用来评估模型在不平衡类别分布下的性能。微调后的模型在PR曲线上也显示出较大的AUC,表明其在精确率和召回率之间取得了更好的平衡。
    在这里插入图片描述
    在这里插入图片描述

结论

实验结果表明,提出的耦合3D CNN架构在音频-视觉匹配任务上超越了现有的方法,并且在参数数量上显著减少。性能结果证明了使用3D卷积联合学习空间和时间信息的有效性,以及使用局部语音特征表示对于音频-视觉识别任务的优势。

这些结果验证了模型在处理真实世界音频-视觉匹配问题时的鲁棒性和有效性,特别是在面对复杂的背景和多变的说话者时。


http://www.kler.cn/a/393256.html

相关文章:

  • 在 Vue3 项目中实现计时器组件的使用(Vite+Vue3+Node+npm+Element-plus,附测试代码)
  • Apache Doris 创始人:何为“现代化”的数据仓库?
  • docker-compose搭建sfpt服务器
  • WSL2上Ubuntu22.04安装Docker
  • FFmpeg来从HTTP拉取流并实时推流到RTMP服务器
  • PDF书籍《手写调用链监控APM系统-Java版》第12章 结束
  • Apache Doris 技术系列文章:高级特性与性能优化
  • SpringBoot(三)集成日志
  • Java线程的sleep和wait的区别
  • 力扣 LeetCode 349. 两个数组的交集(Day3:哈希表)
  • 一文理解吸收《红黑树》的精华
  • AI生成字幕模型whisper介绍与使用
  • 软件开发中的 Pull Request 工作流:逐步指南
  • springboot读取modbus数据
  • 《AI 使生活更美好》
  • 【go从零单排】gin+gorm理解及实现CRUD
  • 机器学习系列----KNN分类
  • 【Linux网络】Linux网络编程套接字,UDP与TCP
  • PCB安全电气间距
  • Python网络爬虫与数据采集实战——网络协议与HTTP
  • linux命令详解,存储管理相关
  • 排序算法 -堆排序
  • SQL面试题——奔驰SQL面试题 车辆在不同驾驶模式下的时间
  • 学Linux的第八天
  • 数字IC实践项目(10)—基于System Verilog的DDR4 Model/Tb 及基础Verification IP的设计与验证(付费项目)
  • uniapp 上传 base64 图片