Modality-Aware Contrastive Instance Learning with Self-Distillation ... 论文阅读

Modality-Aware Contrastive Instance Learning with Self-Distillation for Weakly-Supervised Audio-Visual Violence Detection 论文阅读

  • ABSTRACT
  • [1 INTRODUCTION](#1 INTRODUCTION)
  • [2 RELATEDWORKS](#2 RELATEDWORKS)
    • [2.1 Weakly-Supervised Violence Detection](#2.1 Weakly-Supervised Violence Detection)
    • [2.2 Contrastive Learning](#2.2 Contrastive Learning)
    • [2.3 Cross-Modality Knowledge Distillation](#2.3 Cross-Modality Knowledge Distillation)
  • [3 PRELIMINARIES](#3 PRELIMINARIES)
  • [4 METHODOLOGY](#4 METHODOLOGY)
    • [4.1 Two-Stream Network](#4.1 Two-Stream Network)
    • [4.2 MA-CIL](#4.2 MA-CIL)
    • [4.3 Self-Distillation](#4.3 Self-Distillation)
    • [4.4 Learning Objective](#4.4 Learning Objective)
  • [5 EXPERIMENT](#5 EXPERIMENT)
  • [6 CONCLUSION](#6 CONCLUSION)

文章信息:

原文链接:https://arxiv.org/abs/2207.05500#:~:text=Weakly-supervised%20audio-visual%20violence%20detection%20aims%20to%20distinguish%20snippets,overlooking%20the%20modality%20heterogeneousness%20over%20the%20weakly-supervised%20setting.

源码:https://github.com/JustinYuu/MACIL_SD

发表于:MM 2022

ABSTRACT

弱监督的音频-视觉暴力检测旨在利用视频级别标签区分包含多模态暴力事件的片段。许多先前的工作在早期或中间阶段执行音频-视觉整合和交互,但忽略了在弱监督设置下的模态异质性。在本文中,我们分析了多实例学习(MIL)过程中的模态异步性和未区分实例现象,并进一步研究了它对弱监督音频-视觉学习的负面影响。为了解决这些问题,我们提出了一种模态感知对比实例学习与自我蒸馏(MACIL-SD)策略。具体来说,我们利用轻量级的双流网络生成音频和视觉袋,其中单模态背景、暴力和正常实例以无监督方式聚类为半袋。然后,音频和视觉暴力半袋表示被组装为正对,暴力半袋与相反模态中的背景和正常实例结合为对比负对。此外,应用自我蒸馏模块将单模态视觉知识转移到音频-视觉模型中,从而减轻噪声并缩小单模态和多模态特征之间的语义差距。实验表明,我们的框架在大规模XD-Violence数据集上比先前的方法表现更好,并且结果还表明我们提出的方法可以用作增强其他网络的插件模块。

1 INTRODUCTION

近年来,暴力检测的范围已经从纯视觉任务 [4, 18, 20, 30, 33, 45, 47, 54, 61, 67, 68] 扩展到了一个音频-视觉多模态问题 [43, 44, 62],其中相应的听觉内容补充了细粒度的暴力线索。尽管许多模态融合和交互方法已经显示出了良好的结果,但在弱监督设置下,多实例学习(MIL)[38] 框架的模态差异仍有待探索。

为了减轻对精细标记数据的需求,多实例学习被广泛应用于弱监督的暴力检测中,其中每个视频序列的输出被形成为一个包含多个片段级实例的袋子。在音频-视觉场景中,所有先前的工作都采用了一个通用方案,将每个音频-视觉片段视为一个完整实例,并将前K个音频-视觉logit的平均值作为最终的视频级别分数。然而,我们分析发现这个公式存在两个缺陷:模态异步性未区分实例 。模态异步性表示听觉和视觉暴力线索之间的时间不一致性。以图1(a)中典型的暴力事件滥用为例,当施暴者击打受害者时,尖叫声随后发生,整个过程被视为暴力事件。在这种情况下,视觉模态(第2-3个片段)和音频模态(第4-5个片段)中的部分场景包含暴力线索。我们认为,直接利用音频-视觉对作为一个实例可能会引入数据噪声到视频级别的优化中。我们发现的另一个缺陷是未区分实例,即为了优化选择前K个实例导致大量不相关的实例。如图1(b)所示,在一系列暴力视频中,一些音频/视觉实例反映了暴力事件。相反,其他实例包含了背景噪音等无关元素。与此相对应,在正常事件的视频中,少数片段包含正常事件的元素,而其他片段包含背景信息。在这种情况下,K-max激活放弃了包含背景元素的实例,并且暴力和正常实例之间的差异没有得到明确的展现。因此,我们认为在暴力、正常和背景实例之间添加对比约束可以有助于对暴力内容进行区分

在初步分析的驱动下,我们提出了一个简单但有效的框架,由模态感知对比实例学习(MA-CIL)和自我蒸馏(SD)模块构成。为了解决模态异步性,我们除了原始的音频-视觉袋之外,还形成了单模态袋,计算单模态logits,并将前K个和后K个单模态实例的嵌入聚类为半袋。为了区分实例,我们提出了一种基于模态感知对比的方法。具体而言,音频和视觉暴力半袋被构造为正对,而暴力半袋与背景和正常半袋中的实例嵌入组装为负对。此外,我们还应用了一个自我蒸馏模块,将单模态知识提炼到音频-视觉模型中,从而缩小模态之间的语义差距,并减轻丰富的跨模态交互引入的数据噪声。总而言之,我们的贡献如下:

  • 我们分析了在音频-视觉场景中广泛使用的多实例学习(MIL)框架中的模态异步性和未区分实例现象,并进一步阐述了它们对弱监督音频-视觉暴力检测的不利影响。
  • 我们提出了一个模态感知的对比实例学习与自我蒸馏框架,以引入特征区分性并减轻模态噪声。
  • 搭载了轻量级网络的我们的框架在XD-Violence数据集上表现优于最先进的方法,而且我们的模型还展现出了作为插件模块的通用性。

2 RELATEDWORKS

2.1 Weakly-Supervised Violence Detection

弱监督的暴力检测需要在视频级别标签下识别具有暴力特征的片段,其中多实例学习(MIL)[38] 框架被广泛用于去除不相关信息的噪声。一些先前的工作 [4, 18, 20, 30, 45, 47, 61, 67, 68] 将暴力检测视为纯粹的视觉任务,并利用基于CNN的网络来编码视觉特征。在这些方法中,提出了各种特征融合和改进方法以增强MIL的鲁棒性。Tian等人 [54] 提出了RTFM,一种强大的时间特征幅度学习方法,以改进对正例的识别能力。Li等人 [33] 设计了基于Transformer [57] 的多序列学习网络,以降低实例选择错误的概率。然而,这些模型忽略了相应的听觉信息以及跨模态交互,从而限制了暴力预测的性能。

最近,吴等人[62]策划了一个大规模的音频-视觉数据集XD-Violence并建立了一个音频-视觉基准。然而,他们以早期融合的方式整合音频和视觉特征,从而限制了进一步的跨模态交互。为了促进多模态融合,庞等人[43]提出了一种基于注意力的网络,以中间方式自适应地整合音频和视觉特征,并带有互学习模块。与先前的方法不同,我们通过一个轻量级的双流网络执行跨模态交互,并通过模态感知的对比和自我蒸馏进行具有辨别力的多模态学习。

2.2 Contrastive Learning

对比学习是通过对比正对和负对来制定的,无需数据监督。在单模态领域,一些视觉方法 [10, 23, 25, 35] 利用对视觉数据的增强作为对比来增加模型的区分性。此外,一些自然语言处理方法利用标记和句子级别的对比来增强预训练模型 [15, 50] 和监督任务 [17, 46] 的性能。对于多模态领域,一些工作引入了模态感知的对比来处理视觉-语言任务,如图像描述 [16, 58]、视觉问答 [9, 60] 和表示学习 [34, 49, 59, 66]。此外,最近的文献 [1, 2, 14, 32, 37, 39, 40, 42] 利用音频-视觉流的时间一致性作为对比的前提任务,以学习稳健的音频-视觉表示。基于现有的实例级对比框架 [12, 63],我们提出了半袋的概念,并利用跨模态对比来获得模型的区分性。

2.3 Cross-Modality Knowledge Distillation

知识蒸馏最初是为了将大规模架构的知识转移到轻量级模型中 [5, 28]。然而,跨模态蒸馏旨在将单模态知识转移到多模态模型中,以减轻模态之间的语义差距。一些方法 [21, 29] 通过幻觉网络将深度特征蒸馏到RGB表示中,以解决模态缺失和噪声现象。陈等人 [13] 提出了一种音频-视觉蒸馏策略,该策略学习组合嵌入,并在语义不相关的模态之间转移知识。最近,多模态知识扩展 [65] 被提出作为一种两阶段蒸馏策略,通过生成伪标签将知识从单模态教师网络转移到多模态学生网络。受到自我蒸馏方法 [6, 8, 11, 19, 52, 64] 的启发,我们提出了参数整合范式,通过两个相似的轻量级网络将视觉知识转移到我们的音频-视觉模型中,从而减少模态噪声,获得稳健的音频-视觉表示。

3 PRELIMINARIES

给定一个音频-视觉视频序列 S = ( S A , S V ) , S= ( S^A, S^V) , S=(SA,SV), 其中 S A S^A SA 是音频通道, S V S^V SV 表示视觉通道,整个序列被划分为 T T T 个不重叠的片段 { s t A , s t V } t = 1 N \{s_t^A,s_t^V\}_{t=1}^N {stA,stV}t=1N。对于一个音频-视觉对 ( s t A , s t V ) (s_t^A,s_t^V) (stA,stV),弱监督暴力检测任务要求通过一个事件相关性标签 y t ∈ { 0 , 1 } y_t\in \{ 0, 1\} yt∈{0,1} 区分该对是否包含暴力事件,其中 y t = 1 y_t= 1 yt=1 表示当前片段中至少一个模态包含暴力线索。在训练阶段,只有视频级别的标签 y y y 可用于优化。因此,一个常规的方案是利用多实例学习(MIL)过程来满足弱监督。

在MIL框架中,每个视频序列S被视为一个袋子,视频片段 { s t A , s t V } t = 1 N \{s_t^A,s_t^V\}{t=1}^N {stA,stV}t=1N 被视为实例。然后,通过特定的特征级别/得分级别汇聚方法将实例聚合起来生成视频级别的预测 p p p。在本文中,我们利用 K K K-max激活与平均池化,而不是基于注意力的方法 [41, 53] 和全局池化 [51, 67] 作为聚合函数。具体来说,给定由CNN网络提取的音频和视觉特征 f a , f v f_a, f_v fa,fv,我们使用一个多模态网络生成单模态logits l a , l v l_a, l_v la,lv 和音频-视觉logits l a v l{av} lav。音频和视觉实例的嵌入被表示为 h a h_a ha 和 h v h_v hv。然后,我们平均 K K K 个最大的logits,并使用sigmoid激活生成视频级别的预测 p p p。由于我们提出的对比学习方法的额外约束,我们定义了单模态袋 B a , B v \mathcal{B}_a, \mathcal{B}_v Ba,Bv。在每个单模态袋中,实例根据其固有特性被聚类到几个半袋 B m , m ∈ { a , v } B_m, m\in\{a,v\} Bm,m∈{a,v} 中,相应的半袋表示记为 B m , m ∈ { a , v } \mathcal{B}_m, m\in\{a,v\} Bm,m∈{a,v}。

4 METHODOLOGY

我们提出的框架由三个部分组成:一个轻量级的双流网络,模态感知的对比实例学习(MA-CIL)和自我蒸馏(SD)模块。我们框架的示意图如图2所示,具体如下所述。

图2:我们提出的模态感知对比实例学习与自我蒸馏框架的示意图。我们的方法包括三个部分:轻量级的双流网络、模态感知的对比学习(MA-CIL)和自我蒸馏(SD)模块。将预训练网络提取的音频和视觉特征作为输入,我们设计了一个简单而有效的基于注意力的网络来执行音频-视觉交互。然后,我们使用基于模态感知对比的方法将不同类型的实例聚类到几个半袋中,并进一步获得模型的区分性。最后,我们部署了一个自我蒸馏模块,将视觉知识转移到我们的音频-视觉网络中,旨在减轻模态噪声并缩小单模态和多模态特征之间的语义差距。整个框架以弱监督的方式联合训练,并采用多实例学习(MIL)策略进行优化。

4.1 Two-Stream Network

考虑到先前的方法受到大规模网络参数冗余的影响,我们设计了一个编码器不可知的轻量级架构来实现特征聚合和模态交互。以预训练网络提取的视觉和听觉特征 f v , f a f_v,f_a fv,fa 为输入,我们提出的网络包括三个部分:线性层以保持输入特征的维度相同,跨模态注意力层以执行模态间的交互,以及多实例学习(MIL)模块用于弱监督训练。在这些模块中,跨模态注意力层是从Transformer [57] 的编码器部分改进而来,包括多头自注意力、前馈层、残差连接 [26] 和层归一化 [3]。在原始的自注意力块中,特征分别由三个不同的参数矩阵投影为查询、键和值向量。然后,通过 a t t ( q , k , v ) = s o f t m a x ( q k T d m ) v att(q,k,v)=softmax(\frac{qk^T}{\sqrt{d_m}})v att(q,k,v)=softmax(dm qkT)v 计算缩放点积注意力得分,其中 q , k , v q,k,v q,k,v 表示查询、键和值向量, d m d_m dm 是查询向量的维度, T T T 表示矩阵转置操作。为了加强跨模态交互,我们将自注意力块的键和值向量改为其他模态的特征:

其中, h a , h v h_a,h_v ha,hv 是更新的音频和视觉特征, W Q , W K , W_Q, W_K, WQ,WK, 和 W V W_V WV 是可学习的参数。我们采用共享参数策略进行特征投影,以减少计算量。

我们在弱监督设置下采用多实例学习(MIL)过程来获得视频级别的分数。与先前的工作不同,我们单独处理单模态特征以减轻模态异步性。具体而言,我们在每个模态中使用全连接层来生成单模态logits。然后,我们将单模态logits的总和作为融合的音频-视觉logits,同时保留单模态logits以用于后续的对比学习。最后,我们对前K个音频-视觉logits进行平均池化,并经过sigmoid激活生成用于优化的视频级别分数。整个过程可以表示为:

其中, W a , W v , b a , b v W_a,W_v,b_a,b_v Wa,Wv,ba,bv 是可学习的参数, Ω \Omega Ω 表示 K K K-max 激活, σ \sigma σ 表示sigmoid函数, ⊕ \oplus ⊕ 表示求和操作, Θ \Theta Θ 表示平均池化, p p p 是视频级别的预测。

4.2 MA-CIL

为了利用更多的非相关实例,我们提出了MA-CIL模块,如图2右侧所示。给定嵌入 h a , h v h_a,h_v ha,hv,我们执行无监督聚类将它们分为暴力、正常和背景半袋表示,基于视觉和音频logits。我们认为,语义无关实例之间的差异可以被利用来丰富模型的区分能力。

具体而言,我们首先利用视频级别的概率 p p p 来区分给定视频是否包含暴力事件。在每个小批量中,对于满足 p i > 0.5 p_i>0.5 pi>0.5 的视频序列 S i S_{i} Si,将具有最高logits的前 K K K 个实例聚类为暴力半袋 B m υ i o ( i ) = { h m ( n ) } n = 1 K υ i o , m ∈ { a , v } B_m^{\upsilon io}(i)=\{h_m(n)\}{n=1}^{K{\upsilon io}}, m\in\{a,v\} Bmυio(i)={hm(n)}n=1Kυio,m∈{a,v}。对于满足 p j ≤ 0.5 p_j\leq0.5 pj≤0.5 的序列 S j S_j Sj,选择前 K K K 个实例作为正常半袋 B m n o r ( j ) = { h m ( n ) } n = 1 K n o r , m ∈ { a , v } B_m^{nor}(j)=\{h_m(n)\}{n=1}^{K{nor}}, m\in\{a,v\} Bmnor(j)={hm(n)}n=1Knor,m∈{a,v}。我们希望对正常事件和暴力事件添加对比,以帮助模型区分所感知信号的暴力程度。

此外,我们认为正常和暴力视频都包含背景片段,学习事件相关片段与背景噪声之间的差异可以有助于定位。因此,我们选择整个小批量中的最低的 K K K 个实例作为背景半袋 B m b g d = { h m ( n ) } n = 1 K b g d , m ∈ { a , v } B_m^{bgd}=\{h_m(n)\}{n=1}^{K{bgd}}, m\in\{a,v\} Bmbgd={hm(n)}n=1Kbgd,m∈{a,v}。在每个小批量中,模型应该将暴力音频-视觉实例与由暴力实例和其他实例(背景和正常实例)构建的负对进行对比。

一种直观的方法是在相反的模态中随机选择半袋内和半袋间的实例作为正对和负对。

然而,我们认为具有不同位置的音频和视觉暴力实例可能在语义上不匹配,例如分别表示暴力事件的开始和结束。因此,假设它们具有相同的含义是不自然的。相反,我们对每个半袋中所有暴力实例的嵌入进行平均池化,并形成一个半袋级别的表示 B m v i o , m ∈ { a , v } B_m^{vio},m\in\{a,v\} Bmvio,m∈{a,v}。通过这样做,音频和视觉表示都表达了事件级别的语义,从而减轻了噪音问题。为此,我们构建了半袋级别的正对,由音频和视觉暴力半袋表示 B a v i o , B v v i o \mathcal{B}_a^{vio},\mathcal{B}_v^{vio} Bavio,Bvvio 组成。我们还构建了半袋到实例的负对,以保持大量的对比样本,其中暴力半袋表示与相反模态中的背景和正常实例嵌入 h m n o r , h m b g d , m ∈ { a , v } h_m^{nor},h_m^{bgd},m\in\{a,v\} hmnor,hmbgd,m∈{a,v} 组合成负对。

我们将InfoNCE [55]作为此部分的训练目标,该目标缩小了正对之间的距离,并增大了负对之间的距离。对于音频暴力半袋表示 B a v i o ( i ) B_{a}^{vio}(i) Bavio(i) 与视觉正常实例嵌入 { h U n o r ( n ) } n = 1 K n o r \{ h_{\mathcal{U} }^{nor}( n) \} {n= 1}^{K{nor}} {hUnor(n)}n=1Knor 之间的目标可以表示为:

其中, ϕ \phi ϕ 表示余弦相似度函数, τ \tau τ 是温度超参数, K n o r K_{nor} Knor 表示整个小批量中正常实例的数量。类似地,音频暴力半袋表示 B a v i o ( i ) B_a^{vio}(i) Bavio(i) 与视觉背景实例嵌入 { h v b g d ( n ) } n = 1 K b g d \{h_v^{bgd}(n)\}{n=1}^{K{bgd}} {hvbgd(n)}n=1Kbgd 之间的目标可以表示为:

其中, K b g d K_{bgd} Kbgd 表示整个小批量中背景实例的数量。视觉对音频的对应部分非常相似,因此我们在简洁的写作中省略了这些内容。

4.3 Self-Distillation

前面部分提供的音频-视觉交互可能会引入大量的模态噪声,而模态异步性也会导致在相同时间位置的多模态和单模态特征之间的语义不匹配。为了解决这些问题,我们认为同时训练一个类似的视觉网络可以使模型集成单模态和多模态知识。通过可控的共同蒸馏策略,我们提出的模块确保模态噪声的减少和稳健的模态无关知识。

具体而言,我们提出了一个类似的单模态网络,其架构与我们的双流网络相当。跨模态注意力块被标准的Transformer编码器块替换,包括自注意力机制。在训练过程中,单模态网络以相对较小的学习率进行训练,并且相同层的参数通过指数移动平均策略被注入到音频-视觉网络中:

其中, θ a v \theta_{av} θav 和 θ v \theta_v θv 分别表示音频-视觉模型和视觉模型的参数, m m m 是控制超参数,遵循余弦调度器,在训练过程中从初始值 m ^ \hat{m} m^ 增加到 1。

4.4 Learning Objective

整个框架采用联合训练的方式进行优化。对于视频级别的预测 p p p,我们利用二元交叉熵 L B \mathcal{L}_{\mathcal{B}} LB 作为训练目标,并使用线性增长策略来控制对比损失的权重。总的目标函数为:

其中, K v i o K_{vio} Kvio 表示整个小批量中暴力半袋的数量, λ ( t ) \lambda(t) λ(t) 是一个控制器,用于在几个时期内线性增加权重, r r r 表示增长比率, t t t 是当前时期, Λ \Lambda Λ 表示最大权重。

视觉网络通过二元交叉熵损失与视频级别标签进行优化,以提取单模态知识。这两个目标在训练期间同时进行优化,而在推断阶段,仅使用音频-视觉网络进行预测。

5 EXPERIMENT

消融实验(对每个模块):

6 CONCLUSION

在这篇论文中,我们调查了在音频-视觉场景下多示例学习(MIL)中的模型不同步和未区分实例现象,并进一步展示了对弱监督音频-视觉学习的影响。然后,我们提出了一种模态感知对比实例学习和自我蒸馏框架来解决这些问题。具体而言,我们设计了一个轻量级的双流网络来生成音频和视觉嵌入和logits。此外,我们对具有不同语义的音频和视觉实例应用了跨模态对比,这涉及更多未使用的实例,以实现更好的区分并减轻模态不一致性。为了减少训练噪声,我们利用自我蒸馏模块将视觉知识转移给音频-视觉网络,从而缩小了单模态和多模态特征之间的语义差距。我们的框架在XD-Violence数据集上的表现优于先前的方法,成本较低。此外,结合我们的对比学习和自我蒸馏模块,几种先前的方法实现了更高的检测精度,表明了作为插件模块改善其他网络的能力。

相关推荐
云空几秒前
《Python 与 SQLite:强大的数据库组合》
数据库·python·sqlite
凤枭香43 分钟前
Python OpenCV 傅里叶变换
开发语言·图像处理·python·opencv
测试杂货铺1 小时前
外包干了2年,快要废了。。
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
艾派森1 小时前
大数据分析案例-基于随机森林算法的智能手机价格预测模型
人工智能·python·随机森林·机器学习·数据挖掘
小码的头发丝、1 小时前
Django中ListView 和 DetailView类的区别
数据库·python·django
Chef_Chen2 小时前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
千澜空2 小时前
celery在django项目中实现并发任务和定时任务
python·django·celery·定时任务·异步任务
斯凯利.瑞恩3 小时前
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户附数据代码
python·决策树·随机森林
yannan201903133 小时前
【算法】(Python)动态规划
python·算法·动态规划
EasyCVR3 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入