贺涛,罗兵,郭会文
(1.五邑大学 信息工程学院,广东 江门 529020;2.中国科学院深圳先进技术研究院 集成所智能仿生中心,广东 深圳 518055)
基于张量分解的跑动行为检测
贺涛1,罗兵1,郭会文2
(1.五邑大学 信息工程学院,广东 江门 529020;2.中国科学院深圳先进技术研究院 集成所智能仿生中心,广东 深圳 518055)
异常行为检测是智能安全监控的重要内容,而异常行为特征的提取是一个难点. 张量作为高维数据的自然表现形式能有效保留数据的结构信息提取到运动目标. 本文将张量分解应用于数字视频处理,然后对稀疏前景张量时间轴方向上的纤维束做频域处理进一步优化运动前景;最后使用多层卷积神经网络结构对运动目标的跑动行为进行识别. 仿真对比实验证明了基于张量分解的方法比传统方法处理效果更好、在实测视频中本文跑动行为识别率达到81.4%.
张量分解;高维信号处理;卷积神经网络;跑动检测
视频监控中的异常行为检测一直是安防领域的重要研究内容. 基于视频的异常行为检测主要包含三部分内容:运动目标提取、行为特征的提取和表示以及异常行为检测.
近几十年来,静态相机下的运动目标检测一般是根据背景像素点在时间上像素的值变化缓慢,而空间上背景像素点之间位置相对不变的特点实现的. 目前常用的方法有:帧间差分法[1],光流法[2],背景减除法[3]等. 帧间差分法优点是方法简单且计算速度快,满足实时性的要求,但提取的目标因为无法检测出重叠部分容易出现空洞,三帧差法是这种方法最经典的改进. 光流法能适用于一定的动态背景,但该方法对光照、阴影和遮挡等敏感,计算较复杂. 背景减除法的重点是利用先验条件建立背景模型并不断更新,用原图减去背景得到运动目标,常用的是混合高斯模型[4],该方法适用于复杂环境,但计算量较大,对动态背景过分依赖高斯分布.
张量形式的数据表示有不同于矩阵的特性,能更好地表达高阶数据复杂的本质结构,这种本质结构信息往往能很好地反映视频的时空特性,在视频处理中意味着更多的信息量. 本文研究了现有的基于张量分解的各类运动目标提取方法,比较了各种方法的性能,为这些张量分解算法的实际应用提供参考;此外根据张量数据的形式和特性,本文提出了基于稀疏前景视频的张量表示和一维快速傅里叶变换的特征优化方法,以较低的计算复杂度,得到了很好的运动目标提取效果. 我们将该方法用于行人的跑动检测中,同时结合形态学处理、卷积神经网络等方法实现行人的跑动检测.
一个算法是否有实际价值,除了考虑该算法的鲁棒性,还应该考虑实时性. 高维数据包含了巨大的计算量,那么实时性将成为选择算法的一个重要因素. 本文研究比较了现有的各种基于张量分解的运动目标提取方法,将快速有效的张量分解方法应用于基于视频的跑动检测的运动目标提取中.
目前张量分解有多种分解结构,传统的方法有CP分解和Tucker分解,近年来也出现了一些新的分解方法如:TTD/QTTD. Tensor Network等. 但就用于运动目标提取的张量分解方法而言,主要是基于传统CP分解和Tucker分解算法的改进.
假设是三阶的张量,表示为,进行Tucker分解后,可将这个三阶张量分解为一个核张量和三个因子矩阵U,V,W的n模式乘积,其中,表达式如下:
其中,矩阵U的大小为矩阵V的大小为矩阵W的大小为I3×K3,因子矩阵是相互正交的,三阶张量的Tucker分解如下图1所示.
图1 三阶张量的Tucker分解
与Tucker分解相比,CP分解更加侧重于核张量的对角形式而不是因子矩阵的正交性. 三阶张量的CP分解中,张量被分解为一组秩一张量的线性组合. 假设CP分解的成分个数为M,为了便于计算,通常在CP分解中假设因子矩阵的列是单位长度的,并引入一个权重向量λ∈RM,使CP分解表示为:
式中λm∈R且1≤m≤M,的秩为M可能的最小值. 三阶张量的CP分解如图2所示.
Sobral和Bouwmans等人在2016年发布了用于视频中的背景建模和减除的低秩和稀疏工具集LRSLibrary[6],该工具集共收集了104种基于矩阵和张量的算法,主要用于图像和视频处理. 本文对比了基于张量分解的11种可用于灰度图像的方法在跑动检测数据库中的前景提取效果以及各个算法的计算速度.
在对比实验中采用的原始实验视频为640*480像素的彩色视频,为便于实验对比,将视频缩放并灰度化处理成80*60像素的灰度视频,帧数为43,处理后视频第16帧的稀疏前景效果如图3所示,二值化分割之后效果如图4所示.
图3 张量分解后稀疏前景图
图4 稀疏前景图二值化分割结果
各个张量分解算法处理时间对比如表1,采集该实验数据的电脑配置为:CPU为Intel Core i5-2410M,内存为4GB,软件环境为Windows 10+Matlab2015b. 分析图4和表1得出如下结论:图4-e、g、h、k、i对应的算法提取运动目标的效果较好. 处理时间上,CP-ALS、OSTD、Tucker-ALS 3种算法耗时最短,能取得近似实时的效果. 二者综合比较,11种张量分解算法提取运动目标效果以Tucker-ALS算法效果最好,所用时间最短,在实验视频上能取得10 fps的处理速度.
表1 各种张量分解算法计算时间对比
在张量形式的视频处理中,三阶张量视频数据,固定一个下标,得到矩阵称为张量切片[7],如图5-a是图片大小为480*640,帧数为43帧视频的张量切片表示. 当固定两个下标,只变动一个下表,将得到一维数据称为张量纤维(Fibers).
分析图5中的张量切片图像,我们发现该图片的行扫描线上的两处突变分别对应视频中不同时间两个从镜头中跑过的人,图5-b为傅里叶谱图和对应的三维柱状图,谱图像素点代表频率值,柱状图的幅值由像素点亮度变码而得. 图5-b中频谱图中最大值是直流分量,傅里叶谱图中越亮的点,对应于灰度图中对比越强烈的点. 去除图5-b中傅里叶谱图的直流分量,得到图5-c中的谱图,去除直流分量后傅里叶谱图的亮度图像中的高频部分指梯度大的点,在切片图中,亮度大的点对应的正是运动目标,如图5-c所示.
图5 三维张量的高度—时间切片(Slices)
通过图5-b、5-c切片图的对比,去除了频域直流分量的切片图能准确反映出运动目标的位置. 一个二维傅里叶变换是一维傅里叶变换在每一个行扫描线和列扫描线上的傅里叶变换的叠加,进一步分析,当对稀疏前景张量数据时间轴方向上的纤维束做一维快速傅里叶变换,频谱图如图6-a中右图所示. 图中频谱图中最大值是直流分量. 将图6中傅里叶谱图中的直流分量设置为0,得到图6-b中频谱图谱图以及张量切片图.
图6 张量纤维(Fibers)的傅里叶频谱图去除直流分量前后对比
经过上述处理,将视频张量纤维重新整合为张量数据,再还原视频帧,分离出的傅里叶直流分量还原的视频第23帧,如图8所示,用对应帧的原图减去图8得到包含运动前景的图9.
图7 原视频第23帧
图8 变换后直流分量视频帧
图9 变换后非直流分量视频帧
将该方法与混合高斯背景建模以及原始的Tucker-ALS算法处理的前景目标提取效果对比如图10所示,图10-a为混合高斯背景建模的运动前景以及二值化结果,图10-b为张量分解Tucker-ALS算法的稀疏运动前景以及二值化结果,图10-c为张量分解Tucker-ALS算法与傅里叶变换融合的运动前景以及二值化结果. 图中对比结果表明我们提出的方法更为有效. 在实时处理中,为提高处理速度,用简单的FIR低通滤波器代替频域处理.
图10 运动目标前景提取效果对比
卷积神经网络(convolutional neural networks,CNNs)是一种深度的监督学习下的机器学习模型,该网络直接以图片数据作为输入,避免了特征提取等复杂操作. 本文使用典型的5层卷积神经训练分类器,该卷积神经网络已经成功运用于许多领域[8]. 经过多次参数调试,确定本文采用卷积网络结构如图11所示:
图11 CNN网络模型
卷积神经的输入层是80*40的图片,图片包括跑动和非跑的目标. 该网络包含2个卷积层、2个下采样层以及1个全链接层. 输出分类结果,表示行人处于跑动或非跑动状态.
本文所用的行人跑动数据均由普通摄像头在室外环境中获取,采集环境包括马拉松比赛场地、体育馆跑道、街道等. 采集图片分辨率为640*480,共获得数万个正样本,从中精选了16 000个跑动的人的正样本作为训练数据集,另外测试正负样本的数量各为2 000个. 图12是实验中用到的部分跑动检测正样本. 训练达到10次时,识别率达到98%,如图13所示为训练次数和训练识别率的关系图.
图12 部分跑动检测正样本数据
图13 识别率变化图
本系统基于Tucker-ALS张量分解方法[9]做特征提取,使用CNN训练得到的分类器对检测到的运动目标进行检测,系统框架如图14所示.
因张量算法计算量大,实验中将所有视频从原来的640*480下采样至160*120,以此进一步提高运算速度. 检测系统所用摄像头设置为20 fps,在系统中,当每次视频滑动块的视频帧数过少,则检测出的运动前景中噪声多,运动目标提取效果差,而帧数过多,增大了计算量,影响处理速度. 实际系统中设置输入的视频滑动块的帧数N为40.
图14 跑动检测系统框架
在KTH人体行为数据库中,该数据库背景简单,相机固定,我们以其中的walking和running两类行为的视频为测试的实验数据,我们检测出了running视频数据类中所有跑动的人,并且正常行走的视频中无误检情况.
在背景更加复杂的实测环境中所有跑动的人以矩形框标识. 我们测试了30个视频,视频考虑了背景、时间、光照以及行人跑动方向等因素. 每个测试视频中均有跑动的人,视频中跑动总人数为43人,跑动的人在视频中出现时间平均约为10 s. 检测出35人,检测率为81.4% . 如图15为部分跑动检测结果,包含不同背景、不同人数和跑动方向的检测效果.
图15 跑动检测部分结果
与传统的帧间差分法加卷积神经网络方法相比,检测速度提高了大约5%,运动目标检测精度提高了10%以上,总体跑动行为检测准确度提高了6.9%. 为了验证使用卷积神经网络的分类器的性能,使用正负样本训练数据训练SVM分类器与CNN分类器做实验对比. 在实测视频中检测准确率对比结果如表2所示.
表2 检测准确率对比
实测中,由于只使用了图像局部特征,要准确区分出跑动和正常行走,使得检测产生误检较少.本文训练分类器所选跑动的正样本具有显著特征,正样本中跑动动作大部分步幅大,或者具有高抬腿的典型跑动特征. 这样做能避免跑动步幅较小时被认为只是正常行走的误检情况,但产生了更多的漏检情况. 此外如图15中最后一张图片所示,当摄像头视角方向与人的运动方向角度较小时无法检测出跑动的人,主要原因是腿部的跑动特征在这种状态下不明显,而且该检测方法的特征没有深度信息,如何解决这个问题是跑动检测值得深入研究的一个难点.
本文研究了基于张量分解的运动目标提取算法,从处理时间上和运动目标提取效果对比得到Tucker-ALS算法性能最优,这种对比分析有利于张量分解算法的实际应用. 针对Tucker-ALS算法分离的稀疏前景的三阶张量数据纤维束表示形式和特性,本文提出的基于频域的优化方法优于传统张量分解算法并在此基础上使用多层卷积神经网络完成跑动行为识别. 后续工作中,基于张量分解高维特性,将研究如何将张量分解算法用于彩色图像、深度图像或多光谱图像的运动目标提取. 此外,在静态相机下张量分解的运动目标提取方法能取得非常好的效果,但此类方法不适用于动态相机,动态相机下的运动目标提取和异常行为检测是一个值得研究的方向.
[1] FORESTI G L. Object recognition and tracking for remote video surveillance [J]. Circuits & Systems for Video Technology IEEE Transactions on, 1999, 9(7)∶ 1045-1062.
[2] BAKER S, SCHARSTEIN D, LEWIS J P, et al. A database and evaluation methodology for optical flow [J].International Journal of Computer Vision, 2011, 92(1)∶ 1-31.
[3] BOUWMANS T. Traditional and recent approaches in background modeling for foreground detection∶ An overview [J]. Computer Science Review, 2014(s 11-12)∶ 31-66.
[4] STAUFFER C, GRIMSON W E L. Learning patterns of activity using real-time tracking [J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2000, 22(8)∶ 747-757.
[5] 彭立中, 张帆, 周丙寅. 图像与视频处理的张量方法[J]. 数学进展,2016, 45(6)∶ 840-860.
[6] BOUWMANS T, SOBRAL A, JAVED S, et al. Decomposition into low-rank plus additive matrices for background/ foreground separation∶ A review for a comparative evaluation with a large-scale dataset [J].Computer Science Review, 2016, 23(c)∶1-71.
[7] CICHOCKI A, ZDUNEK R, PHAN A H, et al. Nonnegative matrix and tensor factorizations∶ applications to exploratory multi-way data analysis and blind source separation [J]. 2009, 25(Q2)∶ 1-3.
[8] 许可. 卷积神经网络在图像识别上的应用的研究[D]. 杭州:浙江大学,2012.
[9] GU Fanglin, ZHANG Hang, WANG Wenwu, et al. Generalized generating function with tucker decomposition and alternating least squares for underdetermined blind identification [J]. Journal on Advances in Signal Processing, 2013(1)∶ 1-9.
[责任编辑:韦 韬]
A Running Detection System Based on Tensor Decomposition
HE Tao1, LUO Bing1, GUO Hui-wen2
(1.School of Information Engineering, Wuyi University, Jiangmen 529020, China;2.ShenZhen Institutes of Advanced Technology, Chinese Academy of Science, Shenzhen 518055, China)
Anomaly detection is an important part of intelligent security monitoring, and the extraction of abnormal behavior characteristics is relatively difficult. As a natural representation of high-dimensional data, tensors can effectively preserve the structural information of data and extract the moving objects in video. In this paper, tensor decomposition is applied to digital video processing,and then the frequency domain of sparse tensor is processed in a frequency domain to further optimize the motion foreground. Finally, a multilayer convolutional neural network structure is used to train the classifier to detect the running behavior of moving targets. The simulation experiment shows that the tensor decomposition method is better than the traditional method, and the detection rate of running behavior is 81.4% in the realistic scene.
tensor decomposition; high dimensional signal processing; convolution neural networks;running detection
TP391.41
A
1006-7302(2017)04-0049-08
2017-03-14
贺涛(1989—),男,湖北宜昌人,在读硕士生,主要研究方向是数字图像处理;罗兵,教授,博士,硕士生导师,通信作者,主要研究方向是机器视觉技术及应用.