基于连续帧的在线实时人体行为检测

2018-06-28 02:44周道洋关胜晓夏雨薇
网络安全与数据管理 2018年6期
关键词:光流时序时空

周道洋,关胜晓,夏雨薇

(中国科学技术大学 信息科学技术学院,安徽 合肥 230026)

0 引言

近年来随着深度学习的快速发展,计算机视觉蓬勃发展,极大地推动了人体行为检测的发展。人体行为检测作为计算机视觉中一个极具挑战性的课题,涉及图像处理、模式识别、计算机视觉、人工智能等多个交叉学科,广泛应用于视频监控和安全、人机交互、医疗康复运动分析、环境控制和预测等领域[1]。当前人体行为检测主要受摄像头视角变化、光照变化、个体差异等的影响[2]。

深度学习方法在计算机视觉中的广泛应用得益于卷积神经网络(Convolutional Neural Network,CNN)的普遍使用。卷积神经网络因其特殊的网络结构使其特别适合处理计算机视觉任务,近年来被广泛应用于图像分类,物体检测、分割,视频理解等任务[3]。

目前基于卷积神经网络的人体行为检测方法主要是直接提取视频的时空特征,然后基于时空特征进行分类和回归以达到行为检测的目的。例如SIMONYAN K等的双流网络[4],使用视频帧提取空间信息,同时使用光流提取运动信息(时间流),然后结合时间流和空间流的输出得到最终结果;Wang Limin等的TSN(Temporal Segment Networks)网络进一步研究了时空流融合的方法[5];Zhao Yue等提出了时序动作提名算法TAG(Temporal Actionness Grouping)以及后面的分类、边框回归网络SSN(Structured Segment Networks)用于行为检测[6]。这类方法要求网络能很好地处理视频的时序信息,尽可能地提取时序信息,然后将时空信息融合在一起,受光流的影响,这种方法处理速度较慢。随着对人体行为检测实时性要求的提高,在线实时人体行为检测算法被提出。首先使用物体检测算法将每帧图像里面的物体检测出来,然后再使用贪心连接算法将离散的候选框连接起来,以此实现行为检测。由于物体检测方法运行很快,又是逐帧检测,因此很自然地可以设计连接算法实现在线实时人体行为检测。例如SINGH G等提出Real-time Online Action Detection(ROAD)[7],基于SSD实现物体检测[8],然后使用贪心连接算法将候选框连接成行为实例,并进行分类,算法最快可以达到40帧每秒的速度。

本文基于SINGH G等提出的ROAD算法,设计了连续帧作为输入来进一步提高实时在线系统的准确性,同时研究了时空流的融合方法让网络能更好地利用和提取时空信息。实验结果表明改进的网络结构在保证实时在线的同时提高了准确率。

1 在线实时人体行为检测算法

SINGH G等提出的ROAD使用物体检测算法SSD实现帧等级的物体检测,然后使用贪心连接算法将检测框连接起来并得到人体行为的分类和定位,当只使用视频帧的RGB信息时,处理速度高达40帧每秒,同时还可以选择使用快速光流作为补充,处理速度也达到了28帧每秒,满足了在线实时系统的要求。

1.1 物体检测算法SSD

物体检测算法SSD的主要思想是在不同层次的特征图上分别生成不同宽高比的边界框,以此适应不同大小、不同宽高比的物体。由于没有了候选框提取步骤,整个物体检测完全在一个网络结构里面完成,真正实现了端到端的训练,因此SSD网络更容易优化训练,更容易将检测结果融合进系统之中,最主要的是省去了耗时的候选框提取,SSD网络运行的速度更快。这也使得SSD网络更加适合作为在线实时人体行为检测系统的基础网络。

SSD网络主要由4部分组成:基础网络部分、附加的特征提取层、默认框生成部分和卷积预测部分。将不同尺寸大小的图片变化成300×300后作为模型的输入,然后经过基础网络和附加的特征提取层提取原始图像的大量卷积特征。选择一部分特征层作为目标预测的依据,分别送入默认框生成部分和卷积预测部分得到多种尺度的默认框和在每个位置处的默认框偏移及类别概率。最后默认框、预测结果与图片的真实标记通过Loss层计算损失,并进行误差的反向传播训练模型的参数。

1.2 贪心连接算法

算法总结如下:

(1)对于每一个类别c,算法执行步骤(2)~(7)。

(2)对于已经存在的属于类别c的行为管道按得分进行降序排序,行为管道的得分为管道里每个检测框得分的平均值。

(6)结束循环。

(7)对于没有匹配的检测框,以它们为开始初始化新的行为管道。

1.3 在线实时人体行为检测算法的不足

ROAD处理速度很快,但是准确率还有提升的空间,网络结构还可以进一步优化,且这种方法是在单帧视频上进行物体检测,没有有效利用视频里面的时序信息。同时作者使用了快速光流作为补充,但光流与空间流也没有很好地融合,而这种时序信息和光流与空间流的融合是人体行为检测里至关重要的。基于此,本文提出一种基于连续帧的在线实时人体行为检测算法,并考虑空间流和光流的融合进一步提高准确率。

2 基于连续帧的在线实时人体行为检测算法

在SINGH G等提出的ROAD[7]基础上,首先考虑时空流的融合,然后使用连续帧作为输入改进网络,最后通过对比实验验证网络效果。

2.1 空间流与时间流的融合

现在视频处理的经典算法一般都会使用双流网络提取特征:一个空间流,使用视频帧的RGB通道作为输入,通过网络提取空间信息;一个光流,使用视频连续帧之间的光流作为输入,通过网络提取运动时间信息。分别使用两个网络去训练并做预测,然后将两者的结果取平均,或是训练一个SVM分类器,这种方法较单一的一个流准确率有明显提高,但是这种融合只发生在最终的结果上,中间的特征并没有进行融合。本文研究了在中间特定层进行特征融合然后基于融合的特征进行人体行为检测。

总结FEICHTENHOFER C等关于人体行为识别中双流网络融合的研究[9],发现卷积融合是最好的融合方法,本文借鉴这种卷积融合方法。

考虑到光流对帧等级边框检测的不准确性,本文的融合只发生在分类任务上,对于边框回归任务,只使用空间流的特征,但是在训练的时候边框回归的误差同样会传播到光流,因为光流网络也是使用了SSD,这样能更好地训练光流网络。

本文的基础网络仍然使用SSD来进行物体检测,在每一个要使用的特征层上先进行卷积融合,然后再执行卷积进行分类任务,即在最后的特征层上分别进行融合。时空流融合如图1所示。

图1 时空融合及多帧输入

2.2 连续帧输入

考虑到连续帧更能描述行为的具体类别,本文使用连续K帧代替单一帧作为输入,使用相同的卷积网络结构分别处理每一帧,这些网络共享参数。

对于分类任务,在进行了时空流的卷积融合以后得到每一帧的时空特征,对于连续K帧,使用3D卷积和3D池化进一步提取时空信息。网络结构如图1所示。

连续K帧得到的行为立方体可以类比单帧得到的检测框,后面经过相同的贪心连接算法,唯一不同的地方在于计算两个行为立方体的重叠度,两个行为立方体的重叠度定义为连续K帧重叠度的平均值。

由于使用了连续帧作为输入,每一帧都会包含于多个行为立方体中。对于每一帧,使用多个关联的行为立方体中对应帧检测框的平均值作为当前帧的检测框,这种处理能得到更加平滑的行为管道。由于本文的连续帧输入已经得到了较准确的检测框信息,因此通过算法的初始化和中间的处理已经能很好地检测行为的开始和结束,1.2节中算法的第5步不需要执行。

KALOGEITON V等通过实验论证了对于连续帧输入当K=6时能更好地表示人体行为的特征[10],本文中,使用K=6帧作为输入,而且使用重叠的输入,即连续两次的输入有K-1帧是重叠的,这样进一步使用时序信息。分类使用softmax损失,边框回归使用Smooth-L1损失。光流的边框回归损失不计入总损失,误差反向传播时将空间流的边框回归损失传入光流网络。

3 实验结果对比分析

为了对本文提出的方法进行有效评估,在公共基准数据集J-HMDB-21和UCF101-24上进行对比实验。UCF101-24是UCF101子集,包含24类行为,视频未经修剪,每个视频都有明确的时空标注。J-HMDB-21是J-HMDB的子集,包含21个行为类别,928段视频,每一个视频都只包含一个按行为发生时间修剪好的行为实例。

下面针对本文提出的方法在不同的数据集上分别进行试验。评价指标为不同重叠度阈值(0.2,0.5,0.75,0.5:0.95)下视频等级mAP的值,其中0.5:0.95表示此范围内以0.05为等差计算出来的重叠度对应的视频等级mAP的平均值。

3.1 关键帧检测

本文算法使用连续6帧作为输入,对于每一帧都进行边框回归,但是6帧作为一个整体进行分类,如图2所示。从图中可以看出,相对于单帧输入使用连续帧能更好地提取视频的时序信息,从而实现更精确的分类。同时随着视频帧的推移,人体的动作在变,检测框的位置和形状也能适应性地跟着变化,这都反映出本文算法在帧等级有很好的表现。

图2 连续帧输入

3.2 视频等级mAP平均值对比

表1和表2分别列出不同重叠度阈值(0.2,0.5,0.75,0.5:0.95)下的视频等级mAP,其中表1是在J-HMDB -21(all splits)数据集上本文算法与ROAD的视频等级mAP值对比,表2是在UCF101-24(split 1)数据集上本文算法与ROAD的视频等级mAP值对比。

表1 J-HMDB-21视频等级mAP结果对比

表2 UCF101-24视频等级mAP结果对比

从表1和表2中可以看出本文算法相对于ROAD[7]在不同数据集上准确率都有明显提升,特别是在重叠度阈值比较低的时候,准确度提升更明显。这说明时空流的融合及连续帧输入的确能更好地提取视频的时序信息,从而更好地表示视频,这也验证了本文方法的有效性。

试验均在Linux14.04操作系统、CPU(16核,3.0 GHz)、GPU GTX TITAN X(显存12 GB)上使用caffe完成。连续帧输入算法的运行速度达到25~30帧 每秒,满足在线实时系统的要求。

4 结束语

本文基于SINGH G等提出的实时在线人体行为检测算法,对网络结构和输入进行了改进。首先进行时空流的融合,充分利用视频时序信息;其次使用连续帧作为输入,进一步利用视频的时序信息,同时在分类任务中对连续帧的特征使用3D卷积和3D池化融合时空信息。试验表明,在保证在线实时的条件下,人体行为检测准确率提升明显。下一步将通过研究时空流更好的融合方法以缩小模型的大小,使其能运行在嵌入式设备中,让在线实时人体行为检测更有意义。

[1] 徐勤军, 吴镇扬. 视频序列中的行为识别研究进展[J]. 电子测量与仪器学报, 2014, 28(4):343-351.

[2] 雷庆, 陈锻生, 李绍滋. 复杂场景下的人体行为识别研究新进展 [J]. 计算机科学, 2014, 41(12):1-7.

[3] 李岳云, 许悦雷, 马时平,等. 深度卷积神经网络的显著性检测[J]. 中国图象图形学报, 2016, 21(1):53-59.

[4] SIMONYAN K, ZISSERMAN A. Two-stream convolutional networks for action recognition in videos[C]//Advances in Neural Information Processing Systems, 2014: 568-576.

[5] Wang Limin, Xiong Yuanjun, Wang Zhe, et al. Temporal segment networks: towards good practices for deep action recognition[C]//European Conference on Computer Vision, Springer International Publishing, 2016: 20-36.

[6] Zhao Yue, Xiong Yuanjun, Wang Limin, et al. Temporal action detection with structured segment networks[C]//The IEEE International Conference on Computer Vision (ICCV), 2017:2933-2942.

[7] SINGH G, SAHA S, SAPIENZA M, et al. Online real-time multiple spatiotemporal action localisation and prediction[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2017: 3637-3646.

[8] LIU W, AAGUELOV D, ERHAN D, et al. SSD: single shot multibox detector[C]//European Conference on Computer Vision, Springer, Cham, 2016: 21-37.

[9] FEICHTENHOFER C, PINZ A, ZISSERMAN A. Convolutional two-stream network fusion for video action recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 1933-1941.

[10] KALOGEITON V, WWINZAEPFEL P, FERRARI V, et al. Action tubelet detector for spatio-temporal action localization[C]//ICCV-IEEE International Conference on Computer Vision, 2017.

猜你喜欢
光流时序时空
利用掩膜和单应矩阵提高LK光流追踪效果
跨越时空的相遇
清明
镜中的时空穿梭
基于不同建设时序的地铁互联互通方案分析
玩一次时空大“穿越”
基于FPGA 的时序信号光纤传输系统
时空之门
基于模体演化的时序链路预测方法
一种改进的基于全局最小能量泛函光流算法