基于MATLAB的人体姿态的检测课程设计(共16页).doc

上传人:飞****2 文档编号:14416958 上传时间:2022-05-04 格式:DOC 页数:16 大小:1.94MB
返回 下载 相关 举报
基于MATLAB的人体姿态的检测课程设计(共16页).doc_第1页
第1页 / 共16页
基于MATLAB的人体姿态的检测课程设计(共16页).doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《基于MATLAB的人体姿态的检测课程设计(共16页).doc》由会员分享,可在线阅读,更多相关《基于MATLAB的人体姿态的检测课程设计(共16页).doc(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上基于视频的人体姿态检测一、 设计目的和要求1.根据已知要求分析视频监控中行人站立和躺卧姿态检测的处理流程,确定视频监中行人的检测设计的方法,画出流程图,编写实现程序,并进行调试,录制实验视频,验证检测方法的有效性,完成系统软件设计。2.基本教学要求:每人一台计算机,计算安装matlab、visio等软件。二、 设计原理2.1图像分割中运动的运用(运动目标检测)首先利用统计的方法得到背景模型,并实时地对背景模型进行更新以适应光线变化和场景本身的变化,用方法和检测连通域面积进行后处理,消除噪声和背景扰动带来的影响,在HSV色度空间下检测阴影,得到准确的运动目标。噪声的影响

2、,会使检测结果中出现一些本身背景的区域像素点被检测成运动区域,也可能是运动目标内的部分区域被漏检。另外,背景的扰动,如树枝、树叶的轻微摇动,会使这部分也被误判断为运动目标,为了消除这些影响,首先对上一步的检测结果用的方法进行处理,在找出经过形态学处理的后的连通域,计算每个连通域中的面积,对于面积小于一定值的区域,将其抛弃,不看做是前景运动目标。2.2 bwlabel函数用法:L = bwlabel(BW,n)L,num = bwlabel(BW,n),这里num返回的就是BW中连通区域的个数。返回一个和BW大小相同的L矩阵,包含了标记了BW中每个连通区域的类别标签,这些标签的值为1、2、num

3、(连通区域的个数)。n的值为4或8,表示是按4连通寻找区域,还是8连通寻找,默认为8。四连通或八连通是图像处理里的基本感念:8连通,是说一个像素,如果和其他像素在上、下、左、右、左上角、左下角、右上角或右下角连接着,则认为他们是联通的;4连通是指,如果像素的位置在其他像素相邻的上、下、左或右,则认为他们是连接着的,连通的,在左上角、左下角、右上角或右下角连接,则不认为他们连通。2.3 regionprops统计被标记的区域的面积分布,显示区域总数函数regionprops语法规则为:STATS = regionprops(L,properties)该函数用来测量标注矩阵L中每一个标注区域的一系

4、列属性。L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。返回值STATS是一个 长度为max(L(:)的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。Properties可以是由逗号分割的字符串列表、包含字符 串的单元数组、单个字符串all或者basic。如果properties等于字符串all,则表4.1中的度量数据都将被计算;如果properties等于字符串basic,则属性:Area,Centroid和BoundingBox将被计算。Area图像各个区域中像素总个数BoundingBox 包含相应区域的最

5、小矩形Orientation 与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(度)三、 设计内容3.1理论依据3.1.1应用背景与意义随着监控系统到位,以帮助人们甚至完成监控任务。可以减少人力和财力的投入,由于就业监视人员进行。另外,如果长时间不运动图像信息记录,保存几下,就失去了意义和视频监控系统的存储资源浪费存储空间。因此,传统的监视系统浪费了大量的人力,并有可能引起报警,性能差的实时监控的泄漏。监控等实时行为分析系统来识别人体,不仅可以替代监控人员的工作的一部分,提高监测系统的自动化水平,同时也提高监视存储的效率,还有一个广泛的应用,并在视频监视系统的潜在经济价值之前。由于人的行为

6、具有自由的伟大程度,因为身体宽松长裙不同程度和它的外貌和从图像捕获设备位置不同距离的表现风格将是一个很大的分歧,这是人的行为分析,找出了一定的难度。但是,人类行为的实时分析,智能监控系统,以确定关键技术及其广阔的前景药,安全性,虚拟现实,军事和潜在的经济价值,国内外研究机构和学者越来越多的关注,并在许多全球领先的刊物和会议专题讨论。美国和欧洲都进行了一些相关的研究项目。3.1.2运动分割算法首先利用统计的方法得到背景模型,并实时地对背景模型进行更新以适应光线变化和场景本身的变化,用方法和检测连通域面积进行后处理,消除噪声和背景扰动带来的影响,在HSV色度空间下检测阴影,得到准确的运动目标。本次

7、采用了基于累积差分和数学形态学处理的运动区域提取算法。在时域窗口内,首先对图象进行降级处理得到灰度带图象,对灰度带差分图象累积并进行数学形态学处理得到运动目标的轨迹模版,将轨迹模版与当前帧差分图象与运算得到当前帧运动目标象素,最后进行多级数学形态学处理得到当前帧运动区域。实验结果表明,该算法不仅能够对静止背景序列运动区域有较好的分割结果,而且在没有进行全局运动补偿的情况下,对部分运动背景序列也能成功的提取出运动区域。3.1.3研究人体姿态的特征描述BoundingBox 包含相应区域的最小矩形Orientation 与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(度)3.2方案设计根据设

8、计要求确定视频监控中行人分割和人体姿态识别的方法,选择确定运动目标检测、行人人体姿态特征信息提取实现方法。画出流程图见附录2并对各部分功能进行说明。(1)判断是否为人体 在目标提取之前,首先要对输入的图片进行检测。本文通过连通域的面积来检测判断目标是否为人体。 (2)人体目标提取 如果是人体导入背景图片与背景图片做差,再通过背景差阈值分割法进行提取。 (4)行为识别 在解决了以上的问题之后,接下来就是要选择一种合适的算法来进行人体姿态识别,这也是本文研究的重点和难点。本文采用人体目标的连通区域的长宽比例和方向角的方法来对人体行为进行识别。3.3程序设计根据设计要求确定视频中行人检测和人体姿态特

9、征信息提取方法,进行程序设计,编写实现程序,使用matlab等软件。3.3.1图像分割中运动的运用(运动目标检测)运动目标检测首先利用统计的方法得到背景模型,并实时地对背景模型进行更新以适应光线变化和场景本身的变化,用方法和检测连通域面积进行后处理,消除噪声和背景扰动带来的影响,在HSV色度空间下检测阴影,得到准确的运动目标。该段程序读取了视频从100帧到400帧的图像。先对导入视频采用近似中值滤波背景模型参考图像实现运动目标分割,然后创建边长为3的方形结构元素,用于对分割结果形态学滤波。原视频、近似中值滤波后的视频以及采用形态学滤波后的视频如图3.3.11所示图3.3.11原视频、近似中值滤

10、波后的视频以及采用形态学滤波后的结果videoObj = VideoReader(gyz.avi);本程序使用了VideoReader函数, 该函数用于读取视频文件对象。函数调用格式:obj = VideoReader(filename)obj = VideoReader(filename,Name,Value)其中obj为结构体,包括如下成员:Name - 视频文件名Path - 视频文件路径Duration - 视频的总时长(秒)FrameRate - 视频帧速(帧/秒)NumberOfFrames - 视频的总帧数Height - 视频帧的高度Width - 视频帧的宽度se = str

11、el(square,3);本程序通过创建方形结构元素,用于对分割结果形态学滤波。pixInc = find(Idiff 0); fmed(pixInc) = fmed(pixInc) + beta; pixDec = find(Idiff ori_low)&(or_m(n)ors_low)&(or_m(n)ors_high) title(strcat(站立,NO. , int2str(n); elseif title(strcat(其他,NO. , int2str(n); end if ratio(n)bo_t2 title(strcat(躺卧,NO. , int2str(n); elseif

12、 ratio(n)bo_z1&ratio(n) 0); fmed(pixInc) = fmed(pixInc) + beta; pixDec = find(Idiff Threh; if ( numColor = 3) % color image fg = 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(Current Im

13、age, No. , int2str(n); subplot(2,3,2), imshow(fg); title(Segmented result using Approximate Median Filter); subplot(2,3,3), imshow(fg2); title(Segmented result using morphological filter); pause(0.01) L,num=bwlabel(fg2,4);%对连通域进行标记,num=6 img_reg = regionprops(L, Area, Orientation, boundingbox); %测量标

14、注矩阵 L中每一个标注区域的area、orientation、boundingbox属性。 all = img_reg.Area;%求出6个连通域的像素个数 d,ind=max(all);%得到面积最大的连通域 or = img_reg.Orientation; or_m(n)=or(ind);%得到视频每一帧的最大连通域的方向角 %对每一帧图像的方向角进行判断姿态 subplot(2,3,4), imshow(newframe); if (or_m(n)ori_low)&(or_m(n)ors_low)&(or_m(n)ors_high) title(strcat(站立,NO. , int2

15、str(n); elseif title(strcat(其他,NO. , int2str(n); end bo = cat(1,img_reg.BoundingBox); ratio(n)= bo(ind,4)/bo(ind,3); %对每一帧图像的长宽比进行判断姿态 subplot(2,3,5), imshow(newframe); if ratio(n)bo_t2 title(strcat(躺卧,NO. , int2str(n); elseif ratio(n)bo_z1&ratio(n)bo_z2 title(strcat(站立,NO. , int2str(n); elseif title(strcat(其他,NO. , int2str(n); end end附录2输出视频输入视频找到最大连通域判断反向角和长宽比检测人体的躺卧和站立专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com