本发明涉及计算机视觉,尤其涉及一种弱监督自训练视频异常检测方法。
背景技术:
1、由于异常事件本身是罕见的,因此现有的一种流行的范式是一类分类或者无监督学习,即训练时只加入正常的视频片段,让深度网络学习正常视频的特征,将区别于正常视频的特征判定为异常。此类方法有明显的局限性,即没有足够的数据用以学习表征所有的正常行为,因此一些训练集中没有囊括的正常片段可能被误检为异常。
2、对于异常视频而言,该视频级的标签并不完全正确,只能看作带有噪声的标签,或者低置信度标签。为解决该问题,其他研究提出使用gcn获取视频片段的特征相似性和时间一致性采用迭代的方法来清洁标签噪声,该方法将视频级别的标签直接分配给每个视频片段,导致异常片段受到异常视频里正常片段的影响。另外一些研究采用直接生成伪标签的方法,例如使用基于时空视频特征的二元聚类方法清洁标签噪声,聚类与网络在训练过程中相互补充;使用mil方法训练伪标签生成器,来生成片段级别的视频标签。但是,该方法仅相当于直接使用视频片段的异常得分来监督异常检测,忽略了异常视频中片段分布特点,可能会引入不必要的标签噪声。
技术实现思路
1、针对现有技术的不足,本发明提供了一种弱监督自训练视频异常检测方法,解决了弱监督方法会引入大量标签噪声的技术问题,达到了利用先验知识生成高置信度的伪标签,提高异常检测准确率的目的。
2、为解决上述技术问题,本发明提供了如下技术方案:一种弱监督自训练视频异常检测方法,该检测方法包括以下步骤:
3、s1、获取视频异常检测数据集并将其划分为训练集和测试集;
4、s2、搭建异常检测模型并采用训练集进行训练,异常检测模型包括第一阶段网络模型和第二阶段网络模型;
5、s3、将待检测视频输入至训练后的异常检测模型中预测每个视频片段的异常得分,根据异常阈值对视频片段中的异常进行检测;
6、若异常得分大于阈值,则为异常片段;
7、若异常得分小于阈值,则为正常片段。
8、进一步地,在步骤s1中,具体过程包括以下步骤:
9、s11、收集不同场景下的监控视频,不同场景包括超市、银行、大学校园、高速公路、公园、居民小区;
10、s12、根据监控视频中是否包含异常事件标记为异常视频va和正常视频vn,得到与异常事件对应的视频级别的标签。
11、s13、将视频异常检测数据集划分为训练集和测试集。
12、进一步地,在步骤s2中,具体包括:
13、s21、进行第一阶段训练,将训练集中的每个视频划分为长度相同的若干视频片段,将若干视频片段送入视频特征编码器获取对应的视频片段特征,利用视频片段特征以及视频级别的标签训练基于先验知识引导的伪标签生成器,生成视频片段的伪标签;
14、s22、进行第二阶段训练,利用视频片段和和伪标签生成器生成的伪标签监督训练一个多尺度时间特征网络模型。
15、进一步地,在步骤s21中,具体过程包括以下步骤:
16、s211、将训练集中的每个视频划分为长度相同的若干视频片段和
17、s212、设置第一阶段训练相关参数;
18、s213、根据相关参数搭建第一阶段网络模型,第一阶段网络模型由一个特征提取模块以及一个伪标签生成器组成,其中,伪标签生成器包括一个多层感知机、高斯混合模块gmm和一维中值滤波模块omf;
19、s214、视频片段通过特征提取模块提取对应视频特征,再将视频特征输入伪标签生成器中生成高置信度的伪标签。
20、进一步地,在步骤s214中,具体过程包括以下步骤:
21、s2141、将若干视频片段和输入视频特征编码器中得到对应视频片段特征和
22、s2142、使用视频片段特征和视频级别的标签训练多层感知机,多层感知机由三个神经元数量不同的全连接层组成;
23、s2143、训练后的多层感知机输出的正常视频和异常视频的粗粒度异常得分分别为和再将异常得分和分别输入高斯混合模块gmm和一维中值滤波模块omf中,用先验知识引导生成高置信度异常得分和归一化后得到视频片段的伪标签
24、进一步地,在步骤s22中,具体过程包括以下步骤:
25、s221、搭建第二阶段网络模型,第二阶段网络模型为多尺度时间网络,多尺度时间网络由一个主干网络和三个分支组成;
26、s222、将第一阶段训练得到的伪标签与视频片段和结合输入到第二阶段训练多尺度时间特征网络中,主干网络会提取视频片段的深层特征,将主干网络的第4层和第5层输出的特征图fb-4和fb-5输入到后续三个分支中。
27、s223、对三个分支进行训练。
28、进一步地,
29、主干网络采用预训练的c3d或i3d编码器;
30、三个分支分别为注意力分支、自我引导分支和空洞卷积分支;
31、注意力分支由一个注意力模块和分类头hc组成,自我引导分支由两个三维卷积层和分类头hg组成,空洞卷积分支由两个不同空洞率的空洞卷积和分类头hc组成。
32、进一步地,在步骤s223中,具体过程包括以下步骤:
33、s2231、注意力分支训练;
34、s2232、自我引导分支训练,将输入conv3d3再经过一次全局平均池化和一次平均池化进行降维,通过softmax操作得到异常得分,使用交叉熵损失lself-guide优化自我引导分支;
35、s2233、空洞卷积分支训练,空洞卷积分支将作为输入,分别通过两个三维空洞卷积dc3d1、dc3d2得到对应特征图,再将对应特征图相加得到多尺度特征图fmulti-scale。
36、进一步地,在步骤s2231中,具体过程包括:
37、s22311、将fb-4输入到两层三维卷积层conv3d1和conv3d2后得到的特征图与fb-5相加进行注意力操作,将第一层三维卷积输出的特征图记作
38、s22312、将输入第二层三维卷积conv3d2得到特征图f*;
39、s22313、将f*与fb-5相乘再加上fb-5得到最终的注意力特征图fatten;
40、s22314、使用伪标签作为监督,fatten通过分类头hc和softmax操作生成网络最终的异常得分,使用latten优化注意力分支。
41、借由上述技术方案,本发明提供了一种弱监督自训练视频异常检测方法,至少具备以下有益效果:
42、1、本发明针对弱监督方法引入的标签噪声问题,将弱监督学习与自训练方法相结合,构建了一个二阶段自训练网络,第一阶段使用视频级标签训练基于先验知识引导的伪标签生成器,利用该生成器生成符合视频片段分布的高置信度的伪标签。
43、2、本发明考虑到异常事件发生之前和异常事件发生之后的一段时间内的正常片段也蕴含着部分异常信息。因此,在第一阶段考虑使用高斯模型来建模一个异常事件发生的整个过程。由于一个异常视频中可能包多个异常事件,因此使用gmm建模整个异常视频的标签分布,从而生成更符合异常事件特点的高置信度的标签,从而解决弱监督方法引入标签噪声的问题。
44、3、本发明采用一维中值滤波的方式得到正常视频的伪标签。而不是直接将正常视频的视频级标签分配给正常视频片段,而对异常视频中正常片段使用软标签监督,该不利于网络学习正常视频片段的特征,而使用异常得分的中值作为伪标签更具有鲁棒性。
45、4、本发明为了更好的学习视频中异常部分的特征,本发明采用包含三个分支的多尺度时空特征网络,能很好的提升异常检测效果。
46、5、本发明使用基于先验知识引导的伪标签生成生成高置信度伪标签,减轻了弱监督方法引入的标签噪声造成的不利影响,本发明利用多尺度时空特征网络学习到了不同尺度的异常信息,帮助网络更好的学习视频中的异常部分。