本发明属于视频理解领域,涉及一种视频动作分类技术,尤其是涉及一种基于分段对比掩码自编码器的视频动作分类方法。
背景技术:
1、在自监督学习(ssl)领域,尤其是在结合transformer模型后,视频理解任务如动作识别、动作定位和视频检索等得到了显著的性能提升。自监督视频表征学习通过预训练无标注视频数据,为这些任务提供了有效的特征表示。为了进一步提升模型对视频数据时空信息的理解,研究者正在探索更高效的自监督学习任务设计。
2、vision transformer(vit)自从在图像分类任务中取得成功后,已经成为一种有竞争力的模型架构。为了在计算效率和精确度之间找到平衡,研究者开始探索提高vit计算效率的方法。vit也被应用于视频理解任务中,其中对空间和时间维度的自注意力机制进行了改进,如timesformer、vivit、video swin和uniformer等模型。这些模型通过引入时间维度的处理,增强了vit对视频数据时空信息的理解能力。
3、对比学习(contrastive learning,cl)作为ssl的一种方法,通过区分正负样本对来学习数据的表示。在图像领域,对比学习已经取得了显著成果,例如moco和simclr等。dino是一种创新的对比学习方法,它不需要负样本,它与vision transformer(vit)结合使用时,能够学习到包含对象轮廓信息的特征表示,这是传统有监督学习方法所不具备的。然而,对比学习在视频理解领域,其应用面临着特定的挑战:视频数据具有丰富的时空信息,这要求模型能够捕捉到更加复杂的模式。此外,对比学习通常需要大的batch size,这在计算资源消耗上是一个挑战。此外,对比学习与vit结合时vit中的自注意力机制会导致同质化问题,即不同query tokens和注意力heads展现出相同的自注意力分布,这限制了网络学习表征的多样性。
4、为了应对这些挑战,有研究者提出了svt模型,这是一种无需大batch size和负样本的对比学习方法,它通过创建不同空间大小和帧率的局部和全局时空视图,来进行自监督预训练,帮助vit理解视频中的上下文信息,但对比学习与vit结合其自注意力机制会导致同质化问题,即不同query tokens和注意力heads展现出相同的自注意力分布,这限制了网络学习表征的多样性。这在svt模型中也出现了该问题。生成学习作为ssl的另一种方法,以掩码视觉建模为代表,通过掩蔽一部分视觉块并重建其对应的像素值或高级特征进行自监督预训练,可以有效学习到视频数据的局部相关性信息。videomae是一种典型的基于掩码视觉建模的自监督学习方法,通过在patch-level上进行像素重建约束,鼓励每个querytoken能够关注到周围相关区域的tokens,有效地辨识了不同区域的局部相关特征,但在捕捉视频整体动作信息方面存在不足。
5、尽管如此,现有方法在视频动作分类任务中仍存在挑战。vit中的不同注意力heads往往具有相同的注意力模式,导致模型难以学习到视频帧中不同物体之间的差异,限制了视频表征能力。由于这种同质化问题导致模型无法有效地捕捉视频中的关键信息,因此生成的视频特征缺乏多样性,最终影响了视频动作分类的精度。
技术实现思路
1、本发明所要解决的技术问题是提供一种基于分段对比掩码自编码器的视频动作分类方法,其通过引入分段对比掩码机制,有效地增强了模型对视频帧中不同物体之间的差异的学习能力,从而提升了视频表征能力,最终提高了视频动作分类的精度。
2、本发明解决上述技术问题所采用的技术方案为:一种基于分段对比掩码自编码器的视频动作分类方法,其特征在于包括以下步骤:
3、步骤1:获取数个原始视频;
4、步骤2:获取每个原始视频的一个全局视图和n个局部视图;
5、步骤3:对每个原始视频的全局视图进行掩码处理,得到对应的全局掩码视图,被掩码的块为不可见块,未被掩码的块为可见块;同样,对每个原始视频的n个局部视图分别进行掩码处理,得到对应的局部掩码视图,被掩码的块为不可见块,未被掩码的块为可见块;
6、步骤4:构建能够同时执行对比学习和掩码重建任务的分段对比掩码自编码器,其包括由教师编码器和第一多层感知器组成的教师模型,以及由学生编码器、第二多层感知器和解码器组成的学生模型两条分支;
7、原始视频的全局视图输入到教师模型中,将全局视图中的每帧视频帧分割成数个块;然后将全局视图对应的所有块带上一个class token特征后输入到教师编码器中,获得全局视图对应的一个class token特征和全局视图中的每个块对应的一个token特征;再将全局视图对应的class token特征输入到第一多层感知器中,获得全局表征向量;并将所有token特征作为教师模型输出的高级特征;
8、原始视频的全局视图对应的全局掩码视图和n个局部视图对应的局部掩码视图输入到学生模型中,从全局掩码视图、各个局部掩码视图各自中的每帧视频帧中提取出所有可见块;然后将所有可见块带上一个class token特征后输入到学生编码器中,获得全局掩码视图中的每个可见块对应的一个token特征、每个局部掩码视图对应的一个class token特征和每个局部掩码视图中的每个可见块对应的一个token特征;接着将n个局部掩码视图对应的class token特征输入到第二多层感知器中,获得n个局部表征向量;再在全局掩码视图中的所有可见块对应的token特征的基础上,添加随机初始化的 token特征后输入到解码器中,重建全局掩码视图中的所有不可见块的内容;
9、步骤5:基于原始视频的全局视图、原始视频的全局视图对应的全局掩码视图、原始视频的所有局部视图对应的局部掩码视图,对分段对比掩码自编码器进行自监督预训练,在每次迭代结束后针对相关的每个原始视频计算全局特征一致性对比损失和特征掩码重建损失,进而将全局特征一致性对比损失与特征掩码重建损失的和作为总损失,根据总损失更新网络参数;
10、步骤6:在自监督预训练结束后,得到教师编码器的最优权重;然后结合线性分类层,对最优权重下的教师编码器进行微调或线性探测;再在微调或线性探测结束后,教师编码器能够输出一个视频对应的token特征,利用token特征进行视频动作分类。
11、进一步限定,步骤2中,获取一个原始视频的全局视图的过程为:
12、步骤2.1a:沿视频时间轴,从这个原始视频中截取中间90%的视频帧构成一个新视频;
13、步骤2.2a:从新视频中以等步长方式抽取出t1帧视频帧,并将抽取出的t1帧视频帧按索引顺序构成一个视频段,其中,t1和步长均为预设值;
14、步骤2.3a:将视频段中的t1帧视频帧的空间分辨率统一为224×224,再将空间分辨率为224×224的t1帧视频帧构成这个原始视频的全局视图。
15、进一步限定,步骤2中,获取一个原始视频的n个局部视图的过程为:
16、步骤2.1b:沿视频时间轴,从这个原始视频中截取中间90%的视频帧构成一个新视频;
17、步骤2.2b:沿视频时间轴,将新视频平均分成n个互不重叠的第一视频段,其中,n=2,4,8…;
18、步骤2.3b:从每个第一视频段中以等步长方式抽取出t2帧视频帧,并将从每个第一视频段中抽取出的t2帧视频帧按索引顺序构成一个第二视频段,其中,t2和步长均为预设值;
19、步骤2.4b:将每个第二视频段中的t2帧视频帧的空间分辨率统一为224×224,再将空间分辨率为224×224的t2帧视频帧构成这个原始视频的一个局部视图。
20、进一步限定,步骤3中,对全局视图进行掩码处理的过程为:将全局视图中的每帧视频帧分割成14×14个互不重叠且大小为16×16的块;再按预设的掩码率对全局视图中的每帧视频帧执行tube掩码,得到全局视图对应的全局掩码视图。
21、进一步限定,步骤3中,对第i个局部视图进行掩码处理的过程为:将第i个局部视图中的每帧视频帧分割成14×14个互不重叠且大小为16×16的块,其中,i=1,2,…,n;再按预设的掩码率对第i个局部视图中的每帧视频帧执行块级掩码,得到第i个局部视图对应的局部掩码视图。
22、进一步限定,步骤4中,在教师模型中,全局视图中的每帧视频帧分割成的块的大小为16×16、块的数量为14×14个,且互不重叠,全局视图共对应有14×14×t1个块,t1表示全局视图中包含的视频帧的总帧数,全局视图对应的所有块带上的class token特征的维度为768;在学生模型中,所有可见块带上的class token特征的维度为768,随机初始化的token特征的维度为768且添加个数为14×14×t1-m个,m表示全局掩码视图中的所有可见块的个数。
23、进一步限定,步骤5中,全局特征一致性对比损失采用交叉熵损失函数计算得到,将全局特征一致性对比损失记为,,其中,表示全局表征向量,表示第i个局部表征向量,i=1,2,…,n;特征掩码重建损失采用均方误差损失函数计算得到,将特征掩码重建损失记为,,其中,表示全局掩码视图中的所有不可见块的索引构成的集合,表示全局掩码视图中的不可见块的索引,表示解码器重建的索引为的不可见块的内容,表示教师模型输出的高级特征中索引为的token特征,符号“”为取绝对值符号。
24、进一步限定,步骤5中,对于自监督预训练,设置80个epoch,批处理大小设为128,采用adam优化器,adam 优化器中的权重衰减设置为0.04 到0.1,初始学习率设置为5.0e-4,在训练过程中学习率按照余弦函数的规律进行调整且前10轮进行线性预热,在训练过程中学生编码器的权重通过反向传播更新,教师编码器的权重通过学生编码器的权重的指数移动平均值方式更新。
25、进一步限定,步骤6中,结合线性分类层,对最优权重下的教师编码器进行微调的过程为:
26、步骤6.1a:另外选取多个原始视频及其动作标签,每个原始视频的时长为5~20秒;
27、步骤6.2a:获取每个原始视频的全局视图,其中,全局视图中的视频帧的空间分辨率为224×224;
28、步骤6.3a:构建一个微调器,其包括最优权重下的教师编码器和线性分类层;
29、步骤6.4a:一个原始视频的全局视图输入到微调器中,将全局视图中的每帧视频帧分割成14×14个互不重叠且尺寸大小为16×16的块;然后将全局视图对应的共14×14×t3个块带上一个维度为768的class token特征后输入到教师编码器中,教师编码器输出全局视图对应的一个class token特征和全局视图中的每个块对应的一个token特征,其中,t3表示全局视图中包含的视频帧的总帧数;再将全局视图中的所有块对应的token特征输入到线性分类层中,线性分类层输出一个特征向量;
30、步骤6.5a:基于所有原始视频的全局视图,对微调器进行训练,在每次迭代结束后针对相关的每个原始视频计算线性分类层输出的特征向量与动作标签的交叉熵损失,根据交叉熵损失更新教师编码器和线性分类层的网络参数。
31、进一步限定,步骤6中,结合线性分类层,对最优权重下的教师编码器进行线性探测的过程为:
32、步骤6.1b:另外选取多个原始视频及其动作标签,每个原始视频的时长为5~20秒;
33、步骤6.2b:获取每个原始视频的全局视图,其中,全局视图中的视频帧的空间分辨率为224×224;
34、步骤6.3b:构建一个线性探测器,其包括最优权重下的教师编码器和线性分类层;
35、步骤6.4b:一个原始视频的全局视图输入到线性探测器中,将全局视图中的每帧视频帧分割成14×14个互不重叠且尺寸大小为16×16的块;然后将全局视图对应的共14×14×t3个块带上一个维度为768的class token特征后输入到教师编码器中,教师编码器输出全局视图对应的一个class token特征和全局视图中的每个块对应的一个token特征,其中,t3表示全局视图中包含的视频帧的总帧数;再将全局视图中的所有块对应的token特征输入到线性分类层中,线性分类层输出一个特征向量;
36、步骤6.5b:基于所有原始视频的全局视图,对线性探测器进行训练,在每次迭代结束后针对相关的每个原始视频计算线性分类层输出的特征向量与动作标签的交叉熵损失,根据交叉熵损失更新线性分类层的网络参数,而教师编码器的网络参数被冻结。
37、与现有技术相比,本发明的优点在于:
38、1)通过将视频内容划分为全局视图和多个局部视图,实现了对视频数据的多尺度表征,并采用掩码数据增强技术生成对应的全局掩码视图和局部掩码视图,本发明方法利用教师模型和学生模型的联合处理机制:教师模型专注于从全局视图中提取特征,而学生模型则处理局部掩码视图和全局掩码视图。这一过程使得本发明方法能够同时捕获视频内容的全局性判别特征和局部细粒度特征信息,增加了网络学习的表征多样性,有效克服了现有技术中仅依靠局部特征或全局特征的局限性;全局性判别特征和局部细粒度特征的融合有助于更准确地理解视频内容,从而提升视频动作分类精度。
39、2)本发明方法通过引入掩码数据增强策略,将全局视图和局部视图中的一部分视觉块进行掩蔽处理,在此策略下,全局视图和局部视图在经过掩码处理后生成对应的掩码视图,其中一部分块(patch)被设置为不可见。这一过程不仅为掩码重建任务提供了关键的数据增强,而且作为一种高效的对比学习策略,促使模型必须学习到更加细致和区分性的特征表示,以便准确预测被掩蔽部分的内容。通过这种方式,模型被迫关注那些未被掩蔽的块,从而提高了对视频内容的细粒度理解能力,进一步提升了视频动作分类的准确性。
40、3)本发明方法通过构建分段对比掩码自编码器(scma),显著提升了视频动作识别的能力。scma采用了学生模型和教师模型的架构,学生模型的输出特征与教师模型的全局特征进行对齐,这种特征对齐策略不仅提高了训练效率,而且增强了模型对输入多样性的适应能力。通过这种对齐,scma能够将时间信息和局部信息有效地融入到对比学习中,迫使模型学习到能够表征视频全局结构和局部细节的特征,同时解决了对比学习与vit结合vit中的自注意力机制导致的同质化问题,进一步提升了视频动作分类的准确性。
41、4)本发明方法中scma通过自监督学习的方式,减少了对标注数据的依赖,提高了训练效率。由于模型能够学习到更加丰富和鲁棒的特征表示,因此在视频动作识别等任务上展现出了优异的性能。通过掩码策略,模型被迫关注未被掩蔽的部分,从而提高了对视频内容的细粒度理解能力。最终,这些改进共同促成了模型的快速收敛和性能提升,实现了视频动作识别能力的显著增强。
42、5)本发明方法在训练效率方面表现出色,仅需掩码自编码器方法十分之一的训练轮次,就能在视频动作分类任务上达到甚至超越其性能。这一显著提升源于对对比学习的多方面改进,包括针对对比学习与vit结合时的自注意力机制进行了优化,以及引入了新的数据增强策略,例如掩蔽部分视觉块和视频平均分段。这些改进共同促成了模型的快速收敛和性能提升。
1.一种基于分段对比掩码自编码器的视频动作分类方法,其特征在于包括以下步骤:
2.根据权利要求1所述的基于分段对比掩码自编码器的视频动作分类方法,其特征在于所述步骤2中,获取一个原始视频的全局视图的过程为:
3.根据权利要求1所述的基于分段对比掩码自编码器的视频动作分类方法,其特征在于所述步骤2中,获取一个原始视频的n个局部视图的过程为:
4.根据权利要求1所述的基于分段对比掩码自编码器的视频动作分类方法,其特征在于所述步骤3中,对全局视图进行掩码处理的过程为:将全局视图中的每帧视频帧分割成14×14个互不重叠且大小为16×16的块;再按预设的掩码率对全局视图中的每帧视频帧执行tube掩码,得到全局视图对应的全局掩码视图。
5.根据权利要求1所述的基于分段对比掩码自编码器的视频动作分类方法,其特征在于所述步骤3中,对第i个局部视图进行掩码处理的过程为:将第i个局部视图中的每帧视频帧分割成14×14个互不重叠且大小为16×16的块,其中,i=1,2,…,n;再按预设的掩码率对第i个局部视图中的每帧视频帧执行块级掩码,得到第i个局部视图对应的局部掩码视图。
6.根据权利要求1所述的基于分段对比掩码自编码器的视频动作分类方法,其特征在于所述步骤4中,在教师模型中,全局视图中的每帧视频帧分割成的块的大小为16×16、块的数量为14×14个,且互不重叠,全局视图共对应有14×14×t1个块,t1表示全局视图中包含的视频帧的总帧数,全局视图对应的所有块带上的class token特征的维度为768;在学生模型中,所有可见块带上的class token特征的维度为768,随机初始化的 token特征的维度为768且添加个数为14×14×t1-m个,m表示全局掩码视图中的所有可见块的个数。
7.根据权利要求1所述的基于分段对比掩码自编码器的视频动作分类方法,其特征在于所述步骤5中,全局特征一致性对比损失采用交叉熵损失函数计算得到,将全局特征一致性对比损失记为,,其中,表示全局表征向量,表示第i个局部表征向量,i=1,2,…,n;特征掩码重建损失采用均方误差损失函数计算得到,将特征掩码重建损失记为,,其中,表示全局掩码视图中的所有不可见块的索引构成的集合,表示全局掩码视图中的不可见块的索引,表示解码器重建的索引为的不可见块的内容,表示教师模型输出的高级特征中索引为的token特征,符号“”为取绝对值符号。
8.根据权利要求7所述的基于分段对比掩码自编码器的视频动作分类方法,其特征在于所述步骤5中,对于自监督预训练,设置80个epoch,批处理大小设为128,采用adam优化器,adam 优化器中的权重衰减设置为0.04到0.1,初始学习率设置为5.0e-4,在训练过程中学习率按照余弦函数的规律进行调整且前10轮进行线性预热,在训练过程中学生编码器的权重通过反向传播更新,教师编码器的权重通过学生编码器的权重的指数移动平均值方式更新。
9.根据权利要求2所述的基于分段对比掩码自编码器的视频动作分类方法,其特征在于所述步骤6中,结合线性分类层,对最优权重下的教师编码器进行微调的过程为:
10.根据权利要求2所述的基于分段对比掩码自编码器的视频动作分类方法,其特征在于所述步骤6中,结合线性分类层,对最优权重下的教师编码器进行线性探测的过程为:
