【学习笔记】视频检测方法调研

目录

    • 1 引言
    • 2 方法
      • 2.1 视频目标跟踪
        • 2.1.1 生成式模型方法
        • 2.1.2 判别式模型方法
          • 2.1.2.1 基于相关滤波跟踪
          • 2.1.2.2 基于深度学习跟踪
      • 2.2 视频异常检测
        • 2.2.1 基于重构方法
        • 2.2.2 基于预测方法
        • 2.2.3 基于分类方法
        • 2.2.4 基于回归方法
      • 2.3 深度伪造人脸视频检测
        • 2.3.1 基于RNN时空融合特征检测
        • 2.3.2 基于卷积时空融合特征检测
        • 2.3.3 基于像素位移时空融合特征检测
      • 2.4 异常行为识别
        • 2.4.1 基于C3D-CNN的特征提取
        • 2.4.2 基于双流CNN的特征提取
        • 2.4.3 基于RNN的特征提取
        • 2.4.4 基于深度图像的特征提取

1 引言

随着机器视觉技术应用领域的不断扩充,所面临的检测对象类型持续增加,基于单帧图像的检测方法已无法作为适用所有场景检测的通用方法,由此,基于视频的检测方法开始出现,其通过引入连续多帧图像中的时序信息,能够根据图像间关联做出准确判断,目前已成功被应用于视频目标跟踪视频异常检测深度伪造人脸检测异常行为识别等多个场景。

:本博客仅供大家参考交流,为避免直接ctrl-c、v,故文中所涉及的文献信息被隐去。需要了解个别文献来源的话,可在文末标注的参考来源中进行查找,或在评论区进行留言,看到会积极回复的。😀

2 方法

2.1 视频目标跟踪

视频目标跟踪技术主要通过分析视频序列,在视频序列的每一帧中定位出目标,包括计算出目标的大小、位置等信息。其难点在于运动目标在视频图像跟踪过程中可能会发生的旋转、遮挡、尺度变化等比较复杂的变化,以及一些客观因素的影响,比如各类噪声、出现遮挡等等。根据建模方式的不同,目标跟踪方法可分为生成式模型方法、判别式模型方法。

2.1.1 生成式模型方法

生成式模型方法检测思路一般为:
(1)提取目标特征构建表现模型。
(2)在图像中搜索与模型最匹配的区域作为跟踪结果。
其本质是在目标表示的高维空间中,找到与目标模型最相邻的候选目标作为当前估计。比较经典的算法包括卡尔曼滤波粒子滤波均值漂移等。
该类方法缺点在于只关注目标信息,而忽略了背景信息

2.1.2 判别式模型方法

判别式模型将跟踪问题作为分类或回归问题,目的是寻找一个判别函数,将目标从背景中分离出来,从而实现对目标的跟踪。判别式模型方法又可分为基于相关滤波的跟踪算法和基于深度学习的跟踪算法。

2.1.2.1 基于相关滤波跟踪

相关滤波跟踪算法基本思想为设计一个滤波模板,然后利用该模板与目标候选区域做相关运算,最大输出响应的位置即为当前帧的目标位置。一般其求解运算放在频率域进行,能使算法能够达到实时跟踪的效果。
在这里插入图片描述
其代表算法有:最小输出误差平方和(MOSSE)跟踪算法、核相关滤波(KCF)跟踪算法、判别尺度空间(DSST) 跟踪算法、空间正则相关波(SRDCF) 跟踪算法、时空正则相关滤波 (STRCF) 跟踪算法、背景感知相关滤波 (BACF) 跟踪算法等。
在这里插入图片描述
相关滤波方法具有速度快、精度高等优点,但是该类算法通常采用手工浅层特征,因此鲁棒性较差

2.1.2.2 基于深度学习跟踪

深度学习跟踪检测算法一般可分为基于孪生网络卷积神经网络两类。相比于相关滤波跟踪算法,基于深度学习的跟踪算法通常能够获得更高的跟踪准确度
(1)基于孪生网络
2016年,文献[1]提出全卷积孪生网络SiamFC(Fully-Convolutional Siamese Networks)。首次将孪生网络引入到视频目标跟踪领域,把视频目标跟踪问题转化为图像匹配问题,通过选择与模板图像最相似的候选图像实现了对目标的跟踪。
在这里插入图片描述
2018年,文献[2]在SiamFC基础上提出了SiamRPN(Siamese Region Proposal Network)算法,通过引入区域候选生成网络,有效提升了算法跟踪精度。
2019年,文献[3]提出了一种目标感知模块,并将其与SiamFC框架结合。目标感知模块通过选择当前跟踪目标所需通道,摈弃非必要通道,有效提高了跟踪速度。
2019年,文献[4]针对孪生子网络较浅,目标信息利用率不高的问题,提出引入内部裁剪残差单元代替直接使用深度网络,避免了算法受深度网络中填充操作影响,导致性能提升不明显的现象发生。
2020年,文献[5]提出了一种动态孪生网络DSiam(Dynamic Siamese Network),在SiamFC架构上增加了形变学习层。同时,利用视频始端多帧图像学习目标外观变化,使得算法对于背景噪声的防干扰能力增强,长时跟踪精度得到提高。
2020年,文献[6]针对SiamFC在严重遮挡、旋转、光照变化和尺度变化等情况下容易造成跟踪失败的问题,提出了一种融合扰动感知模型的孪生神经网络视频目标跟踪算法,通过融合网络提取的浅层特征和深层语义特征,提高了所提取特征的表征能力,算法检测精度得到加强。此外,该算法引入了颜色直方图特征的扰动感知模型,通过加权融合的方式获得目标响应图,以此来实现目标跟踪。
2021年,文献[7]针对跟踪目标在平面内旋转的问题展开研究,提出了旋转等变孪生网络(Rotation-Equivariant Siamese networks, RE-SiamNets),以无监督的方式估计目标旋转方向变化,促进了算法跟踪性能。
近几年,基于孪生网络的算法由于其思想简单,架构可伸缩,在视频目标跟踪领域取得了快速的发展。该类算法在跟踪速度较为可观的情况下,有效提升了跟踪器对背景和相似干扰物的辨别能力,是视频目标跟踪领域未来研究的重点。

(2)基于卷积神经网络
2013年,文献[8]提出了一种基于深度学习的支持向量机算法(DLSVM),其利用图像识别领域的预训练CNN对目标进行特征提取后,使用支持向量机分类进行跟踪。但该种方法效果并不乐观,主要原因在于图像分类方法无法达到视频目标跟踪既要关注目标实例与背景间的差异,又要同时消除同类别其他实例的干扰要求。
2016年,文献[9]提出了针对视频目标跟踪的多域卷积神经网络(Multi-Domain Network, MDNet),能够很好解决上述问题。MDNet网络最终输出一个二维向量用于表示该边界框中物体为目标或者背景的概率。MDNet架构小,参数少,具有很好的实时性。
2017年,文献[10]针对MDNet算法中采样密集的问题提出了行为驱动策略,通过捕获目标运动信息,搜索高质量候选样本,提高了算法的泛化性能。
除此之外,还有一些使用CNN与其他网络的结合方法。
2017年,文献[11]将CNN和RNN进行结合提出了SANet(Structure-Aware Network)。其中,CNN负责类间判别,区分目标类与背景,RNN负责类内选择,区分目标实例与相似干扰物。
2019年,文献[12]通过结合两层深度回归网络和IoUNet网络提出了ATOM(Accurate Tracking by Overlap Maximization)法,前者用于目标粗略定位生成候选区域,后者用于目标精细定位和尺度估计。
相似的,2020年,文献[13]将孪生网络和Faster R-CNN进行结合提出了Siam R-CNN(Siamese R-CNN)。其中,孪生网络用于特征提取,Faster R-CNN用于候选区域生成。

随着深度学习跟踪方法的不断研究,所提出的跟踪器架构越来越大,导致在资源受限的应用部署中越来越受限。
2021年,文献[14]提出一种轻量级的神经网络跟踪架构(Light Track)。该架构使用神经网络架构搜索(Neural Architecture Search) 方法可自动设计轻量级模型,其内部所有超网络只需训练一次,在跟踪性能和计算成本之间取得了较好的平衡。
基于卷积神经网络的视频目标跟踪算法虽然可以利用不同的网络架构提取不同深度的目标特征,但是由于网络架构庞大,模型参数较多,该类算法的跟踪代价通常较大,因此轻量级的跟踪模型研究具有十分重要的研究意义。


2.2 视频异常检测

在这里插入图片描述
视频异常通常指视频中出现不正常的外观或运动属性,或在不正常的时间或空间出现正常的外观或运动属性。视频异常检测任务流程如上图所示,对于给定的某一特定场景下的正常视频数据样本,首先从中提取视频帧或视频窗内图像的运动及外观特征,并建立模型对正常样本的分布进行学习。测试时,将提取的测试样本特征输入模型,模型依据重构误差、预测误差、异常分数和峰值信噪比等指标对其进行异常判定。
目前,利用深度学习技术的视频异常检测方法可分为基于重构基于预测基于分类基于回归四类。

2.2.1 基于重构方法

基于重构的视频异常检测方法的核心思想是:通过训练正常视频数据获得正常数据的分布表示。在测试过程中,正常测试样本会具有较小的重构误差,而异常样本的重构误差则较大,从而实现视频的异常检测。
常用的重构方法包括自编码器与稀疏编码两类。
2016年,文献[1]首先利用传统手工方法提取时空特征,并在其上学习一个全连接的自编码器;其次,再建立一个全卷积前馈自编码器用于学习局部特征和分类器以实现端到端检测,所提算法能够在很少或者无监督的情况下进行视频异常检测。
2017年,文献[2]提出了一种外观运动深度网络AMDN(Appearance and Motion Deep Net),能够同时提取视频的外观和运动信息,并使用多个单类支持向量机SVM预测每个输入的异常得分,最后集成分数用于最终的异常检测。
由于深度神经网络的学习能力较强,导致自编码器有时不仅能将正常样本重构得较好,同时也使得异常样本具有较小的重构误差。
为此,2019年,文献[3]提出了一种改进的自编码器,称为记忆增强自编码器MemAE(Memoy-auomented AutoEncoder)。当给定输入时,算法首先从编码器获取编码,然后以其作为依据检索最相关的记忆项进行重构,能够有效区分正常与异常情况,提升检测精度。
2020年,文献[4] 针对MemAE进行改进,使用一个具有更新方案的记忆模块,在公开基准数据集上取得了可以媲美当时最先进方法的异常检测效果。
关于稀疏编码方法,文献[5]早在2011年就提出了一种无监督的动态疏编码方法。方法首先对输入视频序列提取时空兴趣点,并依据上下文视频数据学习字典,测试时再依据字典基底能否重构出查询事件来判定异常。
2017年,文献[6]针对稀疏系数迭代优化过程耗时问题,提出一种时间相干疏编码TSC(Temporally-coherent Sparse Coding)网络,实现了参数的加速优化。
2020年,文献[7]提出一种双流神经网络用于提取时空融合特征,同时引入快速稀疏编码网络(FSCN)构建字典,测试速度与精度均有了质的飞跃。

2.2.2 基于预测方法

基于预测的视频异常检测方法通常假定一段连续的正常视频存在某种有规律的上下文联系,可以学习这种依赖关系并较好地预测未来帧,而异常视频往往违背这些依赖关系,导致未来帧不可预测。
2015年,文献[8]通过交替卷积和矫正线性单元ReLU生成未来帧,并引入多尺度结构、对抗训练和图像梯度差异结合的特征学习策略对所生成未来帧清晰度进行了加强。
2016年,受LSTM处理时序数据的启发,文献[9]提出了一种复合的Conv-LSTM对视频序列进行建模,通过对解码过程进行约束,能够重构过去帧和预测未来帧,进而实现视频的异常检测。
2018年,文献[10]使用U-Net作为生成器用于生成未来帧,同时引入强度损失、梯度损失和光流损失对其质量进行约束,最后通过判别器判断未来帧真假,成功强化了预测模型的预测能力。
2019年,文献[11]针对预测过程中均方差损失函数可能造成的未来帧模糊现象,提出了一种深度预测编码网络AnoPCN(A novel deep Predictive Coding Network)。该网络将预测编码模块PCM(Predictive Coding Module)和误差细化模块ERM(Error Refinement Module)进行组合,成功将其统一到了端到端框架实现异常检测过程。

2.2.3 基于分类方法

基于分类的视频异常检测方法主要分为单分类和多分类两种。单分类方法的主要思想为:通过正常视频数据训练一个单类分类器,测试中分类器只需要判别给定数据是否属于该类即可。
2018年,文献[12]就受GAN在无监督和半监督环境中训练深度模型的启发,提出了一种基于单分类的视频异常检测方法,
2019年,文献[13]在文献[12]基础上进一步提出了一种深度单分类神经网络。模型使用堆叠的卷积提取低维特征的高级语义信息,同时结合对抗机制与解码器,能够在仅提供正常样本下训练得到紧凑的单类分类器,实现异常检测。
对于多分类方法,2018年,文献[14]提出使用图像相似度表示局部特征,自编码器输出特征向量表示全局特征,然后通过将特征送入高斯二分类器实现异常检测。
2019年,文献[15]提出将异常检测问题转化为一个单对剩余类的二分类问题。首先,在卷积自编码器生成的特征上使用聚类,再训练一个单对剩余类分类器来区分聚类。若测试中通过分类器得到的最高分类分数为负,则表明该样本为异常。
除二分类外,2019年,文献[16]提出一种自适应帧内分类网络AICN(Adaptive intra-frame classification Network)将视频异常检测任务转化为多分类问题。该网络将从原始输入提取到的运动和外观特征分为若干个子区域,并对每一个子区域进行分类。测试中若该子区域的测试分类结果与真实分类不同则被视为异常。

2.2.4 基于回归方法

回归方法主要思想是:将异常得分作为评估指标,设置适当的阈值,若异常得分高于阈值,则将其视作异常,否则便为正常。
2018年,文献[17]提出了一种主要在弱监督条件下训练的多示例学习方法。首先,将训练视频分割为含正例包与负例包两类的,数量相等的视频帧片段,再使用C3D(Convolutional 3D)对每个片段提取时空特征。然后,将特征输入CNN进行打分,挑出得分最高的两类片段用于模型参数训练。最后,通过较链损失训练模型对异常样本输出高分,正常样本输出低分,进而实现异常判定。
由于提取视频特征对于输出异常得分至关重要,2019年,文献[18]提出使用计算光流信息替代C3D处理,再通过时间增强网络输出异常得分,显著提高了异常检测的性能。
2020年,文献[19]针对较链损失函数不光滑,模型优化过程可能面临梯度消失的问题,提出了一种新的损失函数,使得模型对输出异常得分具有鲁棒性,
2020年,考虑到手工标注正常/异常视频数据的复杂性,文献[20]引用伪标签加迭代优化的训练机制,设计了一种无需标注,端到端可训练的视频异常检测方法。

四类方法各自的优缺点如下图所示:
在这里插入图片描述


2.3 深度伪造人脸视频检测

“深度伪造”(deepfake)源自“深度学习”(deep learning)与“造假”(fake)的组合,这成为利用深度学习实现人物换脸、表情编辑等视频伪造的一系列技术的统称,用以躲避识别、混淆视听、娱乐用户以及其他目的。根据特征选择不同,深度伪造人脸视频检测可分为基于空间特征检测、基于时空融合特征检测、基于生物特征检测等多类方法。
深度伪造视频制作往往通过融合修改后的视频帧实现。因此,除了单帧图像会存在深度伪造信息之外,帧之间也会存在相应的伪造信息,对图像帧间的关联信息进行把握可有效增加检测准确率。参考调研题目,本报告将主要介绍基于时空融合特征的视频检测方法,包括基于RNN基于卷积基于像素位移三类。

2.3.1 基于RNN时空融合特征检测

循环神经网络(RNN)在自然语言处理中经常被用来提取上下文之间的语义联系,在视频处理领域,也可用来挖掘相邻帧之间的相关性。近几年利用时空融合特征检测人脸深度伪造视频的工作中,基于RNN的时空融合特征检测占据较大比例。
结合深度伪造视频视频帧间的不连续性特性,很多研究提出了各自的解决方案。
2019年,文献[1]直接将CNN与RNN进行组合,首先利用CNN进行每一图像/视频帧的特征提取,再使用RNN挖掘相邻帧之间的时序关系。所提方法取到了较好的检测效果。
在这里插入图片描述
在此基础上,2020年,文献[2]使用Xception和Bi-LSTM取代之前的CNN和RNN,并在交叉损失基础上增加KL散度损失,有效提高了算法的检测准确率。
2020年,文献[3]从伪造视频的生成阶段入手,以压缩编码时帧间的预测误差作为输入,经过CNN的特征提取与LSTM的时序提取,最终实现伪造视频判定。
2020年,文献[4]提出一种双流结构检测网络,该方法使用LoG算子处理后图像与原始图像作为双分支输入,通过DenseNet进行各自特征提取后,使用融合模块将其特征进行两路融合,最后经过LSTM抽取帧间的信息并进行分类。配合所提出的基于one-class-classification的损失函数,能够有效提升模型检测精度。
同年,文献[5]提出自动脸部权重 (automatic face weighting, AFW)概念,使得模型预测时能够根据信息重要性自动分配权重,成功增强了模型的泛化能力。

2.3.2 基于卷积时空融合特征检测

与利用RNN提取时序特征不同,基于卷积的时空融合特征检测更加依赖于卷积核的设计。通常的方法是对图像/视频帧的卷积核的时间维度进行设计,以提取帧间的连续性与相关性等特征。
2020年,文献[6]采用多实例学习的思想,设计了时空实例以刻画帧间的一致性,辅助深度伪造检测过程。具体而言,即使用不同大小核的一维卷积对输入的人脸序列从多视角进行编码,从而得到时空实例,用于最终检测。
2021年,文献[7]进一步从局部的角度上,挖掘时空不一致关系,提出时空不一致学习 (Spatial-Temporal Inconsistency Learning, STIL)模块。该模块创新地提出了除利用卷积核在水平方向提取帧间不一致之外,也可在垂直角度上挖掘时间特征。但由于该方法对帧采取了稀疏采样策略,故可能在采样帧间隔较大时无法捕捉到由细微运动引起的不一致。
为克服上述问题,2022年,文献[8]提出基于片段不一致 (Snippets Inconsistency Module, SIM) 的方法。首先,将原始视频分为若干片段,各片段都由相同数量的相邻帧组成。然后,针对片段内不一致,分别从正反两方向计算水平与垂直时序特征。对于片段间不一致,分别从正反两方向作差以表示前后片段之间不一致。最后,将片段内与片段间整合为统一模块,嵌入到已有的主干网络中辅助特征提取并进行最后的分类。据悉,该模型在跨库测试中取得了接近80%的准确率。
除1d与2d卷积之外,3d卷积也有相关研究方法。
2020年,文献[9]研究了3D ResNet、3D ResNeXt和l3D三种3DCNN对于检测伪造视频的能力。通过验证模型对4种不同伪造操作视频的正确检出能力,表明了3DCNN至少能够达到与基于图像的伪造检测算法相似的性能。
此外,基于视频帧间的不一致线索,2021年,文献[10]进一步提出了一种引入时序Dropout的3DCNN方法检测深度伪造视频。通过对固定长度的输入视频帧进行特征提取与分析,判定其属于伪造视频的可能性。同时,时序Dropout的引入使得模型的精准性与鲁棒性都得到有效提升。
2021年,文献[11]为解决时空耦合会削弱模型捕捉纯时间信息能力这一问题,构建了由全时间卷积网络(FTCN)与时序转换器(TT)组成的时间相干性网络模型,从加强模型提取时间特征,提高泛化能力以及探索长期时间相干性两方面进行研究,证明了其相比其他方法在鲁棒性和通用性方面都具有优越的性能。

2.3.3 基于像素位移时空融合特征检测

基于像素位移检测方法即光流法(optical flow)。光流是空间运动物体在观察成像平面上像素运动的瞬时速度。光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧当前帧之间存在的对应关系,从而计算出相邻帧间物体的运动信息的一种方法。通常二维图像平面待定坐标点上的灰度瞬时变化率被定义为光流矢量
2019年。文献[12]优先提出利用光流法进行人脸视频深度伪造检测。该方法利用CNN获取并分析真实视频与伪造视频形成的光流差异后送入分类器分类。通过在DeepFakes、Face2Face数据集测试,所提算法分别取得了81.61%和75.46%的准确率。
2020年,文献[13]进一步利用OpenCV的Canny边缘检测方法获取每一帧的边缘信息以更加丰富特征表达,再与图像的原始RGB以不同方式进行融合,共同形成输入模型的最终特征组合。在常用的FaceForensics++、DFDC等数据集上进行测试,模型平均准确率能够达到81.29%,表明模型具有一定的泛化能力。


2.4 异常行为识别

异常行为识别技术大致可分为两类:
(1)以行为识别为第一任务,需针对异常姿态或动作建立样本库,之后通过人体目标检测、姿态估计、动作识别等方法判别具体行为,并最终判定其是否属于异常行为样本库。
(2)以异常检测为第一任务,较少考虑具体的异常动作,往往通过对正常场景进行建模后,通过相似度对比实现异常情景判定。
在效果方面,基于行为识别的方法往往对个体异常行为具有较好的识别效果,对子全局信息的关注则较少。基于异常检测的方法对视频的全局信息具有更强的分析能力,但对局部微小的异常行为难有精确的检测效果。
在这里插入图片描述
本报告将着重介绍以行为识别为第一要务的异常行为识别方法,具体的,又将重点阐述以深度学习为基础的相关研究方法。由上图可知,异常行为的识别过程主要由特征提取与分类两部分构成,故特征提取的好坏将直接影响后续分类结果的准确性。目前,基于深度学习的特征提取方法主要分为基于C3D(Convolutional 3D)、基于双流CNN基于RNN基于深度图像四类。
在这里插入图片描述

2.4.1 基于C3D-CNN的特征提取

2013年,文献[1]为提取视频帧间的时空特征,在输入数据中增加了时间维度信息,使用三维卷积核对连续多图片进行卷积,实现了人体的行为识别.
2015年,文献[2]进一步提出了 C3D网络,通过确定合适的三维卷积核尺寸提取输入视频的外观和运动特征,并通过连接到多分类SVM,实现了简单高效的行为识别。
2017年,针对C3D计算量较大、模型参数训练因难问题,文献[3]使用空间二维卷积和时间一维卷积代替了三维卷积网络,并以多种组合方式植入残差网络,设计了伪三维残差神经网络结构(pseudo-3D ResNet, P3D),有效降低了模型的复杂度,在行为检测和场景识别等方面取得了较好的效果。
2019年,为充分获取视频及图像的显著特征,文献[4]在行为识别框架中引入了注意力机制,通过在特征映射中增加与前景区域相关联的值来构造剩余注意单元,有效减少了背景运动对识别过程产生的不利影响。

2.4.2 基于双流CNN的特征提取

双流卷积神经网络是指:将输入视频分为时间流和空间流两个部分,提取多帧稠密光流信息作为时间流输入,将单帧RGB图像作为空间流的输入。然后,利用深度卷积神经网络分别对两种信息流进行处理,最后将结果进行融合实现行为识别。
2015年,文献[5]对原有双流架构加以改进,利用ImageNet对时空流进行预训练,使用更小的学习率并结合数据增强技术,防止了因数据量规模较小而产生的过度匹配情况。
2016年,文献[6]基于原始双流网络提出了一种时空融合架构。通过在不同层级对两个网络的特征图进行融合,之后利用C3D对融合后的特征进行处理,从而更好地实现了时间网络与空间网络的交互。
同年,文献[7]基于长时间的视频序列建立模型,提出了构造时域分段网络(Temporal Segment Network, TSN)。模型利用稀疏时间采样方法从较长的视频序列中随机抽取短片段输入不同的双流网络中,同时采用段共识函数对不同的片段得分进行融合,实现了视频级的行为识别
2018年,文献[8]基于TSN提出了TRN(Temporal Relation Network),能够对多个时间尺度的视频进行时序推理,获取多帧之间的时间依赖关系。
2018年,文献[9]在TSN稀采样策略基础上,提前对时空信息进行融合,构建了一套完整的在线视频分析框架,实现了更加快速的行为检测。
2018年,文献[10]基于双流框架和C3D提出了I3D (Inflated 3D Convolutional Network),该网络将输入的RGB图像和光流信息分别训练,并取两者预测结果的平均值输出,所提模型的检测。
为充分利用时间、空间及跨通道维度的特征,2020年,文献[11]在I3D基础上添加了通道-时空注意力块,提出了细粒度动作识别的多视角注意机制,提高了行为识别准确率

2.4.3 基于RNN的特征提取

与前馈网络相比,循环神经网络(Recurrent Neural Networks, RNN)能够存储信息并处理时序数据,具有对输入信息的记忆能力,能够反映时间序列数据的关系。
1997年,文献[12]为解决RNN处理长序列时容易出现梯度消失的问题,将RNN拓展至长短期记忆单元(long short-term memory, LSTM),用存储单元代替神经元,并添加输入门、输出门、忘门。模型实现了系统状态的整体更新和结果输出,对于学习长序列数据的特征有不错效果。
2015年,文献[13]将CNN与LSTM单元相结合,利用较长视频进行训练,得到了较好的识别效果。
同年,文献[14]根据RCNN可以将可变长度的输入映射到可变长度的输出这一特点,提出了LRCN (Long-term Recurrent Convolutional Networks)。模型利用CNN提取特征,并将之作为LSTM的输入,实现了端到端的行为识别。
2018年,文献[15]提出一种基于运动的注意力机制,通过将注意力引导到相关的时空位置,充分利用了视频的空间相关性。所提方法可以作为提升模型检测性能的通用模块。
2017年,文献[16]将视频相邻帧之间的差异作为输入,利用卷积长短期记亿网络进行编码,基于视频实现了端到端的暴力行为检测。
相比于其他特征提取方法,基于深度学习的特征提取方法不必定义提取的具体特征,可以通过较少的预处理、借助自身的多层隐藏节点直接从原始数据中学习有用特征。同时,基于深度学习的特征提取方法易与大数据进行结合,在多种场景下取得较好的应用效果.

2.4.4 基于深度图像的特征提取

随着三维视觉传感器的飞速发展,深度图像逐渐广泛应用于行为识别领域。深度图像中包含三维空间的深度信息,相比于传统色彩图像,其去除了颜色和纹理信息,使用空间几何信息和目标结构信息替代,背景变化和遮挡等因素的影响被极大削弱,具有较好的鲁棒性。
2017年,文献[17]采用空间拉普拉斯和时间能量金字塔方法,将深度图像序列分解为不同时空位置的特定频带。通过提取其中低频和高频特征并将之融合,实现了高效的行为分类。
2018年,文献[18]将深度数据中的运动、形状信息结合,生成基于运动和形状的兴趣点,从而高效地对行为的局部外观和时空分布进行了描述。
一定程度上,利用深度图像进行人体行为分析弥补了二维图像部分信息缺失的问题,但深度图像本身存在较多噪声,且缺少外观和纹理信息。此外,基于深度图像的特征提取方法计算量较大,目前还有很大的研究和发展空间。

------tbc-------
有用可以点个大拇指哦 🤭

【作者有话说】
以上内容仅为博主自主整理分享,很多内容也是来源于网络,若有侵权,请私聊告知
大家有任何问题可在评论区讨论交流~

部分参考来源

《人脸视频深度伪造检测方法综述》_张璐
《视频单目标跟踪研究进展综述》_韩瑞泽
《视频目标跟踪算法综述》_刘艺

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/50754.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WIZnet W6100-EVB-Pico DHCP 配置教程(三)

前言 在上一章节中我们讲了网络信息配置,那些网络信息的配置都是用户手动的去配置的,为了能跟电脑处于同一网段,且电脑能成功ping通板子,我们不仅要注意子网掩码,对于IP地址主机位和网络位的划分,而且还要注…

【LeetCode】二叉树的前序,中序,后序遍历

此题用递归做比较容易&#xff0c;然后根据前中后的遍历特点&#xff1a; 前序是根左右&#xff0c; 中序是左根右&#xff0c; 后序是左右根。 前序遍历&#xff1a;做题入口 class Solution {public List<Integer> preorderTraversal(TreeNode root) {List<Integer…

求分享如何批量压缩视频的容量的方法

视频内存过大&#xff0c;不但特别占内存&#xff0c;而且还会使手机电脑出现卡顿的现象&#xff0c;除此之外&#xff0c;如果我们想发送这些视频文件可能还会因为内存太大无法发送。因此&#xff0c;我们可以批量地压缩视频文件的内存大小&#xff0c;今天小编要来分享一招&a…

VSCode配置之C++ SQLite3极简配置方案

背景 最近在学习《深入应用C11: 代码优化与工程级应用》&#xff0c;其中第13章说到SQLite库&#xff0c;查询网上诸多教程&#xff0c;发现比较容易出现bug且配置较为麻烦&#xff0c;故记录此次简化版方案&#xff0c;以供参考。 软件环境 SQLite 3.42.0 版本&#xff08;仅…

解读分布式锁(redis实现方案)

1.导读 分布式锁是一种用于分布式系统中的并发控制机制&#xff0c;它用于确保在多个节点或多个进程之间的并发操作中&#xff0c;某些关键资源或代码块只能被一个节点或进程同时访问。分布式锁的目的是避免多个节点同时修改共享资源而导致的数据不一致或冲突的问题。通俗的来…

【MySQL】索引与B+树

【MySQL】索引与B树 索引概念前导硬件软件方面 索引的理解单个page多个page引入B树B树的特征为什么B树做索引优于其他数据结构&#xff1f;聚簇索引与非聚簇索引辅助索引 索引的创建主键索引的创建和查看唯一键索引的创建和查看普通索引的创建和查看复合索引全文索引索引的其他…

【数据集】3小时尺度降水数据集-MSWEPV2

1 MSWEP V2 precipitation product 官网-MSWEP V2降水产品 参考

【Python数据分析】Python基本数据类型

&#x1f389;欢迎来到Python专栏~Python基本数据类型 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;Python学习专栏 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望…

基于WSL2、Ubuntu和VS Code的CUDA平台运行C语言程序

一、CUDA程序执行方法 执行步骤为&#xff1a; 安装Visual Studio Code。在Visual Studio Code中安装插件WSL与电脑的WSL2进行连接。点击左下角&#xff0c;然后再选择连接到WSL。 在WSL中创建以 .cu 为后缀的文件。 rootDESKTOP-HR6VO5J:~# mkdir CUDA /…

Flutter ios真机调试连接断开后应用闪退

使用ios真机调试的时候&#xff0c;能正常打开应用&#xff0c;但是当数据线断开连接的时候&#xff0c;应用就会关闭&#xff0c;重新打开就会闪退。 原因是flutter默认在开发过程中使用debug模式编译 只需要将debug选择为release 重新编译就行。

C++代码格式化工具clang-format详细介绍

文章目录 clang-format思考代码风格指南生成您的配置运行 clang-format禁用一段代码的格式设置clang-format的设置预览 clang-format 我曾在许多编程团队工作过&#xff0c;这些团队名义上都有“编程风格指南”。该指南经常被写下来并放置在开发人员很少查看的地方。几乎在每种…

Shell 排序法 - 改良的插入排序

说明 插入排序法由未排序的后半部前端取出一个值&#xff0c;插入已排序前半部的适当位置&#xff0c;概念简单但速度不快。 排序要加快的基本原则之一&#xff0c;是让后一次的排序进行时&#xff0c;尽量利用前一次排序后的结果&#xff0c;以加快排序的速度&#xff0c;Shel…

【软件测试】基于博客系统的自动化测试

目录 1.我的博客系统链接 2.使用selenium对博客系统进行自动化测试 1.引入依赖 2.创建公共类 3.创建测试套件类 4.测试登陆界面 5. 测试博客列表页 6.测试写博客页面 7.测试删除博客 8.最终运行结果 1.我的博客系统链接 用户登录 2.使用selenium对博客系统进行自动…

Git时间:版本控制工具进阶

Git时间&#xff1a;版本控制工具进阶 忽略文件 Git允许用户将指定的文件或目录排除在版本控制之外&#xff0c;它会检查代码仓库的目录下是否存在一个名为.gitignore的文件&#xff0c;如果存在&#xff0c;就去一行行读取这个文件中的内容&#xff0c;并把每一行指定的文件…

【算法和数据结构】257、LeetCode二叉树的所有路径

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;首先看这道题的输出结果&#xff0c;是前序遍历。然后需要找到从根节点到叶子节点的所有路径&#xff…

C++笔记之vector的底层实现和扩容机制

C笔记之vector的底层实现和扩容机制 1. 先申请内存空间&#xff0c;内存空间容量变成原来的n倍(一般是原来的两倍) 2. 将原本容器中的数据拷贝到新的内存空间中 3. 释放原来的内存空间 4. 将数组指针指向新容器的内存空间 code review! 文章目录 C笔记之vector的底层实现和扩…

秒级体验本地调试远程 k8s 中的服务

点击上方蓝色字体&#xff0c;选择“设为星标” 回复”云原生“获取基础架构实践 背景 在这个以k8s为云os的时代&#xff0c;程序员在日常的开发过程中&#xff0c;肯定会遇到各种问题&#xff0c;比如&#xff1a;本地开发完&#xff0c;需要部署到远程k8s集群&#xff0c;本地…

LLaMA模型论文《LLaMA: Open and Efficient Foundation Language Models》阅读笔记

文章目录 1. 简介2.方法2.1 预训练数据2.2 网络架构2.3 优化器2.4 高效的实现 3.论文其余部分4. 参考资料 1. 简介 LLaMA是meta在2023年2月开源的大模型&#xff0c;在这之后&#xff0c;很多开源模型都是基于LLaMA的&#xff0c;比如斯坦福大学的羊驼模型。 LLaMA的重点是比…

观察者模式、中介者模式和发布订阅模式

观察者模式 定义 观察者模式定义了对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都将得到通知&#xff0c;并自动更新 观察者模式属于行为型模式&#xff0c;行为型模式关注的是对象之间的通讯&#xff0c;观察者模式…

iOS--通知、代理、单例模式总结

通知 概要 观察者和被观察者都无需知晓对方&#xff0c;只需要通过标记在NSNotificationCenter中找到监听该通知所对应的类&#xff0c;从而调用该类的方法。并且在NSNotificationCenter中&#xff0c;观察者可以只订阅某一特定的通知&#xff0c;并对齐做出相应操作&#xf…