深度网络对比学习及其视频理解应用研究综述

胡正平,刘文亚,毛建增,郑智鑫,方 鑫

(1.燕山大学 信息科学与工程学院,河北 秦皇岛 066004; 2.燕山大学 河北省信息传输与信号处理重点实验室,河北 秦皇岛 066004)

由于深度神经网络具有学习不同层次视觉特征的强大能力,其已成为计算机视觉(Computer Vision,CV)应用的基本结构,如目标检测[1]、视频动作识别[2]等。采用监督学习方法训练神经网络需要大规模的数据集,但数据集的收集和注释费时且昂贵,例如用于深度卷积神经网络训练的ImageNet数据集中包含约130万张标签图像,人工标记这些图像需要花费大量的时间。用于训练卷积神经网络进行视频动作识别的Kinetics数据集中包含50万个视频,且每个视频持续时间约10 s,这需要花费更长的时间对数据集进行注释。为避免耗时和昂贵的数据标注,无监督对比学习应运而生,无监督对比学习直接利用数据本身作为监督信息学习样本数据的特征表达,然后应用于下游任务,深度学习巨头Bengio和LeCun曾在 ICLR 2020上预测无监督对比学习是人工智能(Artificial Intelligence,AI)的未来。深度学习的本质为表示学习和归纳偏好学习。学好样本的表示,在不涉及逻辑、推理等的问题上,AI系统都可取得好的效果,如涉及更高层的语义、组合逻辑,则需要设计一些过程来辅助AI系统去分解复杂的任务,因为归纳偏好的设计更多的是任务相关,所以需要精心设计。最近的很多研究工作都与表示学习相关,例如双向编码表征模型(Bidirectional Encoder Representation from Transformers,BERT)就是利用大规模的语料进行预训练得到文本数据的好的表示。那么,CV领域的 BERT 是什么呢?答案就是对比学习。

无监督对比学习是一种鉴别模型,目的是将正样本间的距离拉近,正样本与负样本距离拉远,如图1所示。对于计算机视觉任务而言,样本由不同的视图进行表示,原样本的增强样本为正样本,而其他样本为负样本,通过对比学习对模型进行训练,使其学会区分正样本和负样本,从而学习视频表征,并转移到下游任务。在没有任何监督信号的情况下,通过独立但相关的数据来学习的核心思想可追溯到1992年,Becker和Hinton[3]通过最大化同一场景的不同视图之间的互信息来学习数据表征,并将问题表述为学习不变表示,而Bromley等人[4]将两个相同的权值共享网络构造成“Siamese网络”,直接比较不同训练样本对来学习一般表示。2005年,Chopra、Hadsell和LeCun[5]创建对比学习框架和对比对损失的区别模型来学习不变映射。2008年,Chechik等人将三联体损失应用于深度神经网络,并证明其能够学习有用的特征表示[6]。为解决三联体损失收敛缓慢和不稳定的问题,Song等人[7]和Sohn[8]提出了使用多个负样本的非参数化分类损失(N-pair 损失),N-pairs损失的核心思想是为每个锚配对一个正样本,同时配对所有的负样本,利用负样本指导梯度更新。为降低原有概率方法学习度量嵌入的计算要求,Gutmann和Hyvärinen[9]在2010年提出噪声对比估计损失函数,该损失函数通过学习一个分类器,将数据样本和噪声样本进行区分,并从模型中学习数据的特有属性。2017年,文献[10]讨论了4种无监督预训练任务及其组合方法,在多任务的训练下学习更统一的表示。2018年,文献[11]通过深度神经网络编码器的输入和输出之间的互信息最大化来进行无监督表示学习。文献[12]提出动量对比方法,通过使用一个队列来存储和采样负样本的方法降低对GPU内存的要求。文献[13]在已学习的表示上使用投影变换网络来分离学习表征任务和优化分类目标。最近,文献[14]基于局部聚合的方法使相似数据的数据特征靠近,差距较大的数据特征远离,这类似于聚类的原理,从而提出聚类和实例判别对比学习相结合的思路。文献[15]基于负样本是否完全必要的假想提出一个不同的对比损失函数,以避免算法因附加的隐式约束而崩溃。

图1 对比学习原理Fig.1 Principle of contrastive learning

预训练任务可以理解为是为达到特定训练任务而设计的间接任务,其作用是简化原任务的求解,在深度学习领域就是避免人工标记样本,实现无监督的语义特征提取。两种任务之间关系的本质是迁移学习,通过预训练学到的模型直接用于特定的下游任务,从而避免从头训练,提高优化模型学习效率。从预训练任务中学习到的特征表示模型能够用于计算机视觉的相关下游任务,如视频分类、分割、识别等。

1.1 多视图数据关联信息预训练任务

在一些实际问题中,可以从多种不同的途径或不同的角度对同一事物进行描述,这多种描述构成事物的多个视图,多视图数据具有潜在的一致性和互补性。可以使用多个传感器获得同一事物的多个视图表示,例如文献[16]就是通过提取来自同一场景的不同摄像机同时拍摄的两个视图进行对比学习。也可以通过不同的传感器获得同一视频的不同模态的视图表示,例如文献[17]利用视觉数据和音频文本数据学习视频的特征表示。

1.2 数据增强预训练任务

实际情况下,通过多个传感器获得多视图视频数据的方法费时且昂贵,这里可以利用已有的数据进行数据增强获得数据的多个视图表示。数据增强方法,如拼图、裁剪、模糊、颜色变换等,是在保持数据内容语义含义(如类标签)的同时获得不同视图表示的有效方法,如图2所示。数据增强方法能够破坏低级的视觉特征,迫使模型通过对比方法学习不变表示,例如文献[18]就是采用数据增强方法学习图像特征表示,该方法同样适用于视频数据,通过对视频帧的增强处理获得多视图表示,从而进行视频表征学习。

图2 数据增强Fig.2 Data augmentation

1.3 全局和局部融合的预训练任务

从数据样本中提取出全局特征和局部特征也可以获得相同场景的多个视图表示,全局特征是指数据的整体特征,局部特征则是从数据局部区域中抽取的特征。在无监督对比学习中,同一视图的局部特征与全局特征构成正样本对,与其他视图构成负样本对。针对视频数据而言,对比预测编码模型的表征性能较好,其中全局特征是对过去输入数据的总结,然后与来自未来数据的局部特征组成正样本对,与噪声样本的局部特征组成负样本对,通过改进的噪声估计损失函数(Info Noise Contrastive Estimation loss,InfoNCE)学习视频表征,原理框架如图3所示。

图3 对比预测编码模型Fig.3 Contrastive predictive coding model

1.4 时空一致性预训练任务

在无监督对比方法中,除上述方法外,还可以利用空间和时间上的一致性来进行模型的预训练, 该方法适用于可以分解为一系列更小单元的数据样本,例如可以分解为一系列帧的视频数据等,视频序列中连续视点的视频帧为正样本对,同一序列或不同序列中的不连续的样本对和相距较远的样本对均为负样本对。这种对比方法在表征学习中使用了慢速假设,即重要特征是缓慢变化的。因此,通过学习视频序列中缓慢变化的特征,模型将逐渐具有更强的特征表示能力。例如文献[19]中的时间对比网络使用多视图同步视频进行对比学习,而文献[16]中的时间对比网络则利用视频序列中的时间相干性进行对比学习,如图4所示,即同一时间窗口的视频帧为正样本对,其余为负样本对,在三联体损失函数的作用下学习视频表征。视频帧的时间一致性也是数据转换的自然来源。在视频中,一个物体可以经历一系列的变化,如物体变形、遮挡、视角和光照的变化,这些变化在文献[20]利用这些变化学习视频中的特征表示,而不需要任何额外的标签。

图4 序列相干性Fig.4 Sequential coherence

1.5 自然聚类预训练任务

聚类是将物理或抽象对象的集合分成由类似的对象组成的多个类的过程,其目标是同一类对象的相似度尽可能大,不同类对象之间的相似度尽可能小。自然聚类是指不同的对象与不同的类别变量能够自然地联系在一起,不同类间的距离表示类别之间的相似性。与基于实例的对比学习不同,这里使用聚类结果作为伪标签进行特征表示。可以将自下而上的对比方法和自上而下的聚类方法相结合,这样就能够同时进行表示学习和聚类分析,例如文献[21]提出将聚类任务统一到对比表示学习框架当中。

本节首先梳理对比学习框架,利用框架描述视频领域内的对比学习方法,然后对框架的每个组成部分及其分类进行说明,上节已经阐述获取不同视图的方法,此节不再额外叙述。

2.1 通用框架

对比学习框架的组成部分包括:查询样本、正样本和负样本,编码器、投影变换网络以及对比损失函数,框架如图5所示。

图5 对比学习框架Fig.5 Framework ofcontrastive learning

各模块功能分别描述为: (1)正负样本:k+表示正样本,k-表示负样本,查询样本的增强版本为正样本,其余样本为负样本。(2)编码器:特征编码器用来提取输入数据的特征,将输入视图映射为特征表示张量v。(3)投影变换:投影变换将特征表示v转化为度量表示z。根据具体的应用,投影变换可分为降维投影、聚合投影和量化投影。4)对比损失函数:对比损失测量度量表示之间的相似度(或距离)并进行强制约束,使正样本对之间的相似度最大(距离最小),负样本对之间的相似度最小(距离最远)。

2.2 编码器分类

无监督对比学习中,从输入数据空间到度量表示空间需要经过编码器和投影变换两部分,编码器将输入数据投影到特征表示空间,其目的是学习从输入空间到特征表示空间的映射。根据架构的不同,编码器可分为端到端编码器、内存库编码器、动量编码器和聚类编码器。

2.2.1端到端编码器

端到端架构是自然架构,如图6(a)所示,查询编码器和键值编码器直接使用对比损失函数反向传播的梯度进行更新,查询编码器在原始样本上训练,键值编码器在其增强版本及负样本上训练,使用相似度函数度量编码器生成的特征与其他特征之间的相似性。文献[13]提出端到端模型,并证实端到端的架构具有较低的复杂性,在大批次和更多迭代次数的情况下性能更好。Oord等人使用强大的自回归模型以及对比损失来学习高维时间序列数据的特征表示。因为对比学习学到的表征质量常常依赖负样本数量,所以端到端架构需要较大的GPU内存,这在大部分情况下难以满足,例如文献[22]指出:对于较大的批处理规模,该架构面临着小批次优化问题,需要有效的优化方法。

2.2.2内存库编码器

为了避免较大的批处理规模对训练、优化产生负面影响,一些研究者提出新的编码器架构,如图6(b)所示。内存库包含数据集中每个样本的特征表示,用该内存库替代负样本,每次训练直接从内存库中随机抽样,不进行反向传播,这能够避免增加训练批次的尺寸。文献[18]采用该架构的编码器学习图像视觉表示,其内存库中包含用于对比学习的所有负样本的移动平均表示,Wu等人[23]随机抽取内存库中的特征表示作为负样本进行模型的训练,并使用查询编码器得到的表示更新内存库,以便后面迭代使用,该架构编码器能避免冗余计算,但更新内存库中的特征表示会导致很高的计算成本。

2.2.3动量编码器

为了解决内存库编码器问题,动量对比学习(Momentum Contrast Learning,MoCo)方法使用动量编码模块代替内存库,如图6(c)所示。动量编码器生成一个字典,该字典键由数据样本动态定义,并被构建为一个队列,当前小批次样本进入队列,旧的小批次样本退出队列。动量编码器与查询编码器具有相同的参数,但动量编码器不进行梯度更新,而是根据下式进行缓慢的更新:

图6 多种架构的编码器Fig.6 Encoders with multiple architectures

θk=mθk+(1-m)θq,(1)

式中,m∈[0,1)为动量系数,参数θq通过反向传播更新,参数θk通过动量更新。虽然该架构使用两个编码器,但是动量编码器是根据查询编码器的参数进行缓慢更新的,两个编码器互相缓慢调整,与前两种架构相比,该架构不需训练两个单独的编码器。

2.2.4聚类编码器

以上的三种结构都是计算度量样本之间的相似度,并通过对比损失函数使正样本的距离拉近,负样本的距离拉远,从而使模型具有表征能力。聚类编码器如图6(d)所示,与上述三种结构不同,它不是基于实例对比,而是使用聚类算法将相似的特征分组在一起。图7展示了基于实例的对比学习方法和基于聚类的方法之间的区别。基于实例的对比学习方法把数据集中的每个样本都视为离散样本,当负样本与正样本属于同一类时,就会迫使模型学习区分属于同一类的样本,聚类编码器能够隐式地解决该问题。聚类的目标不仅是使一对样本彼此接近,而且还要确保所有其他相似的样本形成集群,因此能够学习更好的表征。

图7 对比实例学习与聚类学习Fig.7 The based instance contrastive learning and clustering learning

2.3 投影变换

无监督对比学习中,从输入数据到度量表示空间需要经过编码器和投影变换两部分,投影变换是将特征表示空间投影到度量空间,该度量空间能够有效地计算和最大化相似性表示,投影变换分为三种类型,即降维投影、聚合投影和量化投影。

2.3.1降维投影变换

最常用投影变换为降维投影变换,目的是降低特征表示的维度,便于更高效的计算。降维投影变换可分为线性投影变换和非线性投影变换,例如文献[24]使用一个线性的多层感知器(Multi-Layer Perceptron,MLP)作为投影变换部分,文献[13]使用一个非线性的2层MLP作为编码器后的投影变换部分。除了将查询编码器和键值编码器的特征表示投影到度量空间外,还可用投影变换从一个度量空间投影到另一个度量空间,例如文献[25]除了特征表示空间到度量空间的投影变换外,还使用一个额外的网络将在线网络的度量表示投影为离线编码器的度量表示。

2.3.2聚合投影变换

降维投影变换能够简单地将特征表示向下投影到更低的维度,从而进行更高效的计算,但在某些情况下,需要将多个特征表示聚合为一个特征表示,这就需要聚合投影变换,例如对比预测编码模型中,需要使用门控循环单元将过去输入数据的信息聚合起来,与未来的局部信息形成正样本,与噪声样本形成负样本对,从而进行表征的学习。文献[11]使用聚合投影变换将局部特征图聚合为单个全局特征向量。类似地,在互信息的图级表示中,基于对比学习的图网络需要聚合投影变换将部分表示归纳为一个固定长度的图级表示。可见,聚合投影变换得到的度量表示具有多种信息,根据不同的下游任务,度量表示z具有不同作用。

2.3.3量化投影变换

聚合投影变换是将多个特征表示聚合为一个特征表示,而量化投影变换是将多个表示映射到同一表示来降低表示空间的复杂性,例如将连续音频信号映射到一组离散的潜在向量中。在对比学习与聚类相结合的方法中,SwAV使用Sinkhorn-Knopp算法进行投影变换,将单样本的特征表示映射到软聚类分配向量中。

对比损失用来计算度量表示之间的相似度(或距离),并强制约束正样本对之间的相似度最大(距离最小),负样本对之间的相似度最小(距离最远)。对比损失函数通常可以分为一个度量函数和一个计算实际损失的函数,前者用来计算样本对间的相似度或距离,后者对样本间的距离进行约束。如果只将正样本对之间的距离进行最小化,将会导致灾难性的问题,为此对比损失函数需要明确地使用负样本对或者其他假设和架构约束,例如文献[15]中虽然没有显式地使用负样本对,但是该文献仍通过对比方法计算查询样本和正样本之间的相似度。下面将讨论不同类型的度量函数以及常见的对比损失函数。

3.1 度量函数

度量函数用来计算两个度量表示之间的相似度或距离,计算距离的度量函数包括曼哈顿或欧氏距离(也称为L1和L2范数距离)。常使用的相似性度量函数为余弦相似度函数,例如文献[13]中提出的NT-Xent损失函数。另一种相似性度量函数为双线性模型S(q,k)=qTAk,矩阵A是从q的子空间到k的子空间的线性投影,然后再进行点积运算,原始的InfoNCE损失使用这种双线性模型作为度量函数。

表1 对比损失函数Tab.1 Contrast loss function

3.2 对比损失函数

在能量模型启发下,Chopra、Hadsell和LeCun[5]重新表述原始“对比损失”。对比损失函数使用欧几里得距离D(q,k)=‖q-k‖2作为度量空间的度量函数,其核心思想是使正样本对之间的距离尽可能近,且负样本对之间的距离大于给定的边界,描述如下:

(2)

其中,边界m(m>0)控制查询范围,将该范围内负样本k-推离查询样本q,该对比损失函数易理解、易操作,但只作用于一对样本,样本之间的相互作用有限。

3.3 三联体损失函数

上述对比损失函数只要求负样本对的距离大于一个固定的边界,三联体损失[26]函数在原损失函数的基础上进行改进,强制在(查询样本,正样本,负样本)三联体中给定正样本对和负样本对之间的相对距离:

L(q,k+,k-)=max(0,D(q,k+)2-

D(q,k-)2-m)。(3)

三联体损失函数广泛应用于对比学习,但三联体损失函数收敛缓慢且只计算一个正样本对和一个负样本对之间的距离,文献[7]改进三联体损失函数的边界公式,使其能够增加查询的交互次数,同时考虑多个样本对。

3.4 噪声对比估计损失函数

噪声对比估计损失函数(Noise Contrastive Estimation,NCE)由文献[9]提出,后来由Jozefowicz等人[27]加以改进,NCE核心思想是通过学习数据分布样本和噪声分布样本之间的区别,从而发现数据中的特性,因为该方法需要与噪声数据进行对比,所以称为“噪声对比估计”。更具体来说,NCE 将问题转换成为二分类问题,分类器能够区分数据样本和噪声样本,其形式为

(4)

其中,q表示查询样本,k+代表正样本,k-代表负样本,s()函数是度量函数,但通常是余弦相似度函数。

3.5 InfoNCE损失函数

InfoNCE损失函数在NCE的基础上进行改进,能够更精准的区分正负样本,Oord,Li和Vinyals证明了最小化InfoNCE损失等同于最大化互信息的下界。设有数据增强函数φ(·;a),其中a从一组预定义的数据增强变换A中进行选取,该函数应用于数据集D,对于特定的样本xi,正样本对Pi和负样本对Ni定义如下:

Pi={φ(xi;a)|a∈A},

Ni={φ(xn;a)|∀n≠i,a∈A},

当给定Zi=f(φ(xi;·))时,InfoNCE损失函数为

(5)

Zi·Zp表示两个向量之间的点积,从本质上讲,优化的目标可以被视为实例区分,即在同一实例的增强视图之间的相似性得分更高。

3.6 NT-Xent损失函数

文献[13]提出归一化温度交叉熵(NT-Xent)损失,其使用余弦相似度作为度量函数,随机抽取N个样本作为模型的输入,并在其增强版本上求解预训练任务,该损失函数没有显式使用负样本,其描述为

(6)

其中,q表示查询样本,k+代表正样本。τ是最近大多数方法中使用的超参数,称为温度系数,作用是调节对数据样本的关注程度,从而得到更均匀的表示。

为评估学习到的视频表征质量,可将预训练任务学习的模型用于下游任务,如动作识别、最近邻检测等,此过程为迁移学习,即将已训练好的模型参数迁移到新的模型来帮助新模型训练,在无监督对比学习中,将预训练任务中的编码器直接用于下游任务中,新模型训练完成后直接用于测试视频表征的质量。

4.1 定性可视化

可通过定性可视化方法来评价对比学习特征的质量,常用的有核可视化、特征可视化等。核可视化指的是定性的可视化预训练任务学习的第一个卷积层的核,然后通过比较监督模型和无监督对比模型卷积核的相似度验证对比学习方法的有效性。特征可视化是通过比较监督模型和无监督对比学习模型不同区域的激活程度来评估表征的质量,激活区域示例如图8所示。

图8 监督模型与无监督对比学习模型的激活区域Fig.8 The activation regions of supervised model and unsupervised contrastive learning model

4.2 动作分类

视频动作分类是常见的下游任务,该任务用来识别人们在视频中所做的动作,并对其进行分类,动作分类任务通常被用来评价视频表征的质量。首先通过预训练任务对无标记视频数据进行训练,然后在带有人类注释的视频数据集上进行建模,最后将动作分类任务的测试结果与其他方法进行比较。表2给出现有视频特征对比学习方法在Kinetics、UCF101和HMDB51数据集上的性能。其中R3D表示3D-ResNet,†表示该模型已经在另一个数据集上进行了训练,并使用特定的数据集进行了进一步的微调,K表示Kinetics数据集。

表2中展示了监督学习和无监督对比学习在视频动作分类中的top1准确率。当仅考虑已进行模型微调的情况时,SeCo intra+intra+order[37]在UCF101数据集上的准确率优于监督学习在UCF101数据集上的准确率(88.26†% vs 84.4†%),在HMDB51数据集上的准确率与监督学习基本持平。当同时考虑两种情况(未进行微调和已进行微调)时,无监督对比学习的top1准确率逐渐接近监督学习的top1准确率,甚至超过监督学习,SeCo intra+intra+order[37]在UCF101数据集上的top1准确率(88.26†%)高于3DResNet-18和P3D在UCF101上的top1准确率(84.4†%),MMV-VA[38]在UCF101数据集上的top1准确率为86.2%,该数据没有在特定的数据集上进行微调,但仍优于已微调的监督学习的top1准确率。HMDB51数据集更适合进行目标检测等任务,当用于视频动作分类时,相比于UCF101数据集,其性能略差,由表2中可得监督学习在HMDB51数据集上的top1准确率为56.4†%,SeCo intra+intra+order[37]在HMDB51上的top1准确率与监督学习基本持平,MMV-VA[38]未进行微调的准确度仍高于已进行微调的3DResNet-18。CVRL[35]在Kinetics数据集上的性能也有一定的提升。由此可看出,无监督对比学习在一定程度上优于监督学习,具有良好的性能。

表2 动作分类准确率Tab.2 Action classification accuracy%

4.3 最近邻检索

一般情况下,属于同一类的样本在特征空间中更接近彼此。可以通过对数据集中的样本进行top-k检索来分析对比方法是否达到预期效果,由于该方法直接将提取的特征用于最近邻检索,不再进行任何的训练,所以最能体现模型表征的质量。表3展示了不同表征学习方法在UCF101和HMDB51上的视频检索性能,使用测试集检索训练集视频,除SpeedNet之外,所有模型都只在UCF101进行预训练,top-k检索指的是:如果前k个最近邻包含一个相同类的视频,则正确检索计数,k的取值为1,5,10,20。

表3列举了近几年无监督对比学习模型在最近邻检索上的性能,当k增加时,最近邻检测的准确度也会增加。当只考虑在UCF101数据集上进行预训练的对比学习方法时,可以看出:k相同时,不同模型的准确度基本成上升趋势,这也说明模型的表征质量也在逐渐提高。SpeedNet[43]是在Kinetics数据集上进行预训练,然后在UCF101上进行最近邻检索,因为两个数据集的差异,top-k检索的准确度会降低。表3中的CoCLR[44]在UCF101和HMDB51数据集上的性能远远优于其他方法,这是因为CoCLR[44]是在原有的无监督对比学习模型的基础上增加了RGB网络和Flow网络的协同训练,若不进行协同训练,其在UCF101数据集上的准确率为33.1%(k=1时),仍优于其他方法。无监督对比学习方法学习到的视频表征能力在不断提升,这说明无监督对比学习还有进一步提升的空间,有很大潜力能够超越监督学习。

表3 最近邻视频检索方法性能比较Tab.3 Performance comparison of nearest neighbor video retrieval method%

5.1 视频理解任务

视频理解是一个高层语义信息与底层视觉特征信息自然融合的过程,通过有效地对视频信息进行分析以及根据视频的特有知识挖掘其中有价值的信息来实现视频内容的理解,从而实现视频的有效管理、分类和检索等。视频理解任务的关键是特征提取与归纳,目前用来提取特征信息的网络结构有很多,包括基于二维卷积神经网络的方法、基于三维卷积神经网络的方法、基于长短期记忆网络(Long Short Term Memory networks,LSTM)的方法等。基于二维卷积神经网络的方法将二维卷积神经网络应用于每一帧,并将多帧图像特征融合为视频特征,基于三维卷积网络的方法采用三维卷积运算从多帧图像中同时提取时空特征,基于LSTM的方法利用LSTM对视频中的长期动态进行建模。对于无监督对比学习而言,视频特征的归纳就是从多个视图的特征图中学习不变表示。

5.2 视频理解中对比学习应用

视频理解包括视频定位、视频动作识别和视频目标跟踪等,将在下面的例子中说明视频理解中对比学习的应用。

5.2.1视频声源定位

视频声源定位是视频定位的一种,是对视频中发出特定声音的物体进行定位。文献[45]采用无监督对比学习的方法学习视频表征,即视频中的视觉和音频作为两种不同的视图进行输入,通过两个不同的编码器分别提取特征表示,在对比损失函数的作用下学习视觉和音频的对应关系,并将学习到的视频表征应用于下游任务。当输入同一视频的不同视图时,通过对比学习方法学习音频和视频之间的对应关系并进行数据可视化(热图),然后设立软阈值,阈值大于0.6的部分判断为正区域(发出声音的物体区域),阈值小于0.4的区域判断为负区域(不产生声音的区域),阈值在0.4~0.6的区域不进行任何处理,从而实现视频声源定位,如图9所示。

图9 视频声源定位模型Fig.9 Video sound source localization model

5.2.2视频动作识别

动作识别是视频理解中的经典问题,给定一个视频,通过提取视频中的时间和空间特征识别出视频里的主要动作类型。可以利用无监督对比方法提高域适应能力,进一步提高目标域动作识别的准确度。例如文献[46]提出多模式无监督域适应方法,通过对源域和目标域同时进行多模态自监督,并利用多模态鉴别器进行联合优化,实现目标域性能的提高,如图10所示。该模型主要分为域对齐部分、自监督部分和分类部分,域对齐部分采用对抗训练的方法实现源域和目标域的分布对齐,自监督部分在对比学习方法的基础上利用模态的对应关系(只关注于动作)创建伪标签来实现模态之间的时序对齐,其中,正样本从每个模态的相同或不同时间的相同动作中采样,负样本从每个模态的不同动作中采样,该部分网络训练后具有预测模态是否对应的表征能力。在对抗学习进行域适应的基础上加上自监督部分,能够进一步提高域适应的性能,提高目标域动作识别的准确度。

图10 多模态域适应动作识别模型Fig.10 Multi-modal domain adaptive action recognition model

5.2.3视频目标跟踪

三维目标跟踪是三维数据序列中多帧目标的检测和关联问题。例如,自动驾驶汽车对周围环境的持续感知是通过激光雷达等传感器完成的,这些传感器产生3D数据序列,车辆必须根据这些数据估计车辆周围环境中物体的位置。此外,为实现安全导航,感知算法必须动态跟踪对象,如车辆和行人等。目标跟踪算法首先在每一帧上运行一个目标检测器进行目标检测,然后将未来帧中的目标检测结果与现有轨迹进行匹配,从而实现目标的跟踪。文献[47]使用对比方法学习3D嵌入,并用来改进多目标跟踪,模型如图11所示。对于帧t中的任何锚点,计算与同一帧中其他样本的余弦相似度,选择相似度最大的作为负样本,从与锚点有相同的轨迹且相关联的另一帧的检测中选择置信度最大的样本作为正样本,采用三联体损失函数进行训练,使嵌入正样本对比嵌入负样本对更相似,如图11(a)所示。对比学习生成的伪标签不一定完全准确,需要评估样本的不确定性,通过忽略不确定性高的样本,从而减少训练中错误标签的生成。在测试时,从一帧中的每个候选检测中提取自监督嵌入,并进一步利用相似度进行帧间的精确数据关联,如图11(b)所示。该文献将学习的 嵌入和马氏距离相结合来改进多目标跟踪,其目的是对多个目标进行数据关联,改进后的多目标跟踪算法的性能得到一定的提升。

图11 基于对比学习的目标跟踪模型Fig.11 Object tracking model based on contrastive learning

无监督对比学习能够避免使用人工标注的大规模的数据集,但是其也有局限性。基于NCE的理论和经验,高质量的表征需要大量负样本的比较,所以模型需要在大型GPU集群上进行训练,但这在大部分情况下难以满足。缓解该问题的一种方法是使用动量编码器。另一种方法是不使用负样本,负样本的存在只是为了防止特征表示坍缩成单个簇,那么是否可以完全消除对负样本的需要,通过对度量空间施加额外的约束,以防止它坍缩[21-22]。此外,人们更多关注负样本的数量,而忽略了负样本的质量,质量较好的负样本可以提高模型表征的质量,由此提出使用负样本进行对比学习时质量与数量权衡的问题。尽管互信息为对比损失函数提供了理论支撑,但是对比学习的成功不能只归功于互信息最大化。如果能够从新的角度看待对比损失,或许能够设计出更好的、在计算和内存方面效率更高的对比损失函数。

无监督对比学习是解决标记训练数据无法获取或者数据不足的方法之一。目前,对比学习逐渐从图像领域转移到视频领域,这无疑需要更多的计算资源,但是对比学习模型能够应用于更广泛的下游任务中,并能表现出较好的性能。无监督对比学习虽然不能解决数据分类、预测等方面的所有问题,但是其利用迁移学习能够减少新模型训练所需的计算资源,并能提高其性能,具有很高的研究价值。

猜你喜欢 编码器度量损失 洪涝造成孟加拉损失25.4万吨大米今日农业(2022年15期)2022-09-20基于ResNet18特征编码器的水稻病虫害图像描述生成农业工程学报(2022年12期)2022-09-09鲍文慧《度量空间之一》上海文化(文化研究)(2022年3期)2022-06-28基于Beaglebone Black 的绝对式编码器接口电路设计*数字技术与应用(2021年1期)2021-03-24两败俱伤小天使·二年级语数英综合(2019年10期)2019-11-08不欣赏自己的人,难以快乐作文与考试·初中版(2019年15期)2019-04-28突出知识本质 关注知识结构提升思维能力江西教育B(2019年2期)2019-04-12三参数射影平坦芬斯勒度量的构造华东师范大学学报(自然科学版)(2018年3期)2018-05-14基于TMS320F28335的绝对式光电编码器驱动设计科技与创新(2017年5期)2017-03-28损失读者·校园版(2015年19期)2015-05-14

推荐访问:综述 深度 理解