秦秋雨
(南京邮电大学通信与信息工程学院 江苏 南京 210003)
面对大量视频数据,如何利用自动分析视频中内容已俨然成为当下一个热门的研究课题,并引起计算机视觉领域学者们的广泛关注。随着各种智能设备的生产和发展,人类除了对智能机器设备更加关注外,对人体动作的识别也越来越重视。目前,人体动作识别的研究,逐渐成为了机器视觉领域中非常重要的研究课题。随着科学技术的发展,人脸、手势和指纹识别等视觉技术已经广泛应用于我们生活的方方面面中,这些技术为人体动作识别带来了巨大的动力。近年来,一些较快的动作特征提取方法被提出来并由一些计算机视觉领域的学者不断地优化改进,比如方向梯度直方图(HOG)[9],局部二值模式(LBP)[10],Haar-like特征[3],卷积神经网络(CNN)[1]等等。
现为解决单一特征下进行人体动作识别的准确率较低且容易受到外部环境影响的问题,提出一种基于HOG和Haar-like特征融合的人体动作识别方法。为了验证本文设计方法的有效性,进行了对比测试。将本文中所涉及的方法与一些传统特征提取方法进行对比,结果表明,本文中的方法具有更高的识别准确率。
多特征融合的方式既能保留各种特征有效的识别信息,又可以在一定的程度上去除各种特征冗余无效的部分。之前融合特征的方法大多是直接将两组特征向量通过串行方式合并成新的特征向量。但是这种方式存在很多弊端,直接合并后的特征向量为数是未合并之前多种特征向量的维数之和,由此会导致特征向量的维数变多。为了解决这种问题,本文利用离散 K-L 变换的方式,对开始所提取出来的两种特征进行信息的压缩,从而实现特征向量的有效融合,同时减少特征向量维数。
方向梯度直方图特征用于在机器视觉和图像识别及处理中用来进行物体检测。在视频中截取出图像后,它计算并统计图像各个区域的方向梯度直方图以此来形成特征。为了减少光照因素的影响,首先需要将图像进行灰度化。灰度化后的图像,将其进行Gamma校正,并做颜色空间归一化处理。
I(x,y)=I(x,y)gamma
(1)
其中,gamma值取0.5。进行公式中的计算之后,图像中像素点(x,y)的梯度为:
Gx(x,y)=H(x+1,y)-H(x-1,y)
(2)
Gy(x,y)=H(x,y+1)-H(x,y-1)
(3)
其中,在图像的像素点(x,y)处,Gx(x,y)为水平方向梯度函数,Gy(x,y)为垂直方向梯度函数,H(x,y)为像素值函数。然后,将上述图像划分为各个部分区域,每一个区域的尺寸现定为8×8像素。将各个区域中的梯度方向按照360度划分成9个方向,接着计算出每一个方向的九维特征向量值以此得到每个方向的梯度直方图。接着我们将各个区域组合称为最终的区间。最后,我们将每个区间中划分的各个区域中的特征向量采用串联的方式连接起来就得到了该区间的HOG特征。
首先,提取图像中的所有聚合通道的特征。聚合通道特征是指聚合图像中10个通道的特征,其中这10个通道为:LUV颜色的3个颜色通道、1个梯度幅度的通道以及6 个方向梯度直方图的通道。在计算得出这10个通道特征之后,我们分别提取出这10个特征的Haar-Like 特征[10]。Haar-Like 特征的提取方式如下所示:
1.将各个通道中的特征图分割为若干60×60像素的局部图像区域块。
2.使用滑窗方法在Haar-Like 特征的模板基础上提取上述步骤中每个区域块中各个位置的Haar-Like 特征。Haar-Like特征图上位置(x,y)权重矩阵生成方法如下
W(x,y,w)=Fmodel(m)*C(x,y,m)
(4)
上式中m为Haar-Like特征的尺寸,Fmodel(m) 是尺寸为 m 的特征模板,特征模板Fmodel(m)中,权重是1的计算单元为增性算子,权重是-1的计算单元为减性算子,权重是0的计算单元为中性算子。C(x,y,m) 为聚合通道特征.
图上起始位置为(x,y) 尺寸为 m 的矩形区域。⊗表示的 是两个相同尺寸矩阵逐个元素相乘运算,W(x,y,m) 为Fmodel(m) 与C(x,y,m)两个矩阵内元素逐个相乘的结果,即 为特征图坐标为(x,y) 处的权重矩阵。
3.根据每一个位置的权重矩阵,计算出整个 Haar-Like 特征图,特征图上每一个位置的特征值的大小与该位置上权重矩阵的关系
(5)
式中F(x,y,m) 为 Haar-Like 特征图上位置为(x,y) 上,尺寸大小为 m 的某一个 Haar-Like 特征值。sum(Wadd(x,y,m))为该 Haar-Like 特征内增性算子在W(x,y,m)对应位置 权重的和。sum(Wdec(x,y,m)) 为该 Haar-Like 特征内减性算子在W(x,y,m)对应位置权重的和。中性算子对应的一阶特征值则不做处理。Numadd和Numdec则分别为该Haar-Like 特征内增性算子以及减性算子的个数。
支持向量机(SVM)[11-13]是解决小样本模式识别问题的有效方法,其基本原理是通过用核函数将输入样本空间非线性变换到一个高维空间,然后在这个高维空间求广义最优分类超平面SVM 是针对两类问题提出来的,为实现对多个类别的识别,需要对 SVM 进行相应的改进。目前,已经提出多种方法将SVM 推广到多类分类问题,如用多个两类分类器来实现多类分类,或者用层次型两类分类器实现多类分类等。在行为识别中 SVM 常用核函数用线性核、直方图交叉核和χ2核,本文中综合考虑 SVM 分类的精度和计算复杂这两个因素,并且通过实验比较,采用直方图交叉核作为分类器的 核函数,具体表达式如下:
(6)
其中:Xi、Xj为两个任意的特征向量,an、bn分别为Xi、Xj第 n维的特征值;m 为特征向量的维度。与其他两个核函数相比,直方图交叉核具有计算复杂度低、分类效果好的特点。将最终量化得到的特征向量输入基于直方图交叉核的SVM 进行训练,得到分类器,采用同样的方法获取测试集特征后用该训练好的分类器进行预测,最终实现行为识别。
(1)在人体动作数据库集KTH和YouTube中分别选取一段视频,然后提取出视频帧图像,并对图像进行灰度化及规范化处理。
(2)将处理过后的图像分别进行HOG特征及Haar-like特征的提取,得到HOG特征及Haar-like特征集,并使用离散K-L变换的方式进行特征融合,得到最终的特征集。
(3)使用SVM分类器对上面得到的特征集进行人体动作分类识别。
本文利用 YouTube数据库和KTH数据库进行实验评估,实验在Matlab 2019b的环境中进行。Weizmann数据库一共包括90段视频,这些视频分别由 9个人执行10个不同的动作,视频的背景,视角以及摄像头都是静止的。实验采取留一法交叉验证,即依次把每个人的10种动作作为测试样本,剩下的所有动作作为训练样本,整个实验过程重复10次。手、拳击、慢跑、快跑和走。每种动作由25个人在4 个不同场景中完成,合计将近600段视频,是一个数据量相对较大的数据库,数据库的视频样本中包含了尺度变化、光照变化、着装变化等。本实验从数据库中随机抽取15个人的视频作为测试样本,剩余的10 个人作为训练样本。分别随机在上述两种数据库的每种人体动作中选取了50张图像数据,随机选初40张作为本次实验的训练集,剩下的 10 张图像则作为测试集。
表1 各种人体动作识别方法准确率对比
提出了一种基于HOG和Haar-like特征融合的人体动作识别方法。HOG特征是用来计算局部图像梯度的方向信息的统计值,Haar特征是一种反映图像的灰度变化的,像素分模块求差值的一种特征。单独特征来看,Haar特征识别准确度较高。实验结果证明,两种特征融合的动作识别效果比单一特征识别效果都要好。