收藏 分享(赏)

基于lbp特征的人体行为识别算法研究.doc

上传人:无敌 文档编号:172309 上传时间:2018-03-23 格式:DOC 页数:12 大小:143.50KB
下载 相关 举报
基于lbp特征的人体行为识别算法研究.doc_第1页
第1页 / 共12页
基于lbp特征的人体行为识别算法研究.doc_第2页
第2页 / 共12页
基于lbp特征的人体行为识别算法研究.doc_第3页
第3页 / 共12页
基于lbp特征的人体行为识别算法研究.doc_第4页
第4页 / 共12页
基于lbp特征的人体行为识别算法研究.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、基于 LBP 特征的人体行为识别算法研究 张苗辉 易均 钱赛 郑萍 唐超 胡春玲 江西省科学院能源研究所 南昌师范学院数学与计算机科学系 合肥学院计算机科学与技术系 摘 要: 人体行为识别是计算机视觉领域内非常热门的一个研究方向。通常人体行为识别包括两个关键步骤:人体行为特征提取和分类器的选择和设计。采用了一种简单高效的人体动作特征描述子局部二值模式 (Local Binary Pattern, LBP) , 该特征可以较好的描述人体的纹理和轮廊信息;识别算法采用了多类支持向量机算法。在标准的数据集上的实验结果表明, 方法具有较高的识别率。关键词: 行为识别; 深度图像; LBP 特征; 支持

2、向量机; 作者简介:张苗辉 (1987-) , 男, 博士, 助理研究员, CCF 会员 (64743M) , 主要研究领域为计算机视觉、人工智能。收稿日期:2017-09-27基金:国家自然基金青年基金 (61602220) Research on Human Action Recognition Algorithm Based on LBP FeatureZHANG Miaohui YI Jun QIAN Sai ZHENG Ping TANG Chao HU Chunling Institute of Energy, Jiangxi Academy of Sciences; Depart

3、ment of Mathematics and Computer Science, Nanchang Normal University; Department of Computer Science and Technology, Hefei University; Abstract: Human action recognition is a hot research direction in the field of computer vision. Generally, human action recognition consists of two key steps: human

4、action feature extraction and classifier selection and design. This paper proposes a simple and efficient human motion descriptors local two value model ( Local Binary Pattern, LBP) , which can be used to describe the human body texture and contour information; multi class support vector machine alg

5、orithm is used for recognition algorithm. Experimental results on standard datasets shows that the proposed method has a high recognition rate.Keyword: behavior recognition; depth image; LBP features; SVM; Received: 2017-09-270 引言计算机视觉在近年来发展十分迅猛, 人体行为识别作为其中的方向之一, 也十分的引人关注, 在智能监控等领域都有广泛的应用。近年来, 深度图是一

6、个很热门的机器视觉的研究对象, 它是由一种红外像头拍摄的, 能够显示物体到它的距离, 所以它拥有很好的抗噪声能力, 用它来进行机器视觉的实验, 准确率都很高, 也拥有较好的鲁棒性, 所以选择了它作为本文的研究对象。目前国内外对人体行为识别展开了许多方面的研究工作1-3。周书仁4等提出了一种基于多尺寸池化 (Multi-size Pooling) 卷积神经网络 (Convolutional Neural Network, CNN) 的人体行为识别方法, 该方法使用CNN 来完成人体行为识别任务, 特征提取和模式分类是由同一个网络完成, 并使用多尺寸池化技术来解决输入图片大小不同的问题, 使网络能

7、够接受任意尺寸的输入图像。季冲5等提出基于 Fisher 鉴别字典学习的人体行为识别方法, 该方法首先提取局部时空特征, 并通过随机投影法降维;然后把降维后的特征作为待分类的信号进行 Fisher 鉴别字典学习, 从而增强字典和编码系数的鉴别能力;最后同时利用重构误差和稀疏表示系数进行分类。丁松涛6等提出了一种基于改进时空兴趣点检测的人体行为识别算法。该方法首先对 Harris-Laplace算法进行改进, 以克服兴趣点检测过程中遇到的多尺度问题和冗余点过多问题, 提取筛选后的有效兴趣点作为目标的运动坐标信息。然后基于 Bag-ofwords 模型思想, 使用 HOG 算子对兴趣点进行特征提取

8、, 建立视觉词典, 使用 AIB 算法合并词义相近的视觉词汇, 作为单词表中的基础词汇。最后使用 SVM 进行人体行为分类并实现复杂环境下的人体行为识别。近几年随着深度相机和传感器的普通使用, 基于深度视频的人体行为识别也被广泛研究。深度视频中的人体行为的识别研究主要集中在对深度视频进行特征表示上, 为了获得具有判别性的特征表示, 孙艳丰7等提出了深度视频中一种基于表面法向信息的局部二值模式 (Local Binary Pattern, LBP) 算子作为初级特征, 然后基于稀疏表示模型训练初级特征字典, 获取初级特征的稀疏表示, 最后对用自适应的时空金字塔划分的若干个子序列使用时空池化方法进

9、行初级特征与稀疏系数的规格化, 得到深度视频的高级特征, 最终的特征表示实现了深度视频中的准确的人体行为识别。梅阳8等提出一种基于关键帧的人体行为识别方法, 该方法首先用Kinect 提取人体骨架信息 (各关节点的 3D 坐标) , 将中心点 (人体基准参考点) 分别与其他各关节点作结构向量, 根据空间不变性选取中心向量, 计算各个结构向量和中心向量之间的夹角, 并将夹角的角速度作为一种新的姿态描述特征, 利用 AP (Affinity Propagation) 聚类算法提取关键帧, 最后利用 SVM将得到的关键帧进行动作序列的分类。在人体行为识别算法的研究中, 所有的信息都来自一张张图片,

10、而这些数字化的图片在计算机的视角就是一个只有数字的关于颜色信息的矩阵, 而之后所要做的就是从这些数字中用特定的数学方法找出能够代表人体行为的数据, 也可以称之为特征。把它们成批的抽象出来, 再用数学方法加以训练, 最后生成一个模型。这个最终的模型就能对其他的图片进行识别。而本文主要研究的就是贯穿整个过程的一种特征LBP 特征。这种特征的英文全称是 Local Binary Pattern, 中文名称是局部二进制模式, 在机器视觉方面它能够很好的描述图片的局部特性, 它以旋转不变性和灰度不变性著称。最早是由 Ojala9等提出, 因为其计算比较容易, 识别效果也很好, 因此 LBP 特征在计算机

11、视觉和模式识别的许多领域都得到了广泛的应用。现在比较出名的应用是在目标识别和人脸识别中的应用, 而本文就是 LBP 特征在人体行为识别中的应用。1 LBP 特征LBP 的全称是局部二进制模式, 根据它的原理可以得出它是一种纹理性特征, 它能十分清晰的描绘出一张图片的局部纹理性特征, LBP 特征由于它的定义, 计算起来相对简单, 所以能够快速的提取出来, 而它的特性使得它具有很强的分类能力。所以在人脸识别等机器视觉方面具有广泛的应用。1.1 LBP 特征的概念一个 LBP 算子的提取过程如图 1 所示, 一个 LBP 算子的计算需要它的邻域参与进来, 对于一个要计算的 LBP 编码来说, 将它

12、的灰度值设置为标准值, 把它与邻域的 8 个像素的灰度值一一对比, 与之相比大的为 1, 小的为 0, 在二值化完成之后, 将这 8 个数有序地组合在一起, 形成一个新的 8 位二进制数, 它的二进制数值就是该点新的灰度值, 也就是 LBP 灰度。对于整个图像, 要做的是对每个点都进行相对应的 LBP 转换, 转换后的每个点组成了 LBP 响应图像。其转换的公式是:其中:g p表示按一定顺序时邻域中第 p 个像素点, g c表示要计算的像素点的灰度值。例如对图 1 中的 3*3 区域的中心点, 以 5 作为标准值, 把它与邻域的 8 个值一一对比10, 大于等于标准值的赋值为 1, 比标准值小

13、的赋值为 0, 假设按顺时针方向右上角作为第一个, 将二值化的成果组成一个二进制数 10001011, 它对应了十进制数 19, 以这个 19 为新的灰度值赋予该点。对每个点进行完转换操作之后会得到的新的图像, 也就是 LBP 响应图。之后再对这 LBP 响应图按照一定的方法来进行统计从而得出它的特征。图 1 LBP 算子的提取 下载原图2 学习方法2.1 支持向量机在提取好所有特征后会生成一张表, 而这个表里面包含了 59 种特征和与动作相对应的标签, 可以称之为训练集。这个训练集是已知的部分, 想要达到识别的效果, 就需要对这些训练集里的数据进行训练, 让机器知道什么样的数据对应的是什么样

14、的动作。对人类来说这个过程叫做经验, 而对机器来说这个过程叫做训练。训练的目标是形成一个模型, 而这个模型可以对其他的输入特征进行判断, 来识别出输入的是什么类型的动作。而这个模型是通过一定的算法来实现的, 这些算法依赖于统计学习的知识, 同样的样本, 不同的算法往往有不同的识别率, 所以选择一个合适的算法对于生成的模型来说很重要。支持向量机是机器学习监督学习算法中的一种, 它是二类分类的学习模型, 计算机学者 Cortes 和 Vapnik11为了解决二类分类的问题提出了 SVM 模型, 之后逐渐的被推广到了多类上。它的优势在于解决非线性、小样本的识别, 而本文的特征只有 59 个, 属于小

15、样本的范围, 所以选择了支持向量机来作为机器学习的算法。2.2 基本原理支持向量机的方法是为了解决两类样本的线性可分问题, 图 2 描述的是一种两类线性可分的问题。图中有正方形和三角形, 代表了两中类型的训练样本, H为是一条可以区分两类样本的分类线, 其中 H1和 H2是 2 条临界的分类线, 若H1再下移一点或者 H2再上移一点, 这条分类线就会出现一些误差。倘若 H 刚好离 H1和 H2的距离相等, 它就被称为最优分类线。因为 H 一方面可以将正方形和三角形这两类在保证正确率的情况下分来, 另一方面又能使得这条线到两类的间隔最大。这就是二维的分类线。这只是二维的分类问题, 假如上升到更高

16、维, 最优分类线就对应最优分类面。图 2 支持向量机最优分类面示意图 下载原图两类样本集 (x i, yi) , i=1, 2, , n, xR, 其中 p 为样本空间的维数, yi+1, -1分类是两类的标签, +1 是正样本标签, -1 是负样本标签。判别两类的区分函数的一般可以表示为 f (x) =wx+b, 其中分类面的方程是:不难看出, 把两类分开的问题转换成了求解满足式 (2) 的 w 和 b 的参数, 当某个点满足下面的不等式并且w的值最小时, 式 (2) 所代表的分类面就是上面所说的最优的分类面。此时, 问题就转化为在式 (3) 的约束下, 求解 (w) 的最小值问题。为了求解

17、以上问题, 再次构造拉格朗日 (Lagrange) 函数:其中: i为拉格朗日系数, 求解式 (5) 取最小值时的 w 和 b, 然后求 L 对 w 和b 的偏导数, 让它约等于 0, 再次推导, 就可以将问题转化为一个拉格朗日对偶问题, 即在约束条件:之下对 i求解下式的最大值:假定存在最大值 i, 则有:在解决好上面的问题之后得出最优分类函数:其中 sgn () 是符号函数。上述的是线性两类分类的理论基础, 而在线性不可分的时候, 就需要加入新的松弛变量, 这样让输入的数据按照一定的映射规律从低维空间映射到高维空间, 利用高维空间的特性让它重新变成线性的情况, 然后在此基础上寻找最优分类线

18、, 而在高维空间里, 它被称为最优分类超平面。再利用结构风险最小化的原理, 在属性空间找到最优超平面, 这样才能使得分类器 (classifier) 在全局范围内也是最好的, 这样也使得风险降到最小。这样的优点是:其一它预防了结构风险并且利用了 VC 理论, 所以它具有很多其他机器学习算法不具备的良好的泛化能力, 也就是识别样本之外的数据的能力;其次是支持向量机在解决问题的时候, 它会将转化成了一个相关联的凸优化问题, 所以它的局部最优解也一定是全局最优解;再之后就是它的核心核函数能够使得非线性问题能够有效地转换成线性问题来求解;最后它具有良好的鲁棒性。2.3 核心技术上面提到对于解决线性分类

19、的问题, 线性分类支持向量机十分的有效。但真实的情况是大部分的分类方面的问题都是非线性的, 这时候就得用到非线性的支持向量机, 而非线性支持向量机的核心就是利用核技巧 (kernel trick) 。而核函数的定义是:设 是输入空间, H 为特征空间, 如果存在一个函数 (x) 使得 可以映射, 且对于所有的 x, z, K (x, z) = (x) (z) , 则称 K (x, z) 为核函数, (x) 是映射函数。在非线性分类的情况下, 利用核函数, 把输入的低维空间的数据通过核函数映射到高维空间上, 转换称高维空间上的线性问题, 从而找到最优分平面。而核函数的取法并不唯一, 与之对应的支

20、持向量机训练数据的结果往往也不同。以下是几种主流的核函数:1) 多项式核函数:可以根据公式 11 得出一个 q 阶多项式分类器的支持向量机, 当 q=1 时线性的支持向量机。2) RBF 核函数:3) Sigmoid 函数核函数:其中 RBF 核函数拥有比较好的非线性映射的能力, 而本文恰好是非线性的分类问题, 所以选择了 RBF 核函数作为本文的核函数。3 LBP 特征提取方法的设计与实现由于本文是用于研究 LBP 算法在人体行为中的作用, 而人体行为的信息是建立在一张张图片上的, 所以得先用某种方法把视频转换成图片, 并在其过程中间去除掉多余的信息;在得到图片之后, 就可以在图片上提取 L

21、BP 特征;提取之后就是再找到合适的算法进行识别, 具体的做法见图 3。图 3 实验流程图 下载原图本文采用的是统一化圆形 LBP 特征, 提取主要分成 2 步, 第 1 步计算每个像素的 LBP 数值, 第 2 部是统计这些数值形成特征。3.1 计算 LBP 数值前面介绍的普通 LBP 算子在描述纹理性特征时存在一定的局限性, 而本文采用的是它的改进型, 也就是圆形的 LBP 算子。基本的 LBP 算子的形状是一个正方形, 在描述纹理时, 会出现算子的局部不能很好的描述均匀的纹理特征。所以有人提出了对 LBP 算子的改进来适应不同尺度的纹理特征, 以达到均匀的效果, 也就是保持灰度和旋转的稳

22、定性12, 也可以称之为不变性。本文采用了圆形的 LBP 算子, 实现了邻域从 3*3 的正方形到圆形的变换, 其圆形的半径可以是任意, 圆形的 LBP 算子采样的点是以中心像素为圆心, 以 R 为半径上的圈的像素点, 从而得到图 4 的 LBP 算子。图 4 圆形的 LBP 算子 下载原图在用上述的方法, 对一幅图的每个像素点求出 LBP 编码后, 把每个编码放在一起, 依然是一张图片, 如图 5 所示。图 5 转换前后的图像 下载原图在一般的方法中, 计算学者们会把图片分割成相等大小的区域, 对每个区域提取一个直方图, 然后把所有区域联合的直方图作为这幅图的一个特征来进行识别。但对于一个普

23、通大小的分块区域, 一般的正方形 3*3 的 LBP 算子得到的二进制模式就有 256 种13, 而实际的情况是在一个区域内只有很少的像素数目, 从而造成了这个区域的直方图中有的 LBP 灰度就会特别的少, 导致了稀疏的直方图, 从而失去了一定的统计意义。因此有研究学者提出了统一化模式的概念。对于所有可能的二进制模式, 学者们将研究对象转向了它们变化的个数, 因为它们能代表一些纹理规律。在一个生成的 8 位二进制中, 也就是一个 LBP 算子, 按照一定的顺序, 如果其中包含的从 0 到 1、从 1 到 0 的转变不超过 2 个, 就将其视为统一化模式, 比如00000001 (1 个转变)

24、、00001000 (2 个转变) 。而其他如 01011010 (6 个转变) 、01000011 (3 个转变) 则视为非统一化模式。在统一化模式提出后, 可以在之后的 LBP 直方图统计中, 为统一化模式分配单独的直方收集箱, 来统计对应的统一化模式, 而所有非统一化模式都放在一个公共的直方图收集箱。如此一来, LBP 特征的数量大大的减少, 那些非统一化模式, 它们大部分都是由于噪声引起的多个转变, 经过这样的处理, 这些非统一化模式所代表的噪声也被过滤掉了。在 8 邻域模式中, 经统计可得出, 一共有 59 个收集箱, 其中有 58 个单独的直方图收集箱, 1 个公共直方图收集箱,

25、对于一张图片可以提取这一组 59 个数据, 就直接把它当成了这幅图片的 LBP 特征来对其进行操作。圆形的 LBP 算子所需的一些点并没有在该图像上, 所以需要利用双线性插值法把没有在像素中心位置的邻域点的灰度值计算出来。在得到所有圆形邻域点之后, 利用公式 (1) 得到 LBP 编码, 并得到新的 LBP 灰度值。统一化 LBP 算子统计:首先创建 58 个与统一化算子相关的收集箱和 1 个非统一化算子收集箱;在建立好收集箱之后, 就要统计所有的 LBP 数值, 得出 LBP 特征;在得出 LBP 特征之后就可以开始训练识别部分了。3.2 多类人体行为识别的实现上述的支持向量机所解决的都是两

26、类分类方法, 而支持向量机的基础就是来解决此类问题的。但在本文中要识别的是人体行为, 要识别的种类多达 20 种, 是一个多分类的问题。而支持向量机也有相关问题的解决方法。面对多分类问题主要有 2 种解决思路。第 1 种是直接法, 它的做法是直接修改目标函数, 使得机器可以一次性的求出多分类的问题;第 2 种是间接法, 它是由很多上述的两类分类器一起构成, 通过多次的分类来实现多分类问题。考虑到本文的识别的人体行为的种类较少, 所以选取的是一种间接法“一对一”方法。每次的运行只对所有样本中的两类样本进行分类, 也就是说, 如果有 m 类的样本, 那么就得构建 m (m-1) /2 个两类的分类

27、器。当在给未知的样本分类时, 就必须通过这 m (m-1) /2 个分类器, 而这个样本最终判定的类别是分类器分给它最多的类别。它的构造相对的比较简单, 如果种类很多的话, 它的复杂度也会很高, 由于本文的种类较少, 所以选择了它来解决本文的多分类问题。4 实验结果及分析4.1 MSR action3D 数据集介绍本实验主要研究对象是深度图片, 采用了难度较大的 MSR action3D 数据集, 在该数据集上做了大量的实验。MSR-Action3D 数据集上面有 20 类人体行为, 每个动作由 10 个人来做, 每个人做 23 次, 所以一共有 402 个样本, 视频的提取出的每张图片的分辨

28、率为240*320。4.2 实验设置在训练的过程中, 会采用交叉验证法来验证算法的有效性。而交叉验证法通常分为 N 折交叉验证和简单交叉验证。由于后者的误差表较大, 故本文采用的验证方法是 N 折交叉验证法, 它的具体过程是:先不按照规律把训练集均分为 N 组, 其中 N-1 组用于训练, 剩下的一组用于验证。这样重复做多次 (可以 10 次或20 次) , 最后把它们 10 次的正确率求均值得到算法的准确性。而本文选择了交叉验证, 因为本文的实验数据相对较少, 而大量的实验也证明了采用 10 次的准确率相对较高。4.3 实验结果及分析本次实验的识别率达到了 81.2%, 实验效果图如图 6

29、所示, 其中各个动作的识别率可以从表 1 中看出, 从中不难看出动作 draw x 和 draw tick 识别率相对较低, 原因是这 2 个动作本身就比较接近。而其它动作的大部分识别率都为 80%以上, 甚至达到 90%。就整体而言可以得出 LBP 特征基本可以描述人类的动作, 甚至有的识别率达到90%, 但它还是有一些缺点, 因为 LBP 是描述纹理性的特征和轮廓特征, 而这个特性在静态识别中有很好的效果, 相对地, 在动态的人体行为识别中还是有一定的劣势, 面对一些相似的动作, 它们的轮廓很接近时, 用 LBP 特征来识别会存在一定的误差。因此在用 LBP 特征时一般需要结合一些能描述运

30、动的特征来一起使用效果会更好一些。图 6 混淆矩阵 下载原图表 1 识别率 下载原表 将本文方法与其它方法进行了对比 (如表 2 所示) 。表 2 列举了本文的识别算法与最近邻 (KNN) 、Boosting、Bagging、随机森林 (RF) 和人工神经网络 (ANNs) 识别方法的比较。从表中的比较结果可以看到, 本文算法整体性能也优于 KNN、Booting、Bagging 和 ANNs 方法, 取得了与 RF 相近识别率, 达到了 81%的正确率。表 2 不同行为识别方法比较 下载原表 5 结论随着计算机技术近年来发展速度十分的迅猛, 功能也愈加的强大。从最初进行简单的运算, 到今天的大数据、机器视觉, 展现出了无限的可能, 而这些无限

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报