一种基于背景弱化及一致性计算的半监督动作检测方法
未命名
08-26
阅读:184
评论:0
1.本发明涉及计算机视觉技术领域,尤其涉及一种基于背景弱化及一致性计算的半监督动作检测方法。
背景技术:
2.动作检测是目前视频理解方向的研究热点,因为该任务更加贴近生活,在监控安防中有潜在的巨大价值。但是相比于动作分类,动作检测难度更高,不仅需要定位视频中可能存在行为动作的视频段,还需要将其分类,而定位存在行为动作的视频段是一个更加艰巨的任务。
3.同时,动作识别对于一段视频的标注可能较为简单,仅仅需要标注动作类型,这是动作识别领域能够利用大规模视频数据集的重要原因之一。现有的视频动作检测专利方法大多集中于完全监督领域,例如公开号为cn115410138a的基于特征编码器分类和定位串行的视频动作检测方法与公开号为cn113158723a的一种端到端的视频动作检测定位系统,但是对于动作检测任务,获取大规模数据集用于模型训练是很困难的。因为注释每一帧是一个巨大的时间和成本密集的任务。因此半监督的动作检测方法具有极大的现实意义。它利用一个小的带注释的样本集和几个未标记的样本。带注释的集合包括了视频的动作类型和帧级别的动作定位。
4.伪标签和一致性正则化是用于半监督学习的两种主要方法。伪标签利用具有高置信度的未标记样本来提高性能。一致性正则化依赖于单步训练,其中小的输入扰动用于鲁棒学习。
5.基于一致性正则化的方法在半监督动作检测中起着至关重要的作用,它主要利用无标记数据的分类和时空一致性来指导训练。时空一致性主要包括动作区域的时间一致性和梯度平滑性,这是依靠简单的静态环境计算得到的。值得注意的是,动态背景的错误检测不能通过计算时空一致性来反映。例如运动中的摄像机被模型检测为动作,这种误差检测结果具有较高的时空一致性,不能正确指导模型的训练,传统的半监督动作检测方法在一致性的计算中无法反映出错误的动态背景检测的问题,即使模型将背景检测为动作,计算一致性时仍然会认为这是一个较好的结果。
技术实现要素:
6.有鉴于此,本发明提出了一种基于背景弱化及一致性计算的半监督动作检测方法,在不影响动作本身一致性计算的情况下对视频背景进行抑制,在抑制背景后,原视频背景中的动态信息不会在视频中出现。
7.本发明的技术方案是这样实现的:本发明提供了一种基于背景弱化及一致性计算的半监督动作检测方法,包括以下步骤:s1、获得训练样本,所述训练样本包括标记数据集与未标记数据集;s2、使用标记数据集训练两个相同的动作检测模型a和b;
s3、使用训练样本和训练样本的翻转视图输出的一致性来指导模型a和模型b的训练;s4、增加背景抑制模块用于模型a,使模型a在不影响动作本身一致性计算的前提下对视频背景进行抑制;s5、使用背景抑制后训练样本和训练样本的翻转视图输出的一致性来指导模型a的训练;s6、根据模型a和b输出的置信度和一致性,判断模型a输出是否存在错误的初始预测使得真实动作像素被覆盖,并对错误抑制进行校正约束;s7、重复步骤s2-s6,直至模型a被充分训练。
8.在以上技术方案的基础上,优选的,在步骤s4中,所述对视频背景进行抑制包括以下子步骤:s41、将视图中的全部像素分为动作像素与背景像素;s42、保持动作像素不变,并对背景像素进行随机调整。
9.进一步优选的,所述随机调整公式如下:
10.其中,{condition}1为布尔函数,表示原始像素,表示新像素,pa表示像素为动作像素的概率,q是一个超参数,用于确定动作像素的分位数,表示所有已排序的像素的动作概率集合,表示下标为i的集合中的元素,n表示像素个数,[ ]表示取整,为划分动作像素与背景像素的阈值,为随机像素值。
[0011]
在以上技术方案的基础上,优选的,所述步骤s2还包括利用标记数据和模型的输出结果计算有关视频类型的分类损失与定位损失。
[0012]
在以上技术方案的基础上,优选的,所述动作检测模型包括卷积胶囊层、主胶囊层和分类胶囊层,所述卷积胶囊层用于提取视频帧中的局部特征,所述主胶囊层用于将局部特征组合成全局特征,所述分类胶囊层用于预测动作类别和像素级的定位。
[0013]
在以上技术方案的基础上,优选的,还包括步骤s8,在模型训练过程中,通过生成伪标签的方式扩充训练样本。
[0014]
进一步优选的,所述步骤s8还包括以下子步骤:s81、设定动作像素的平均动作概率阈值b,模型输出视频的全部动作像素平均动作概率高于阈值b,则将该输出视频作为初步伪标签p1;s82、将初步伪标签p1生成对应的动作像素组成的视频片段vc;s83、将视频片段vc与完整视频输入模型,得到视频片段vc的预测结果 c_vc与完整视频的预测结果c_a;
s84、计算预测结果 c_vc与预测结果c_a的差异值l_vca,并通过差异值判断是否作为伪标签。
[0015]
在以上技术方案的基础上,优选的,所述步骤s6中的对错误抑制进行校正约束,包括以下子步骤:s61、将模型输出的较高置信度样本作为校正样本;s62、计算模型a和模型b对校正样本是否可信;s63、由同一个校正样本输出结果更好的模型,指导输出结果较差的模型训练。
[0016]
进一步优选的,所述步骤s62由以下方式计算:
[0017]
其中,采用布尔函数{condition}1,当条件为真时输出1,否则输出0,ri表示模型i对样本是否可信,为所有像素的动作概率集合,sn为第n个像素是动作像素的概率,t为确定该像素为动作像素的阈值,λ为超参数。
[0018]
更进一步优选的,所述步骤s63中,一个模型指导另一个模型训练,通过确定性损失进行,表示为:
[0019]
其中,表示模型i计算的一致性,表示模型j计算的一致性,表示模型j对样本是否可信,表示样本,表示均方误差损失。
[0020]
本发明的基于背景弱化及一致性计算的半监督动作检测方法相对于现有技术具有以下有益效果:(1)通过设置背景抑制模块,在不影响动作本身一致性计算的情况下对视频背景进行抑制,在抑制背景后,原视频背景中的动态信息不会在视频中出现,同时设置了校正约束,以减少目标像素选择误差对背景抑制的负面影响,如果模型的初始输出不正确,抑制动作像素时,会影响动作像素的一致性和置信度,同时引入了一个结构相同但不施加背景抑制的模型,通过校正约束来辅助训练;(2)设置生成伪标签方式,增加训练样本,使得训练出的模型泛化能力明显增强,同时可在模型训练过程中对模型进行不断优化,同时避免不适合的伪标签使模型训练出现偏差。
附图说明
[0021]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]
图1为本发明的基于背景弱化及一致性计算的半监督动作检测方法的步骤示意
图。
具体实施方式
[0023]
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
[0024]
本发明是解决半监督动作检测中一致性计算无法反映对于背景的错误检测的问题,并加入伪标签提升半监督方法的作用。传统的半监督动作检测方法在一致性的计算中无法反映出错误的动态背景检测的问题,即使模型将背景检测为动作,计算一致性时仍然会认为这是一个较好的结果。故而提出了一个背景抑制模块,在不影响动作本身一致性计算的情况下对视频背景进行抑制,在抑制背景后,原视频背景中的动态信息不会在视频中出现。同时提出了校正约束,以减少目标像素选择误差对背景抑制的负面影响。如果模型的初始输出不正确,抑制动作像素时,会影响动作像素的一致性和置信度。本发明引入了一个结构相同但不施加背景抑制的模型,通过校正约束来辅助训练。
[0025]
如图1所示,本发明的基于背景弱化及一致性计算的半监督动作检测方法,包括步骤s1-s8。
[0026]
步骤s1:获得训练样本,所述训练样本包括标记数据集与未标记数据集。
[0027]
准备未标记数据与标记数据,使用到了两个数据集,分别是ucf101-24和jhmdb-21,ucf101-24包含24个动作类,3207个未修剪的视频,jhmdb-21包含928个视频,分为21个动作类,输入帧的高度和宽度为224
×
224。ucf101-24 标记和未标记样本的比例是2比8,jhmdb-21的比例是3比7,但是在每个输入批次中,有标签的样本与无标签的样本的比例为1:1,每个剪辑的帧数是8,选择跳跃率为2的帧,对于ucf101-24,使用i3d作为主链,使用kinetics和charades的预训练权重,在pytorch中可部署实施。
[0028]
其中,jhmdb-21是一个视频动作检测数据集,由hueihan jhuang等人在2013年提出。它是从更大的hmdb51数据集中选取的一个子集,包含了21种单人动作,如跳跃、投掷、击球等。它共有960个视频序列,每个序列包含14到40帧,每一帧都标注了动作类别和人物的边界框。jhmdb-21是专注于单人动作的数据集,每个视频只包含一个动作类别,每个动作类别只包含一个人物。其具有逐帧标注的特点,每一帧都有动作类别和人物边界框的标签。同时是一个较小的数据集,只有21个动作类别,960个视频序列,31838张图片。其视频来源是多样的,包括电影、youtube视频等。
[0029]
ucf101-24数据集是一个视频动作检测数据集,由soomro等人在2015年提出。它是从更大的ucf101数据集中选取的一个子集,包含了24种动作类别,如冲浪、骑自行车、击剑等。它共有3207个视频序列,每个序列包含15到40帧。每一帧都标注了动作类别和人物的边界框。
[0030]
步骤s2:使用标记数据集训练两个相同的动作检测模型a和b。
[0031]
初始化两个相同的videocapsulenet动作检测模型a和b,videocapsulenet模型是一个用于视频动作检测的简化网络,由kevin duarte等人在2018年提出。它基于最近发展的胶囊网络,可以同时进行像素级的动作分割和动作分类。它是一个端到端的3d胶囊网络,
可以接受一系列视频帧作为输入。它的优点有:利用胶囊之间的路由协议来捕获动作的不同特征和表示;不需要使用光流信息作为补充,降低了计算复杂度和参数数量;针对3d胶囊网络中路由过程的计算量较大的问题,提出了一种胶囊池化的方法,使得投票算法更加可行。
[0032]
该模型由三个部分组成:卷积胶囊层、主胶囊层和分类胶囊层。卷积胶囊层用于提取视频帧中的局部特征,主胶囊层用于将局部特征组合成全局特征,分类胶囊层用于预测动作类别和像素级的定位。模型使用分类损失和定位损失进行端到端的训练。
[0033]
使用标记数据集训练两个相同的动作检测模型a和b,动作检测模型a和b都由videocapsulenet模型构成,利用一个简单的架构作为一个动作检测网络,这是一个基于胶囊路由的端到端方法,对3d路由的要求使得它在计算上非常昂贵,使用一个修改的模型作为基线动作检测网络,并使用一个2d路由代替,以使其计算效率提高。
[0034]
在本步骤中,需要利用标记数据和模型的输出结果计算有关视频类型的分类损失与定位损失,从而实现端到端的训练。
[0035]
步骤s3:使用训练样本和训练样本的翻转视图输出的一致性来指导模型a和模型b的训练。
[0036]
训练过程中,计算训练样本和训练样本的翻转视图输出的分类一致性和时空一致性,时空一致性的计算重点在于时间相干性和梯度平滑度。
[0037]
半监督深度学习(semi-supervised learning)的一类做法使用一致性正则化(consistency regularization)。基本的思想是:对于一个输入,即使受到了扰动,网络仍然可以产生和原来一致的输出。这里的一致是指结果近似、或者说结果向量距离较近,是从输出的空间分布来进行比较。
[0038]
对于同一个模型,输入训练样本和训练样本的翻转视图,应当输出相似的结果,我们以结果的一致性来指导模型的训练。
[0039]
时间相干性被描述为在有限数量的帧(fn)上前景像素(动作区域)在时间维度中的相对位移。我们通过测量像素在未来和过去帧中的位置的相对偏移来计算当前帧中的像素的方差。针对视频中的所有像素计算该逐像素方差,并且将其称为方差图mvar。视频的方差图mvar关注短期细粒度变化,集中在预测的连续性上。分析一个特定帧的方差,如果一个模型确信一个像素是动作或非动作,我们称之为明确的,否则我们将其描述为模糊的。由于模型已经对明确的区域有信心,这些模糊区域中的一些将描绘连接前景和背景的边界。
[0040]
步骤s4:增加背景抑制模块用于模型a,使模型a在不影响动作本身一致性计算的前提下对视频背景进行抑制。
[0041]
传统的半监督动作检测方法在一致性的计算中无法反映出错误的动态背景检测的问题,即使模型将背景检测为动作,计算一致性时仍然会认为这是一个较好的结果。故而提出了一个背景抑制模块,在不影响动作本身一致性计算的情况下对视频背景进行抑制,在抑制背景后,原视频背景中的动态信息不会在视频中出现。
[0042]
步骤s41:将视图中的全部像素分为动作像素与背景像素。
[0043]
对原始视图中每一个像素的动作概率进行预测,动作概率预测是动作检测模型本身具有的功能,通过对动作概率进行预测即可将全部像素分为动作像素与背景像素,所述的视图为训练样本中的视图。
[0044]
步骤s42:保持动作像素不变,并对背景像素进行随机调整。
[0045]
随机调整背景像素不会完全初始化每个像素,有利于保留一些背景特征。所述随机调整公式如下:
[0046]
我们定义了一个布尔函数{condition}1,当条件为真时输出1,否则输出0,表示原始像素,表示新像素,pa表示像素为动作像素的概率,q是一个超参数,用于确定动作像素的分位数,表示所有已排序的像素的动作概率集合,表示下标为i的集合中的元素,n表示像素个数,[ ]表示取整,q(q)为划分动作像素与背景像素的阈值,c为随机像素值。
[0047]
即动作像素概率小于划分动作像素与背景像素的阈值时,就在原始像素的基础上增加随机像素值c,以实现对背景像素的随机调整。
[0048]
在某一具体的实施例中,我们取q为0.55,得到了较好的结果。
[0049]
步骤s5:使用背景抑制后训练样本和训练样本的翻转视图输出的一致性来指导模型a的训练。
[0050]
本步骤相当于在步骤s3的基础上增加了对训练样本的背景抑制。
[0051]
步骤s6:根据模型a和b输出的置信度和一致性,判断模型a输出是否存在错误的初始预测使得真实动作像素被覆盖,并对错误抑制进行校正约束。
[0052]
根据模型a和模型b输出的置信度和一致性来判断是否存在错误的初始预测使得真实动作像素被覆盖,并对错误抑制进行校正约束,以减少目标像素选择误差对背景抑制的负面影响。需要说明的是,其中的初始预测为步骤s3中所输出的预测结果,所述置信度即为动作像素的平均动作概率,将模型输出高置信度样本作为校正样本,在所有被预测为动作像素的视频中,动作像素平均概率越高的结果表明动作像素被调整的越少。
[0053]
对于计算表示模型i对样本是否可信,表示为:
[0054]
其中,采用布尔函数{condition}1,当条件为真时输出1,否则输出0,为所有像素的动作概率集合,sn为第n个像素是动作像素的概率,t为确定该像素为动作像素的阈值。λ是超参数,在实验中取0.6,得到了较好的结果。
[0055]
模型a和模型b预测之间的差距可以用均方误差(mse)来测量。
[0056]
那么对于同一个样本输出结果更好的模型,可以指导输出结果较差的模型训练, 为确定性损失,表示为:
[0057]
其中表示模型i计算的一致性,表示模型j计算的一致性,表示模型j对样本是否可信,表示样本,表示均方误差损失。
[0058]
通过上述方式对错误抑制进行校正约束。
[0059]
需要说明的是,模型i可为模型a或模型b,同样的,模型j可为模型a或模型b,当模型i为模型a时,模型j为模型b,反之也成立。
[0060]
步骤s7:重复步骤s2-s6,直至模型a被充分训练。
[0061]
本步骤中,重复步骤s2-s6即为训练模型a一轮,对模型a训练一百轮后,即可得到较优的动作检测模型,每一轮都需要将训练样本完全输入,训练好后,模型a的输入为测试视频或真实视频,输出为视频的动作类型以及每一个像素为动作像素的概率。
[0062]
步骤s8:在模型训练过程中,通过生成伪标签的方式扩充训练样本。
[0063]
训练过程中,模型输出一个定位图l,这是一个像素预测,其中每个像素都有一个动作或不动作的概率。如果这个像素的动作概率高于某个阈值a,我们则将其当作动作像素。在一个视频中,我们计算所有动作像素的平均动作概率,如果动作像素的平均动作概率高于某个阈值b,我们则将其当作初步伪标签p1。
[0064]
由于模型的预测总是存在偏差,所有动作像素组成的视频片段vc不一定是完整的动作区域片段。完整的动作区域片段fvc应该跟整个视频对于分类的预测结果相似,如果动作像素组成的视频片段vc预测的结果差距较大,那么这个视频片段对于定位的预测结果不适合做为伪标签。
[0065]
具体做法是,根据初步伪标签p1对于动作像素的预测来改变视频,我们保留视频的动作像素,将非动作像素的rgb值都置为0,生成动作像素组成的视频片段vc. 我们将视频片段vc输入动作检测模型,输出其对于动作的类别的预测结果 c_vc, 完整的视频的动作的类别的预测结果为c_a, 预测结果 c_vc与预测结果为c_a的差异值 l_vca计算方式如下:
[0066]
mse()表示mse loss计算,ri为1表示模型i对当前样本输出表示可信,ri为0表示模型i对当前样本输出表示不可信。
[0067]
差异值越大则该初步伪标签p1越不适合作为伪标签,反之,差异值越小则该初步伪标签p1越适合作为伪标签。
[0068]
对于模型输出的视频的动作概率,我们将阈值高于a的选取为动作像素,计算得到所有动作概率的平均值act_m, 平均值act_m作为我们的伪标签的初步置信度,设定最终阈值c,只有伪标签的最终置信度tl高于阈值c,我们才将其作为伪标签进行模型的训练,tl的计算方式为:
[0069]
其中,d为超参数。
[0070]
tl高于阈值c即可将对于该样本的输出结果作为伪标签,反之则无法作为伪标签。
[0071]
通过获取更合适的伪标签,增加训练样本,使得训练出的模型泛化能力明显增强,同时可在模型训练过程中对模型进行不断优化,同时避免不适合的伪标签使模型训练出现偏差。
[0072]
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,包括以下步骤:s1、获得训练样本,所述训练样本包括标记数据集与未标记数据集;s2、使用标记数据集训练两个相同的动作检测模型a和b;s3、使用训练样本和训练样本的翻转视图输出的一致性来指导模型a和模型b的训练;s4、增加背景抑制模块用于模型a,使模型a在不影响动作本身一致性计算的前提下对视频背景进行抑制;s5、使用背景抑制后训练样本和训练样本的翻转视图输出的一致性来指导模型a的训练;s6、根据模型a和b输出的置信度和一致性,判断模型a输出是否存在错误的初始预测使得真实动作像素被覆盖,并对错误抑制进行校正约束;s7、重复步骤s2-s6,直至模型a被充分训练。2.如权利要求1所述的基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,在步骤s4中,所述对视频背景进行抑制包括以下子步骤:s41、将视图中的全部像素分为动作像素与背景像素;s42、保持动作像素不变,并对背景像素进行随机调整。3.如权利要求2所述的基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,所述随机调整公式如下:;其中,{condition}1为布尔函数,表示原始像素,表示新像素,pa表示像素为动作像素的概率,q是一个超参数,用于确定动作像素的分位数,表示所有已排序的像素的动作概率集合,表示下标为i的集合中的元素,n表示像素个数,[ ]表示取整,为划分动作像素与背景像素的阈值,为随机像素值。4.如权利要求1所述的基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,所述步骤s2还包括利用标记数据和模型的输出结果计算有关视频类型的分类损失与定位损失。5.如权利要求1所述的基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,所述动作检测模型包括卷积胶囊层、主胶囊层和分类胶囊层,所述卷积胶囊层用于提取视频帧中的局部特征,所述主胶囊层用于将局部特征组合成全局特征,所述分类胶囊层用于预测动作类别和像素级的定位。6.如权利要求1所述的基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,还包括步骤s8,在模型训练过程中,通过生成伪标签的方式扩充训练样本。
7.如权利要求6所述的基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,所述步骤s8还包括以下子步骤:s81、设定动作像素的平均动作概率阈值b,模型输出视频的全部动作像素平均动作概率高于阈值b,则将该输出视频作为初步伪标签p1;s82、将初步伪标签p1生成对应的动作像素组成的视频片段vc;s83、将视频片段vc与完整视频输入模型,得到视频片段vc的预测结果 c_vc与完整视频的预测结果c_a;s84、计算预测结果 c_vc与预测结果c_a的差异值l_vca,并通过差异值判断是否作为伪标签。8.如权利要求1所述的基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,所述步骤s6中的对错误抑制进行校正约束,包括以下子步骤:s61、将模型输出的较高置信度样本作为校正样本;s62、计算模型a和模型b对校正样本是否可信;s63、由同一个校正样本输出结果更好的模型,指导输出结果较差的模型训练。9.如权利要求8所述的基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,所述步骤s62由以下方式计算:;其中,采用布尔函数{condition}1,当条件为真时输出1,否则输出0,r
i
表示模型i对样本是否可信,为所有像素的动作概率集合,s
n
为第n个像素是动作像素的概率,t为确定该像素为动作像素的阈值,λ为超参数。10.如权利要求9所述的基于背景弱化及一致性计算的半监督动作检测方法,其特征在于,所述步骤s63中,一个模型指导另一个模型训练,通过确定性损失进行,表示为:;其中,表示模型i计算的一致性,表示模型j计算的一致性,表示模型j对样本是否可信,表示样本,表示均方误差损失。
技术总结
本发明涉及计算机视觉技术领域,并提出了一种基于背景弱化及一致性计算的半监督动作检测方法,包括以下步骤:S1、获得训练样本;S2、使用标记数据集训练两个相同的动作检测模型a和b;S3、使用训练样本和训练样本的翻转视图输出的一致性来指导模型a和模型b的训练;S4、增加背景抑制模块用于模型a;S5、使用背景抑制后训练样本和训练样本的翻转视图输出的一致性来指导模型a的训练;S6、根据模型a和b输出的置信度和一致性,判断模型a输出是否存在错误的初始预测使得真实动作像素被覆盖,并对错误抑制进行校正约束;S7、重复步骤S2-S6,直至模型a被充分训练;步骤S8、在模型训练过程中,通过生成伪标签的方式扩充训练样本。成伪标签的方式扩充训练样本。成伪标签的方式扩充训练样本。
技术研发人员:刘文璇 钟忺 易奥宇 黄文心 巫世峰 贾雪梅 赵石磊 李琳 袁景凌
受保护的技术使用者:武汉理工大学
技术研发日:2023.07.21
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
