人体目标识别(共7篇)
人体目标识别 篇1
人体运动分析是计算机视觉领域[1]备受关注的研究课题, 其关键在于从图像序列中检测、跟踪目标个体, 进而分析目标的运动特性。该技术在智能监控领域有着较为广阔的应用前景, 如公共车站、商场、景点等公共场所的客流量统计, 能够为管理者提供更有效的运行管理机制, 提高资源的利用率, 为实现智能化办公提供保障。
人体目标检测是人体运动分析的基础, 同时也是至关重要的部分。基于图像处理的目标检测是一项较新的技术, 近年来, 也取得了较大的进展。由Haritaoglu等人[2]提出的W4 (即Who, When, Where, What) 系统, 可以进行多个人体目标的检测与跟踪。CMU提出的VASM[3]是一个跟踪人体和运动目标的发展系统。Kang和Lee[4]提出了可以解决多人遮挡问题的人体目标检测与跟踪系统。总的来说, 目前多数研究都属于单目视频图像处理, 即对单个摄像机采集到的视频图像进行处理的过程。
视频图像中人体目标检测常用的方法有相邻帧差法[5]、光流法[6,7]、背景减法[8,9,10,11]等。
相邻帧差法是指对视频图像序列中相邻的两帧图像作差分计算, 并将获得的结果和预先设定的阈值比较, 从而判断是否为运动目标。相邻帧差法算法简单易实现, 但是当摄像机获取连续两帧图像的时间间隔较短或当运动目标变化较慢时, 相邻两帧图像重叠部分较多, 而重叠部分较难被检测, 容易造成目标检测的不完整。此外, 当光照有明显变化时, 连续两帧图像之间存在的灰度的差异也会造成目标检测的误差, 影响结果的精度。光流法是根据运动目标的光流特性结合目标的几何特点来实现目标检测。因为光流法体现的是运动目标和背景之间的相对运动, 因此, 即使在复杂背景和摄像机移动的情况下, 光流法也可以较为准确地检测运动目标。但是光流法算法过程复杂, 计算量较大, 很难实现实时检测。背景减法则是将每帧图像与当前背景模型做差分计算以得到运动目标, 缺点在于当背景模型不能及时更新时, 将对检测结果造成直接的影响。上述这些方法都是基于二维图像处理的目标检测。综上可知, 该类算法对视频图像的要求比较高, 容易受到光照变化以及光照产生的阴影的影响, 通用性较差, 很难实现较高精度的实时监测。
为了解决基于二维图像处理的目标检测存在的问题, 很多学者做了多方面的改进。其中, 基于梯度方向直方图的人体识别方法从俯视的场景图像中提取头部的灰度信息作为检测目标的特征[12], 该类方法较好地解决了遮挡的问题, 精度较高, 但是提取目标特征的过程中需要大量的样本训练, 因而计算量较大, 影响系统的识别速度。而对图像的深度信息进行研究处理的方法也得到了很多学者的关注。利用深度信息进行头部检测的方法采用头部轮廓的面积以及圆形特征作为约束条件进行识别与筛选, 较好地解决了光照对系统的影响[13]。该类算法简单, 能满足实时的要求, 但是精度较低。
本文利用可以直接获得目标场景深度信息体感传感器 (以下简称Xtion传感器) , 采用自顶向下的拍摄方式获得目标场景深度图像。即使在人流拥挤的情况下, 头部和头部之间还有一定的空隙, 可以有效避免人流的遮挡、重叠等现象。在此基础上, 本文提出了一种基于深度图像处理的人体头部识别的方法, 首先利用深度信息快速找到疑似头部目标, 减少搜索范围, 提高识别速度, 再采用Mean Shift算法对图像进行预处理, 最后通过基于动态阈值的一维熵函数分割法实现头部的分割与识别。
1 三维深度信息采集与分析
1.1 三维深度图像的采集
三维深度图像是指用像素灰度值来表示场景中的每个像素点到传感器距离的图像。本文采用华硕公司的Xtion传感器直接获得三维深度图像。
Xtion传感器获取深度信息使用的是主动获取方式。利用PrimeSense公司提出的三维测量技术, 即Light Coding (光编码) 技术来获取图像的深度信息。Light Coding[14]技术, 顾名思义, 就是用光线给测量空间进行编码, 再经感应器读取编码后的光线, 最后通过解码计算生成场景的深度图像。Xtion传感器采用的是连续的近红外光。图1为Xtion摄像机拍摄到的场景的彩色图像, 图2是其对应的原始深度图像。
1.2 三维深度图像特征分析
原始三维深度图像中像素灰度值的大小表示物体表面与传感器的距离, 距离越近, 像素灰度值越小, 反之, 灰度值越大。根据得到的原始三维深度图像的灰度值信息结合像素灰度值与距离的转换关系式, 即可知道场景图像中的每一个像素点到传感器之间的距离
式中:H表示空间某点和传感器摄像窗口的距离, 其取值范围为300<H<1 000。α是空间深度距离与相应灰度值之间的转换系数, G表示深度图像中的像素灰度值。
为了更直观地显示原始深度图像中的灰度值和深度信息的对应关系, 对原始三维深度图像进行处理。首先对得到的原始深度图像取反并求三维直方图, 为了更直观地显示深度信息, 利用伪彩色算法对三维直方图进行处理, 得到图3, 其中, x和y坐标分别表示三维深度图像的宽与高, 即像素点在三维深度图中的位置坐标信息z, 坐标表示该像素点的深度信息。分析三维直方图可以知道, 像素信息大量地堆积于头部。且头肩存在一定的高度差异, 所以头肩的深度信息会存在一个突变值, 即使在人员拥挤的情形下, 头部和头部之间也会存在空隙。此外, 头部面积满足一定的约束条件, 并且是闭合的类圆连通域。
根据上述这些头部特征, 设置约束条件, 将满足上述特征的像素点合并到一个区域, 作为一个疑似目标快处理, 将其余的区域作为背景处理。
本系统实验条件为摄像机架设高度为2.5 m, 摄像机之间的距离为0.8 m。在本实验的视场条件下, 头部总像元的宽高比w/h的范围是[0.65, 1.5]。其中, w表示头部总像元的宽度, h表示头部总像元的高度。再以头部最高点为起点, 根据式 (1) , 假设头顶到肩部的最长距离为h, 那么可以得到灰度的突变值g=h/α。根据以上约束条件, 可得到如图4所示的目标区域。图4a中, 左侧伪目标区域由于不满足头部的宽高比、头部的类圆性以及与邻近的头部目标之间不存在有效的间隙, 所以排除目标的可能性。最后确定的场景图像中的头部目标如图4b所示。
2 头部目标分割
2.1 基于Mean Shift[15,16]算法的图像预处理
在给定的d维空间Rd中有n个样本点xi (i=1, 2, …, n) , 那么x点处的Mean Shift向量定义为
式中:Sh为由所有满足式 (3) 的y点的集合构成的半径为h的高维球区域
式中:k表示在n个样本点组成的xi中, 有k个点落入Sh区域中。
式 (2) 中, (xi-x) 是样本点xi相对于点x的偏移量, Mh (x) 是k个落在区域Sh中的样本点相对于点x的偏移量的均值。其中, 样本点xi是通过概率密度函数f (x) 采样得到。因为概率密度梯度都是指向密度增大的方向, 所以区域Sh的内的样本点大部分落在沿着概率密度梯度增大的方向。因此, 对应的Mean Shift向量Mh (x) 也指向概率密度梯度增大的方向。
下面首先计算点x的概率密度。对落在以x为圆心, h为半径的球内的点xi定义2个规则:1) x与xi像素点的颜色越相近, 概率密度越高;2) x与xi像素点的距离越近, 概率密度越高。
定义总的概率密度为以上两个规则中概率密度的乘积, 用式 (4) 表示
式中:C表示归一化常数, hs, hr表示核函数的窗口大小, 用来控制平滑的程度。hs是距离核函数, 用来控制子窗口的大小, 表示空间位置信息, x与xi像素点的距离越近, 值越大。hr是颜色核函数, 代表颜色差值的阈值, 表示颜色信息, x与xi像素点的颜色越相近, 值越大。
根据上述概率密度的计算方法以及Mean Shift算法的原理, 实验采用如下的步骤对图像进行处理。本实验处理的是二维的图像, 所以维度参数d为2。首先根据式 (4) 计算每一个目标区域图像的概率密度函数, 得到khs, hr;在每一个疑似目标区域中, 任选一点x作为圆心, 其中x从概率密度函数khs, hr采集得到。以h为半径做一个圆。此时所有落在圆内的点和x会产生一个向量, 以x为起点, 以所有落在圆内的点为终点, 将这些向量相加, 得到一个Mean Shift向量, 接着再以Mean Shift向量的终点为圆心, 重复以上计算, Mean Shift向量可以收敛到概率密度最大的地方。
最后得到的效果图如图5所示。图像得到有效的聚类处理。
2.2 基于动态阈值的一维熵函数分割法
对Mean Shift算法预处理后的图像, 采用一维最大熵阈值分割法来分割头部和非头部区域。根据得到的三维直方图, 以图像中像素局部最高点的集合以及像素差值小于设定值的邻域一起作为目标图像块。对每一个图像块采用假设以灰度级t作为阈值分割头部和非头部区域。邻域中像素值高于t的像素点构成头部区域, 像素值低于t的像素点构成非头部区域。那么, 非头部和头部区域的熵分别为HB和Ho
式中:pi表示图像中灰度值为i的像素所占的比例, t为分割图像的阈值, 且。φ为2个熵函数之和, 当φ取得最大值时, t即为局部分割阈值。
本实验在MATLAB仿真实验平台上进行。为了更清晰地显示, 图6为二值化之后的实验结果。
3 算法比较
3.1 精度比较
基于头部轮廓特征和面积进行头部识别的方法中[13], 为了防止遮挡问题, 将类圆形也设定为目标。根据实验效果, 在无遮挡的情况下, 该类算法很容易将深度图像中的人体肩部等类圆图像误判为头部, 因此, 精度不高。图7a为该类算法得到的效果图。与原始彩色图进行对比, 可以发现, 算法在画面上方和左下方都出现了误判, 如图7b所示。
3.2 速度比较
为了验证本文系统的实时性, 将该方法与基于俯视图像灰度信息处理的方法[12]进行对比, 统计了两种方法处理每帧图像所需要的时间, 并随机抽取20个样本 (编号1~20) 数据进行比较, 数据如表1所示。将其用MATLAB进行统计得到直观的效果对比图, 如图8所示。本文算法处理图像的速度为18.5帧/秒 (f/s) , 视频流畅且处理速度快。
4 总结
目标识别是目标检测与跟踪系统中的重要技术。本文提出了基于图像深度信息处理的人体头部目标识别系统。由于该系统只对深度图像进行分析处理, 因而较好地解决了目前目标检测较容易受到光照影响的问题。经实验论证, 该算法识别精度能达95%以上, 且速度较快, 能较好地应用于实时监测系统。
摘要:将立体视觉运用于人体头部目标检测, 设计了一种基于图像深度信息处理的人体头部识别系统。系统采用Xtion摄像机采集场景的深度图像, 并对其进行特征分析, 根据深度图像的特点以及头部的特征确定头部目标区域。再对目标区域采用Mean Shift算法进行聚类处理, 得到清晰的图像边缘。最后通过基于动态阈值的一维熵函数分割法实现头部的分割识别。该系统可快速锁定目标区域, 减少了算法的计算量, 大大提高了系统的识别速度。此外, 采集深度图像的Xtion摄像机悬挂在目标场景的正上方, 因而较好地解决了目前人体目标检测受遮挡的问题。经实验论证, 该系统有较高的识别精度。
关键词:立体视觉,深度信息,目标检测,Xtion摄像机
基于视觉的人体识别概述 篇2
我们在信息大爆炸的年代, 以视频图像为主体的信息以指数量级进行增长, 并在运动分析、智能家居应用等领域广泛迫切需要使用计算机辅助或者替代人的视觉和思维, 处理图像视频中的目标识别和跟踪任务。由于日益扩大的需求而迅速发展, 基于视觉的人体识别技术已经成为计算机视觉以及人工智能研究领域的一个热点。
2研究背景及意义
人体识别是利用视觉信息实现自动识别人体运动行为的过程。基于视觉的人体运动行为识别技术的应用非常广泛, 同时具有非常可观的经济价值, 是当前热门的研究方向。主要包括智能视频监控、运动分析、智能家居应用、虚拟现实、用户接口等多个方面。
2.1智能视频监控:利用人体识别技术构建智能监控系统, 通过智能视频分析技术对重点区域内的异常行为进行追踪并发出预警, 避免犯罪和有关损失的产生, 广泛应用于人群集中或敏感区域, 例如银行、ATM自动存取款机、停车场、超市、码头等。
2.2运动分析:应用于体育项目及临床医学中。在体育项目中捕获正确的行为识别运动分析, 提高他们的训练效率及运动水平。另外, 运动分析还应用于病人的康复训练, 为临床提供科学准确的诊断评价手段。
2.3智能家居应用:针对独居老人或患病老人, 进行室内活动行为监控, 并进行分析。实时检测老人的异常行为, 例如跌倒或卧床未起等情况, 并准确及时地向监护人或社区医护人员发送警报。
2.4虚拟现实:是一种全新方式, 例如模拟驾驶、科幻片中的场景、虚拟现实游戏。
2.5用户接口:传统的输入设备, 如鼠标、键盘, 已被人体的某些动作所代替, 如手势、指纹、面部识别。
2.6在汽车行业中, 高科技配置参数描述的安全气囊自动控制系统、主动刹车系统、驾驶者睡眠检测系统、偏离车道预警系统, 都是人体识别技术的应用, 在新兴领域中的航拍图像、受害者营救等方面具有广泛的应用。
3人体识别技术的构成
人体识别是基于统计的模式识别技术应用, 由运动人体检测、运动行为特征选择和提取、人体运动行为识别构成。
3.1运动人体检测, 即为人体行为的特征提取做准备, 是在视频中准确快速地将运动人体从图像中分割出来。运动场景的复杂性及强光环境照射下阴影的干扰是人体检测的难点部分。目前运动人体检测主要的方法:光流法、帧间差分法、背景减除法等等。
3.2运动行为特征选择和提取, 即选择和变换运动人体检测后的图像序列, 以尽量少的特征向量维数来对运动行为尽量完整表述。主要有两种方法, 一是人体运动轨迹相关特征、二是运动人体图像区域特征。
3.3人体运动行为识别, 即是使用运动行为的特征向量对其进行分析分类, 利用基于人体模板的模板匹配、基于概率网络模型等方法, 得到其自然语言描述。
4行为识别的分类技术
基于行为表征的所建模型, 获取行为特征, 对行为进行分类, 根据行为特征实现行为的分类。用到的分类器为:直接分类法、状态空间分类法。
4.1直接分类法:不考虑图像序列内的时间关系, 直接将单帧图像或图像序列转换为特征向量后进行行为的模式分类。近几年来, 研究人员广泛关注支持向量机 (Support Vector Machine, SVM) 和相关向量机 (Relevance Vector Machine, RVM) 的研究及其应用。SVM是一种机器学习方法, 其建立在VC维 (Vapnik-Chervonenkis Dimension) 统计理论基础上。SVM已经成为小样本行为数据学习的重要方法。
4.2状态空间分类法:把每种静态姿势都对应定义成一种状态, 各种状态间的变换满足一定的概率关系, 将运动序列看成不同状态间的遍历过程, 计算遍历过程所对应的联合概率, 并将最大值作为行为模式分类的依据。状态空间分类器可进一步划分为两类:生成式分类器和判别式分类器。4.2.1隐马尔可夫模型 (Hidden Markov Model, HMM) 是最具代表性的一类生成式分类器。在文本识别、人脸识别等多个研究领域被广泛应用。4.2.2动态贝叶斯网络 (Dynamic Bayesian Network, DBN) 被看成是HMM的推广。其原理为在每一个时间片上都对应一个贝叶斯网络, 且每一个状态变量均可对应多个因果节点。4.2.3条件随机场 (Conditional Random Field, RCF) 是基于最大熵模型、HMM模型, 提出的一种判别式概率无向图学习模型。4.2.4动态时间规整法, 对于同一个行为, 不同人执行的时长可能不一样, 通常采用动态时间规整 (DTW) 方法, 通过建立一个最佳的时间规整函数, 使得二者在时间长度上达到一致。
5存在问题及展望
在人体识别领域, 未来还可以研究的方向包括:
5.1多摄像机的能提供多个方向的视频序列。使用多角度的视频可以解决人体被遮挡的问题。
5.2多角度的动作识别。摄像机的拍摄角度会影响到人体行为识别的正确率。
5.3多种行为特征的融合。由于在不同的环境中, 各种算法对人体行为的特征的提取也不相同, 怎样把多种行为特征进行融合, 找出更本质上的描述人体行为的特征, 与其他学科相结合, 需要深入的探索。
5.4人体行为分析的理解与描述。目前对人体行为识别的语义理解还相对简单, 如何借助人工智能、计算机视觉算法等领域先进的成果, 实现复杂场景下的自然语言描述。综上所述, 人体识别的研究任重道远。在借助先进的硬件设备, 不断完善的视觉算法, 充分利用人工智能、机器视觉等领域的研究成果, 将现有的简单的人体行为识别技术, 推广到复杂场景下的高层次的人体行为识别, 建立能实现自动完善、具有主动学习能力的实时的智能系统, 是科研人员研究的终极目标。虽然人体识别的准确率和速度仍在不断的提高, 但是距离目标还有一段路要走。
参考文献
[1]冯莲, 邹北骥.基于视频的人体运动跟踪技术研究[D].长沙:湖南大学, 2006.
[2]王庆帅, 刘志镜.智能监控系统中人体行为识别技术研究与实现[D].西安:西安电子科技大学, 2010.
[3]倪洪印.基于视频的人体检测与目标跟踪方法研究[D].长春:吉林大学, 2014.
[4]赵运基.基于视觉的目标跟踪算法研究[D].广州:华南理工大学, 2012.
[5]井亮, 陈谋.基于视觉图像的移动目标跟踪技术研究[D].南京:南京航空航天大学, 2011.
基于关键姿势的人体动作识别 篇3
关键词:动作识别,关键姿势,视频帧分类,轮廓表示
1 人体动作识别
人体动作识别在计算机视觉方面已经成为了一个流行的话题。在如此多的视频监控和人机交互系统中,一个可靠有效的解决方法显得尤为重要。
现在有很多方法来表示动作和提取动作特征,例如基于运动的方法[1]、空间—时间的兴趣点[2,3]、空间—时间分割[4]。相对于以上复杂的识别方法,对于给定的动作,人脑可以很快地识别出这个人在干什么,这是因为人脑可以根据这个人的姿势,不需要看完这个动作过程就可以做出判断。在人脑识别动作的过程中,不需要任何的时间信息,而是需要去挖掘用姿势来进行动作识别的潜力。
本文提出一种基于关键姿势的简单方法,类似于人脑识别方式来识别动作。通过提取人体轮廓,再对轮廓进行线条化处理。对于一个动作,能提取出带有这个动作特征的几个或十几个关键姿势。对于给定的动作帧序列,每一帧中的动作都会被提取出来线条化并与线条化后关键姿势对比,计算相似度。最后,分类动作的帧序列,分类数最多的就是识别结果。
2 关键动作的提取
对每个帧提取动作的步骤(图1)为:首先利用基于序列图像的人体跟踪算法[5],然后在每一帧中用方框框出人的图像,接着利用背景减除法提取人像的边缘信息。为了消除由杂乱背景所产生的噪声的影响,滞后阈值将在下一个步骤添加。在这点就可以从一个给定的帧序列中发现最佳的高和低的阈值,步骤如下:从一个动作序列选择一个随机帧,用一个多边形手动画出人体图像的边缘,在所选区域的边缘值变化范围可以用来确定低和高的阈值。为了消除残留的噪声,边缘像素投射到x轴和y轴,则不属于最大连接组件的像素被去除。之后,剩下的像素点用带有方向的信息链连接起来。这些链结构可用来构建一个轮廓段的网络(CSN)[6]。最后用k邻接轮廓段(kAdjacent Segments,k-AS)描述CSN网络,这也是在物体识别领域里比较流行的做法。
在CSN网中,如果k条线段是按序连接的,即第i条线段与第(i+1)条线段连接(i∈(1,k-1)),则称这k条线段组成一个k邻接轮廓线段组,k为其度。随着k的增长,k-AS能够描述越来越复杂的局部形状结构。人类的姿势,特别是肢体运动,可以用L-shapes来描述。因此,选择k=2,即2-AS直线对。这样每个线对由直线段S1和直线段S2组成,即
式中:向量(r2x,r2y)中,r2x是S1中点,r2y是S2中点;θi是方向;li是长度;Nd是两个中点的距离(i∈(1,2)),也作为归一化因子。
3 计算姿势之间的相似性
用线对的集合来描述给定每一帧的姿势。两个线对描述(va,vb)的相似性计算为
式(2)的第一部分是计算两个线对的位置差异,第二部分是计算方向差异,最后一个是计算长度差异,每项的权重wr=4,wθ=2。式(2)只能比较两个线对的相似性,下文将介绍一种可以计算比较两帧里多个线对的方法。
在任何由线对组成的两帧中,把这两个帧中的线对当成是两个集合X,Y,为了匹配这两个集合中的元素,线对的匹配必须要满足一对一和多对一的模式,所以集合X中的每一个线对元素和集合Y中的每一个线对元素对应。
在f1,f2两帧中,包含了两个线对的集合φ1={v1,v2,…,vi,…,vn}和φ2={v1,v2,…,vk,…,vm},f1中有n个线对,f2中有m个线对。用φ1中每一个vi和φ2中每一个vk做比较,找出匹配线对,只有在φ2中vk对于vi有最小相似距离和φ1中对于vk有最小相似距离时,vk和vi相似,图2是相对匹配事例。
当满足这种一对一的匹配属性时,就可以求出平均的线对匹配距离davg。sim(f1,f2)是f1,f2的相似度计算公式
式中:match(f1,f2)表示匹配成功的线对数量,经过实验发现,p=2是最优值。
4 关键姿势的提取
关键姿态序列一般可以表示一种特殊的动作。直观地说,视频中一个关键姿势序列合理地分布在视频帧中,这个关键姿势序列很好地再现了这个动作形态。用K中心点聚类算法[7]来提取关键姿势,因为聚集的中心点能很好地提取每个动作的姿态。但是,直接用中心点作为关键姿势并不能保证和另一个动作区分开,因为一系列的姿势可能属于多个动作。例如,挥手和拍手的动作共享几个姿势,都是人在挥动手臂。因此本文采用下文算法来把关键的姿势(能区分开来和其他动作)分类。最后,给每一个动作关键姿势的帧排序,根据其识别度给出分数,然后把分数最高的作为关键姿势。图3是KTH数据集中6种动作的关键姿势[8]。
提取关键姿势算法具体如下:
1)K=(1,N),K是关键姿势的数量。
(1)每一个动作ai∈A,A={a1,a2,…,aM},M是不同动作的数量。用K中心点聚类算法来提取ai中的关键姿势,数量为K;从ai动作提取出来的候选关键姿势序列为ci={ci1,ci2,…,ciK}。
(2)将上述样本的动作视频按一帧分开,f为一帧。用f和关键姿势序列匹配ci={ci1,ci2,…,ciK};ciK和视频中所有的帧f匹配的i∈[1,M],k∈[1,K];对每个关键姿势设定个值,如果匹配成功,就给这个关键姿势的值增加1。
2)对每组动作中的关键姿势按他值排序,把值最高的几个作为这个动作的关键姿势。
5 动作识别
为了分类给定的动作序列,首先每一帧要和所有动作的所有关键姿势对比,把给定视频中的动作序列和关键姿势进行相似分类计数,就是视频帧中有多少和给定的关键姿势序列1相似,统计出来,以此类推。图4说明了分类计数的过程。
6 实验结果
用KTH[8]和Weizmann[9]的数据集来测试本文的动作识别算法。选取了Weizmann 7个动作(蹲、起立、跳、快跑、侧面、走、挥手),这些动作由9个不同的人来演示。选取KTH的6个动作(拳击、拍手、挥手、慢跑、跑、走),这些动作由25个不同的人在4个场景下进行表演:室外(s1)、室外不同的地方(s2)、室外穿不同的衣服(s3)、室内(s4)。
对于选用Weizmann数据集合的6个动作样本,本文在对轮廓进行线对描述,忽略其噪声。为了评估分类性能,本文采用留一交叉验证[10]。
对于KTH,认为它是一个单一的大集合,但是其中的样本在边缘检测的结果中有大量的噪声。为了评估分类性能,采用十倍交叉验证然后求平均结果。因为计算开销较大,随机选择了一半的数据集,用十倍交叉验证对75%的样本进行训练,剩下的25%在每次测试中运行。在KTH数据集中,每个动作序列帧速率是不一样的。为了保持一致,把每个动作的帧限定到20~50之间,能使动作流畅地演示一次。
在K=47时获得了92.6%的识别率,K=78时也获得了91.5%的识别率,对于KTH的数据集,K是每个动作的关键姿势。对于Weizmann的数据集,还可以提高识别率到95.06%,采用严格的几何约束,对每个帧放到一个二维坐标中,只在同一坐标内线对做匹配。但是,对于一部分KTH的数据集,人的图像并不完整(例如缺少头、腿等),对图像进行边缘检测和对图像帧进行几何约束的匹配时,这样的图像不能被很好地识别。图5是平均分类的准确率和关键姿势数量的关系。本文方法需要大量的K值,以达到良好的分类性能,因为不同表演者对同一个动作的演示也是不同的。
在识别结果方面,局部时空特征的动作识别[11]方法基于Weizmann数据集的识别率是75%~87%(表1),局部时空特征的动作识别方法基于KTH数据集的识别率是59%~100%(表2)。因为本文中的测试数据和基于局部时空特征的动作识别方法采用的数据一致(Weizmann数据集和KTH数据集),所以从实验结果看,基于Weizmann数据集大部分动作关键姿势的识别率比局部时空特征高(表3)。在基于KTH数据集,关键姿势的识别方法对比局部时空特征在跑、慢跑、挥手、走的动作识别方面也有一定的优势(表4)。
此外,对于KTH的数据集,一部分的错误分类也是由于场景(s3)中表演者穿不同的衣服,拿不同的东西,在提取轮廓的时候产生额外的线对。
7 总结
本文引入一个新方法———提取动作的关键姿势,试验这种方式在动作识别方面的准确度。用线对(包含位置、方向、长度信息)来描绘每一帧动作姿势的形状特征。因此,把姿势信息放到直方图上,该方法可以很好地保存线对(表示姿势)的空间信息。通过匹配算法,比较两帧中的线对集合。关键姿势描绘动作的识别上也能明显区别于其他动作。但是本文方法对边缘检测有很强的依赖性,对背景的噪声也十分敏感,有待进一步研究。
参考文献
[1]LU G.Motion-based region growing segmentation of image sequences[J].Journal of Electronics,2000,17(1):53-58.
[2]李永浩,张西红,彭涛,等.基于视觉注意力模型的红外人体图像兴趣区域提取[J].计算机应用研究,2008,28(12):94-96.
[3]支俊.车辆检测中一种兴趣区域提取方法[J].计算机工程与设计,2007,28(12):3013-3015.
[4]BLANK M,GORELICK L,SHECHTMAN E,et al.Actions as space-time shapes[C]//Proc.ICCV 2005.[S.l.]:IEEE Press,2005:2247-2253.
[5]范新南,丁朋华,刘俊定,等.基于序列图像的人体跟踪算法研究综述[J].计算机工程与设计,2012,33(1):278-282.
[6]FERRARI V,FEVRIER L,JURIE F,et al.Groups of adjacent contour segments for object detection[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2008,30(1):36-51.
[7]谢娟英,郭文娟,谢维信.基于邻域的K中心点聚类算法[J].陕西师范大学学报,2012,40(4):16-23.
[8]SCHULDT C,LAPTEV I,CAPUTO B.Recognizing human actions:A local SVM approach[C]//Proc.ICPR 2004.[S.l.]:IEEE Press,2004:32-36.
[9]BLANK M,GORELICK L,SHECHTMAN E,et al.Actions as spacetime shapes[C]//Proc.ICCV 2005.[S.l.]:IEEE Press,2005:2247-2253.
[10]刘学艺,李平,郜传厚.极限学习机的快速留一交叉验证算法[J].上海交通大学学报,2011,45(8):1140-1146.
基于多特征融合的人体行为识别 篇4
人体行为识别在智能视频监控、人机交互、视频检索、运动分析、医疗诊断和监护等领域具有广阔的应用前景,已经成为计算机视觉领域备受关注的前沿研究课题。目前,基于视觉的人体行为特征的描述方法主要包括[1]:基于模板匹配的方法,该方法通过对视频序列中检测到的人体形状建立起一组与特定运动相对应的人体形状序列,而后采用模板匹配的方法对行为进行识别。该方法实时性好,能够识别简单行为,但要求提取出的人体前景较为精确[2];基于光流的方法,该方法仅仅依靠连续帧的相对运动,不受复杂背景的影响,但计算量大,而且不够鲁棒;Fathi等[3]提出了结合底层整体光流特征和中层局部光流特征对视频中的运动区域进行整体描述,该方法在相对单一的背景下取得较高的识别率,但是仅仅依靠光流信息仍不足以对运动特征进行描述;基于兴趣点的方法,该方法通过提取兴趣点,并对兴趣点周围局部区域进行描述。兴趣点是对显著区域的稀疏采样,其计算和存储代价较小。该方法的缺点是未能解决动态背景干扰问题。Yuan等[4]利用三维Harris检测器对动作视频中兴趣点进行提取,在此基础上对动作进行时空表征,进而实现动作识别。Zhang和Liu[5]用量化的局部SIFT特征实现人体行为的描述;基于语义描述的方法,它将场景中人的活动情况用填空的形式填入语法格式中,产生对人体行为的理解的自然语言描述[6],该方法能够识别子事件并行发生的行为,但容易受低级子事件所带来的错误的影响。
多特征融合是获得鲁棒性更强的特征描述有效方法。融合的多特征既可更准确地表征运动,也可减少信息冗余,在精度和效率上有较大优势。本文通过选取人体行为区分度较高的运动方向特征、形状特征和光流变化特征进行描述,提出了一种基于MOH特征、2D-Sift特征和HOOF特征相结合的人体行为识别方法。多个特征之间采用基于特征层面的融合方法进行多特征融合。
1 人体行为识别框架
视频序列中的人体行为是不断变化的,对于不同行为可能出现某两帧极其相像(如走路和跑步),因此,视频序列中的人体行为识别需要将视频序列分割成若干卷,对每一卷进行判别。人体行为识别框架如图1所示。通过构造运动历史图MHI提取出基于MHI图运动方向直方图MOH的全局特征,并对人体运动区域提取基于光流方向直方图HOOF的局部特征和2D-SIFT局部特征。对一个时空卷中所提取的HOOF特征和2D-SIFT局部特征分别使用视觉词袋模型BOW进行降维。最终联合MOH全局特征通过支持向量机(SVM)进行识别。
1.1 目标分割
提取出完整前景目标是实现特征提取和特征描述的关键,是识别的基础。帧差法效率高且对复杂环境和光照具有较强的鲁棒性,但提取出的目标轮廓不完整易出现空洞,如图2(c)所示。而高斯背景建模方法对全身运动的行为(如:走路,跑步,跳跃)提取得较为完整,而对人体的局部动作(如:挥手,拳击)则很难提取前景,如图2(b)所示。为了克服二者的缺点,本文通过对帧差法与高斯背景建模的方法提取出的前景取并集,提取出较为完整的前景目标,如图2(d)所示。
图中,(a)是Weizmann数据库中jump,wave2的一帧,(b)是高斯背景建模法前景目标提取,(c)是帧差法前景目标提取,(d)是两种方法相结合的目标提取。
1.2 运动区域提取
像素变化比率图PCRM(Pixel Change Ratio Map)[7]能够大致估计视频片段中的运动信息,运动越剧烈而且持续的时间越长,在像素变化比率图中就会越亮,也就是值越大。本文利用2.1节中得到的前景图像Di构造像素变化比率图。首先根据式(1)求得当前帧与前后两帧的像素变化分布。然后根据式(2)获得PCRM图像。
其中L为视频帧数。最后根据PCRM图像,将图像分别在水平方向和垂直方向进行投影,根据投影的波谷的位置,估计出运动位置,如图3所示。图中,第1行分别为动作Walk,Jack,Slide,Skip的PCRM图,第2行分别为估计出的运动位置。
2 特征提取
2.1 MOH特征提取
运动历史图(MHI)是一张静态图像,能提供一些运动属性,比如运动方向等,构造方法如式(3)所示:
其中τ为时间窗的大小,在时间窗之外的帧将被忽略,D(x,y,t)表示第t帧时的前景图像,x,y是像素坐标,构造的MHI图如图4(a)所示。
在获得MHI图像后,对MHI图像上的每个点(x,y),根据式(4)求得运动方向θ(x,y)。
将θ(x,y)量化为K个bins(本文取K=18),根据式(4)分别统计出落入每个bin中的梯度方向个数,形成运动方向直方图F。然而当θ选0°~360°的有符号梯度方向空间时,运动方向相反的同一个行为(如向左跑和向右跑)如图4(a)、(b),可能映射到的直方图相差K/2,如图4(c)、(d)所示。为了解决该问题,传统的方法是将相反方向的梯度映射到直方图的同一个方向,即转换到0°~180°的无符号梯度方向空间,但该方法容易导致两个不同的动作可能拥有相同的特征表示,因此无法区分一些不同的动作。受文献[8]提出的Ex Ho G特征的启发,本文根据式(6)至式(8)对运动梯度方向直方图F作出了改进。
式中,根据将F(k)分为正梯度空间和负梯度空间两部分,为正梯度空间和负梯度空间对应bin的值相加的绝对值,Fdiff(k)为正梯度空间和负梯度空间对应bin的值相减的绝对值,最后将和Fdiff串联起来构成MOH特征FMOH。
图4中,(a)、(b)分别为向左跑和向右跑得MHI图,(c)、(d)为未改进前的运动方向直方图,(e)、(f)为改进后的运动方向直方图。
由图4(e)、(f)可见,改进的运动方向直方图在有符号梯度方向空间下,能有效地解决了相反方向运动时,同一动作类内聚类度较差的问题。为此,将改进的运动方向直方图(共计K=18维)作为最终的MOH特征FMOH。
2.2 2D-SIFT特征提取
SIFT特征不仅对图像的尺度、旋转具有不变性,而且对亮度和3D相机视角的改变也保持一定的稳定性;在时域和频域内都能较好的定位,减少因遮挡、杂乱或噪声引起的分裂概率,可以有效地用于匹配不同图像的场景和目标。
使用可变尺度高斯函数G(x,y,σ)和输入图像I(x,y)相卷积构建高斯金字塔,如式(9)所示:
其中,*表示卷积运算;σ是尺度因子,k为尺度因子的比例系数,并且有:
再根据式(11)构造Do G金字塔。
通过判断在Do G尺度空间金字塔中是否检测到最大值来确定兴趣点的位置。为了减少计算量和不同背景、光照对识别结果的影响,本文仅对人体运动区域提取SIFT兴趣点,并剔除掉不在前景目标上的兴趣点。提取的部分兴趣点如图5所示。
在提取出兴趣点后,需要对兴趣点进行描述,本文采用2D-SIFT描述子进行描述,即以兴趣点为中心选取16×16窗口,每一个小格代表兴趣点领域所在尺度空间的一个像素点,箭头方向代表该像素点的梯度方向,长度代表梯度幅值;将窗口划分为4×4个种子点,每个种子点由4×4个小块构成,在每个小块上计算8个方向的梯度方向直方图,可产生4×4×8=128个数据作为2D-SIFT描述子。
2.3 HOOF特征提取
光流是图像中像素点瞬间移动所产生的速度场,它体现了视频中运动物体的运动趋势,可以用来确定运动目标的运动情况。定义I(x,y,t)为视频中t时刻图像上(x,y)点的亮度,u和v分别为该点光流矢量沿x、y轴的两个分量。设t+dt时刻该点位置为(x+dx,y+dy),其灰度为I(x+dx,y+dy,t+dt),因此该点的光流约束方程为:
令dt→0,利用Taylor式展开得:
其中Ix、Iy、It分别为该像素点亮度值沿x、y、t三个方向的偏导数。式(13)限定了Ix、Iy、It与光流矢量u、v的关系,但仅由一个方程是无法计算出两个光流矢量的,因此专家们提出了许多计算光流的方法,目前主要的方法有:LK稀疏光流,HS稠密光流,高精度光流,大位移光流。其中LK稀疏光流虽然精度相对后两种方法较差,但计算速度快,适合实时运算。本文采用LK稀疏光流方法,首先对人体运动区域进行稀疏采样,并求得采样点稀疏光流,光流分布如图6所示。
设G(x,y)为采样点(x,y)的光流幅值,θ(x,y)为该点光流的方向,由于人体动作主要集中在手部和腿部,本文将人体运动区域等分为上中下3个区域,加上整体区域共计4个区域(part(i),0≤i≤3)。将θ(x,y)量化为K(本文取K=8)个bins,对每个区域根据式(14)至式(15)构造光流方向直方图。
其中,1≤k≤K表示第k个bin,0≤i≤3表示第i个区域,ε是为了防止分母为0而引入的一个很小的正数。另外,为了更好地描述区域内光流梯度的分布疏密信息,本文根据文[9]构造了三种光流梯度描述子,如式(16)至式(19)所示:
其中ai为所求光流梯度的区域面积,mk是该区域内光流方向属于第k个bin的方向角个数,ε是为了防止分母为0而引入的一个很小的正数。最后将每一个区域所提取的光流梯度直方图串联起来,构成最终的HOOF特征,如式(20)所示:
3 特征融合与判别
在特征提取中,MOH特征,2D-SIFT特征,HOOF特征分别代表了全局运动方向信息,形状信息,光流变化信息,为了得到更好的表示运动模型和更高的运动识别率,需要对这些信息进行有效的融合。
对每一个时空卷的所有兴趣点提取128维的2D-SIFT特征,并采用视觉词袋模型[10]将得到的所有2D-SIFT描述子映射到一个具有300个词汇的字典中,得到一个300维的统计直方图作为最终描述子F2D-Sift。同样的,对一个时空卷的每一帧提取100维的HOOF特征,使用视觉词袋模型将得到的所有HOOF描述子映射到一个具有50个词汇的字典中,得到一个50维的统计直方图作为最终描述子FHOOF。
有效的特征融合的先决条件是每一个单独的特征向量具有相同的物理意义,F2D-Sift和FHOOF均由视觉词袋模型方法得到,确保了这一条件。对于由M种方法在视觉词袋模型下得到的特征向量{Fl|Fl={fjl}(1≤j≤Kl)},其中1≤l≤M,K为字典中词汇个数。融合后的特征向量为FBOW={f11,f21,…,f1K1,…,f1M,f2M,…,fMKM},即F2D-Sift和FHOOF融合后的特征向量为FBOW={f2D-Sift1,f2D-Sift2,…,f2D-Sift300,fHOOF1,fHOOF2,…,fHOOF50}。
另外,对每一个时空卷提取一个18维MOH特征FMOH,归一化后与FBOW合并,合并后的特征向量如式(21)所示,最终将FFUSION输入支持向量机(SVM)进行判别。
4 实验结果与分析
本文利用Weizmann数据库[11]和KTH数据库进行实验评估。实验在Core i5 3.10 GHz的CPU,VS2010的编程环境上进行。
Weizmann行为数据库包含了10种动作,分别是弯腰,开合跳,上跳,双脚跳走,跑,侧身走,单脚跳走,走,单手挥动,双手挥动。每种动作由9个人执行,共有93个分辨率为180×144的视频文件。该数据库背景是静止的,数据库较为简单。实验采用交叉验证的方法。依次把每个人的所有动作作为一个测试集,其余人的动作作为训练集,如此进行了9轮验证。另外,分别从每一种动作集中随机选取一个视频组成一个测试集,剩余的作为训练集,如此进行了60轮验证。图7为本文方法在Weizmann数据库的识别结果,平均识别率达97.83%。
KTH行为数据集包含了6种动作,分别为拳击,拍手,挥手,慢跑,快跑,走。每种动作由25个人在4个不同的场景下完成,4中场景分别为室内,室外,室外放大,室外且穿不同颜色的衣服。共有600个分辨率为160×120的视频文件。该数据库动作类型较少,但数据量大,视频中背景噪声较大。由于数量集较大,测试采用分割法。随机从25个人中选取16个人的视频作为训练集,其余的9个人的视频作为测试集,如此进行40轮验证。图8为本文方法在KTH数据库的识别结果,平均识别率达91.38%。
表1列出了MOH特征,2D-SIFT特征和HOOF特征分别对Weizmann数据库与KTH数据库的识别率。
如表1所示,基于不同的数据库处理效果,MOH与2D-SIFT的特征识别效果差异显著。MOH特征对背景静止、相对简单的Weizmann数据库能够取得较高的识别率,而对于背景噪声较大的KTH数据库则取得较低的识别率。反观2D-SIFT,其对于KTH数据库的识别率明显高于对Weizmann数据库的识别率。因此,仅采用单一特征的识别方法其适应性相对较差。表2列出了MOH特征,2D-SIFT特征和HOOF特征相互融合的识别率。
如表2所示,采用相同的验证方法,不同特征相互融合后的识别率均有所提升。其中,融合了MOH特征,2D-SIFT特征和HOOF特征的方法对Weizmann数据库和KTH数据库的识别率相对于采用单个特征的最大识别率(如表1所示)分别提升了10.7%和4.83%,证明了本文提出的结合全局运动方向信息,形状信息和光流变化信息的多特征融合方法的有效性。
表3列出了本文方法与目前的其他方法对Weizmann数据库与KTH数据库识别率的比较。与其他方法相比,本文方法在Weizmann数据库与KTH数据库上均取得较高识别率。
5 结语
嵌入式人体步态自动识别系统 篇5
早期的医学研究[1]指出:人的步态中有24种不同的成分,如果把这24种成分都考虑到,则步态是为个体所特有的。有关研究人员近些年来通过对人的步态分析,已经得出了在步态视频序列中含有人的身份信息,因此进行步态识别也是一种非常重要的生物识别技术。步态识别是近年来越来越多的研究者所关注的一种较新的生物认证技术[2],它是通过人的走路方式来识别人的身份。基于步态的身份认证识别技术相对于其它生物识别技术有如下优点:远距离识别、识别对象的被动性、不易被隐藏、不易被察觉、应用领域广阔等,步态识别技术最近已经备受关注,并且已经取得了一些初步成果。如美国国防部研究项目署(DARPA)2000年的重大项目-HID(human identification at a distance)计划,其目的就是开发多模态视觉监控技术以实现远距离情况下人物的检测、分类和识别。中科院自动化研究所模式识别国家重点实验室近年也开始了对步态识别的研究,而且创建了NLPR步态数据库[3]。
虽然步态识别是一个新兴的研究领域,但是近年来已经涌现出了一些尝试性的工作[4,5,6,7,8,9,10,11,12,13]。最早提出步态识别算法的是Niyogi与Adelson等人[4]。Cunado和Nixon等人[5,6]提出了一种基于模型的特征提取分析方法,VHT(velocity hough transform)。Kale[7,8]等人将行人的外轮廓宽度作为图像特征,提出了一种依赖于角度的识别方法。而Johnson和Bobick[9,10]提出了一种不依赖于角度的步态识别算法。Sarkar等人提出了步态识别的基线算法[11]。Lee[12]等人提出了一种基于步态外形的表达方法,其具体做法是先将人体的各个部分映射到几个椭圆组成的模型上,然后用其质心位置和离心率作为步态特征来进行步态识别。Wang[13]等人提出了一种简单有效的、基于人体运动轮廓的识别算法。值得注意的是,步态识别的研究尚处于初级阶段,表现在:a.实验都是在特定的环境下进行的,比如相对简单固定的背景,人相对于摄像机侧面行走,摄像机固定不动等;b.算法的评估都是在小样本数据库上进行的,而且数据库也不规范。
迄今为止,针对步态识别所进行的研究几乎全部是基于PC机的,而在许多情况下,却需要非PC机环境,所以研究基于嵌入式平台的步态识别系统,具有一定的工程意义。本系统的功能是对采集到的步态视频序列进行图像处理,得到视频序列中的人体步态信息,再由步态算法根据所得到的步态信息进行步态识别。
1 系统结构
本嵌入式自动步态识别系统主要包括CCD摄像机、图像采集卡、嵌入式系统、显示屏等。其中最为核心的是嵌入式系统部分,它包括Renesas 32位嵌入式芯片SH7709S、存储器、外围电路、键盘、鼠标等。主要完成视频序列信号的预处理、处理、步态识别、显示输出等功能。
该系统的结构示意图如图1所示。
2 步态识别的基本原理
2.1 双目立体视觉
双目立体视觉是今年来在图像测量领域发展起来的一种新技术,与单目视觉相比,双目视觉有以下优点:可以获得单目视觉中所没有的视差或者深度信息;当场景中有遮挡发生时,双目立体视觉可以很好地处理遮挡。因为步态识别的场景难免存在遮挡,为了更好地从各个方向获得步态视频序列,从而能够为进行正确的步态识别作出铺垫,所以采用双目立体视觉来获取人体步态视频序列。
在本实验中,两个CCD摄像机分别固定在一个三角架的两边,组成双目立体视觉。
2.2 步态图像序列中的光流场
光流[14]是指图像中模式运动的速度。光流场是一种二维(2D)瞬时速度场,其中的2D速度矢量是景物中可见点的三维(3D)速度矢量在成像表面的投影。光流不仅包含了被观察物体的运动信息,而且携带着有关景物3D结构的丰富信息。
光流法[15]假定相邻时刻之间的间隔很小(一般为几十ms),从而相邻时刻的图像差异也比较小。
2.2.1 光流的基本等式
光流亮度不变性描述的是图像上某个象素点的灰度值随时间的变化率为零,即,展开为
若记其中u和v是该点的光流的x分量和y分量,则式(1)为
式(2)就为光流计算的基本等式。
2.2.2 光流有关的计算
对于图像上的每一点(xi,yi),求解[16]光流场方程(2),得到由迭代形式表示的解为:
2.3 光流场中运动特征的提取
从光流[15]中提取的特征包括运动点T,加权的运动点,,,以及光流分布的质心特征等。通过光流场,利用将运动点(白色)和非运动点(黑色)区分开来,由下式表示:
在本实验中,选取|(u,v)|加权横坐标、加权纵坐标作为从光流场中提取的步态特征。
加权纵坐标作为从光流场中提取的步态特征。
2.4 步态特征的数据融合
对于所提取的步态特征Xuc和ucу,由数据融合算法D-S合成公式:
其中m1和m2是特征空间上的两个mass函数,N为矛盾引子,。
2.5 识别
将由数据融合得出的特征进行基于PCA的特征空间变换。假设初始的训练样本集为T-{Pij},i=1,2,…,C,j=1,2,…,Ni;第i个人第j个步态样本向量为,而样本总数为NT=N1+N2+…+Nc。
求样本集的总体均值向量μ和协方差矩阵Σ,
如果协方差矩阵Σ的秩为N,由det|λI=Σ|=0求得矩阵Σ的N个特征值λ1,λ2,λ3,…,λN,并由矩阵方程λiI=Σ=0,i=0,1,2,…,N;求得对应于N个特征值λ1,λ2,λ3,…,λN的;N个特征向量。选取与前K个最大特征值对应的前K个特征向量,并使,其中表示样本集在前K个轴上的能量占整个能量的百分比。通常取值接近于1,以使得样本集在前K个轴上的能量几乎接近于整个能量。
用式(2)中所求得K个特征向量重建初始样本集中的每个样本。算法如下:这样就得到一个K维的权向量Ωi,j用于进行识别。选取最近邻分类法进行步态模式分类。设经过特征提取并向特征空间投影,所得到的特征向量为Ω,求得Ω与每个每个模式类的平均向量Ωi,j之间的欧几立德距离。
由最近邻分类法的判决准则可知,当εi(x)的值最小时,则x∈εi;否则。
2.6 识别的有效性与错误率
根据模式识别的原理,当有两类步态时,步态识别的错误率由下式给出:
其中,,积分区间R1为当w2误判为w1时的误判区间,而积分区间R2为当w1误判为w2时的误判区间。当p(e)最小时,识别越有效,而当p(e)越大时,识别性能越差。
当有多类步态时,依次类推。
3 系统实现
3.1 硬件实现
系统硬件连接框图如图2所示。
3.2 软件实现
系统软件流程图如图3所示。
图3步态识别系统软件流程图(参见下页)
4 结论
基于多示例多特征的人体动作识别 篇6
当前随着计算机技术,互联网的飞速发展,图像和视频的数据量呈现出爆炸式的增长,进入了大数据时代。面对海量的图像视频数据,如何借助计算机辅助人类快速高效地获取有用的视觉信息已经成为了一个迫切需要解决的问题。在此时代背景下,计算机视觉领域的相关技术以及机器学习算法在人们日常生活起到日益重要的作用,成为了近年来的研究热点领域[1,2]。在这其中,基于视频和图像序列的人体动作识别的研究十分重要同时又具有很大的挑战性[3,4,5]。人体动作识别的研究涉及到了人们日常生活中的很多活动,包括基于内容的视频检索、智能视频监控,虚拟现实,数字娱乐,人机交互等,具有广阔的应用前景。当前很多研究工作都采用了单一的人体动作特征对视频进行描述和分析,但由于人体间的个体差异,动作的多样性以及复杂背景等问题的存在,单一的特征表征已经不能够很好地解决现实生活中的动作的多样性。本文首先介绍了人体动作识别的框架以及发展现状,然后介绍了动作中常用的特征,以及对特征进行再表征的方法-词袋模型,最后介绍了一种基于多示例学习方法的联合多特征对动作样本进行表征,识别的方法,最后在常用人体动作数据库上进行了验证实验。
1 人体动作识别框架及发展现状
研究者Johansson[6]最早通过运用人体关节的运动特征来描述人体动作,对人体动作进行了分析。随着机器学习方法以及计算机视觉的发展,产生了越来越多的研究成果。人体动作识别主要分为四个部分,如图1所示,首先是对原始数据进行特征提取。特征的提取至关重要,它是将从像素级可视化的信息转换为具有一定特性的特征级信息,因此特征的提取直接决定着提到的信息量。特征的表征是通过模型的搭建例如词袋模型,对特征进行再表征,最终生成样本的描述子。当得到所有样本的描述子后,基于训练数据通过分类器学习所需的分类参数。最后运用学习到的分类器参数对测试数据进行预测,判断测试样本的类别。
在人体动作中,对视频提取的特征,Laptve等[7]提出了STIP特征,他们将二维图像中Harris角点检测算法[8]扩展到了三维时空中,直接对视频提取特征,有效地避免了其他需要预处理方法带来的干扰。该特征是通过对视频序列进行三维空间的高斯滤波,然后计算视频序列中每一点对应的二阶矩矩阵,最终将在响应函数中取得局部最大值的点作为检测到的时空兴趣点。Cuboids特征是由Dollar等人[9]提出的基于Gabor滤波器的特征点检测算法。它在空间域上采用了高斯滤波,在时间域上采用了两个正交的一维Gabor滤波器来检测运动特征,可以获得更多的时空特征点。Improved Dense trajectory[10]是根据不同的尺度下长度为L的轨迹,在视频的每一帧长以轨迹点为中心选取W×H一个图像块,通过光流轨迹的追踪,最终会得到一个W×H×L的随机弯曲的立方体,然后对这个立方体进行描述,得到最后的特征。
在对特征进行表征的模型搭建中,由于很多特征都是局部性的特征点,同时视频样本的帧数各不相同,所以如何对视频样本进行统一表征一直是学术界的研究热点。在众多模型中,词袋模型(bagof-words)在图像检索,动作识别中有广泛的应用。词袋模型将特征通过词典的映射,最终生成基于统计的样本描述子。不同于BOW的低级特征,Liu[11]等人提出了Attribute模型,通过对样本赋予高层次的语义信息来丰富特征的表征,取得了良好的识别效果,以及采用分块的局部Attribute表征动作,通过充分利用局部的动作信息,增加了对动作的细节描述,得到了良好的效果。分类方法是人体动作识别中的最后一步,但是发挥的作用非常重要,分类器有决策树,K近邻,支持向量机等,其中由于支持向量机中核函数的应用使得在求解分类问题中可以将低维特征映射到高维空间中更好地进行分类同时计算的复杂度较低等特点,应用最为广泛。
2 词袋模型
词袋模型(Bag-of-Word)是一种基于统计的概率直方图模型,如图2所示,首先通过机器学习算法对训练空间中的特征进行学习,例如常用的K均值[12]算法。首先它通过聚类的方法对特征数据的分布进行学习,然后找到能够代表周围特征点信息的K个聚类中心,作为词袋中的词。假设有N个特征点,每个特征点是d维的向量,K均值方法步骤如下:
①从N个特征点中随机初始化K个聚类中心
②计算每个点到这K个聚类中心的距离,通常用欧氏距离作为度量:
③将每个特征点归类于最近的那个中心点,通过所属同一个中心点的特征点计算均值,更新中心点,如式(2)所示:
④重复步骤②和③直到达到收敛条件。
在编码的过程中,计算每个视频样本中的所有的特征点与有K个聚类中心的词典之间的距离,通过矢量化方法将距离最近的词的维度上赋值为1,其余为0,这样生成了N×K维的矩阵,最后通过池化以及归一化的方法将每个特征点的表征融合起来,对整个样本进行表征,最后生成一个K维向量。通过分类器对这些训练样本的向量的学习得到分类器的参数,对预测样本进行分类。
3 多示例学习方法
多示例学习的问题最早是Dietterich[13]等人在研究药物分子的活性问题时提出的。研究者通过机器学习方法学习分类器,用分类器从大量的备选合成分子中选出最具活性的分子,这样可以把有限的资源集中于研究这些具有开发价值的合成分子,节省开支。药物分子活性预测的目的是让学习系统通过对已知适于或不适于制药的分子进行分析学习。在研究药物活性预测问题的过程中,他们将药物分子所有低能形状看作是一个集合,称之为包(Bag),而分子的每一种低能形状被抽象为集合中的一个元素,称为包中的示例。
在多示例学习模型中,若某个包中含有至少一个正示例,则包被标记为正(Positive)包,否则被标记为负(Negative)包。多示例学习的最终目标是通过对训练样本集进行学习,得到能够正确预测标签的目标函数。本文采用了Andrews[14]等提出的通过将多示例学习的问题应用到SVM的目标函数中,提出了基于SVM的多示例学习算法:基于包的算法MI-SVM。该算法的核心思想是首先从每个正包中选出一个“最正的”样本,将其作为正样本,并将选出来的正样本与负包中的所有示例一起组成训练集,然后在训练集上进行SVM训练。其目标函数如下:
在本文的算法中,将同一个样本的不同特征表征的集合视为一个包,将当前的动作的包视为正包,剩余动作的包视为负包,通过公式(3)去求解对于当前动作来说的最优超平面,这样做的意义在于,当在学分类超平面时,多示例学习可以对多种特征的特性进行隐性的学习,利用当前样本中最有利的特征进行学习,这样就能使得在学习模型的同时,对样本的特征取长补短,辅助学习。
在基于SVM的多事例学习中,目前用得最多的核函数主要有下面四个:
①线性核
②q阶多项式核函数:
③高斯径向基核函数
④Sigmoid核函数:
在以上四种常用的核函数中,RBF核函数因其适用于低维、高维、小样本、大样本等情况而使用的最广泛,RBF核函数具有较宽的收敛域,是较为理想的分类依据函数。除了上述几种常见的核函数外,还可以在试验中根据具体问题构造相应的核函数。
4 实验设置与分析
4.1 实验数据库
KTH[7]视频库包含了6类人体动作,分别为Boxing,Hand clapping,Handwaving,Jogging,Walking,Running,每种动作由25个人在四种场景下拍摄得到,场景1为户外环境,场景2为伴随尺度变化的户外环境,场景3为不同着装的户外环境,场景4为室内环境。KTH库中共有598个人体动作视频,视频分辨率为160×120帧率为25帧/秒。
3M TJU[12]数据库是由天津大学多媒体实验室用两个Kinect摄像头采集的多视角多人物多模态的数据库,采用了其中的视角1下的数据,视频的分辨率为480×320,帧率为25帧/秒。该数据库包含了单人动作以及两人交互的动作,动作有Walk Together,Cross,Wait,Chat,Hug,Handshake,High Five,Bow,Box,Play Football,Pass Basketball,Carry Box,Throw Basketball,Bounce Basketball,Hula Hoop,Tennis Swing,Call Cellphone,Drink,Take photo,Sweep Floor,Clean Desk,Play Guitar,22类不同的人体动作,共595个动作样本。该数据库不同于KTH数据库,加入了多人交互的动作,使得问题更复杂,也更贴合实际中的应用。
4.2 实验设置
对两个数据库提取了STIP、Cuboids、IDT三种常用的人体动作特征,并且利用词袋模型构建样本描述子。在词袋模型中,采用了K均值的聚类方法以及矢量化的编码方法(K=1000),最终每个样本都由一个K维的特征向量表征。最终用支持向量机分别对3个特征进行训练,识别,得到每个单独的特征在两个数据库下的预测结果。
在运用多事例学习方法对多特征进行学习时,由于每个特征提到的特征维数不同所以在进行多示例学习前,应用词袋模型,将特征映射为具有相同维数的表征。将同一个样本的不同的特征表征作为一个包中的不同的事例,将当前动作的所有包作为正包,其它动作的包作为负包,进行分类学习,判断测试样本的类别时,采用以下准则:
式中,P(xli)代表样本x中的特征表征i被预测为动作被预测为l的概率,由径向基核函数的支持向量机预测得到。i代表特征的种类,m为采用的特征的个数,在本实验中,采用3种特征,m=3。l代表动作的类别,n为动作的类别数。最终预测样本的类别取使得上式概率值最大的动作类别。
4.3 实验结果与分析
4.3.1 KTH数据库实验
在KTH数据库上的实验结果如表1所示,每一行是不同的动作,最后一行是所有动作的平均值,在列中,Cuboids,STIP,IDT对应着运用不同的特征,用词袋模型对样本进行表征,最后用x2核的支持向量机(SVM)进行分类得到的结果。最后一列本文代表运用本文的多示例学习方法对多特征进行学习后得到的结果。
从表1中可以看出,在前三种特征的结果中,不同的特征对于不同的动作具有不同的表现情况。例如对于动作击掌(handclapping)来说,特征STIP表征结果最好,而在跑(running)的动作来说,IDT的结果最好。这说明不同的特征在提取特征的过程中,提取到的信息有一定的差异性。运用多事例进行学习结合多种特征的特性,可以在上表中本文的算法结果看出,它保留了特征中的一些特性,通过多示例融合多种特征学习,对数据中本来在单一特征下结果不好的动作起到了辅助学习作用。
4.3.2 3M-TJU数据库实验
在3M-TJU数据库上的实验结果如表2所示,第二列到第四列是三种不同的特征单独表征的结果,最后一列是由本文算法得到的实验结果,可以看到,相同的特征以及实验设置,实验结果在KTH数据库上能达到90%以上,而在3M-TJU数据库上只有70%左右,由此可见多人的数据要比单人根据挑战性,复杂性更高,同时在实验结果中可以看到,不管是单人动作还是多人动作,动作在运动剧烈时更容易区分,这是因为当动作持续时间长,幅度较大时,提到的特征信息更加充分,可以更好地去描述动作的信息。在表2中的最后一列的实验结果可以看出,融合多种特征的信息后,对于一些动作都起到了很好的识别效果,这也证明了实验算法的可行性。
5 结束语
本文提出了一种运用多实例学习的方法将多种特征融合起来识别人体动作。在特征上选取了现在最为常用的STIP,Cuboids和IDT特征对KTH数据库和3M-TJU数据库的视频样本进行描述,并且通过对单一特征的实验以及多特征融合后的实验结果进行了对比。通过实验可以看到应用多事例学习在对多特征进行融合学习时,综合了三种特征的信息,对于动作的识别起到了辅助效果,取得了良好的实验结果。
在当前随着数据的高速增长,数据的多样性以及数据的复杂性,单一的特征信息已经不能很好地满足现实中的问题,研究机器学习中的模型,如何将多种不同的特征信息融合,取其精华更好地理解现实中的动作越来越重要。随着更多的研究人员参与以及计算机技术和机器学习方法的发展,相信多特征融合在未来能够取得更好的进展,从而更加成熟地将动作识别技术应用于现实生活中。
摘要:随着视频数据的海量增长,在人体动作识别领域,单一特征的运用已经不能满足现有的对复杂动作,复杂环境的识别问题。基于此,提出了一种利用多示例将多种动作特征融合来识别人体动作的方法,通过利用传统的多示例学习中包的概念,将同一个样本的不同的特征表征作为在同一个包下的示例.将同一类动作的所有包作为正包,其它种类的动作作为负包,来学习模型进行分类。通过在常用数据库上的测试取得了较好的结果。
人体目标识别 篇7
在计算机辅助测量中, 为了实现从不同空间坐标拍摄的场景图片来实现物体三维信息重构, 需要对场景中的标志点进行识别和定位, 大多数光学三维测量系统采用圆形标志点作为拼接标志点[1,2], 通过拍摄在物体表面的预先粘贴的圆形识别来计算出拼接的变换参数, 本文提出针对人体三维数据提取而采用的标志点提取叙述其提取原理和具体实现方法。
2 识别原理
标志点选用高反射率的标志点, 采用650nm红光照射人体表面, 在图像采集相机的镜头前加中心波长为650nm带通红色滤光片, 用高强度的红光照射人体表面, 减少环境光在成像过程中所占的比例, 由于皮肤的表面对光波的吸收率要远大于标志点的吸收率,人体对650nm光的反射率通常低于30%[3], 而定向反光标志点的反射率接近100% , 在强光下照射下可以形成很好的对比度。调整光圈使得在摄像机中呈现的图像只有标志点部分占据着最大灰度值, 该图像对于识别标志点的识别具有极好的图像质量, 通过图像预处理和图像提取可得到标志点的中心, 图1 为标志点识别结构示意图。
3 系统器件选型和投射光强控制
系统主要与标志点识别密切相关的部分有单色光源、窄带滤光片和定向反光标志点, 在基于机器视觉的精密测量中, 由于被测目标本身的特征的提取精度不高且易受环境光影响, 通常在被测目标上设置光学控制点来产生明显的特征信息来提高测量精度。通常光学控制点可分为被动反光和主动发光两种, 本文中采用被动反光式定向反光标志RRT(Retro-Reflective Target),RRT是使用耐磨高硬度的聚碳酸脂材料和微晶立方体技术制成的钻石级反光膜。每一微晶立方体联结排列后, 在一个平方厘米的材料面积上会有一千个以上的微晶立方角体, 微晶立方角体下层经密封后形成一空气层, 使入射光线形成内部全反射, 从而不需借助金属反射层即可达到最优越的反光效果。其特点是反射光的亮度是漫反射标志点的千倍以上, 且主要受人工照明条件影响, 受环境光影响较小, 通过照明、相机的曝光时间和孔径光阑大小的调节能够得到非常高对比度的理想图像[4]。
光源LED选用台湾亿光电子公司的246-7SDRC/S530-A3 红色LED, 波长为650nm, 频谱辐射带宽为20nm, 其波长相对强度和辐射相对强度如图2、图3 所示。窄带滤光片是一种在光学领域中一种常用光学元件,常用的窄带滤光片为法布里- 柏罗滤光片, 使得滤光片具有极窄的带宽, 选用的650nm窄带滤光片, 半带宽为30nm, 中心透过率>80%, 截止波长400-1100nm, 截止深度<0.1%, 其滤光特性如图4 所示。在很强的辐射照度下人体局部反射光强会很强, 可能会超过CMOS成像时的光强判别阈值, 从而产生了假的标志点信息, 所以需要合理控制LED光源强度, 对物体的照明通常是选用LED组成阵列方式, 使被照射物体获得均匀的辐射照度, 辐射照度的大小可以通过CMOS摄像头获得的图像光强分布来判断图像是否过饱和欠饱和来调节LED发光强度, 根据采集图像的灰度值去控制LED光强形成闭环系统, 利用PWM波原理控制LED通电时间使发光强度调节到适合最佳光亮度;COMS图像传感器采用镁光的MT9M001 单色传感器, 其动态范围为68.2d B,量子效率为50%,PWM的最小占空比调节增量为0.001时可以得到较好的LED光强控制特性。
4 系统软件设计
COMS图像传感器在FPGA时序控制下读取每个像素点的灰度值, 由于定向反光标志可使传感器局部过饱和, 所以可以通过控制镜头的光阑大小和CMOS的增益来减小对背景光的响应, 但在实际单色光照射下, 获得的背景光和定向标志点数据并不是理想的数据, 从灰度直方图上可以得出数据分布分别趋向两个值, 背景光对应低灰度值, 定向标志点对应高的灰度值, 所以对图像进行二值化时, 对于8bits灰度阈值可以取220, 这样很好的突出反光标志的像, 处理过程中把灰度大于220 的像素直接替换成255, 否则替换成0。
经过阈值运算后得到反光标志的图像数据, 是一个类似椭圆形[5]的封闭区域, 用一个矩形覆盖这个椭圆形封闭区域, 可知存在一个最小的矩形覆盖, 根据矩形的四个顶点坐标, 可以得出矩形中心的坐标, 由于圆形标志本身具有对称性, 因为圆形标志与像面的像是线性变换关系, 图像还保持着对称性, 所以矩形中心的坐标可以作为圆形标志点的中心。
CMOS成像器件采集控制时序由FPGA控制, 由于图像数据处理量比较大, 在存储部分采用双静态RAM组成乒乓式缓冲结构, 一个作为实时图像存储一个作为预处理和标志点的识别, 两个静态RAM交替使用[6],首先对SRAM中图像逐行搜索, 第一次遇到灰度为255点即为椭圆的上顶点(Xtop,Ytop), 如果本行中如果有灰度连续为255 则取中间坐标值作为Xtop, 一般受拍摄距离等限制, 每个标志点在图像中占有的像素区域一般为50×50-100×100 个像素以内, 如果标志点像素所占区间大小不在这个范围内, 系统要提示摄像头距离人体标志点过近或过远, 以(Xtop,Ytop) 为起点向下150 个像素为搜索范围, 同理可得到矩形边界的其他三个坐标点(Xleft,Yleft),(Xright,Yright),(Xbottom,Ybottom), 通过在矩形边上的四个点可以得出矩形中心的坐标(Xcenter,Ycenter), 此坐标即为标志点的中心, 本算法具有速度快, 速度远优于最小二乘的圆心拟合算法。
FGPA选用Altera的Cyclone IV可编程逻辑器件,其中主要完成CMOS图像采集时序、图像乒乓缓冲存储时序、图像预处理时序及标识点中心提取, 编程语言使用Verilog HDL可以做到整个系统时序最优。人体三维图像获取通过两种交替图像采集方式获得, 首先投射单色光到人体表面, 采集图像获得标志点信息, 计算得到摄像头在世界坐标中的位置, 然后投射单色结构光到人体表面获得人体局部表面形状, 两种采集方式交替循环可以获得整个人体表面三维轮廓信息。图5 为圆形标志点软件识别过程结果截图, 从直方图上可以看出使用单色光后, 图片灰度值比较集中, 易对图像进行分割, 在没有其他高反射率物体情况下, 标志点识别率接近100%。
5 结束语
本文利用窄带滤光片单色带通特性, 单色光源和高反射率的定向反光标志点, 排除了环境杂散光和皮肤表面反射光对标志点提取的影响, 应用FPGA技术结合局部矩形覆盖和搜索处理可以准确提取圆形标志单的中心, 通过实际应用可以方便有效的对人体三维数据提取中圆形标志点进行准确提取。
摘要:采用高反光率定向反光标志在单色光照明下形成高对比度图像,反射光透过窄带滤光片去除了环境杂光的影响,CMOS图像传感器成像与FPGA技术结合对图像进行预处理和识别,可准确的识别定向反光标志,此方法在实际应用中达到了预期的效果。
关键词:标志点,轮廓,识别
参考文献
[1]任同群.大型3D形貌测量高精度拼接方法与技术研究[D].天津:天津大学,2008.
[2]郭磊.现场条件下大空间3D精密定位原理与方法研究[D].天津:天津大学,2008.
[3]唐建民,傅昌余.皮肤和人体对光的反射规律的初步实验研究[J].激光杂志,1986,7(4):213-215.
[4]邾继贵,于之靖.视觉测量原理与方法[M].北京:机械工业出版社,2012.
[5]马扬彪.三维数据拼接中编码标志点的设计与检测[J].清华大学学报,2006,46(2):169-171.