行为检测论文笔记【综述】基于深度学习的行为检测方法综述

摘 要:

行为检测在自动驾驶、视频监控等领域的广阔应用前景使其成为了视频分析的研究热点。近年来,基于深度学习的方法在行为检测领域取得了巨大的进展,引起了国内外研究者的关注,对这些方法进行了全面的梳理和总结,介绍了行为检测任务的详细定义和面临的主要挑战; 从时序行为检测和时空行为检测 2 个方面对相关文献做了细致地分类,综合分析了每一类别中不同研究方法的思路和优缺点,并阐述了基于弱监督学习、图卷积神经网络、注意力机制等新兴研究话题的相关方法; 介绍了行为检测领域常用的数据集以及性能评估指标,在这些数据集上比较了几种典型方法的性能; 总结了当前行为检测方法需要解决的问题以及进一步发展的研究方向。

关键词: 视频理解; 行为检测; 深度学习; 弱监督学习

0 引 言

近年来,随着视频相关应用的爆发式增长,智能视频理解技术成了计算机视觉领域内研究的热点。行为检测( action detection) 旨在从长视频中定位出人们感兴趣行为在时间甚至是空间上的具体位置,是最为重要的视频理解任务之一。该技术可以广泛应用于视频监控、视频搜索与检索、自动驾驶、人机交互、视频内容推荐等。

由于存在潜在的巨大应用前景,行为检测技术研究一直都受到广泛的关注。传统行为检测研究主要集中在基于手工设计( hand-crafted) 特征的模型,这类方法在文献[6]中有较为全面的介绍。近年来,随着大规模数据集的发布和计算机运算能力的增强,特别是 GPU 的广泛使用,深度学习技术在计算机视觉领域的各个任务中取得了巨大的成果。特别是,深度学习技术在目标检测任务上的巨大突破,直接推动了基于深度学习技术的行为检测研究热潮。目标检测领域的相关策略和框架在行为检测任务中被直接应用或者借鉴,显著地提高了行为检测的性能。然而,在这个快速发展的领域缺少相关的文献总结。为此,本文对近年来基于深度学习的行为检测研究进行了较为全面的总结和梳理,具体包括行为检测任务定义与面临的挑战、领域内提出的相关方法、常用的行为数据集与评估指标。同时,论文给出了代表性算法在典型数据集上的性能指标,最后讨论该领域未来值得研究的几个研究方向。

1 行为检测的定义与挑战

1.1 行为检测任务定义

行为检测任务可以分为时序行为检测( temporal action detection) 和时空行为检测( spatio-temporal action detection) 两类。前者只需要得到行为的类别以及在视频中发生的开始帧和结束帧,而后者还需要定位出与行为相关的目标( 人、物体等) 的空间坐标。图 1 给出了时序行为检测和时空行为检测任务的图解,输入视频 V = { I t i } i = 1 , . . . , T V=\{I_{t_i}\}_{i=1,...,T} V={Iti}i=1,...,T,其中, I t i I_{t_i} Iti t i t_i ti时刻的视频帧。 t i t_i ti时刻目标 obj 在空间上所占矩形框的位置用矩形框对角线 2 个点的坐标 ( x m i n , y m i n , x m a x , y m a x ) t i o b j (x_{min},y_{min},x_{max},y_{max})^{obj}_{t_i} (xmin,ymin,xmax,ymax)tiobj 来表示,其中, x m i n , y m i n x_{min},y_{min} xmin,ymin为矩形框左上角坐标, x m a x , y m a x x_{max},y_{max} xmax,ymax为矩形框右下角坐标。沿用文献[7]中的定义,对于时序行为检测任务而言,需要得到 V 中每一个行为的标签 c ∈ C c∈C cC以及行为持续时间 ( t s t a r , t e n d ) (t_{star},t_{end}) (tstar,tend)这里,C 是数据集中定义的行为类别的集合, t s t a r t t_start tstart t e n d t_end tend分别为行为的起始帧和结束帧。在时空行为定位中,算法的输出可以表示为 { R t } t = t s t a r t , . . . , t e n d \{R_t\}_{t=t_{start},...,t_{end}} {Rt}t=tstart,...,tend,以及行为类别 c,其中, R t R_t t为 t 时刻行为发生的空间区域。值得注意的是,一个行为可能由多个目标共同完成,所以, R t R_t t应该为一个包含这些目标空间区域的集合。

在这里插入图片描述
与行为检测任务紧密相连的任务有行为识别( action recognition) 、活动检测( activity detection) ,以及事件检测( event detection) 。行为识别的任务只需要对给定的一个剪切好的视频段进行行为类别判断,判断其类别标签 c。活动检测和事件检测与行为检测的任务相似,三者之间的区别没有严格的界限。通常情况下,“活动”相对于“行为”来说在视频中持续时间会长一些,“事件”的持续时间则长短不一,而“行为”的持续时间通常比较短。关于行为识别的方法综述,推荐读者参阅文献[8],活动检测方法综述参见文献[9],而事件检测的方法综述参见文献[10]。

1.2 行为检测面临的主要挑战

行为检测是一项十分具有挑战性的任务,基于深度学习技术的行为检测任务面临的主要挑战有如下 5 个方面。

1) 视频数据集规模相对较小。深度学习方法需要大量的训练数据,而现有的行为视频数据集规模还不够大。例如,常用的 ActivityNet[11]数据集有20 000 个短视频和 23 000 的行为标注。考虑到视频数据的存储空间与标注难度,这已经是很大的一个量级,但是与图像中 COCO[12]目标检测数据集超过 200 000 的样本和 500 000 的标注实例相比就低了一个数量级。
2) 行为识别难度大。行为检测非常依赖于行为识别的性能,然而到目前为止,行为识别任务还有待进一步的突破。同类行为的执行者会有较大的差异,再加上人或物体本身在外观上的差异,导致行为的类内差异比目标检测任务中目标的类内差异更大。另外,对图像序列进行建模也很困难。
3) 行为的持续时间变化很大。日常生活中的行为可以持续几秒到上百秒,再加上很多行为对于起始与结束时间节点的定义是模糊的,这使得算法确定这些边界变得十分困难。
4) 视频中目标的空间定位困难。与单张图像的目标检测不同,行为检测需要将视频中同一目标在不同帧的定位结果关联起来。这需要算法考虑不同目标的纹理与运动信息,确保前后时序关联的多个目标不发生跳变和遗漏。
5) 参数搜索空间大,运算成本高。由于视频比图像多一个维度,算法的参数与运算量也会急剧增加,这使得训练过程更加困难,最终的模型预测起来也很慢。

此外,行为检测任务与目标检测任务也有很多相似之处,都面临着光照变化、角度差异、形变、遮挡等挑战因素。这些因素在文献[13-16]中都有较为详细的描述。

2 基于深度学习的行为检测方法

给定输入视频 V,基于深度学习的行为检测方法主要采用神经网络提取视频的特征,在此基础上设计相应的分类器、回归器和损失函数,最后使用优化器对网络参数进行优化,寻找最优解。时序行为检测和时空行为检测 2 个子任务的定义相差较大,使用的检测框架也明显不同,本文将它们分开介绍。

2.1 时序行为检测

在时间维度上检测行为与在空间维度上检测目标很相似,因此,这类任务很大程度上借鉴了目标检测的框架,可以将其分为两阶段( two-stage) 和单阶段( one-stage) 的方法。本节将分别对 2 种不同类别的方法进行讨论,然后对近年来十分热门的基于弱监督学习的方法进行总结。图 2 对不同类型的时序行为检测方法进行了分类展示。

在这里插入图片描述
在这里插入图片描述

2.1.1 两阶段的方法

图 3 展示了基于两阶段方法的框架图。先从原输入视频中提取出大量可能包含行为的候选视频段 P = { p 1 , p 2 , . . . , p M } P=\{p_1,p_2,...,p_M\} P={p1,p2,...,pM} M M M为一个视频中候选视频段的个数。每一个候选视频段可以表示为
在这里插入图片描述
(1)式中: p i s t a r t , p i e n d p^{start}_i,p^{end}_i pistart,piend,分别代表第 i 个候选视频段的起始时间和结束时间。由于运算能力有限,这类方法在具体实现中会将整个视频划分为若干个片段,即 V = { S 1 , S 2 , . . . , S N } V=\{S_1,S_2,...,S_N\} V={S1,S2,...,SN},,每一个片段 S i S_i Si会单独送入特征提取网络得到特征图 f i f_i fi,其值为
在这里插入图片描述
( 2) 式中, ϕ \phi ϕ为特征提取网络的映射函数。该网络一般使用行为识别领域中的三维卷积神经网络,比如 C3D[17],I3D[18],P3D[19],R(2+1)D[20] 和 3DResNet[21]等。将这些特征图从时间维度拼接起来可以得到整个视频的特征图 Η。拼接后的特征图在时间长度上与原视频的长度相同或成正比,所以可以根据生成的行为候选视频段的时间范围从 Η 中直接截取其对应的特征 h i h_i hi。如果这样的操作会导致不同的候选视频段特征长度不一致,则需要通过池化操作将其变为固定长度,最后将这些特征送入分类器和回归器分别预测行为类别和时序上的边界。

在这里插入图片描述
在两阶段的方法中,产生的候选视频段应当尽可能地包含所有真实发生的行为,而且虚假的数量尽可能少。这样有利于减少后续预测部分的运算量和分类难度。因此,整体算法的性能十分依赖于生成的行为候选视频段的质量,这使得当前很多研究的重点在于如何生成高质量的视频段上。除此之外,也有一部分工作专注于整体网络结构的改进。

2.2 时空行为检测

与时序行为检测任务相比,时空行为检测的复杂程度明显更高。现有的方法主要还是依赖于分立的多个模块组成的框架对视频进行处理。也有采用了一体化的框架,端到端( end-to-end) 地训练模型,直接处理输入视频并得到最终结果。下面分别介绍这 2 种方法。时空行为定位的方法总览见图 5。

在这里插入图片描述
图 5 时空检测方法总览(Overview of spatiotemporal action localization methods)

2.2.1 基于多个模块的方法

现有的时空行为检测算法受限于行为在空间范围和持续时间的多变性,单一模型取得的效果有限,所以大部分方法将这个任务分解为多个子任务。早期的传统方法[42-43]中就已经在使用这种方法—采用手工设计的特征,对视频提取特征,基于时空像素块提取候选区域之后,再用分类器做行为分类。基于深度学习的方法在框架上与传统方法基本一致,只是更多地采用深度神经网络提取行为特征。如文献[44]提出了一个基于候选区域的多模块化的方法。该方法包括 2 个阶段: 第 1 个阶段使用目标检测对监控视频中的物体进行逐帧检测,再采用层次聚类( hierarchical clustering) 加上时间抖动( temporal jittering) 的方法生成密集的时空候选区域 ( spatio-temporal proposals) ; 第 2 阶段对基于 I3D 的网络加入了分类和时间边界回归模块,用于对这些候选区域进行分类和时间边界的修正。基于目标检测的候选区域生成方法有助于检测在视频帧的较小空间区域中发生的行为,而时间抖动和时间边界修正有助于检测可变长度的行为。

其他的方法主要体现在不同模块使用的方法有差异,但处理流程基本相似。在同样的任务上,文献[45]使用的框架分为 4 个模块: 特征提取、候选区域生成、行为分类和行为定位。首先单独地对每一个模块进行研究和评估,再将所有模块合并到一起。由于最开始训练分类器的样本和生成的候选区域不一致,通过将这些候选区域添加到训练集中,并使用难例样本挖掘( hard-negative mining) 的策略去修正模型之间的差异。

2.2.2 基于一体化框架的方法

端到端的一体化框架有利于全局地优化参数,避免了由于不同模块之间的分歧陷入局部最优值。根据不同的设计思路,本文大致可以将这些方法分为泛化已有框架、加入长时间依赖、使用关系建模以及替换骨干网络四大类别。

  1. 泛化已有框架。这类方法借鉴了其他领域已有的架构,将其成功泛化到行为检测领域。由于这些检测框架经过了其他领域大量研究者的验证,加之行为检测与其他任务之间的相似性,这种做法提升行为检测性能的可能性很高。例如,文献[46]提出了一种称为管道卷积神经网络( tube convolu-tional neural network,T-CNN) 的结构,它是 Faster R-CNN 从 2D 到 3D 的扩展。该方法先将视频分成多个长度为 8 帧的片段,然后逐个处理输入片段。在处理过程中会使用锚点的方式为其生成具有各种空间和时间大小的候选区域。接着,使用 3D 的池化层( pooling layer) 对这些区域的特征进行处理得到固定长度的特征向量,再输入到分类器,最后根据分类器预测结果将不同的候选区域连接起来。文献[47]则是借鉴图像识别中的胶囊网络[48],提出了一种胶囊池化( capsule-pooling) 的算法用于解决模型扩展成 3D 后所带来的运算量大幅上升的问题。该方法使用的编解码结构可以有效减少网络参数,且不需 要 区 域 候 选 网 络 ( region proposal network,RPN) 以及光流信息。整个框架可以端到端地联合训练分类损失和定位损失。

  2. 加入长时间依赖。人类在理解视频中的行为时需要持续地观察行为发生前后的相关信息。现有的方法每次只将 2 ~ 5 s 的视频片段独立地通过3D 卷积神经网络计算特征图,然后通过感兴趣区域池化( region of interest pooling) 为每一个候选区域计算特征。这种只捕获短期信息的方法不足以帮助模型更好地判别行为的类别和时间范围。因此,让模型每次预测时能够考虑更长时间段内的信息是很有必要的。如文献[49]中提出的方法,事先对整个视频中的每个人( 论文中处理的数据集都是标注与人相关的行为) 提取特征,将这些特征称为长时特征库( long-term feature bank,LFB) 。每次网络处理一小段视频的时候,会通过一种特征库算子( feature bank operator,FBO) 将该段视频中提取的特征与LFB 中的特征进行关联,从而考虑到更长时间范围内的视频信息。

  3. 关系建模。行为的发生有着其自然的规律,人物与环境的关系、人物之间的交互、行为与行为之间的关联等都是可以帮助模型更好地判断当前行为类别与发生位置的有用信息。如何在模型设计过程中挖掘出这些关系也是行为检测领域的一大研究热点。如文献[50]中提到,推断一个人的行为不仅需要处理目标区域的图像块,还需要联系其周围的人和物,这就需要把这些信息编码到现有的特征中去。在设计编码机制时,该方法主要借鉴了文献[51]中使用注意力机制的思路,设计了在结构上一致地针对行为的变换网络( action transformer network) 。文中首先使用 I3D 骨干网络提取特征,再从特征图在时间维度上中间的一帧取出来输入 RPN 网络,获得候选目标框以及其对应的空间位置信息,并将这些候选框通过池化之后得到一个关于目标的原始特征表达。接下来直接将 I3D 输出的特征通过线性映射后作为权重,将目标周围的空间信息嵌入到这个特征中。在截取人物空间区域的特征之外,文献[52]同时提取整个场景的全局特征,并经过一个以人物为中心的关系网络来生成关系图,用于提取与行为相关的场景信息。这其中的关系网络由 2 个卷积层构成,对关系的建模能力有限。为了更好地对人物与场景关系进行建模,文献[53]中使用更强大的图模型。将人物或者目标的特征作为图模型的节点,连接有交互关系的人物或者物体,在此基础上使用图卷积网络聚合与行为有关联的人物或物体的特征,再由分类器进行分类。

  4. 骨干网络。由于现有方法主要使用 3D 卷积神经网络提取行为的特征并用于分类,因此,该任务也在很大程度上受益于视频识别领域的发展,使用更好的骨干网络能取得更好的结果。从 T-CNN 中只有 6 个卷积层的 C3D,到 LFB 中 50 个卷积层的3D ResNet-50,网络的复杂度逐渐增加。在 2019 年AVA[54]数据集的行为检测挑战赛中,来自 Facebook人工智能研究院的团队使用 SlowFast Network[55]作为骨干网络的框架夺得了冠军,相较于上一年冠军的指标提升了 13 个百分点。因此,探索更加有效的行为识别网络也是有效提高模型性能的途径之一。

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
目标检测是计算机视觉领域的重要任务,主要目标是在图像或视频中识别和定位特定物体的位置。近年来,随着深度学习的发展,目标检测取得了显著的进展。 综述2023年的目标检测技术包括以下几个方面: 1. 单阶段目标检测方法:传统的目标检测方法通常需要多个阶段,例如先生成候选框,再对框中的物体进行分类。而单阶段目标检测方法将多个步骤合并为一个网络,直接输出物体类别和位置信息。2023年,单阶段目标检测方法如YOLO、SSD等仍然是研究热点。 2. 多尺度和金字塔特征:为了解决目标在图像中尺度变化带来的挑战,研究者提出了一些多尺度和金字塔特征的方法。这些方法通过在不同层次提取特征信息来检测不同尺度的目标。 3. 端到端训练:传统的目标检测方法通常需要多个阶段的训练,而端到端训练则是指直接从原始图像到目标检测结果的一次性训练。这种方法能够简化模型的设计和训练流程,并且在一定程度上提高检测性能。 4. 监督目标检测监督目标检测是指只使用图像级别的标签进行训练,而不需要精确的目标位置标注。这种方法在数据标注成本高昂的情况下具有重要的应用价值。 5. 目标检测数据集的发展:目标检测算法的发展离不开大规模的标注数据集。2023年,已经存在的一些常用数据集如COCO、VOC等将会持续更新和扩充,并且可能会涌现出一些新的数据集。 总的来说,2023年的目标检测技术将继续朝着更高的性能、更高的效率和更广泛的应用方向发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值