基于组合特征和SVM的视频中人体行为识别算法*
2020-12-29李升健孙书会
陈 艳, 胡 荣, 李升健, 万 彬, 孙书会
(1. 江西科技师范大学 通信与电子学院, 南昌 330036; 2. 南昌大学 科学技术学院, 南昌 330029; 3. 国网江西省电力有限公司 电力科学研究院, 南昌 330096; 4. 南昌职业学院 工程系, 南昌 330004; 5. 沈阳工业大学 软件学院, 沈阳 110870)
随着人们对公共场合安全问题的重视,大量的视频监控系统被安装,用来分析突发事件和异常行为[1].然而,这一识别过程若仅依靠人工,则需要消耗大量的物力和财力,且监控人员长时间工作也易产生视觉疲劳,无法及时发现和反馈问题[2-4],因此,实现公共场合的自动监控与报警能在一定程度上节约人力资源,并能及时控制异常行为的发生[5-8].
目前,众多国内外学者和研究机构提出了多种人体行为识别和分析方法[9],如美国国防部设立了VSAM项目[10],将自动化视频处理技术应用于监控民用公共场所和监控战场.基于图像处理技术的人体行为识别方法可以分为直接分类法、状态空间法和模板匹配法[11].模板匹配法使用已知、确定的模板与待检测目标进行匹配,并将相似度最高的行为模板作为待检测目标的行为类别,如文献[12]中使用运动历史图像和运动能量图作为匹配模板,并使用马氏距离判断行为类别;状态空间法将人体行为与时序状态结合,使用隐含马尔科夫模型和动态贝叶斯网络找出所有目标帧之间的相互作用关系[13].
虽然这些方法能取得一定的效果,但自然场景中的视频存在着杂间距离的变化,导致人体在视频中呈现出不同的形状和大小;视频中背景存在着各种干扰因素,导致无法准确提取出人体特征;室内外场景的光照变化也将导致人体的颜色与对比度产生较大差异,导致无法有效辨别人体动作;视频中运动目标经常出现遮挡情况,也会给动作识别带来一定的困难.
针对这些问题,本文结合组合特征和SVM提出了一种视频中人体行为识别算法.首先使用光流特征、HOG特征和重心特征构成的组合特征描述人体的运动,然后训练SVM分类器对提取出的特征进行分类,最终得到具体的行为类别.
1 组合特征提取
人体行为识别包括人体特征提取和行为分类两个步骤,本文使用光流特征、HOG特征、重心特征以及3D SIFT特征构成的组合特征来描述各种行为.
1.1 光流特征
光流特征是由Gibson在1950年提出的,其用图像中每个像素点的灰度变化趋势表征像素点的运动方向及速度.假设图像像素点I(x,y)的变化可以用向量D=(u,v)表示,其中,u和v分别表示像素点在x方向和y方向的运动分量,则t时刻的运动变化满足
(1)
由于(u,v)在绩效局部内的亮度不变,则有
(2)
AD=B⟹ATAD=ATB⟹D=(ATA)-1ATB
(3)
光流特征通过对比连续的两帧图片,计算出物体的运动信息,根据光流计算的结果可以看出,光流场中可以看出变焦明显的人形,而背景区域只有较小的向量.
1.2 HOG特征
HOG全称为方向梯度直方图,常作为物体检测中的特征描述子,且被广泛应用于行人检测领域.本文为了更好地描述不同的人体行为,提出了一种改进的HOG算法,具体计算步骤如下:
1) 输入图像灰度值以减少光照影响;
2) 使用一维梯度模板[-1,0,1]与[1,0,-1]T计算x轴方向和y轴方向的梯度Gx、Gy,即
(4)
式中,H(x,y)为像素点(x,y)处的像素值,则其梯度幅值G(x,y)和梯度方向α(x,y)分别为
(5)
(6)
3) 将图像划分为若干个8×8大小的cell,并统计9个cell中的梯度直方图信息,将每个cell的梯度方向划分为9个方向块,用9维向量表示一个cell;
4) 组合2×2个cell形成一个大块像素,并串联所有cell向量得到块的HOG特征;
5) 使用高斯函数对梯度特征进行加权,得到各个块的HOG特征.
由于HOG特征表示局部小区域的统计直方图,故能有效消除阴影和光照的影响.图1为本文提取的HOG特征,从图1中可以看出,在人体的边缘区域能看到明显的灰度差.
1.3 重心特征
人体在运动时重心的位置不断发生变化,重心特征的提取包含人体轮廓提取和重心计算两个步骤.
图1 HOG特征Fig.1 HOG characteristics
1) 人体轮廓提取.首先提取出人体运动目标,然后对得到的二值图像使用Canny算法检测目标的边缘,得到的边缘图像即为人体轮廓.
2) 人体重心计算.图像重心位置计算表达式为
(7)
式中,N为图像的总像素点数.计算得到M帧图像的重心后,可以将这M个点连接成二维特征向量.
1.4 3D SIFT特征
为了描述人体行为在时间域的变化特点,本文使用3D SIFT特征表示人体在时间上的运动信息和空间的特征信息,同时,该特征对旋转、缩放和噪声均具有较好的适应性.3D SIFT特征的具体计算过程如下:
1) 以兴趣点为中心,从视频序列中抽取时空立方体,并将其划分为大小相同且固定的cell立方体;
2) 统计每个cell立方体的时空梯度直方图;
3) 联合所有cell立方体,构成该兴趣点的3D SIFT特征.
3D SIFT特征提取过程如图2所示,本文将12×12×12大小的立方体划分为8个子立方体,并计算点(x,y,t)的梯度幅值,本文使用32面的多面球体描述3D SIFT特征,则共有256维特征.
图2 3D SIFT特征提取过程Fig.2 3D SIFT feature extraction process
1.5 特征组合
不同的图像可以提取出不同维度的特征,本文为了保证各特征向量的维度一致,将光流特征和HOG特征进行归一化处理,并设置使用特征相同的权重来保证各特征被同等重视,以尽量实现参数最优,即各特征权重都为1.具体计算过程如下:
1) 将图像归一化大小为96×96;
2) 设置cell大小为8×8,并取2×2个cell组成块,即每个块的大小为16×16,故可以得到4 356维HOG向量;
3) 使用步骤2)的设置,也可以提取出4 356维的光流特征向量;
4) 连接HOG特征、光流特征、重心特征和3D SIFT特征得到组合特征向量.
2 人体行为识别
SVM通过将低位数据映射到高位特征空间,使得低维线性不可分的样本在高位空间线性可分.本文对任意两种人体行为均训练一个二分类SVM模型,并由决策函数确定SVM的分类结果.最后,统计并对所有SVM结果进行投票,将测试样本的行为归类为投票最高的行为类别.
假设训练样本集为fi,li∈{-1,1},i=1,2,…,n,SVM的核函数为k(fi,li),且有函数φ将输入的低维样本映射到高位空间,函数φ满足(φ(fi),φ(fj))=k(fi,li),则SVM的分类超平面为wφ(f)-b=0.训练SVM的目标是使目标函数值最小,即
s.t.li(w,φ(f))-b≥1-εi,0≤εi≤1
(8)
式中,εi和C分别为松弛变量与正则化系数.式(8)的拉格朗日对偶式为
(9)
式中,a=(a1,a2,…an)T为约束因子.求解式(9)可以得到分类超平面的决策函数为
(10)
3 实验与结果分析
本文使用KTH数据集进行仿真测试,该数据集包含4个场景(SC1、SC2、SC3,SC4)下24个不同人的拳击、手拍手、挥舞手、慢跑、跑步和走路行为.不同场景下摄像机的视角、视频背景和人的穿戴均明显不同,表1所示为不同场景下不同人的部分视频序列.本文将不同场景下的视频序列混为一个总样本数据集,通过增加训练和测试的复杂度来模拟复杂的现实场景,从而证明本算法的鲁棒性与适应性.
表1 KTH数据集视频序列Tab.1 Video sequence of KTH data set
表2~4所示为混合两个不同场景时得到的测试结果.从表中可以看出,对SC3和SC4这两个相对稳定的场景进行混合时行为分类的准确率最高,能实现所有行为95%的识别精度.而对于较复杂场景的混合,识别精度有不同程度的降低.表5为混合所有4个场景时得到的行为分析精度,虽然在不同混合场景中人体行为识别精度有所不同,但比较容易混淆的行为动作相对一致,符合实际观察的规律.对多场景混合测试结果表明,本算法能达到较高的识别精度,能适应较复杂的环境.
表2 SC1+SC2场景下的人体行为分类结果Tab.2 Results of human behavior classification under SC1+SC2 scenarios
表3 SC1+SC3场景下的人体行为分类结果Tab.3 Results of human behavior classification under SC1+SC3 scenarios
表4 SC3+SC4场景下的人体行为分类结果Tab.4 Results of human behavior classification under SC3+SC4 scenarios
表5 SC1+SC2+SC3+SC4场景下的人体行为分类结果Tab.5 Results of human behavior classification under SC1+SC2+SC3+SC4 scenarios
4 结 论
本文提出一种基于组合特征和SVM的视频行为识别算法.通过提取光流特征、HOG特征、重心特征和3D SIFT特征构成的组合特征与训练SVM分类器来识别不同的人体行为.对包含4个场景的KTH数据集进行仿真测试的结果表明,相比单一特征的情况,使用组合特征能提高人体行为分类精度;在多种场景组成的复杂场景测试结果表明,所提出的算法获得了较好的分类结果,并具有一定的适应性.