CN114842371B - 一种无监督视频异常检测方法 - Google Patents
一种无监督视频异常检测方法 Download PDFInfo
- Publication number
- CN114842371B CN114842371B CN202210326903.3A CN202210326903A CN114842371B CN 114842371 B CN114842371 B CN 114842371B CN 202210326903 A CN202210326903 A CN 202210326903A CN 114842371 B CN114842371 B CN 114842371B
- Authority
- CN
- China
- Prior art keywords
- hash
- training
- encoder
- video
- codes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 45
- 238000012549 training Methods 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000012360 testing method Methods 0.000 claims abstract description 54
- 239000013598 vector Substances 0.000 claims abstract description 51
- 230000002159 abnormal effect Effects 0.000 claims abstract description 25
- 238000013528 artificial neural network Methods 0.000 claims abstract description 21
- 230000005856 abnormality Effects 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 5
- 238000012952 Resampling Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 4
- 230000006399 behavior Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006993 memory improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2433—Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/36—Applying a local operator, i.e. means to operate on image points situated in the vicinity of a given point; Non-linear local filtering operations, e.g. median filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Nonlinear Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种无监督视频异常检测方法,首先获取待处理训练视频或测试视频中设定数量的视频帧,分别输入深度神经网络,提取特征向量;通过自监督学习方式训练可学习局部敏感哈希模型;利用训练完成的可学习局部敏感哈希模型进行异常检测,异常检测的过程包括构造哈希表和查询哈希表两个阶段,最终得到测试视频帧的异常概率。本发明将局部敏感哈希实现为一个参数化网络,并在对比学习框架中进行端到端的训练,可以高效灵活地利用正常数据的知识来判别异常和正常事件。
Description
技术领域
本发明属于模式识别技术领域,具体涉及一种视频异常检测方法。
背景技术
无监督视频异常检测旨在识别不符合预期的异常事件,其特点是在训练期间只有包含正常事件的数据可用。若当前数据与已知数据偏差较大,则将当前数据定义为异常数据。异常事件是指不在已知范围内的事件或不期望发生的事件,比如在步行道上骑车、在草坪上行走。无监督视频异常检测技术在智能监控系统、视频分析中有重要的现实应用意义。
相关技术中,无监督视频异常检测方法可分为基于距离的方法、基于重建的方法和基于预测的方法。基于距离的方法根据测试数据和所有已知正常数据特征之间的距离来检测异常,其中代表性方法包括基于视频分块、单类支持向量机的决策边界和聚类中心的方法。然而,由于一些关键参数设置,如聚类数量,是人为确定的,因此这类方法适应性不强。此外,这些方法还面临计算量大的问题。基于重建的方法和基于预测的方法在训练数据上训练自编码器,以重建当前帧或预测下一帧。这两种方法假设异常帧很难重建或预测,因此可以根据较高的重建或预测误差来检测异常。这两类方法的主要缺点是它们没有明确地考虑正常模式的多样性,因此对复杂场景的适应性和可扩展性是有限的。为了解决这个问题,一些工作使用基于距离的方法来增强基于重建或基于预测的方法。具体来说,这些方法设计一个记忆模块,在训练阶段存储典型的正常模式,并在测试阶段检索它们以进行重建或预测。但是,训练数据中并没有足够有效的监督知识来指导可以丢弃哪些信息,以上方法无法充分利用训练数据中完整的正常模式。
发明内容
为了克服现有技术的不足,本发明提供了一种无监督视频异常检测方法,首先获取待处理训练视频或测试视频中设定数量的视频帧,分别输入深度神经网络,提取特征向量;通过自监督学习方式训练可学习局部敏感哈希模型;利用训练完成的可学习局部敏感哈希模型进行异常检测,异常检测的过程包括构造哈希表和查询哈希表两个阶段,最终得到测试视频帧的异常概率。本发明将局部敏感哈希实现为一个参数化网络,并在对比学习框架中进行端到端的训练,可以高效灵活地利用正常数据的知识来判别异常和正常事件。
本发明解决其技术问题所采用的技术方案包括如下步骤:
步骤1:获取待处理训练视频或测试视频中设定数量的视频帧,将训练视频帧和测试视频帧分别输入预先训练好的深度神经网络,提取训练视频帧的特征向量和测试视频帧的特征向量;
步骤2;利用训练视频帧的特征向量,通过自监督学习方式训练可学习局部敏感哈希模型;
所述可学习局部敏感哈希模型包括左右对称的两部分,两部分分别为第一哈希编码器和第二哈希编码器;
步骤3:利用训练完成的可学习局部敏感哈希模型进行异常检测,异常检测的过程包括构造哈希表和查询哈希表两个阶段;
步骤3-1:在构造哈希表阶段,将训练视频帧的特征向量送入已训练的第一哈希编码器,第一哈希编码器包含多个哈希层,每个哈希层输出一个哈希编码;对所有哈希编码进行二值化处理,得到训练视频帧的二值编码;将训练视频帧的二值编码作为键、哈希编码作为值,构造哈希表;
步骤3-2:在查询哈希表阶段,将测试视频帧的特征向量送入已训练的第一哈希编码器,得到多个哈希编码,并进行二值化处理,得到测试视频帧的二值编码;将测试视频帧的二值编码作为键,在哈希表中查找具有相同键的训练视频帧的哈希编码;计算查找到的训练视频帧的哈希编码与测试视频帧的哈希编码之间的距离,将其中的最小距离作为测试视频帧的异常概率;对于一段视频内所有帧进行异常检测过程,得到所有帧的异常概率,并进行归一化,规定一个异常概率阈值,异常概率高于阈值的帧即判定为发生了异常事件,反之则为正常事件。
进一步地,所述预训练的深度神经网络为Kinetics-400行为识别数据集上训练的I3D网络。
进一步地,所述提取训练视频帧的特征向量和测试视频帧的特征向量的过程包括:
对于一个给定视频,从第t帧开始,按照采样率s,总共T帧被采样为一个视频片段It,然后,片段It被送入预训练的深度神经网络,输出特征向量xq。
进一步地,所述通过自监督学习方式训练可学习局部敏感哈希模型的过程包括:
步骤2-1:所述第一哈希编码器和第二哈希编码器均由b个并行哈希层H1,H2,…,Hi,…,Hb组成,哈希层Hi将xq映射为长度为r的短哈希编码;每个哈希层是一个带有sigmoid激活函数的全连接层,并且无偏置项,输出维度为r;
步骤2-2:对一个训练视频中采样片段It,通过预训练的深度神经网络提取特征向量xq,经过第一哈希编码器Eq得到b个长度为r的短哈希编码,所有的短哈希编码连接起来作为一个紧凑哈希编码zq;
步骤2-3:在训练视频中再次采样一个片段It+Δt,其中Δt是一个时间偏移量,提取特征并送入第二哈希编码器Ek,将输出的短哈希编码连接起来作为紧凑哈希编码zk;将第二哈希编码器最近输出的l个紧凑哈希编码表示为zk (1),…,zk (l),将其放入先入先出队列;
步骤2-4:按照如下损失函数公式(1),计算zq和队列中l个紧凑哈希编码之间的信息噪声对比估计损失:
其中zk+是最近放入先入先出队列的一个紧凑哈希编码,τ是温度系数;
步骤2-5:通过梯度下降法更新第一哈希编码器Eq的参数θq;按照如下公式(2),通过动量更新第二哈希编码器Ek的参数θk:
θk←mθk+(1-m)θq (2)
其中m∈[0,1)是动量系数;
在更新过程中,预训练深度神经网络的参数被冻结,不参与更新;
步骤2-5:由损失函数L判断第一哈希编码器是否收敛;如果收敛,则采用第一哈希编码器,用于异常检测的构造哈希表和查询哈希表阶段;如果未收敛,则返回步骤2-2继续训练第一哈希编码器直到收敛。
进一步地,所述异常检测的构造哈希表过程包括:
将训练视频帧的特征向量表示为x1,…,xN,其中N表示训练样本的数量;对于第n个特征向量xn,将其送入第一哈希编码器Eq;第一哈希编码器包含b个并行哈希层H1,…,Hb,将特征向量xn映射到r位的哈希编码h1,xn,…,hb,xn;然后构建b个哈希表Dj,j∈{1,…,b}来存储训练数据xn的哈希编码,其中第j个哈希表的键为哈希编码hi,xn的二值化表示bin(hj,xn),值为哈希编码hj,xn;
所述二值化函数bin(h)定义为:
在第j个哈希表Dj中,对所有n∈{1,…,N},哈希编码hj,xn及其二值化编码bin(hj,xn)分别作为一组值和键存储到哈希表中;在一个哈希表中,如果若干个哈希编码具有相同的二值化编码,则将这些具有相同二值化编码的哈希编码存储在同一个桶中;最终得到了b个哈希表D1,…,Db,每个哈希表通过若干二值化键存储了N个哈希编码,完成哈希表构造过程。
进一步地,所述异常检测的查询哈希表过程包括:
测试视频帧的特征向量表示为y1,…,yM,其中M表示测试样本的数量;第m个特征ym通过第一哈希编码器的b个哈希层,映射到b个长度为r的哈希编码h1,ym,…,hb,ym;
对第j个哈希编码hj,ym,通过二值化函数,将哈希编码映射为二值编码bin(hj,ym),将二值编码bin(hj,ym)作为键在对应哈希表Dj中查找对应的桶;
如果在哈希表Dj中存在以二值编码bin(hj,ym)为键的桶,则计算该桶中存储的所有训练视频帧特征向量的哈希编码与测试视频帧特征向量的哈希编码ym之间的平均距离;如果二值编码bin(hj,ym)在哈希表Dj中不存在,则为二值编码bin(hj,ym)距离值指定一个大于其它所有距离值的常数;
对所有哈希表D1,…,Db,总共得到b个距离值,将其中的最小距离作为测试视频帧的异常概率;对于一段视频内所有帧进行异常检测过程,得到所有帧的异常概率,并进行归一化,规定一个异常概率阈值,异常概率高于阈值的帧即判定为发生了异常事件,反之则为正常事件。
本发明的有益效果如下:
本发明将局部敏感哈希实现为一个参数化网络,并在对比学习框架中进行端到端的训练,可以高效灵活地利用正常数据的知识来判别异常和正常事件。大量的实验表明,LLSH在效率、适应性和可扩展性方面具有优越性,在视频异常检测基准上达到了新的水平。本发明方法在视频异常检测数据集ShanghaiTech_Campus上,异常检测准确率达到77.6%,比多种记忆增强预测方法的准确率高出4%~7%;在视频异常检测数据集IITB_Corridor上,本发明的异常检测准确率达到73.5%,比其他方法的准确率高出约4%。
附图说明
图1是本发明方法的流程图。
图2是本发明哈希编码器示意图。
图3是本发明哈希编码器训练过程示意图。
图4是本发明构造哈希表过程示意图。
图5是本发明查找哈希表过程示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
如图1所示,一种无监督视频异常检测方法,包括如下步骤:
步骤1:获取待处理训练视频或测试视频中设定数量的视频帧,将训练视频帧和测试视频帧分别输入预先训练好的深度神经网络,提取训练视频帧的特征向量和测试视频帧的特征向量;
步骤2;利用训练视频帧的特征向量,通过自监督学习方式训练可学习局部敏感哈希模型;
所述可学习局部敏感哈希模型包括左右对称的两部分,两部分分别为第一哈希编码器和第二哈希编码器;
步骤3:利用训练完成的可学习局部敏感哈希模型进行异常检测,异常检测的过程包括构造哈希表和查询哈希表两个阶段;
步骤3-1:在构造哈希表阶段,将训练视频帧的特征向量送入已训练的第一哈希编码器,第一哈希编码器包含多个哈希层,每个哈希层输出一个哈希编码;对所有哈希编码进行二值化处理,得到训练视频帧的二值编码;将训练视频帧的二值编码作为键、哈希编码作为值,构造哈希表;
步骤3-2:在查询哈希表阶段,将测试视频帧的特征向量送入已训练的第一哈希编码器,得到多个哈希编码,并进行二值化处理,得到测试视频帧的二值编码;将测试视频帧的二值编码作为键,在哈希表中查找具有相同键的训练视频帧的哈希编码;计算查找到的训练视频帧的哈希编码与测试视频帧的哈希编码之间的距离,将其中的最小距离作为测试视频帧的异常概率;对于一段视频内所有帧进行异常检测过程,得到所有帧的异常概率,并进行归一化,规定一个异常概率阈值,异常概率高于阈值的帧即判定为发生了异常事件,反之则为正常事件。
进一步地,所述预训练的深度神经网络为Kinetics-400行为识别数据集上训练的I3D网络。
如图3所示,进一步地,所述提取训练视频帧的特征向量和测试视频帧的特征向量的过程包括:
对于一个给定视频,从第t帧开始,按照采样率s,总共T帧被采样为一个视频片段It,然后,片段It被送入预训练的深度神经网络,输出特征向量xq。
进一步地,所述通过自监督学习方式训练可学习局部敏感哈希模型的过程包括:
步骤2-1:如图2所示,所述第一哈希编码器和第二哈希编码器均由b个并行哈希层H1,H2,…,Hi,…,Hb组成,哈希层Hi将xq映射为长度为r的短哈希编码;每个哈希层是一个带有sigmoid激活函数的全连接层,并且无偏置项,输出维度为r;
步骤2-2:对一个训练视频中采样片段It,通过预训练的深度神经网络提取特征向量xq,经过第一哈希编码器Eq得到b个长度为r的短哈希编码,所有的短哈希编码连接起来作为一个紧凑哈希编码zq;
步骤2-3:在训练视频中再次采样一个片段It+Δt,其中Δt是一个时间偏移量,提取特征并送入第二哈希编码器Ek,将输出的短哈希编码连接起来作为紧凑哈希编码zk;将第二哈希编码器最近输出的l个紧凑哈希编码表示为zk (1),…,zk (l),将其放入先入先出队列;
步骤2-4:按照如下损失函数公式(1),计算zq和队列中l个紧凑哈希编码之间的信息噪声对比估计损失:
其中zk+是最近放入先入先出队列的一个紧凑哈希编码,τ是温度系数;
步骤2-5:通过梯度下降法更新第一哈希编码器Eq的参数θq;按照如下公式(2),通过动量更新第二哈希编码器Ek的参数θk:
θk←mθk+(1-m)θq (2)
其中m∈[0,1)是动量系数;
在更新过程中,预训练深度神经网络的参数被冻结,不参与更新;
步骤2-5:由损失函数L判断第一哈希编码器是否收敛;如果收敛,则采用第一哈希编码器,用于异常检测的构造哈希表和查询哈希表阶段;如果未收敛,则返回步骤2-2继续训练第一哈希编码器直到收敛。
如图4所示,进一步地,所述异常检测的构造哈希表过程包括:
将训练视频帧的特征向量表示为x1,…,xN,其中N表示训练样本的数量;对于第n个特征向量xn,将其送入第一哈希编码器Eq;第一哈希编码器包含b个并行哈希层H1,…,Hb,将特征向量xn映射到r位的哈希编码h1,xn,…,hb,xn;然后构建b个哈希表Dj,j∈{1,…,b}来存储训练数据xn的哈希编码,其中第j个哈希表的键为哈希编码hi,xn的二值化表示bin(hj,xn),值为哈希编码hj,xn;
所述二值化函数bin(h)定义为:
在第j个哈希表Dj中,对所有n∈{1,…,N},哈希编码hj,xn及其二值化编码bin(hj,xn)分别作为一组值和键存储到哈希表中;在一个哈希表中,如果若干个哈希编码具有相同的二值化编码,则将这些具有相同二值化编码的哈希编码存储在同一个桶中;最终得到了b个哈希表D1,…,Db,每个哈希表通过若干二值化键存储了N个哈希编码,完成哈希表构造过程。
如图5所示,进一步地,所述异常检测的查询哈希表过程包括:
测试视频帧的特征向量表示为y1,…,yM,其中M表示测试样本的数量;第m个特征ym通过第一哈希编码器的b个哈希层,映射到b个长度为r的哈希编码h1,ym,…,hb,ym;
对第j个哈希编码hj,ym,通过二值化函数,将哈希编码映射为二值编码bin(hj,ym),将二值编码bin(hj,ym)作为键在对应哈希表Dj中查找对应的桶;
如果在哈希表Dj中存在以二值编码bin(hj,ym)为键的桶,则计算该桶中存储的所有训练视频帧特征向量的哈希编码与测试视频帧特征向量的哈希编码ym之间的平均距离;如果二值编码bin(hj,ym)在哈希表Dj中不存在,则为二值编码bin(hj,ym)距离值指定一个大于其它所有距离值的常数;
对所有哈希表D1,…,Db,总共得到b个距离值,将其中的最小距离作为测试视频帧的异常概率。对于一段视频内所有帧进行异常检测过程,得到所有帧的异常概率,并进行归一化,规定一个异常概率阈值,异常概率高于阈值的帧即判定为发生了异常事件,反之则为正常事件。
具体实施例:
对于一个给定视频,从第t帧开始,按照采样率s,总共T帧被采样为一个视频片段It。然后,片段It被送入预训练的深度神经网络,输出特征向量xq。在本实施例中,t的取值为{1,2,…,n-(T-1)*s},其中n为所述视频的帧数,s的取值为2,一个视频片段包含T=8帧;预训练的深度神经网络为Kinetics-400行为识别数据集上训练的I3D网络。
哈希编码器由b个并行哈希层H1,…,Hb组成,其中一层Hi将xq映射为长度为r的短哈希编码。具体地,每个哈希层是一个带有sigmoid激活函数的全连接层,并且无偏置项,输出维度为r。在本实施例中,哈希编码器包含b=8个哈希层,输出维度r设置为32。
在一个训练视频中采样片段It,通过深度神经网络提取特征向量xq,经过第一哈希编码器Eq得到8个长度为32的短哈希编码,所有的短哈希编码连接起来作为一个紧凑哈希编码zq。
在视频中再次采样一个片段It+Δt,其中Δt是一个时间偏移量,提取特征并送入第二哈希编码器Ek,将输出的短哈希编码连接起来作为紧凑哈希编码zk;将第二哈希编码器最近输出的l个紧凑哈希编码表示为zk (1),…,zk (l),将其放入长度为l的先入先出队列。在本实施例中,时间偏移量Δt是从均匀分布U(-150,150)中采样的数值,先入先出队列l的长度为8192。
按照如下损失函数公式,计算zq和队列中8192个紧凑哈希编码之间的信息噪声对比估计损失:
其中zk+是最近放入先入先出队列的一个紧凑哈希编码,τ是温度系数。在本实施例中,温度系数τ设置为0.2。
通过梯度下降法更新第一哈希编码器Eq的参数θq;按照如下公式,通过动量更新第二哈希编码器Ek的参数θk:
θk←mθk+(1-m)θq
其中m∈[0,1)是动量系数。在本实施例中,动量系数m设置为0.999。
预训练深度神经网络的参数被冻结,不参与更新;
根据所述损失值判断所述待第一哈希编码器是否收敛;如果收敛,则采用第一哈希编码器,用于异常检测的构造哈希表和查询哈希表阶段;如果未收敛,则继续采样训练视频并按照所述训练过程训练第一编码器。
将训练视频特征送入已训练的第一哈希编码器,所述哈希编码器包含多个哈希层,输出多个哈希编码;对所有哈希编码进行二值化处理,得到训练视频特征的二值编码;将所述二值编码作为键、哈希编码作为值,保存在哈希表中。
具体地,将训练视频特征表示为x1,…,xN,其中N表示训练样本的数量;对于第n个特征向量xn,将其送入第一哈希编码器Eq;哈希编码器包含8个并行哈希层H1,…,H8,将特征向量xn映射到32位的哈希编码h1,xn,…,h8,xn;然后,构建8个哈希表来存储训练数据xn的哈希编码,其中第j个哈希表的键为哈希编码hi,xn的二值化表示bin(hj,xn),值为哈希编码hj,xn;所述二值化函数bin(h)定义为:
在第j个哈希表Dj中,对所有n∈{1,…,N},哈希编码hj,xn及其二值化编码bin(hj,xn)分别作为一组值和键存储到哈希表中;在一个哈希表中,如果若干个哈希编码具有相同的二值化编码,则将这些哈希编码存储在同一个桶中;最终得到了8个哈希表D1,…,D8,每个哈希表通过若干二值化键存储了N个哈希编码,完成哈希表构造过程。
将测试视频的特征送入已训练的第一哈希编码器,得到多个哈希编码,并进行二值化处理,得到测试视频的二值编码;将测试视频的二值编码作为键,在上述构造的哈希表中查找对应的桶,该桶中包含若干个存储的训练视频特征的哈希编码;计算查找到的训练视频的哈希编码与所述测试视频的哈希编码之间的距离,作为所述测试视频的异常概率。
具体地,测试视频的特征表示为y1,…,yM,其中M表示测试样本的数量;第m个特征ym通过所述第一哈希编码器的8个哈希层,映射到8个长度为32的哈希编码h1,ym,…,h8,ym;
对第j个哈希编码hj,ym,通过所述二值化函数,将哈希编码映射为二值编码bin(hj,ym),作为键在对应哈希表Dj中查找对应的桶;
如果在哈希表Dj中存在以二值编码bin(hj,ym)为键的桶,则计算该桶中存储的所有训练特征的哈希编码与所述测试特征的哈希编码ym之间的平均距离;如果所述二值编码bin(hj,ym)在哈希表Dj中不存在,则为距离指定一个较大的常数。在本实施例中,所述距离计算方式为余弦距离。
对所有哈希表D1,…,D8,总共得到8个距离值,将其中的最小距离作为所述测试视频的异常概率。对于一段视频内所有帧进行所述异常检测过程,得到所有帧的异常概率,并进行归一化。规定异常概率阈值为0.5,异常概率高于0.5的帧即判定为发生了异常事件,异常概率等于或低于0.5的帧判定为正常事件。
Claims (6)
1.一种无监督视频异常检测方法,其特征在于,包括如下步骤:
步骤1:获取待处理训练视频或测试视频中设定数量的视频帧,将训练视频帧和测试视频帧分别输入预先训练好的深度神经网络,提取训练视频帧的特征向量和测试视频帧的特征向量;
步骤2;利用训练视频帧的特征向量,通过自监督学习方式训练可学习局部敏感哈希模型;
所述可学习局部敏感哈希模型包括左右对称的两部分,两部分分别为第一哈希编码器和第二哈希编码器;
步骤3:利用训练完成的可学习局部敏感哈希模型进行异常检测,异常检测的过程包括构造哈希表和查询哈希表两个阶段;
步骤3-1:在构造哈希表阶段,将训练视频帧的特征向量送入已训练的第一哈希编码器,第一哈希编码器包含多个哈希层,每个哈希层输出一个哈希编码;对所有哈希编码进行二值化处理,得到训练视频帧的二值编码;将训练视频帧的二值编码作为键、哈希编码作为值,构造哈希表;
步骤3-2:在查询哈希表阶段,将测试视频帧的特征向量送入已训练的第一哈希编码器,得到多个哈希编码,并进行二值化处理,得到测试视频帧的二值编码;将测试视频帧的二值编码作为键,在哈希表中查找具有相同键的训练视频帧的哈希编码;计算查找到的训练视频帧的哈希编码与测试视频帧的哈希编码之间的距离,将其中的最小距离作为测试视频帧的异常概率;对于一段视频内所有帧进行异常检测过程,得到所有帧的异常概率,并进行归一化,规定一个异常概率阈值,异常概率高于阈值的帧即判定为发生了异常事件,反之则为正常事件。
2.根据权利要求1所述的一种无监督视频异常检测方法,其特征在于,所述预训练的深度神经网络为Kinetics-400行为识别数据集上训练的I3D网络。
3.根据权利要求2所述的一种无监督视频异常检测方法,其特征在于,所述提取训练视频帧的特征向量和测试视频帧的特征向量的过程包括:
对于一个给定视频,从第t帧开始,按照采样率s,总共T帧被采样为一个视频片段It,然后,片段It被送入预训练的深度神经网络,输出特征向量xq。
4.根据权利要求3所述的一种无监督视频异常检测方法,其特征在于,所述通过自监督学习方式训练可学习局部敏感哈希模型的过程包括:
步骤2-1:所述第一哈希编码器和第二哈希编码器均由b个并行哈希层H1,H2,…,Hi,…,Hb组成,哈希层Hi将xq映射为长度为r的短哈希编码;每个哈希层是一个带有sigmoid激活函数的全连接层,并且无偏置项,输出维度为r;
步骤2-2:对一个训练视频中采样片段It,通过预训练的深度神经网络提取特征向量xq,经过第一哈希编码器Eq得到b个长度为r的短哈希编码,所有的短哈希编码连接起来作为一个紧凑哈希编码zq;
步骤2-3:在训练视频中再次采样一个片段It+Δt,其中Δt是一个时间偏移量,提取特征并送入第二哈希编码器Ek,将输出的短哈希编码连接起来作为紧凑哈希编码zk;将第二哈希编码器最近输出的l个紧凑哈希编码表示为zk (1),…,zk (l),将其放入先入先出队列;
步骤2-4:按照如下损失函数公式(1),计算zq和队列中l个紧凑哈希编码之间的信息噪声对比估计损失:
其中zk+是最近放入先入先出队列的一个紧凑哈希编码,τ是温度系数;
步骤2-5:通过梯度下降法更新第一哈希编码器Eq的参数θq;按照如下公式(2),通过动量更新第二哈希编码器Ek的参数θk:
θk←mθk+(1-m)θq (2)
其中m∈[0,1)是动量系数;
在更新过程中,预训练深度神经网络的参数被冻结,不参与更新;
步骤2-5:由损失函数L判断第一哈希编码器是否收敛;如果收敛,则采用第一哈希编码器,用于异常检测的构造哈希表和查询哈希表阶段;如果未收敛,则返回步骤2-2继续训练第一哈希编码器直到收敛。
5.根据权利要求4所述的一种无监督视频异常检测方法,其特征在于,所述异常检测的构造哈希表过程包括:
将训练视频帧的特征向量表示为x1,…,xN,其中N表示训练样本的数量;对于第n个特征向量xn,将其送入第一哈希编码器Eq;第一哈希编码器包含b个并行哈希层H1,…,Hb,将特征向量xn映射到r位的哈希编码h1,xn,…,hb,xn;然后构建b个哈希表Dj,j∈{1,…,b}来存储训练数据xn的哈希编码,其中第j个哈希表的键为哈希编码hi,xn的二值化表示bin(hj,xn),值为哈希编码hj,xn;
所述二值化函数bin(h)定义为:
在第j个哈希表Dj中,对所有n∈{1,…,N},哈希编码hj,xn及其二值化编码bin(hj,xn)分别作为一组值和键存储到哈希表中;在一个哈希表中,如果若干个哈希编码具有相同的二值化编码,则将这些具有相同二值化编码的哈希编码存储在同一个桶中;最终得到了b个哈希表D1,…,Db,每个哈希表通过若干二值化键存储了N个哈希编码,完成哈希表构造过程。
6.根据权利要求5所述的一种无监督视频异常检测方法,其特征在于,所述异常检测的查询哈希表过程包括:
测试视频帧的特征向量表示为y1,…,yM,其中M表示测试样本的数量;第m个特征ym通过第一哈希编码器的b个哈希层,映射到b个长度为r的哈希编码h1,ym,…,hb,ym;
对第j个哈希编码hj,ym,通过二值化函数,将哈希编码映射为二值编码bin(hj,ym),将二值编码bin(hj,ym)作为键在对应哈希表Dj中查找对应的桶;
如果在哈希表Dj中存在以二值编码bin(hj,ym)为键的桶,则计算该桶中存储的所有训练视频帧特征向量的哈希编码与测试视频帧特征向量的哈希编码ym之间的平均距离;如果二值编码bin(hj,ym)在哈希表Dj中不存在,则为二值编码bin(hj,ym)距离值指定一个大于其它所有距离值的常数;
对所有哈希表D1,…,Db,总共得到b个距离值,将其中的最小距离作为测试视频帧的异常概率;对于一段视频内所有帧进行异常检测过程,得到所有帧的异常概率,并进行归一化,规定一个异常概率阈值,异常概率高于阈值的帧即判定为发生了异常事件,反之则为正常事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210326903.3A CN114842371B (zh) | 2022-03-30 | 2022-03-30 | 一种无监督视频异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210326903.3A CN114842371B (zh) | 2022-03-30 | 2022-03-30 | 一种无监督视频异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114842371A CN114842371A (zh) | 2022-08-02 |
CN114842371B true CN114842371B (zh) | 2024-02-27 |
Family
ID=82564345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210326903.3A Active CN114842371B (zh) | 2022-03-30 | 2022-03-30 | 一种无监督视频异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114842371B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115563570B (zh) * | 2022-12-05 | 2023-04-14 | 上海飞旗网络技术股份有限公司 | 一种资源的异常检测方法、装置及设备 |
CN116682043B (zh) * | 2023-06-13 | 2024-01-26 | 西安科技大学 | 基于SimCLR无监督深度对比学习异常视频清洗方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229757A (zh) * | 2017-06-30 | 2017-10-03 | 中国科学院计算技术研究所 | 基于深度学习和哈希编码的视频检索方法 |
WO2020147857A1 (zh) * | 2019-01-18 | 2020-07-23 | 上海极链网络科技有限公司 | 海量视频特征提取以及存储和检索方法及系统 |
WO2021174771A1 (zh) * | 2020-03-05 | 2021-09-10 | 西北工业大学 | 一种人机协作的视频异常检测方法 |
WO2021232752A1 (zh) * | 2020-05-22 | 2021-11-25 | 深圳前海微众银行股份有限公司 | 哈希编码方法、装置、设备及可读存储介质 |
CN113742525A (zh) * | 2021-08-16 | 2021-12-03 | 上海明略人工智能(集团)有限公司 | 自监督视频哈希学习方法、系统、电子设备及存储介质 |
-
2022
- 2022-03-30 CN CN202210326903.3A patent/CN114842371B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107229757A (zh) * | 2017-06-30 | 2017-10-03 | 中国科学院计算技术研究所 | 基于深度学习和哈希编码的视频检索方法 |
WO2020147857A1 (zh) * | 2019-01-18 | 2020-07-23 | 上海极链网络科技有限公司 | 海量视频特征提取以及存储和检索方法及系统 |
WO2021174771A1 (zh) * | 2020-03-05 | 2021-09-10 | 西北工业大学 | 一种人机协作的视频异常检测方法 |
WO2021232752A1 (zh) * | 2020-05-22 | 2021-11-25 | 深圳前海微众银行股份有限公司 | 哈希编码方法、装置、设备及可读存储介质 |
CN113742525A (zh) * | 2021-08-16 | 2021-12-03 | 上海明略人工智能(集团)有限公司 | 自监督视频哈希学习方法、系统、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于深度学习哈希算法的快速图像检索研究;李泗兰;郭雅;;计算机与数字工程;20191220(12);全文 * |
基于深度神经网络和哈希算法的图像检索研究;王伟栋;李菲菲;谢林;陈虬;;电子科技;20181015(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114842371A (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914873B (zh) | 一种两阶段云服务器无监督异常预测方法 | |
CN114842371B (zh) | 一种无监督视频异常检测方法 | |
CN109492193B (zh) | 基于深度机器学习模型的异常网络数据生成与预测方法 | |
CN113328755B (zh) | 一种面向边缘计算的压缩数据传输方法 | |
CN111694879A (zh) | 一种多元时间序列异常模式预测方法及数据采集监控装置 | |
CN110351301A (zh) | 一种http请求双层递进式异常检测方法 | |
CN109728939B (zh) | 一种网络流量检测方法及装置 | |
CN109871749B (zh) | 一种基于深度哈希的行人重识别方法和装置、计算机系统 | |
US20220012538A1 (en) | Compact representation and time series segment retrieval through deep learning | |
CN109376797B (zh) | 一种基于二进制编码器和多哈希表的网络流量分类方法 | |
CN116562740B (zh) | 一种基于改进型深度学习算法模型的外贸物流平台 | |
CN109376964B (zh) | 一种基于记忆神经网络的刑事案件罪名预测方法 | |
CN117171686A (zh) | 一种基于联邦学习的智能电网异常数据的检测方法及系统 | |
CN116910013A (zh) | 基于语义流图挖掘的系统日志异常检测方法 | |
CN114611409A (zh) | 一种配电终端异常检测模型的建立方法及装置 | |
CN116738354B (zh) | 一种电力物联网终端行为异常检测方法及系统 | |
CN117292749A (zh) | 一种基于bert特征编码技术和深度学习组合模型的抗菌肽预测方法 | |
CN116861250A (zh) | 一种故障诊断模型训练方法及装置 | |
CN114689351B (zh) | 一种设备故障预测性诊断系统及方法 | |
CN115643104A (zh) | 一种基于深度监督离散哈希的网络入侵检测方法 | |
CN112269778B (zh) | 一种设备故障诊断方法 | |
CN110650130B (zh) | 基于多分类GoogLeNet-LSTM模型的工控入侵检测方法 | |
CN114665885A (zh) | 一种时序数据库自适应数据压缩方法 | |
CN113986673A (zh) | 一种故障关联方法、装置及计算机可读存储介质 | |
CN113821401A (zh) | 基于wt-ga-gru模型的云服务器故障诊断方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |