版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于视频的人体姿态检测一、设计目的和要求1 .根据已知要求分析视频监控中行人站立和躺卧姿态检测的处理流程,确定视频监中行人的检测设计的方法,画出流程图,编写实现程序,并进行调试,录制实验视频,验证检测方法的有效性,完成系统软件设计。2 .基本教学要求:每人一台计算机,计算安装matlab、visio等软件。二、设计原理图像分割中运动的运用(运动目标检测)首先利用统计的方法得到背景模型,并实时地对背景模型进行更新以适应光线变化和场景本身的变化,用形态学方法和检测连通域面积进行后处理,消除噪声和背景扰动带来的影响,在HSV色度空间下检测阴影,得到准确的运动目标。噪声的影响,会使检测结果中出现一些本
2、身背景的区域像素点被检测成运动区域,也可能是运动目标内的部分区域被漏检。另外,背景的扰动,如树枝、树叶的轻微摇动,会使这部分也被误判断为运动目标,为了消除这些影响,首先对上一步的检测结果用形态学的方法进行处理,在找出经过形态学处理的后的连通域,计算每个连通域中的面积,对于面积小于一定值的区域,将其抛弃,不看做是前景运动目标。3 .2bwlabel函数用法:L=bwlabel(BW,n)L,num=bwlabel(BW,n),这里num返回的就是BW中连通区域的个数。返回一个和BW大小相同的L矩阵,包含了标记了BW中每个连通区域的类别标签,这些标签的值为1、2、num(连通区域的个数)。n的值为
3、4或8,表示是按4连通寻找区域,还是8连通寻找,默认为8。四连通或八连通是图像处理里的基本感念:8连通,是说一个像素,如果和其他像素在上、下、左、右、左上角、左下角、右上角或右下角连接着,则认为他们是联通的;4连通是指,如果像素的位置在其他像素相邻的上、下、左或右,则认为他们是连接着的,连通的,在左上角、左下角、右上角或右下角连接,则不认为他们连通。regionprops统计被标记的区域的面积分布,显示区域总数函数regionprops语法规贝为:STATS=regionprops(L,properties)该函数用来测量标注矩阵L中每一个标注区域的一系列属性。L中不同的正整数元素对应不同的区
4、域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。返回值STATS1一个长度为max(L(:)B结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。Properties可以是由逗号分割的字符串列表、包含字符串的单元数组、单个字符串'all'或者'basic'。如果properties等于字符串all',则表中的度量数据都将被计算;如果properties等于字符串'basic',则属性:Area','Centroid'和'BoundingBox将被计算。'A
5、rea'图像各个区域中像素总个数'BoundingBox'包含相应区域的最小矩形'Orientation'与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(度)三、设计内容理论依据3.1.1 应用背景与意义随着监控系统到位,以帮助人们甚至完成监控任务。可以减少人力和财力的投入,由于就业监视人员进行。另外,如果长时间不运动图像信息记录,保存几下,就失去了意义和视频监控系统的存储资源浪费存储空间。因此,传统的监视系统浪费了大量的人力,并有可能引起报警,性能差的实时监控的泄漏。监控等实时行为分析系统来识别人体,不仅可以替代监控人员的工作的一部分,提高监测系
6、统的自动化水平,同时也提高监视存储的效率,还有一个广泛的应用,并在视频监视系统的潜在经济价值之前。由于人的行为具有自由的伟大程度,因为身体宽松长裙不同程度和它的外貌和从图像捕获设备位置不同距离的表现风格将是一个很大的分歧,这是人的行为分析,找出了一定的难度。但是,人类行为的实时分析,智能监控系统,以确定关键技术及其广阔的前景药,安全性,虚拟现实,军事和潜在的经济价值,国内外研究机构和学者越来越多的关注,并在许多全球领先的刊物和会议专题讨论。美国和欧洲都进行了一些相关的研究项目。3.1.2 运动分割算法首先利用统计的方法得到背景模型,并实时地对背景模型进行更新以适应光线变化和场景本身的变化,用形
7、态学方法和检测连通域面积进行后处理,消除噪声和背景扰动带来的影响,在HSV色度空间下检测阴影,得到准确的运动目标。本次采用了基于累积差分和数学形态学处理的运动区域提取算法。在时域窗口内,首先对图象进行降级处理得到灰度带图象,对灰度带差分图象累积并进行数学形态学处理得到运动目标的轨迹模版,将轨迹模版与当前帧差分图象与运算得到当前帧运动目标象素,最后进行多级数学形态学处理得到当前帧运动区域。实验结果表明,该算法不仅能够对静止背景序列运动区域有较好的分割结果,而且在没有进行全局运动补偿的情况下,对部分运动背景序列也能成功的提取出运动区域。3.1.3 研究人体姿态的特征描述'BoundingB
8、ox'包含相应区域的最小矩形'Orientation'与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(度)方案设计根据设计要求确定视频监控中行人分割和人体姿态识别的方法,选择确定运动目标检测、行人人体姿态特征信息提取实现方法。画出流程图见附录2并对各部分功能进行说明。(1)判断是否为人体在目标提取之前,首先要对输入的图片进行检测。本文通过连通域的面积来检测判断目标是否为人体。(2)人体目标提取如果是人体导入背景图片与背景图片做差,再通过背景差阈值分割法进行提取。(4)行为识别在解决了以上的问题之后,接下来就是要选择一种合适的算法来进行人体姿态识别,这也是本文研究的
9、重点和难点。本文采用人体目标的连通区域的长宽比例和方向角的方法来对人体行为进行识别。程序设计根据设计要求确定视频中行人检测和人体姿态特征信息提取方法,进行程序设计,编写实现程序,使用matlab等软件3.3.1 图像分割中运动的运用(运动目标检测)运动目标检测首先利用统计的方法得到背景模型,并实时地对背景模型进行更新以适应光线变化和场景本身的变化,用形态学方法和检测连通域面积进行后处理,消除噪声和背景扰动带来的影响,在HSV色度空间下检测阴影,得到准确的运动目标。该段程序读取了视频从100帧到400帧的图像。先对导入视频采用近似中值滤波背景模型参考图像实现运动目标分割,然后创建边长为3的方形结
10、构元素,用于对分割结果形态学滤波。原视频、近似中值滤波后的视频以及采用形态学滤波后的视频如图3.3.1图3.3.1-1原视频、近似中值滤波后的视频以及采用形态学滤波后的结果videoObj=VideoReader('');本程序使用了VideoReader函数,该函数用于读取视频文件对象函数调用格式:obj=VideoReader(filename)obj=VideoReader(filename,Name,Value)其中obj为结构体,包括如下成员:Name-视频文件名Path-视频文件路径Duration-视频的总时长(秒)FrameRate-视频帧速(帧/秒)Numbe
11、rOfFrames-视频的总帧数Height-视频帧的高度Width-视频帧的宽度se=strel('square',3);本程序通过创建方形结构元素,用于对分割结果形态学滤波。pixInc=find(Idiff>0);fmed(pixInc)=fmed(pixInc)+beta;pixDec=find(Idiff<0);fmed(pixDec)=fmed(pixDec)-beta;背景差分法别名背景减法,背景差分法的原理是将当前的图像与背景图像进行差分来得到目标区域,这种方法能很好的识别和提取运动目标,是目前运动分割中最常用的一种方法。但是需要构建一幅背景图像,这
12、幅背景图像必须不含要检测的目标或其他不需要检测目标,并且应该能不断的更新来分辨当前背景的变化。运用阈值法原理进行分割,阈值法是比较简单的图像分割方法,是一种常常运用的并行区域的技术。阈值是用运在区分目标图片和背景图片的灰度门限。如果要检测的图像只有目标和背景两类,那么只需要选取一个阈值这种方法称为单阈值分割,这种方法是将图像中每个像素中的灰度值与阈值相对比,灰度值大于阈值的算一种,灰度值小于阈值的为另一种。如果图像中存在多个检测目标或无关目标,那么就选多个阈值将每个目标及背景区分开,这种方法称为多阈值分割阈值,由于本人只有一个目标则采用单阈值分割。fg2=imopen(fg,se);fg2=i
13、mclose(fg2,se);对分割结果进行形态学滤波先进行了开操作,再进行闭操作。开操作是一般使对象的轮廓变得光滑,断开狭窄的间断和消除细的突出物。闭操作可使轮廓线更光滑,但与开操作相反的是,闭操作通常消弥狭窄的间断和长细的鸿沟,消除小的空洞,并填补轮廓线中的断裂。3.3.2 用bwlabel函数对连通域进行标号,并得到最大连通域L,num=bwlabel(fg2,4);%寸连通域进行标记,num=6Bwlabel函数的用法:L=bwlabel(BW,n)L,num=bwlabel(BW,n),这里num返回的就是BW中连通区域的个数。返回一个和BW大小相同的L矩阵,包含了标记了BW中每个连
14、通区域的类别标签,这些标签的值为1、2、num(连通区域的个数)。n的值为4或8,表示是按4连通寻找区域,还是8连通寻找,默认为8。本程序使用的是4连通。四连通或八连通是图像处理里的基本感念:8连通,是说一个像素,如果和其他像素在上、下、左、右、左上角、左下角、右上角或右下角连接着,则认为他们是联通的;4连通是指,如果像素的位置在其他像素相邻的上、下、左或右,则认为他们是连接着的,连通的,在左上角、左下角、右上角或右下角连接,则不认为他们连通。all=;%求出6个连通域的像素个数d,ind=max(all);%得到面积最大的连通域本段bwlabel函数是对连通域进行标号,标完号后利用“Area
15、”属性的参数找到面积最大的连通域,这个连通域即为视频中的人。3.3.3 根据regionprops函数的boundingbox和orientation的阈值分别检测视频中人体的站姿和躺卧两种姿势or=;函数regionprops语法规为:STATS=regionprops(L,properties)该函数用来测量标注矩阵L中每一个标注区域的一系列属性。L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。返回值STATS1一个长度为max(L(:)用结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。Properties可以
16、是由逗号分割的字符串列表、包含字符串的单元数组、单个字符串all'或者'basic'。如果properties等于字符串all',则表中的度量数据都将被计算;如果properties等于字符串basic',则属性:Area','Centroid'和'BoundingBox'将被计算。bo=cat(1,;cat:用来联结数组用法:C=cat(dim,A,B)按dim来联结A和B两个数组。C=cat(dim,A1,A2,A3,)按dim联结所有输入的数组Boundingbox用来表示包含相应区域的最小矩形,它有四个参数
17、分别为x,y,width,height。根据regionprops函数的boundingbox和orientation的参数,我们可以获得每一帧的图像的长宽比和方向角的参数。然后跟据这些数据来判断人体站立和躺卧来设置长宽比和方向角的范围,通过多次比对与测试,我认为站立的方向角从8189,躺卧的方向角从-36,站立的长宽比从3躺卧的长宽比是比较合适的。if(or_m(n)>ori_low)&&(or_m(n)<ori_high)title(strcat('躺卧,NO.',int2str(n);elseif(or_m(n)>ors_low)&
18、;&(or_m(n)<ors_high)title(strcat('站立,NO.',int2str(n);elseiftitle(strcat('其他,NO.',int2str(n);endifratio(n)<bo_t1&&ratio(n)>bo_t2title(strcat('躺卧,NO.',int2str(n);elseifratio(n)>bo_z1&&ratio(n)<bo_z2title(strcat('站立,NO.',int2str(n);else
19、iftitle(strcat('其他,NO.',int2str(n);end本程序采用循环语句来判断图像每一帧的人体姿态,根据该帧图像的参数判断该参数处在哪一个的范围内,就可以在图像上方显示此时人体正处于的姿态,从而达到预期的效果,下面的图片就是采用统一的参考视频根据所编的程序进行人体检测后所得到的结果。在输出的图像中可以看到人体在站立时,视频的上方会出现“站立”的文字,如下图3.3.31所小图3.3.31对站立姿势的判断在躺卧时,视频的上方会出现“躺卧”的文字,如下图一2所示图一2对躺卧姿势的判断在不是站立和躺卧时,视频的上方会出现“其他”的文字,如下图一3所示与他nom耳他
20、,rgis7图3.3.33对其他姿势的的判断程序调试对编写的软件程序,以测试视频为例进行调试,根据结果,再使用另一个视频进行测试,并完善程序功能。新视频中检测人体站立姿态的检测结果,如图所示图对站立姿势的判断新视频中检测人体躺卧姿态的检测结果,如图所示图对躺卧姿势的判断新视频中检测人体其它姿态的检测结果,如图所示图对其他姿势的的判断通过比对,新视频的结果基本上达到了预期的效果,说明本次设计的程序可以实现对人体姿态的站姿与躺卧姿态的检测。结论与致谢本次课程设计是通过matlab编程以实现对视频中人体站姿与躺卧两种姿态的检测,它的应用在实际生活中有很大的意义与价值。通过这次课程设计,我摆脱了单纯的
21、理论知识状态,锻炼了我的综合运用专业知识的实际设计,提高我查阅文献资料的水平,也由课程设计,这给我写的论文的能力得到提高。尽管课程设计的过程很繁琐,内容复杂,但是它让我收获更加丰富。让我对于理解和使用MATLAB程序设计得到了提高和加深,通过和老师沟通,我也对自己的设计有新的要求和更深刻的了解。在设计过程中,程序始终困扰着我,尤其是bwlabel和regionprops这两个函数,因为在这个领域只是刚刚入门,也可以说是只懂一些简单的指令,为了做出满意的效果,我查阅了很多相关资料,并且根据程序内容进行许多次的改写与调试,除此之外还经常求教与老师帮忙解决问题,老师也很耐心的解决了我的问题,使我的设
22、计指导的问题得以解决。这让我意识到,不管在什么时候,我们都必须学会与他人沟通。正是这样的设计让我积累了大量的实践经验,相信脑海里的知识,让我在今后的工作中表现出较高的弹性和学习,更多的理解和沟通能力。在最后,我十分感谢指导老师的细心指导与讲解,让我有了巨大的进步。1罗万盈.基于单目视觉的人体运动姿态捕捉研究与实现D.北京交通大学,2015.2陈硕.基于视频序列的人体姿态检测与估计系统D.东南大学,2012.3杨丹,赵海滨,龙哲等.MATLAB图像处理实例详解M.清华大学出版社,2013.4Nehmer,J.,Becker,M.,Karshmer,A.,Lamm,R.Livingassistan
23、cesystems-anambientintelligenceapproachC5孔晓东.智能视频监控技术研究D.上海:上海交通大学,2008.6美Richard,模式分类M.北京:机械工业出版社,2003.7冈萨雷斯.数字图像处理(MATLAB)中文版M.北京:电子工业出版社,20078常好丽.运动行人检测与跟踪方法研究D.陕西:西北工业大学,2006.9章毓晋.图像分割M.北京:科学出版社,2001.10KentaroToyama,et,alWallflower:PrinciplesandPracticeofBackgroundMaintenance.InternationalConfer
24、enceonComputerVision,September1999,Corfu,Greece.附录1%ApproximateMedianFilterbackgroundmodelformovingobjectsegmentation.%采用近似中值滤波背景模型参考图像实现运动目标分割clearall;closeall;%Constructavideoreaderclasstoreadaavifile,firstthe'',%thenthe''.videoObj=VideoReader('');numFrames=;%Getthespeedoft
25、heAVImovieinframespersecond(fps)FPS=;%Readthefirstframeinthevideosequenceastheinitialvaluenewframe=read(videoObj,1);fmed=double(newframe);%Gettheheight,width,andnumberofcolorcomponentsoftheframeheight,width,numColor=size(newframe);%AssignavaluetothethresholdThreh=20;beta=;fg=false(height,width);ors_
26、low=82;ors_high=89;ori_high=6;ori_low=-3;bo_t1=;bo_t2=;bo_z1=;bo_z2=3;%创建方形结构元素,用于对分割结果形态学滤波se=strel('square',3);%Toavoidconsumingtoomuchmemories,readonlyaoneframeeachtime.forn=100:400newframe=read(videoObj,n);%CalculatethedifferrenceimagebetweenthenewframeandfmedIdiff=double(newframe)-fmed;
27、%UpdatethemedianofeachpixelvaluepixInc=find(Idiff>0);fmed(pixInc)=fmed(pixInc)+beta;pixDec=find(Idiff<0);fmed(pixDec)=fmed(pixDec)-beta;%Motionsegment,detectionmovingobjectbythreholdingIdifffg=abs(Idiff)>Threh;if(numColor=3)%colorimagefg=fg(:,:,1)|fg(:,:,2)|fg(:,:,3);end%对分割结果进行形态学滤波fg2=imopen(fg,se);fg2=imclose(fg2,se);figure(1);subplot(2,3,1),imshow(newframe);title(strcat('CurrentImage,No.',int2str(n);subplot(2,3,2),imshow(fg);title('SegmentedresultusingApproximateMedianFilter');subplot(2,3,3),imshow(fg2);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《子网掩码的计算》课件
- 第6单元 科技文化与社会生活(B卷·能力提升练)(解析版)
- 百货商店电器城保安工作总结
- 集装箱散货转化公路运输代理协议三篇
- 2023-2024年员工三级安全培训考试题附参考答案【典型题】
- 乘除法应用题课件
- 2023年-2024年企业主要负责人安全培训考试题附解析答案
- 教育资源整合研究报告
- 《督脉与腧穴》课件
- 云平台下的供应链协同-洞察分析
- 性格决定命运课件
- 球磨机安全检查表分析(SCL)+评价记录
- 学习会计基础工作规范课件
- 双面埋弧焊螺旋钢管公称外公壁厚和每米理论重量
- 富士施乐VC2265打印机使用说明SPO
- 医院工会经费使用与管理办法、制度规则
- 服务态度决定客户满意度试题含答案
- 中学历史教育中的德育状况调查问卷
- 教科版四年级科学上册全册复习教学设计及知识点整理
- 重庆万科渠道制度管理办法2022
- 上海黄金交易所贵金属交易员题库
评论
0/150
提交评论