掌桥专利:专业的专利平台
掌桥专利
首页

一种基于自监督预训练的监控视频异常识别方法及系统

文献发布时间:2024-04-18 19:58:53


一种基于自监督预训练的监控视频异常识别方法及系统

技术领域

本发明属于视频处理技术领域,尤其涉及一种基于自监督预训练的监控视频异常识别方法及系统。

背景技术

监控视频异常检测(Video Anomaly Detection)的任务是给出无标签或者弱标签(只在视频级别上进行标注)的监控视频,判断该视频是否包含异常事件片段并定位异常发生的时间段。监控视频异常检测问题是计算机视觉和数字图像处理中的热门问题,该技术目前迫切的被需要于智慧城市,平安校园,安全工厂的建设领域,但现存异常检测方法却对实际应用作用不大:精度较低,由于异常事件相对于正常事件数量较少,数据的类别分布不平衡,导致模型在训练时难以准确地捕捉到异常样本的特征,从而影响了异常检测的准确性;误报率较高,在实际应用中,误报率过高可能会导致不必要的警报,增加了系统的管理成本和运营成本;评测对数据集过于模糊及规模较小,目前常用的数据集规模较小,且评测方法过于模糊,无法准确衡量算法的性能。这也导致了现有的异常检测方法在实际应用场景中的表现与评测结果之间存在较大的差距。因此,随着计算机视觉技术迈入大算力大模型时代,将自监督预训练对方法应用于视频异常检测领域有着重要对现实意义。

由于监控视频的冗余性,即包含大量重复无意义的正常片段,如果采用有监督的学习,人工标注将是个耗时且成本大的工作,因此无监督学习更具有现实意义。现有无监督学习方法分为两种:重建和预测。这两种方法依赖的先验知识都是:在现实生活中,异常事件的出现频率要比正常事件低得多,且异常种类繁多,难以概括全,因此,异常的重建和预测难度都要远高于正常。然而,现实情况并不总是能保证训练集只包含正常样本,而且现有的用于提取特征的模型都是在比Transformer性能差的CNN网络上,用行为识别数据集进行预训练的。这些模型并不能很好地适用于监控视频的特征提取任务。

发明内容

本发明的目的在于提供一种基于自监督预训练的监控视频异常识别方法,旨在解决现实情况并不总是能保证训练集只包含正常样本,而且现有的用于提取特征的模型都是在比Transformer性能差的CNN网络上,用行为识别数据集进行预训练的。这些模型并不能很好地适用于监控视频的特征提取任务的问题。

本发明是这样实现的,一种基于自监督预训练的监控视频异常识别方法,所述方法包括:

采集多个场景下的监控视频,构建预训练数据集,并采集居家多模态信号;

对预训练数据集进行采样处理,基于采样结果提取tokens,对预设比例的tokens进行掩码处理,构建异常识别模型,并对其进行预训练,得到预训练模型;

构建多层感知机构,基于预训练模型对多层感知机构进行训练;

将需要检测的新视频导入到多层感知机构中进行打分处理,基于打分结果判定是否存在异常。

优选的,所述构建预训练数据集的步骤包括,对监控视频进行数据清洗,并统一监控视频的分辨率和存储格式,生成pretrain_list作为预训练数据集。

优选的,所述对预训练数据集进行采样处理,基于采样结果提取tokens,对预设比例的tokens进行掩码处理,构建异常识别模型,并对其进行预训练,得到预训练模型的步骤,包括:

对预训练数据集中的监控视频进行采样,得到多个视频片段;

基于视频片段映射得到tokens,对预设比例的tokens进行掩码处理,用于掩码处理的掩码图来源于居家多模态信号的交叉注意力;

tokens加入第一组位置编码后作为输入,将其输入值编码器E中,提取完整特征表示;

通过解码器D恢复原始视频片段的像素级表示。

优选的,构建异常识别模型的步骤中,使用距离函数作为损失函数,优化目标函数为:

其中,

优选的,基于预训练模型对多层感知机构进行训练的步骤中,当待检测的视频片段的最后一帧进行掩码,通过编码器和解码器对最后一帧进行补齐,计算补齐的最后一帧与真实发生的最后一帧之间的均方差损失,得到第一异常得分,将补齐的最后一帧与真实发生的最后一帧输入到多层感知机构中,输出第二异常得分,第二异常得分的学习目标为第一异常得分,以完成对多层感知机构的训练。

优选的,基于采样结果提取tokens的步骤包括,视频片段包含T个连续帧,输入[0,T-1]帧3×H×W的连续帧

本发明的另一目的在于提供一种基于自监督预训练的监控视频异常识别系统,所述系统包括:

数据采集模块,用于采集多个场景下的监控视频,构建预训练数据集,并采集居家多模态信号;

预训练模块,用于对预训练数据集进行采样处理,基于采样结果提取tokens,对预设比例的tokens进行掩码处理,构建异常识别模型,并对其进行预训练,得到预训练模型;

感知机构训练模块,用于构建多层感知机构,基于预训练模型对多层感知机构进行训练;

异常识别模块,用于将需要检测的新视频导入到多层感知机构中进行打分处理,基于打分结果判定是否存在异常。

本发明提供的一种基于自监督预训练的监控视频异常识别方法,采用先进的监控摄像头采集的数据,而非现有年代较久远、分辨率较高的监控视频数据集,并且结合了多模态居家信号,使得输入信息更加丰富。现有视频异常检测方法为通用型技术,没有对特定场景下的检测要求进行特定训练,道路监控需注意是否有事故等,本发明可以在不改动模型结构的前提下,利用特定场景下的监控视频进行预训练,使模型增强该场景下的异常检测能力。

附图说明

图1为本发明实施例提供的基于自监督预训练的监控视频异常识别方法的流程图;

图2为本发明实施例提供的基于自监督预训练的监控视频异常识别系统的架构图;

图3为本发明实施例提供的自监督训练的流程图;

图4为本发明实施例提供的进行微调的流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。

现有技术通常采用重建或者预测的方式进行异常检测:

(1)重建:基于重建的方法,一般采用成熟的三维卷积网络作为特征提取器,例如I3D、C3D、Resnet3d等,将像素级输入转换为高维特征图:F

(2)预测:基于预测的方法,一般采用U-Net结构,输入连续帧[T-τ,T-1]的像素级表示,经过U-Net网络后得到第T帧的像素级表示;或者输入为[T-τ,T-1]∪[T+1,T+τ],输出为T。同样的,由于训练阶段只包含正常事件,模型偏向与于根据过去帧恢复出包含正常事件的未来帧,这时,如果真实未来帧是异常事件,那么均方差损失较高,异常得分高。

如图1所示,为本发明实施例提供的基于自监督预训练的监控视频异常识别方法的流程图,所述方法包括:

采集多个场景下的监控视频,构建预训练数据集,并采集居家多模态信号;

对预训练数据集进行采样处理,基于采样结果提取tokens,对预设比例的tokens进行掩码处理,构建异常识别模型,并对其进行预训练,得到预训练模型;

构建多层感知机构,基于预训练模型对多层感知机构进行训练;

将需要检测的新视频导入到多层感知机构中进行打分处理,基于打分结果判定是否存在异常。

如图1、图3和图4所示,本发明具体分为四个步骤:

(1)收集无标注的多场景下高分辨率的室内监控视频,同时收集居家多模态信号:

自监督预训练任务必不可少的部分便是足够大的预训练数据集,而现有的benchmark数据集年代久远,分辨率低,数量少。为解决上述问题,可以收集大量道路交通监控视频,校园生活监控视频和港口车辆进出集装箱装卸监控视频,清洗数据,统一分辨率和存储格式后,生成pretrain_list作为预训练数据集。

(2)自监督预训练阶段:

由于本发明中用于预训练的真实监控数据集例(如校园、道路及港口场景)基本上不包含爆炸等异常事件,所以这些数据可以近似看成正常数据集。在对这些大量无标签的监控视频进行采样后,得到包含若干连续帧(T)的视频片段;输入[0,T-1]帧3×H×W的连续帧

F

补齐前面若干帧空间上的掩码,并连接上被裁掉的最后一帧掩码F

F

送入解码器D中(D为比E结构简单且参数量少的vision transformer结构),恢复出T帧的原始视频片段的像素级表示

预训练阶段的优化目标是(1)恢复出的完整视频片段和除去最后一帧的输入视频片段在像素级上尽可能相近,即重建误差

其中,

预训练结束后的模型具有了根据已发生的事件合理推测未来画面的能力,且这种推理能力比较偏向于正常事件。

(3)微调网络:

在得到了预训练模型后,在无监督视频异常检测数据集上对其进行微调。此阶段是为了训练一个多层感知机结构(MLP)S用于异常打分。将待检测的视频片段掩去最后一帧,得到

(4)推理阶段。将需要检测的新视频切分成连续帧后进行图像预处理,送入S中获得每一帧的最终异常得分。至此,就完成了无监督监控视频异常检测的预训练、微调和推理过程。

如图2所示,为本发明实施例提供的基于自监督预训练的监控视频异常识别系统的架构图,所述系统包括:

数据采集模块,用于采集多个场景下的监控视频,构建预训练数据集,并采集居家多模态信号;

预训练模块,用于对预训练数据集进行采样处理,基于采样结果提取tokens,对预设比例的tokens进行掩码处理,构建异常识别模型,并对其进行预训练,得到预训练模型;

感知机构训练模块,用于构建多层感知机构,基于预训练模型对多层感知机构进行训练;

异常识别模块,用于将需要检测的新视频导入到多层感知机构中进行打分处理,基于打分结果判定是否存在异常。

在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

采集多个场景下的监控视频,构建预训练数据集,并采集居家多模态信号;

对预训练数据集进行采样处理,基于采样结果提取tokens,对预设比例的tokens进行掩码处理,构建异常识别模型,并对其进行预训练,得到预训练模型;

构建多层感知机构,基于预训练模型对多层感知机构进行训练;

将需要检测的新视频导入到多层感知机构中进行打分处理,基于打分结果判定是否存在异常。

在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:

采集多个场景下的监控视频,构建预训练数据集,并采集居家多模态信号;

对预训练数据集进行采样处理,基于采样结果提取tokens,对预设比例的tokens进行掩码处理,构建异常识别模型,并对其进行预训练,得到预训练模型;

构建多层感知机构,基于预训练模型对多层感知机构进行训练;

将需要检测的新视频导入到多层感知机构中进行打分处理,基于打分结果判定是否存在异常。

应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术分类

06120116511894