基于序列匹配的人的行为识别算法_第1页
基于序列匹配的人的行为识别算法_第2页
基于序列匹配的人的行为识别算法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于序列匹配的人的行为识别算法

1.运动的视觉分析小型监控系统不仅可以跟踪目标物体,还可以正确评估目标状态及其与环境的互动程度。一个能准确判断并且分析人类异常行为的系统,对于日常生活有极大的用处。例如人行道、斑马线等环境,进行行人异常行为分析,判断是否有人在斑马线上跌倒发生危险情况。计算机视觉中人运动的视觉分析是从图像序列中进行人的检测、跟踪、识别和行为理解;而模式识别中生物特征识别技术是利用人的生理或行为特征进行身份鉴,被广泛应用于计算机智能视频监控领域。人的行为作为一种可识别的生物技术,其难点在于如何描述一个行为以及如何从视频序列中检索一个行为。人体运动不同时刻的姿势,从侧面观察投影图不同,所以不同行为的识别很大程度依赖于行为序列的人体侧影随时间的变化,所以可以将行为序列看成有一组静态的姿势所组成的模式。Cunado等将大腿建模为链接的钟摆,并从其倾斜角度信号的频率分量中获取步态特征。Little等从光流图像中获取频率和相位特征来识别个人。王亮等提出一种基于人体侧影轮廓的人的身份的识别技术,EKINCI扩展该方法,提出使用基于人体侧影轮廓投影进行身份识别的方法。本文提出一种基于傅立叶描绘子和序列匹配的行为识别算法。首先获取人体侧影的轮廓线,使用傅立叶描绘子提取特征,结合改进的序列匹配算法实现行为识别,并验证算法的有效性。2.特征描述2.1时间变化的影响确定行人内在运动的一个重要线索是人体轮廓形状随着时间的变化。为了降低信息冗余度及减少计算复杂度,我们将二维轮廓形状变化转换为一维的距离信号来近似表达时空变化模式,其过程如图1所示。2.2心坐标的计算假设C是二维轮廓形状的顺时针方向的简单封闭轮廓线,轮廓线边界上的点用复数z表示为。轮廓线矩心坐标zc使用公式(1)计算,其中N是轮廓边界像素总数。边界上任意一点到矩心的距离表示为:考虑质心到人体轮廓点的距离构成一个向量R=r1,r2,…,rN,N为人体轮廓边界点的个数,R的离散傅立叶变换(DFT)为:对序列进行归一化操作,使用式(4)描述的特征向量表示特征:3.基于序列的相似度处理通常使用时空相关来对行为建模,即通过依赖时间对行为的动态变换进行编码。文章提出了一种简单而有效地表示方法,运动序列被表示成一组可判别的静态的关键姿态的样例。此方法采用时间不变的表示。基于特征匹配的序列相似度的计算都需要提取特征序列,由于一个行为可能出现的姿势并不是特定的,所以应该避免使用逐帧比较,同时帧与帧的比较也应该不依赖于身高、图像的大小等参数。假设视频序列中只有一个人产生行为,但是同一个序列可以出现多个行为,首先将特征图像归一化,使人体出现在视频的中心对称的位置,并通过双线性差值算法使图像的高度相同。使用Frobenius范数作为序列的相似性度量,对于序列X与序列Y,首先利用公式(5)计算帧P与帧Q之间的相似度。然后利用算法1计算序列之间的距离。假设一个训练好的特征序列数据集Xi=[x1,x2,…,xn],i=1,2,…,N,表示分类为ci的特征序列,N表示已知分类个数,ni是样例集Xi的样本数量。给定一个时间连续的输入序列,我们的目标是在输入序列中分割出视频中所包含的行为片段。假设一个视频序列中只包含一个人的行为,如图2所示,为能够分辨出行为类别,我们将输入序列分割成连续的视频片段,如Y=y1,y2,…,yn是已经分割的视频片段,问题转化为找到满足最小值问题argminid*(Y,Xi)的样例分类ci,使样例Xi与序列Y的距离最小,问题是如何比较两个视频序列的相似度以及序列Y如何分割,多长才合适?具体计算如算法1所示。算法1序列匹配算法:第1步:定义样例序列Xi中的帧xj与测试序列Y的最小距离帧的距离,记为dj(Y)=d(xj,yopt)。第2步:计算特征序列Xi的每一帧与序列Y的距离构成一个距离向量D(Y)并计算距离向量的期望值mi作为序列Xi与序列Y的距离,式(6)中ni表示序列Xi的长度。第3步:应用公式(5)计算帧与帧之间的距离。第4步:计算最小值问题argminid*(Y,Xi)=argminimi,序列Y被最终判定为分类ci。从视频序列中分割n=maxi|xi|,i=1,2,…,N帧作为测试序列,这个长度的序列包含所有样例库中可能的完整行为周期,当检测完一个行为之后需要继续检测下一个行为的时候,由于前一次匹配的行为所使用的视频序列长度没有达到n,所以必须回溯,下一轮分割从上一次匹配的最后一帧的下一帧开始。4.结果4.1基于同帧相似性的背景差法提取Weizmann行为数据库包含9个人10种不同的行为序列。数据库提供的是avi格式的视频文件。图3显示daria的10种不同行为序列中的一个典型特征帧。实验中首先将视频文件分解为视频图像帧序列,采用邻帧差法从图像序列中动态构建背景,算法主要利用两帧相差提取第k,k+1帧中的共同背景子区域B(k,k+1,x,y),k=1,2,…,N-1,利用公式(8)来逼近重建背景。公式(8)表示将k,k+1帧中共同背景拼接到已经估计的背景区域B(x,y)中,∪表示拼接算子。采用背景差法提取运动对象,利用形态学算子对前景物区块内的小洞进行修补。Weizmann行为数据库一个行为序列以及提取的侧影如图4所示。由于行走方向及人体身高等因素的影响,视频序列中不同帧之间人体侧影大小是有差别的,因此在进行区域分割之前,我们首先对目标高度进行归一化。具体方法如下:假设fi视频序列中的第i帧中只包含人体部分的矩形区域,其大小为Mi×Ni。利用双线性插值将进行等比例缩放,缩放之后的图像高度为M,将序列中的所有帧进行同样处理,获得归一化的人体区域图像序列,则该序列的所有图像的高度均为M。4.2算法验证实验由于样本数量较少,无法从训练样本中准确估计概率密度函数,因此可以采用非参数的方法设计分类器,本文采用近邻分类算法(NN),测试样本被归入与其距离最近的标本所在的类别。图5显示一个测试帧和从训练序列中找到的最相似的帧。本文使用OpenCV在C#环境下完成测试实验,OpenCV是一个开源的视频图像处理开发包,C#版本是原始C语言版本的托管代码封装,方便在Microsoft.NET环境下快速开发。实验中选择Weizmann行为数据库,该行为数据库被广大的同类文章作为验证算法的首选,其中包含10种不同的行为,每个行为包含9个演员的序列,通过留一校验(leaveoneoutcrossvalidation)的方法,计算正确识别率CCR(CorrectClassificationRate)。表1给出不同算法CCR测试结果。表2描述了在Weizmann行为数据库的测试结果,其中a1-a10表示10种不同行为序列,s1-s9表示不同的演员,最后一列表示分类器正确分类的序列数量,表示分类失败,√表示分类正确。各种行为的含义:a1-弯腰,a2-原地站起,a3-跳,a4-单脚跳,a5-跑,a6-侧行,a7-滑行,a8-走,a9-单手挥动,a10-双手挥动。5.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论