一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多知识融合的小样本视频行为识别方法与流程

2021-12-18 02:26:00 来源:中国专利 TAG:


1.本发明涉及小样本视频行为识别方法,特别涉及基于2d方法与多知识融合的小样本视频行为识别方法。


背景技术:

2.人工智能时代的来临,行为识别作为一项重要的基础技术,已经逐渐应用在智能家居、智能监控、人机交互等领域。如今随着通讯技术的发展,网络传输速度越来越快,网络视频用户规模也在逐年增加,视频创作者越来越多,直播行业也十分火热,行为识别技术将给这些领域带来便利,例如将行为识别技术应用到视频审核以及直播监管当中。此外,虚拟现实、自动驾驶等前沿技术也随着5g的应用得以进一步发展,这些技术的继续发展也少不了行为识别技术的支持。
3.传统的视频行为识别方法依赖大规模且强标记的视频数据集,但是这些视频数据集的获取需要花费大量的人力和物力,难度较大。在现实生活中,很多场景下的视频行为识别任务中带有标注的数据是明显不足的,例如安全领域。因此,如何降低视频行为识别对数据集的要求就显得尤为重要,基于小样本学习的视频行为识别的研究也随之应运而生。人类具有很强的知识迁移的能力,例如一个小孩在了解体育项目时,他只需要浏览几个视频就能区分跳远与跳高两种动作,这就是小样本学习在现实生活中的直观体现。近几年,图像方面的小样本学习研究有不少进展,但在视频方面,由于视频比图片多了时序信息,处理起来更为复杂困难,这给小样本视频行为识别提出了不小的挑战。
4.目前小样本视频行为识别中主要存在以下主要难点:信息量不足、域偏移与枢纽点问题。 (1)信息量不足问题,指的是小样本学习中的模型迁移到新的数据集时,可供学习的样本数量非常少,进而导致判别信息不足。(2)域偏移问题,是指在更换数据集或者数据模态后,会造成模型的认知偏差。(3)枢纽点问题,其描述是某个点会成为大多数点的最邻近点(即使这个点与其近邻点无关)。
5.针对小样本视频行为识别中的难点,研究人员从多个方面进行探究。以信息量不足问题为出发点,现有方法的策略是增加数据集样本数量和获取视频时序信息。(1)增加数据集样本数量,为了增加小样本学习中支持集中样本的数量,fu8等人提出一种扩充数据集的办法,他们使用虚幻引擎(unreal engine)制作了一些标准的虚拟动作视频,通过将原视频帧序列中的部分帧替换成与之最相似的虚拟视频帧,从而生成新的视频帧序列,称之为“增强视频”,同时因为替换对象是标准的虚拟视频帧,新视频帧序列与标签的契合度得到了提升。(2)获取时序信息,首先是3d特征提取器的出现,通过同时对多张视频帧图像进行卷积操作提取视频数据中的时序特征,之后为了更加有效的利用是时序信息,出现了时序信息对齐与时序信息增强。此外,有的方法致力于提升模型的效率,旨在构建更为有效的映射模型,如cmn (compound memory network,复合记忆网络),它是一种基于2d方法的模型,查询集样本将在记忆网络中搜索最邻近类别作为分类结果。
6.虽然以上方法在小样本视频行为识别上取得了一定的进展,但其方法仍存在不足
之处。首先是增加数据集信息量的方法,尽管单个类别的信息总量得到了提升,但是存过过多的冗余信息,同时数据增强的效果也十分有限,真正得到增强的视频数量有限。其次,通过使用 3d特征提取器获取时序信息,模型的网络复杂度大大提升,且要面临巨大的计算压力和资源消耗。cmn使用的是2d特征提取器,极大减小了参数量与运算量,但样本数量少导致记忆网络中存储的类原型判别性较弱,从而影响分类精度。此外,不难发现以往的方法缺少对域偏移与枢纽点问题的关注。


技术实现要素:

7.针对现有技术存在的上述问题,本发明的要解决的技术问题是:小样本视频行为识别中动作类表达能力弱和行为识别中错误分类和参数量与计算量很大的问题。
8.为解决上述技术问题,本发明采用如下技术方案:一种基于多知识融合的小样本视频行为识别方法,包括如下步骤:
9.s100:获取多段有标签的视频作为训练数据集d
train
={(v
i
,c
i
),c
i
∈c
train
},v
i
表示第i个视频, c
i
表示第i个标签,c
train
表示训练类,紧接着对这些视频进行视频帧采样操作;
10.s200:构建识别模型,所述识别模型包括resnet18

2d卷积神经网络,基于数据视觉特征的预测器和基于数据流形分布特征的预测器;
11.s300:识别模型的训练,针对训练类c
train
中的每个类选择同样数量的训练样本,设置训练阶段的耐心值阈值,训练阶段的耐心值初始值patience=0、初始化训练阶段的识别模型的参数和训练阶段的学习率阈值;
12.s310:特征提取器提取视频特征,使用resnet18

2d卷积神经网络作为特征提取器,对训练集中的视频进行特征提取,得到每个训练样本对应的视觉特征;
13.s320:将每个训练样本对应的视觉特征输入基于数据视觉特征的预测器中进行分类,得到每个训练样本属于某一训练类的第一个预测得分,然后通过交叉熵损失函数得到每个训练样本的线性分类损失,所有训练样本的线性分类损失之和为l
d

14.将每个训练样本对应的视觉特征输入基于数据流形分布特征的预测器中进行分类,将每个训练样本对应的视觉特使用表征传播后再进行线性分类得到每个训练样本的属于某一训练类的第二个预测值得分,然后通过交叉熵损失函数得到每个训练样本的流形分类损失,所有训练样本的流形分类损失之和为l
e

15.s330:计算损失,训练阶段的总损失l
train
=l
d
l
e
,如果当前总损失大于以前训练阶段所有次迭代总损失的平均值,则patience=patience 1并执行下一步,否则令patience=0patience=0并执行下一步;
16.s340:如果patience达到训练阶段的耐心值阈值,则调整训练阶段的学习率;当训练阶段的学习率达到训练阶段的学习率阈值则得到训练好的识别模型并执行下一步,否则采用梯度下降法反向传播,更新识别模型的参数并返回s310继续训练;
17.s400:对训练好的识别模型进行微调,具体如下:
18.在训练数据集d
train
中完成对支持集与查询集的采样,二者交集为空集,支持集中的样本称为支持样本,查询集中的样本称为查询样本;针对“n

way,k

shot”任务对训练好的识别模型进行微调,n表示训练类的个数,k表示每个类的样本个数;
19.预设查询集中每个类的样本个数;
20.以episode为单元进行训练,每个episode包括多个支持样本和多个查询样本,其中支持样本涵盖了n个类中的每个类,且每个类均选取k个训练样本,查询样本涵盖了n个类中的每个类,且每个类所选的查询样本数量相同;
21.使用protonet分类器代替训练好的识别模型中的基于数据视觉特征的预测器,并给基于数据流形分布特征的预测流程增加标签传播操作,从而得到修订的识别模型;
22.设置微调阶段的耐心值阈值,微调阶段的耐心值初始值patience'=0,初始化训练阶段的学习率阈值;
23.s410:将每个episode中的所有支持样本和查询样本输入resnet18

2d卷积神经网络进行特征提取,得到每个样本对应的视觉特征;
24.s420:将每个episode中的样本对应的视觉特征输入protonet分类器中进行分类,得到每个查询样本属于n个类中某一类的第一个预测得分p
cls_proto

25.将每个episode中的所有支持样本和查询样本对应的视觉特征输入基于数据的流形分布特征预测器中进行分类,每个episode中的所有支持样本和查询样本对应的视觉特征使用表征传播后得到表征传播特征,再对表征传播特征使用线性分类进行分类,得到每个查询样本属于n个类中某一类的第二个预测得分;然后通过交叉熵损失函数得到每个查询样本的流形分类损失,所有查询样本的流形分类损失之和为l'
e

26.将每个episode中的所有支持样本和查询样本对应的表征传播特征进行标签传播得到每个查询样本属于n个类中某一类的第三个预测得分p
cls_lab

27.每个查询样本的总预测分数p
total
是p
cls_proto
和p
cls_lab
的加权之和,再通过交叉熵损失函数计算每个查询样本的微调分类损失l
fusion

28.s430:计算损失,微调阶段的总损失l
finetune
等于l
fusion
和l'
e
加权之和,如果当前总损失大于以前微调阶段所有次迭代总损失的平均值,则patience'=patience' 1并执行下一步,否则令 patience'=0并执行下一步;
29.s440:如果patience'达到微调阶段的耐心值阈值,则调整微调阶段的学习率;当微调阶段的学习率达到微调阶段的学习率阈值则得到最终识别模型并执行下一步,否则采用随机梯度下降法反向传播,更新修订的识别模型的参数并返回s310继续微调;
30.s500:预测,将一段待预测视频,输入最终识别模型中的resnet18

2d卷积神经网络进行特征提取,得到待预测视频对应的视觉特征;
31.将待预测视频的视觉特征输入最终识别模型中protonet分类器中行分类,得到该待预测视频属于每一类的第一个得分;
32.将待预测视频的视觉特征输入最终识别模型中流形数据分布分类器中,得到该待预测视频属于每一类的第二个得分;
33.将该待预测视频属于每一类的第一个得分和第二个得分进行加权求和得到该待预测视频属于每一类的最终得分,按照得分由大到小排序并输出。
34.作为改进,所述s320中基于数据的流形分布特征预测器中的对每个训练样本对应的视觉特使用表征传播的过程如下:
35.输入是每个训练样本经特征提取器所获得的视觉特征f
i
表示第i个训练样本的视觉特征,表示m维的视觉特征;在传播的第一步就是计算所有的视觉特征对之间的欧式距离,将一个特征对用(i,j)表示,两者之间的欧式距离为d
ij
=||f
i

f
j
||,然后计
算a
ij
=exp(d
ij2
/σ),其中σ是一个缩放因子,定义为σ就是d
ij2
的标准差;
36.接下来需要计算的是所有训练样本的拉普拉斯矩阵l:
[0037][0038]
a表示所有训练样本的邻接矩阵,d表示所有训练样本的对角矩阵,d
ii
表示第i行第i 列,a
ij
表示邻接矩阵的第i行第j列,e表示当前迭代中训练样本的总数;
[0039]
最后通过经典的标签传播矩阵,标签传播矩阵可以表示为:
[0040]
p=(i

αl
‑1)
ꢀꢀ
(5)
[0041]
其中α是缩放因子,i是身份矩阵,身份矩阵就是对角线的值为1的矩阵,对应的就是节点自身对自身的影响力,所以,表征传播过程用公式(6)表示:
[0042][0043]
其中,表示的就是第i个训练样本的所有“邻居”的加权和,经过表征传播后,所有的训练样本的特征都实现为其“邻居”的特征加权表示,p
ij
表示传播矩阵p的第i行第j列。
[0044]
作为改进,所述s320使用基于数据视觉特征的预测器后得到的预测分数为每次迭代损失计算方法参见公式(3):
[0045][0046]
当l
cls
=l
d
时,p
c
取每个训练样本的属于某一训练类的第一个预测得分,y
c
为符号函数,如果样本的真实类等于c取1,否则取0,c表示训练类的个数;
[0047]
当l
cls
=l
e
时,p
c
取每个训练样本的属于某一训练类的第二个预测得分,y
c
为符号函数,如果样本的真实类等于c取1,否则取0,c表示训练类的个数。
[0048]
作为改进,所述s420中将每个episode中的所有支持样本和查询样本对应的视觉特征输入基于数据的流形分布特征预测器中进行分类,每个episode中的所有支持样本和查询样本对应的视觉特征使用表征传播的方法与s320中对每个训练样本对应的视觉特使用表征传播的方法相同。
[0049]
作为改进,所述s420中将每个episode中的所有支持样本和查询样本对应的视觉特征输入基于数据的流形分布特征预测器中进行分类,每个episode中的所有支持样本和查询样本对应的表征传播特征使用标签传播的方法如下:
[0050]
每个episode中经过表征传播后获得的所有支持样本和查询样本对应的特征集合,表示为其中,k表示支持样本的个数q表示查询样本的个数m表示经过表征传播后单个特征的维度,然后计算对应的邻接矩阵a',计算方法同s320中训练样本邻接矩阵的计算方法进而计算对应的拉普拉斯矩阵l',使用经典的标签传播公式得到传播矩阵p';
[0051]
对支持集中的支持样本的标签进行独热编码,得到编码结果矩阵y
s
,其中k=k, n=n,同时对查询集中的查询样本建立对应的零矩阵q表示查询集样本个
数,然后将y
s
和y
q
二者并联得到矩阵最后对y进行标签传播,如公式(7):
[0052][0053]
最终可以得到查询集中每个查询样本标签的传播结果集合
[0054]
其中,表示第i个查询样本的标签经过标签传播后的传播结果,表示传播矩阵p'的第i行第j列,y
j
表示第j个查询样本的标签。
[0055]
作为改进,所述s420所有微调样本的标签传播分类损失之和为l'
e
的计算方法使用公式(3),此时l
cls
=l'
e
,p
c
取每个微调样本属于某一训练类的第二个预测得分,c表示训练类的个数。
[0056]
作为改进,所述s420中每个微调样本的总预测分数p
total
采用公式(8)计算:
[0057][0058]
其中α与β分别表示权重。
[0059]
作为改进,所述s430微调阶段的总损失l
finetune
的计算方法如公式(9):
[0060][0061]
其中c表示episode中训练类的个数,c=n,γ表示权重。
[0062]
相对于现有技术,本发明至少具有如下优点:
[0063]
本发明摒弃表示能力弱的初级知识和解释性弱且存在多义性的外部知识,选用表达能力强且广泛应用的抽象知识,具体为深度视觉特征和流形特征。深度视觉特征能很好的反应数据的本质特征,但会损失部分的分布信息,因此同时选用了数据的流形特征,其中流形正则化项能有效保持数据的结构,保留更多的数据信息,从而缓解域偏移与枢纽点问题。以上两种知识之间的信息重复度低,通过对二者进行融合,支持集样本中单个类别的信息总量得到有效的提升,较好的缓解了小样本学习中判别信息不足的问题。深度视觉特征与流形特征的优势各不相同,二者融合后能达到优势互补、相辅相成的效果,其中流形特征对与缓解小样本学习中的域偏移与枢纽点问题尤为有效。
[0064]
多知识融合的具体操作是将深度特征与流形特征分别对应的标签预测分数进行加权求和,从而得到最终的标签预测分数。
附图说明
[0065]
图1为本发明方法的原理框架图。
[0066]
图2为本发明方法中表征传播的原理示意图。
[0067]
图3为本发明方法中标签传播的原理示意图。
[0068]
图4为本发明方法中识别模型的训练过程图。
[0069]
图5为本发明方法中识别模型的微调过程图。
[0070]
图6为实验分析阶段使用不同权重分配融合后对应的预测结果。
[0071]
图7为实验分析阶段不同权重分配下测试集中所有类的分类准确率。
具体实施方式
[0072]
下面对本发明作进一步详细说明。
[0073]
本发明的模型整体框架如图1所示,该模型分为训练阶段、微调阶段和测试阶段。在对查询集样本进行标签预测时,首先由特征提取器提取视频特征,该模型中特征提取模块中使用了2d特征提取器,以达到减小计算量的目的。在完成特征提取操作之后,模型开始分为两个分支,其中一个是基于深度视觉特征的预测,该分支直接对视觉特征使用分类器得到预测分数,另一个分支则是基于数据的流形分布的预测,其对特征使用表征传播与标签传播以获取预测分数,然后对以上两个预测分数进行加权求和以完成知识融合,从而获得最终的预测分数。在基于数据的流形分布的预测分支上,表征传播完成对数据间流形结构的平滑,获得表征传播特征,再基于此特征使用标签传播,经过以上操作能更好的缓解域偏移与枢纽点问题,从而获得泛化能力更强的模型。
[0074]
首先将数据集的类别划分为三部分,分别是训练类c
train
、验证类c
val
和测试类c
test
,其对应有训练数据集d
train
={(v
i
,c
i
),c
i
∈c
train
}、验证数据集d
val
={(v
i
,c
i
),c
i
∈c
val
}以及测试数据集d
test
={(v
i
,c
i
),c
i
∈c
test
}。识别算法在d
train
上进行训练,在d
val
上进行验证,最后在d
test
上完成测试,其中验证集是为了知晓模型在训练过程中的性能,进而调整模型的一些参数,而测试集则用来评估模型的最终性能。需要注意的是以上三个数据集两两之间交集均为空集。在小样本学习中,定义episode为训练单位,它包含支持集和查询集,而小样本指的就是支持集样本少。小样本学习中的n

way k

shot指的就是支持集有n个类以及每个类有k个样本,在进行测试的时候,这n个类对于模型来说是全新的类,模型需要依靠支持集中这n
×
k个样本完成对查询集样本归属类别的预测。
[0075]
本发明对标签进行预测的时候,使用了多分类线性分类器和protonet分类器。其中 protonet分类器是基于欧氏距离的一种度量学习方法,其思想是将一个类用一个“代表”表示,称之为类原型,类原型为该类所有样本特征的均值。假设类为c的n个视频提取到的视频特征为于是类原型应该表示为:
[0076][0077]
给定一个查询样本q,它被预测为类别c的概率的计算公式为:
[0078][0079]
通过与所有类原型之间计算概率值,最后取最大概率值对应的类为样本q的预测类。
[0080]
一种基于多知识融合的小样本视频行为识别方法,包括如下步骤:
[0081]
s100:获取多段有标签的视频作为训练数据集d
train
={(v
i
,c
i
),c
i
∈c
train
},v
i
表示第i个视频, c
i
表示第i个标签,c
train
表示训练类,紧接着对这些视频进行视频帧采样操作;
[0082]
s200:构建识别模型,所述识别模型包括resnet18

2d卷积神经网络,基于数据视觉特征的预测器和基于数据流形分布特征的预测器;
[0083]
s300:识别模型的训练,针对训练类c
train
中的每个类选择同样数量的训练样本,设置训练阶段的耐心值阈值,训练阶段的耐心值初始值patience=0、初始化训练阶段的识别
模型的参数和训练阶段的学习率阈值;
[0084]
s310:特征提取器提取视频特征,使用resnet18

2d卷积神经网络作为特征提取器,对训练集中的视频进行特征提取,得到每个训练样本对应的视觉特征;
[0085]
s320:将每个训练样本对应的视觉特征输入基于数据视觉特征的预测器中进行分类,得到每个训练样本属于某一训练类的第一个预测得分,然后通过交叉熵损失函数得到每个训练样本的线性分类损失,所有训练样本的线性分类损失之和为l
d

[0086]
将每个训练样本对应的视觉特征输入基于数据流形分布特征的预测器中进行分类,将每个训练样本对应的视觉特使用表征传播后再进行线性分类得到每个训练样本的属于某一训练类的第二个预测值得分,然后通过交叉熵损失函数得到每个训练样本的流形分类损失,所有训练样本的流形分类损失之和为l
e
;表征传播主要是平滑视频特征之间流形结构同时生成表征传播特征,而标签传播则是根据表征传播特征完成标签预测。二者的使用可以缓解小样本学习中的域偏移与枢纽点问题。
[0087]
s330:计算损失,训练阶段的总损失l
train
=l
d
l
e
,如果当前总损失大于以前训练阶段所有次迭代总损失的平均值,则patience=patience 1并执行下一步,否则令patience=0patience=0并执行下一步。
[0088]
s340:如果patience达到训练阶段的耐心值阈值,则调整训练阶段的学习率;当训练阶段的学习率达到训练阶段的学习率阈值则得到训练好的识别模型并执行下一步,否则采用梯度下降法反向传播,更新识别模型的参数并返回s310继续训练;学习率的调整方法可以是现有的任何方法,例如每次学习率下降为原来的1/10。
[0089]
经过训练阶段后得到的模型还不够完善,因此设计了一个针对小样本学习任务“n

way, k

shot”的微调阶段,目的是让模型小样本学习的模式,以获得更好的泛化性能。在此阶段是以episode为单位进行训练,当中包含的查询集样本标签是未知的,为了更好的进行标签预测,将训练阶段使用的基于深度视觉特征的线性分类器替换成protonet分类器。在流形的数据分布分支上也加入了标签传播,这些都是为了更好的对小样本学习中的查询集样本进行预测,所以说此阶段是针对小样本学习任务进行的适应性调整。微调阶段训练过程对应的网络如图 5所示,首先使用特征提取器获得深度特征,然后对特征直接使用protonet分类器得到查询集的预测分数p
cls_proto
,另一分支上对特征使用表征传播和标签传播得到预测分数p
cls_lab
,两者加权相加得到最终预测分数p
total
,进而得到分类损失l
fusion
,微调阶段的总损失l
finetune
还需要加上对表征传播特征使用线性分类器获得的交叉熵分类损失l
e
赋予权重γ。该阶段的验证和测试流程与训练阶段相同,不同的地方在于微调阶段在训练时增加了一个损失,即对表征传播特征使用线性分类器得到的分类损失。
[0090]
s400:对训练好的识别模型进行微调,获取多段无标签的视频构成查询集。
[0091]
在训练数据集d
train
中完成对支持集与查询集的采样,二者交集为空集,支持集中的样本称为支持样本,查询集中的样本称为查询样本;针对“n

way,k

shot”任务对训练好的识别模型进行微调,n表示训练类的个数,k表示每个类的样本个数。
[0092]
预设查询集中每个类的样本个数;
[0093]
以episode为单元进行训练,每个episode包括多个支持样本和多个查询样本,其中支持样本涵盖了n个类中的每个类,且每个类均选取k个训练样本,查询样本涵盖了n个类中的每个类,且每个类所选的查询样本数量相同。
[0094]
使用protonet分类器代替训练好的识别模型中的基于数据视觉特征的预测器,并给基于数据流形分布特征的预测流程增加标签传播操作,从而得到修订的识别模型;
[0095]
设置微调阶段的耐心值阈值,微调阶段的耐心值初始值patience'=0,初始化训练阶段的学习率阈值。
[0096]
s410:将每个episode中的所有支持样本和查询样本输入resnet18

2d卷积神经网络进行特征提取,得到每个样本对应的视觉特征;
[0097]
s420:将每个episode中的样本对应的视觉特征输入protonet分类器中进行分类,得到每个查询样本属于n个类中某一类的第一个预测得分p
cls_proto

[0098]
将每个episode中的所有支持样本和查询样本对应的视觉特征输入基于数据的流形分布特征预测器中进行分类,每个episode中的所有支持样本和查询样本对应的视觉特征使用表征传播后得到表征传播特征,再对表征传播特征使用线性分类进行分类,得到每个查询样本属于n个类中某一类的第二个预测得分;然后通过交叉熵损失函数得到每个查询样本的流形分类损失,所有查询样本的流形分类损失之和为l'
e

[0099]
将每个episode中的所有支持样本和查询样本对应的表征传播特征进行标签传播得到每个查询样本属于n个类中某一类的第三个预测得分p
cls_lab

[0100]
每个查询样本的总预测分数p
total
是p
cls_proto
和p
cls_lab
的加权之和,再通过交叉熵损失函数计算每个查询样本的微调分类损失l
fusion

[0101]
s430:计算损失,微调阶段的总损失l
finetune
等于l
fusion
和l'
e
加权之和,如果当前总损失大于以前微调阶段所有次迭代总损失的平均值,则patience'=patience' 1并执行下一步,否则令 patience'=0并执行下一步。
[0102]
s440:如果patience'达到微调阶段的耐心值阈值,则调整微调阶段的学习率;当微调阶段的学习率达到微调阶段的学习率阈值则得到最终识别模型并执行下一步,否则采用随机梯度下降法反向传播,更新修订的识别模型的参数并返回s310继续微调。
[0103]
s600:预测,将一段待预测视频,输入最终识别模型中的resnet18

2d卷积神经网络进行特征提取,得到待预测视频对应的视觉特征;
[0104]
将待预测视频的视觉特征输入最终识别模型中protonet分类器中行分类,得到该待预测视频属于每一类的第一个得分;
[0105]
将待预测视频的视觉特征输入最终识别模型中流形数据分布分类器中,得到该待预测视频属于每一类的第二个得分;
[0106]
将该待预测视频属于每一类的第一个得分和第二个得分进行加权求和得到该待预测视频属于每一类的最终得分,按照得分由大到小排序并输出。
[0107]
作为改进,所述s320中基于数据的流形分布特征预测器中的对每个训练样本对应的视觉特使用表征传播的过程如下:
[0108]
输入是每个训练样本经特征提取器所获得的视觉特征f
i
表示第i个训练样本的视觉特征,表示m维的视觉特征;在传播的第一步就是计算所有的视觉特征对之间的欧式距离,将一个特征对用(i,j)表示,两者之间的欧式距离为d
ij
=||f
i

f
j
||,然后计算a
ij
=exp(d
ij2
/σ),其中σ是一个缩放因子,定义为σ就是d
ij2
的标准差;
[0109]
接下来需要计算的是所有训练样本的拉普拉斯矩阵l:
[0110][0111]
a表示所有训练样本的邻接矩阵,d表示所有训练样本的对角矩阵,d
ii
表示第i行第i 列,在矩阵d中,dii为a的第i行所有列对于的数据的和,其他项都为0,a
ij
表示邻接矩阵的第i行第j列,e表示当前迭代中训练样本的总数。最后通过经典的标签传播矩阵,标签传播矩阵可以表示为:
[0112]
p=(i

αl
‑1)
ꢀꢀ
(5)
[0113]
其中α是缩放因子,i是身份矩阵,身份矩阵就是对角线的值为1的矩阵,对应的就是节点自身对自身的影响力,所以,表征传播过程用公式(6)表示:
[0114][0115]
其中,表示的就是第i个训练样本的所有“邻居”的加权和,经过表征传播后,所有的训练样本的特征都实现为其“邻居”的特征加权表示,p
ij
表示传播矩阵p的第i行第j列。联系“紧密”的邻居节点的权重就高一些,关系不密切的邻居权重就低。以上操作在小样本学习中实现后的计算复杂度不算高;图2中展示了表征传播的传播过程,图2中一个节点代表一个样本。
[0116]
作为改进,所述s320使用基于数据视觉特征的预测器后得到的预测分数为每次迭代损失计算方法参见公式(3):
[0117][0118]
当l
cls
=l
d
时,p
c
取每个训练样本的属于某一训练类的第一个预测得分,y
c
为符号函数(取值为0或1),如果样本的真实类等于c取1,否则取0,c表示训练类的个数;
[0119]
当l
cls
=l
e
时,p
c
取每个训练样本的属于某一训练类的第二个预测得分,y
c
为符号函数 (取值为0或1),如果样本的真实类等于c取1,否则取0,c表示训练类的个数。
[0120]
作为改进,所述s420中将每个episode中的所有支持样本和查询样本对应的视觉特征输入基于数据的流形分布特征预测器中进行分类,每个episode中的所有支持样本和查询样本对应的视觉特征使用表征传播的方法与s320中对每个训练样本对应的视觉特使用表征传播的方法相同。
[0121]
作为改进,所述s420中将每个episode中的所有支持样本和查询样本对应的视觉特征输入基于数据的流形分布特征预测器中进行分类,每个episode中的所有支持样本和查询样本对应的表征传播特征使用标签传播的方法如下:
[0122]
不同于表征传播,标签传播的对象由特征变成了样本标签,而且标签传播是在表征传播的基础上的再传播。在标签传播进行之前,依旧先由特征提取器获得特征,再将这些视频特征进行表征传播,然后才是标签传播。
[0123]
每个episode中经过表征传播后获得的所有支持样本和查询样本对应的特征集合,表示为其中,k表示支持样本的个数q表示查询样本的个数m表示经过表征传播后单个特征的维度,然后计算对应的邻接矩阵a',计算方法同s320中训练样本邻接矩
阵的计算方法进而计算对应的拉普拉斯矩阵l',使用经典的标签传播公式得到传播矩阵p';
[0124]
对支持集中的支持样本的标签进行独热编码(one

hot encoding)【所述独热编码是一种现有技术】,得到编码结果矩阵y
s
,其中k=k,n=n,同时对查询集中的查询样本建立对应的零矩阵q表示查询集样本个数,零矩阵的维度q
×
n,,然后将y
s
和y
q
二者并联得到矩阵最后对y进行标签传播,如公式(7):
[0125][0126]
最终可以得到查询集中每个查询样本标签的传播结果集合
[0127]
其中,表示第i个查询样本的标签经过标签传播后的传播结果,表示传播矩阵p'的第i行第j列,y
j
表示第j个查询样本的标签。
[0128]
标签传播的示意图如图3所示,图中非白色的几何图形即代表有标签的支持集数据样本,而白色的几何图形则表示未带标签的查询集样本。经过标签传播,从示意图不难看出所有标签的颜色变为了“彩色”,意思是它们的标签被表示为其他样本标签的加权和,其中不同的颜色对应不同的类标签,随后将查询集样本标签被预测为占比最大的颜色对应的类标签,也就是各个类的累加预测分数中的最高值对应的类标签。在图3中,一个节点代表一个样本。
[0129]
作为改进,所述s420所有微调样本的标签传播分类损失之和为l'
e
的计算方法使用公式 (3),此时l
cls
=l'
e
,p
c
取每个微调样本属于某一训练类的第二个预测得分,c表示训练类的个数。
[0130]
作为改进,所述s420中每个微调样本的总预测分数p
total
采用公式(8)计算:
[0131][0132]
其中α与β分别表示权重。
[0133]
作为改进,所述s430微调阶段的总损失l
finetune
的计算方法如公式(9):
[0134][0135]
其中c表示episode中训练类的个数,c=n,γ表示权重。
[0136]
实验与评估
[0137]
本发明方法使用的数据集是hmdb51和ucf101。hmdb51数据集由51个动作类的6849 个视频组成,每个动作类至少包含101个视频,视频主要来源是电影作品。该数据集中数据的变化主要体现在目标外观和人体姿态方面,其包含的动作主要分为五类:一般面部动作、有操作对象的面部动作、一般的身体动作、人与人交互的动作和人与对象交互的动作。本发明将该数据集划分为训练集、验证集和测试集三部分,这三部分各自包含31、10和10个动作类。
[0138]
ucf101是从youtube收集的包含101个动作类的视频数据集。该数据集追求视频动作的真实性,每个动作类中的视频都由25组人完成,每组人完成4至7个视频,同时每组人完成的视频内容在相机运动、目标姿势与变化、物体大小、视角、背景纯净度、光照等方面存在
很大的差异,数据集共13320个视频,分辨率均为320
×
240。同样该数据集被划分为训练集、验证集和测试集三部分,每部分含有70、10以及21个动作类。
[0139]
识别模型中使用resnet18网络作为特征提取器,进行特征提取的时候,输入的一个视频经采样后由16帧的rgb图像代替,然后将每一帧图片都重新裁剪为224
×
224大小,并且对视频帧图片采取了50%概率的水平方向的随机翻转策略。
[0140]
在识别模型的训练阶段的训练过程中,批处理大小被设置为16,训练、验证流程都迭代 100次。在微调阶段,针对1

shot和5

shot两种情形对模型进行微调,因为此时模型是基于 episode进行训练的,batch

size为1,训练和验证过程的迭代次数设置为100和200。实验中融合深度特征与数据的流形分布进行预测的时候,深度特征对应预测分数占比为α=0.4,流形的数据分布对应的预测分数占比为β=0.6。在模型进行微调的时候,微调损失函数中表征传播特征对应的分类损失l'
e
权重γ=0.1。在学习率的设置上,训练阶段和微调阶段的初始学习率都是0.01,然后设置一个参数patience,当模型在验证集上计算得到的损失值连续patience 次小于之前所有的验证损失的平均值时,学习率衰减一次,同时也设置了学习率的最小值,当学习率衰减了4次之后就结束训练过程。实验中使用的是梯度下降算法是随机梯度下降。
[0141]
评估标准
[0142]
本发明在对小样本学习结果进行评估的时候,使用了n

way k

shot这一概念,具体来说,使用的是目前主流的两种评估方案,即5

way 1

shot和5

way 5

shot。以上提到的两种方案都是从测试集数据中取5个类的数据作为支持集,之后分一个类取1个样本和一个类取5个样本两种情形。除了支持集,还需要选取查询集,其类别应与支持集一致且其中的样本与查询集不重复,本发明在每个类中选取10个查询样本。最后由支持集和查询集组成一个episode 进行模型性能评估。
[0143]
在最后计算查询集预测结果的时候,本发明使用准确率这一判定标准,同时进行200次的重复实验取平均值以及95%置信度区间。
[0144]
实验结果
[0145]
实验时针对小样本学习中的“5

way 1

shot”和“5

way 5

shot”任务进行测试,表1和表2分别展示了现有的小样本视频行为识别方法以及本发明方法在hmdb51和ucf101数据集上的测试结果。从表中的统计结果不难发现,以往的模型均是基于3d方法的,这能让特征提取器获取更多时间维度上的信息,而基于2d方法的特征提取器对时间维度的信息没有那么敏感,但本发明基于2d方法的特征提取器构建小样本视频行为识别模型,同样拥有先进的性能。同时因为使用的方法是基于2d的,本发明提出的模型的参数量以及计算量都会有大幅度的减少,最终以较低的资源消耗代价获得了十分不错的性能表现,尤其是在1

shot的情况下,本发明方法对分类准确率的提升尤为明显,与现有的方法相比,在hmdb51数据集上提升了3.6%,在ucf101数据集上提升了4.6%,而在5

shot的情况下,本发明方法与以往的3d方法相比也毫不逊色,性能表现基本持平甚至略高。
[0146]
i3d表示:双流膨胀3d卷积神经网络(two

stream inflated 3d convnets)。
[0147]
i3d tsf表示:在i3d的基础上使用“temporal structure filter”(时间结构滤波器)。
[0148]
genapp表示:generative approach,针对零样本与小样本行为识别提出一种“生
成方法”,使用概率分布对每个动作类进行建模。
[0149]
protogan表示:使用了“类原型迁移网络(prototype transfer network)” “条件对抗生成网络(cgan)”。
[0150]
i3d sldg表示:i3d “short

long dynamic gaussian”(长短动态高斯”),其亮点是可以接受所有的视频帧作为输入,然后用注意力机制进行融合。
[0151]
arn表示:few

shot action relation network(小样本行为关系网络),其使用了c3d特征提取器,并使用了时空注意力机制以及关系网络,此外还使用了自监督学习机制,包括时序拼接、空间拼接和旋转。
[0152]
表1本发明方法与现有方法在hmdb51上测试结果对比
[0153][0154]
表2本发明方法与现有方法在ucf101上测试结果对比
[0155][0156][0157]
消融实验
[0158]
为了更加深入的研究本发明提出的模型,本节将介绍一系列的消融实验的结果。评估标准是训练阶段结束后得到的模型的性能,因为微调阶段本身是为了让模型更适应小样本学习,提高模型的稳定性,而且通过实验发现,其对于模型在测试集上的最终性能的提升也比较有限。为了验证评估标准的合理性,本发明在hmdb51和ucf101数据集中进行了实验,如表3 所示,在训练阶段完成后以及针对5

shot进行微调后将模型性能进行测试,可以发现在验证集和测试集上的分类精度的提升都比较小,不难发现通过了解模型在完成训练阶段的训练流程之后的性能,基本可以预见模型的最终性能表现。所以在消融实验的时候,只比较模型完成训练阶段之后的性能即可,同时本发明在hmdb51数据集上进行消融实验。
[0159]
表3训练阶段与微调阶段结束后模型分类准确率
[0160][0161]
本发明方法同时使用了深度特征与数据的流形分布特征,通过对二者对应的标签预测分数进行加权求和得到了全新的预测分数,在使用合理的权重分配方案后,该预测分数具有更强的判别性。为了证明模型中选取的权重分配方案是最合适的,在消融实验中进行了各种不同的权重组合的实验,同时保证两者的权重值相加始终为1,然后从0至1之间选取流形分布的对应权重进行实验,相反基于深度视觉特征对应的预测分数的权重的取值则是从1到0。实验结果如图6所示,从图中可以看出,本发明提出的模型在深度特征权重α=0.4和流形分布特征权重β=0.6的性能是最好的,而且当β=1.0的时候,表示只考虑了数据的流形分布特征,其表现不如分配了一定权重给深度视觉特征对应的结果,在β=0的时候,单独使用深度视觉特征的结果也是不如两者融合后的分类结果。可见,这两种形式的知识经过合理的权重分配可以达到相辅相成的效果,形成优势互补,两者在α=0.4、β=0.6处达到一种平衡状态,以此情况为分界线,流形分布和深度视觉特征的权重不管是增加还是减少,模型的性能都呈下降趋势。此外,还测试了α分别为0、0.6以及1的时模型在测试集中10个动作类的具体分类性能表现,结果如图7所示,从图中可以看出,当α为0.6的时候,模型在5个动作类上取得了最佳分类效果,在4个动作类上虽然效果不是最佳,但都在朝最佳结果靠拢,较最差结果有明显提升,仅在1个类上取得了最差结果,但此时与更好的结果相比落后非常小,三者基本持平。通过以上实验,可以发现将深度视觉特征与数据的流形分布特征进行合理的融合后,增加判别信息的同时,二者能互相影响,相互促进,进而实现良好的小样本视频行为分类性能。
[0162]
分类器
[0163]
在模型进行验证与预测的时候,需要根据深度视觉特征进行分类,此时就涉及到了分类器的选择,不同选择对于模型的性能自然会有影响,本发明选择使用knn、svm以及protonet 这三种分类器进行对比,评估标准是模型在训练阶段中在测试集上的性能表现,实验结果如表4所示,首先是在验证集结果最佳的情况下,此时观察模型在测试集上的性能,从表中可以看到protonet分类器取得了最佳的分类效果。此外,在整个训练阶段过程中,观察模型在测试集上的最好表现,也是protonet分类器取得最佳性能。
[0164]
表4不同分类器测试结果
[0165][0166]
平滑流形结构
[0167]
为了验证模型中表征传播对流形结构的平滑操作能提升模型的性能,本发明进行了对比实验,即在深度特征权重为0.4和流形特征权重为0.6的时候,取消使用表征传播,对特征提取器获取的特征直接使用标签传播获取标签预测值。注意,取消使用表征传播时模型的训练阶段的损失只剩下了直接对深度视觉特征使用线性分类器得到的分类损失l
d
,与使用标签传播的结果对比如表5所示,从表中不难看出使用表征传播后提升了模型的性能,表征传播是有效的。
[0168]
表5是否使用表征传播结果对比
[0169][0170][0171]
本发明提出了一种有效的多知识融合方法。本发明方法使用深度视觉特征与数据的流形分布特征两种知识进行标签预测,通过增加判别信息来缓解小样本学习中信息量不足的问题,同时数据的流形分布还能缓解域偏移与枢纽点问题。通过在hmdb51和ucf101数据集上进行实验验证,证明本发明方法在小样本视频行为识别中的有效性。消融实验中,证明了多知识融合思想的有效性,同时经过多次融合实验寻求最佳权重分配方案,实验中也对分类器进行了筛选,选择最适合该模型的分类器,实验还证明了模型中的表征传播操作对于提升模型性能的有效性。
[0172]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献