视频序列中人体运动目标的检测与跟踪研究.docx

上传人:牧羊曲112 文档编号:1865073 上传时间:2022-12-22 格式:DOCX 页数:10 大小:188.68KB
返回 下载 相关 举报
视频序列中人体运动目标的检测与跟踪研究.docx_第1页
第1页 / 共10页
视频序列中人体运动目标的检测与跟踪研究.docx_第2页
第2页 / 共10页
视频序列中人体运动目标的检测与跟踪研究.docx_第3页
第3页 / 共10页
视频序列中人体运动目标的检测与跟踪研究.docx_第4页
第4页 / 共10页
视频序列中人体运动目标的检测与跟踪研究.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《视频序列中人体运动目标的检测与跟踪研究.docx》由会员分享,可在线阅读,更多相关《视频序列中人体运动目标的检测与跟踪研究.docx(10页珍藏版)》请在三一办公上搜索。

1、视频序列中人体运动目标的检测与跟踪研究信息学院 信研11 毕莎莎 612081002004摘要:本文提出的算法是在 Linux系统Fedora8、GCC编译器平台上进行设计的,通过实验验证了算法的可行性,并且我们提出的算法大大提高了运动目标检测和跟踪的准确度,减少了计算量,提高了系统的实时性。该系统算法分为三部分:首先利用图像帧差进行运动目标的提取;然后利用模式识别分析目标的特征,对目标进行分类;最后得到目标的形心,对人体目标进行匹配、跟踪并计数,实时给出越过计数线的人数。实验证明该算法简单可行,统计数据具有较高的正确率。关键词:帧间差分;运动检测;目标跟踪,计数; 1、绪论1.1 课题相关背

2、景目标的识别与跟踪是基于对一个图像序列的研究,从序列图像中检测到运动的目标,并且对目标运动的规律加以预测,实现对指定的目标进行准确且连续的跟踪。其目的是通过计算机视觉从复杂的变化的背景环境中准确识别出所需的运动目标,提取稳定的目标特征,并对目标的位置和姿态等信息进行快速实时的跟踪。随着计算机处理能力的显著提高,该技术在众多领域都有越来越广泛的应用。1.2 项目简介本项目利用图像处理和模式识别的方法研究并设计了基于视频的客流量统计系统。本文提出的算法是在 Linux系统Fedora8、GCC编译器平台,利用海康威视的采集卡及摄像头进行设计的,通过实验验证了算法的可行性,并且我们提出的算法大大提高

3、了运动目标检测和跟踪的准确度,减少了计算量,提高了系统的实时性。2、相关知识介绍2.1 Fedora8系统本项目之所以选择Fedora8系统主要是因为:fedora8的系统内核和海康威视采集卡DS4008HS驱动要求的内核相匹配;另外此项目运行时,要长期处在工作的状态,需要比较稳定的操作系统。而Linux系统Fedora8比较稳定;可移植性较好;具有安全性的服务器,很少会感染病毒,所以本项目选择了此操作系统。2.2 C语言介绍C语言的特点:1)语言表达能力强。2)语言简洁、紧凑,使用灵活,易于学习和使用。3)数据类型丰富,具有很强的结构化控制语句。4)语言生成的代码质量高。5)语法限制不严格,

4、程序设计自由度大。6)可移植性好。用C语言编写的程序基本上不作修改就能用于各种型号的计算机和各种操作系统。2.3 海康威视采集卡海康DS4008HS:开发支持:1、提供完整的SDK开发包、DEMO演示软件及其源程序,SDK与H卡兼容SDK包含了板卡开发软件、播放器开发软件、网络开发软件、MediaPlayer控件。SDK开发包提供的函数有很多,在本项目中用到的有:InitDSPs();初始化DSPChannelOpen();通道打开,本项目使用的是第4通道ChannelClose();通道关闭RegisterImageStreamCallback();注册数据void ImageStreamC

5、allback(unsigned int channelNumber, void* context) 中断函数,每40ms调用一次,即每秒调用25次2、支持Windows 2000/XP/2003,Linux操作系统。3、系统设计3.1系统设计思想本系统选用海康威视的采集卡,摄像头,在装有Fedora8系统的计算机上进行开发。在终端中使用命令对程序进行编译和调试。当程序运行时,可以在界面观察到摄像头所录入的视频,及在我们所添加的窗口中看到相关的处理信息。3.2系统需求分析1)首先对界面进行修改与设计,方便显示跟踪及计数的信息2)可以准确跟踪到某一运动物体。3)对经过某一区域的人进行计数。4)可

6、适用于超市,或大卖场等的入口及出口处,对客流量进行统计3.3系统功能模块整个系统设定的主要功能模块有:图像预处理,人体跟踪模块,计数模块图像预处理:膨胀、腐蚀、滤波 等人体跟踪:跟踪到人体的运动坐标及轨迹 计数:对进入某一区域的人进行计数视频序列输入运动分割图像预处理运动目标转换运动人体跟踪计数3-1系统流程图3.4界面的设计 GTK是用于实现图形用户接口的函数库。一般情况下,如果要创建普通的图形接口应用程序,使用GTK就可以了。GTK+和Gnome构件库提供了极为丰富的构件,足以构造非常复杂的用户界面。但是,如果需要开发新构件,或者要创建绘图程序,仅使用GTK就不够了。这时可以采用Xlib

7、,更好的方法是使用GDK库,它可以应付绝大多数的编程需要。初始界面的显示:图3-2 初始界面当按下preview按钮时,显示如下:图3-3 Preview 图像4、运动物体的检测4.1 帧间差分法原理在众多基于运动图像序列检测的算法之中,帧间差分法是依据相邻两帧图像间的强相关性而提出的检测算法。所谓帧间差分法,是指将相邻两帧图像中的相应像素点的灰度值进行相减,若其差值较小,可以认为该点无运动目标;相反,若灰度差值较大,则认为有运动目标。4.2帧间差分法实现YUV 4:2:0 的格式:下面八个像素为:Y0 U0 V0 Y1 U1 V1 Y2 U2 V2 Y3 U3 V3Y5 U5 V5 Y6 U

8、6 V6 Y7 U7 V7 Y8 U8 V8 存放的码流为:Y0 U0 Y1 Y2 U2 Y3Y5 V5 Y6 Y7 V7 Y8 映射出的像素点为:Y0 U0 V5 Y1 U0 V5 Y2 U2 V7 Y3 U2 V7 Y5 U0 V5 Y6 U0 V5 Y7 U2 V7 Y8 U2 V7 即四个像素点共用同一个U,V,依次类推下去,而在imageBuf中的存放方式为:YYYYYYYY352*288 UUUU176*144VVVV176*144。隔帧图像对应像素点取帧差:本设计中使用的检测运动物体的方法是帧差法:即两帧图像对应像素点的Y,U,V的值相减,若满足 abs(Y1-Y2)60|abs

9、(U1-U2)50|abs(V1-V2)50的话,则把此点置黑。把所有的黑点找出来则可以检测到运动物体的轮廓。阈值的设定可以根据实际情况来规定,根据现场的情况进行调试。当阈值比较小时,检测到被跟踪物体的像素点比较多,而干扰点,噪声点也会比较多;反之,检测到轮廓的像素点则比较少,会对结果造成影响。而当人停止在某一处时,若噪声干扰很少的话,则认为屏幕是白色。当按下界面上的trace按钮,即trace=1时,显示帧差: 图4-1 帧差图像5、图像预处理膨胀和腐蚀这两种操作是形态学处理的基础,许多形态学算法都是以这两种运算为基础的。5.1膨胀膨胀是以得到B的相对与它自身原点的映像并且由z对映像进行移位

10、为基础的。A被B膨胀是所有位移z的集合,这样, 和A至少有一个元素是重叠的。我们可以把上式改写为:结构元素B可以看作一个卷积模板,区别在于膨胀是以集合运算为基础的,卷积是以算术运算为基础的,但两者的处理过程是相似的。 用3*3的结构元素B,扫描图像A的每一个像素; 用结构元素与其覆盖的二值图像做“与”操作; 如果都为0,结果图像的该像素为0,否则为1,使二值图像扩大一圈。5.2腐蚀腐蚀是对Z中的集合A和B,B对A进行腐蚀的整个过程如下: 用3*3的结构元素B,扫描图像A的每一个像素; 用结构元素与其覆盖的二值图像做“与”操作; 如果都为1,结果图像的该像素为1,否则为0;腐蚀处理的结果是使原来

11、的二值图像减小一圈。5.3结果分析先腐蚀后膨胀的过程:利用它可以消除小物体,在纤细点处分离物体,平滑较大物体边界,但同时并不会明显改变原来物体的面积。而先膨胀后腐蚀的过程:利用它可以填充物体内细小空洞,连接临近物体、平滑其边界,但平时并不会明显改变原来物体的面积。通常由于噪声的影响,图像在阈值化后所得到的边界通常都很不平滑,物体区域具有一些噪声孔,而背景区域上散布着一些小的噪声物体,连续的开和闭运算可以有效地改善这种情况,而有时,我们需要经过多次腐蚀之后再加上相同次数的膨胀,才能产生比较好的处理效果。可见图像腐蚀与图像膨胀相结合有时可使图像有较理想的处理效果。6、运动人体的跟踪算法6.1跟踪算

12、法1(1)寻找有效点在检测到运动目标后,用一个10*10的方格对所得到的帧差的像素点进行循环,若有一个黑点出现在此方格内,则停止循环,把此方格置黑,并把方格的最左上角的点存放到一个数组p1200里,并把此点的标记设为1,即用一个点来代表整个方格,以便接下来寻找连通域。(2)寻找连通域从存放有效点的数组p中取一个标记为1的点,把它放到zone1k3p1k3中,然后把此点与数组p中的各个点进行比较,看是否有与这个点的x,y坐标相差小于等于11的点,若存在的话,则也把这些点也放在zone1k3p1k3内,并把标记改为0。就这样依次循环,可寻找到帧差图像所有的连通域,最后可得到若干个连通域。则可以把每

13、一个大于5个点的连通域当做一个运动的人,其他的当做噪声点处理。(3)画圆并把内部涂黑找到连通域之后,寻找此连通域内的最左minxx,最右maxx,最上miny,及最下maxy的第一个出现黑点的坐标,可以近似找到此区域的中心,然后以此中心点为圆心,半径为25来画圆(半径大小根据实际情况来定,但圆要覆盖住人的帧差),并把此圆内的部分涂黑。这样就可以把检测到的帧差转换成一个黑色的圆。当人运动时,此圆也会相应的运动。当trace=0时显示imgbuf4内的内容,即根据连通域内的点画的圆图6-1一人两个人并排行走的时候则会建立两个结点,可以跟踪到两个圆: 图6-2 两人并排行走(4)帧之间圆的匹配跟踪在

14、要进行计数时,要先在距边界大概50-100个像素的位置建立结点,然后在两帧之间匹配结点圆的圆心坐标,若两圆心坐标的距离小于30时,则可认为现在的圆就是之前的圆在此刻的状态,则更新结点信息,然后依次更新,到240时,删掉这个结点,然后对IN进行计数。反之亦然,在190-240之间建立结点,跟踪到50时,删除结点,并对OUT进行计数。这样可以准确地对一段时间内进出某一区域的人进行计数。而跟踪算法除了用于计数,还可以根据不同时刻的坐标值,来分析运动人体的轨迹。6.2 跟踪算法2(1)首先创建结点首先设定两个创建结点的区域,50-100和190-240,若在此区域内出现有效点,则对这些点进行求连通域,

15、方法如5.1 (2),若连通域内的点大于10,则求连通域的边界,确定连通域的中心画圆,创建结点。若连通域的点数大于30的话,认为创建区不止有一个人,则对此大的连通域进行划分。方法如下:求出连通域的宽度dx ,把一个人的标准宽度设为40,则用dx/40可得到n个人,dx%40可得到取整之后的余数,对这个余数进行判断,若dx%40大于25的话,n+1;否则就为n。然后分别求出各个人的中心,画圆,创建结点。(2)进行跟踪建立了各自的结点后,要对各个结点进行跟踪,方法如下:1)在下一帧时,各个结点首先在半径为30的圆内进行寻找自己的点,把找到的点标记为0,存放在数组nodei里,然后向前移动结点中心,

16、还是在半径为30的圆内寻找标记为1,即还没被找到过的点,找到之后也存在刚刚的数组中,再次移动中心坐标找点,循环四次,中心y坐标每次移动5个像素点,最后把有找到的点都放在nodei 里。2)求这些点构成的区域的上、下、左、右四个边界;3)求得边界之后,判断这个区域的高度之差是不是大于一个人的高度,若(nodei.maxy-nodei.miny)40 &nodei.in_or_out=1(进)时,则把nodei.maxy-50,把这高度为50的点赋给此结点,计算结点的中心,把之前的结点中心更新为此中心,最后把剩下的点的标志位再置为1。当方向标志nodei.in_or_out=0时方法类似。(3)跟

17、踪计数在50-100的创建区域创建的点nodei且nodei.in_or_out为1,对其进行更新信息,而当结点的中心y坐标大于240的时候,则对计数num1进行加1。在190-240的创建区域创建的点nodei且nodei.in_or_out为0,对结点进行跟踪,不断对其进行更新结点信息,而当结点的中心y坐标小于50的时候,则对计数num0进行加1。6.3 两种算法的比较第一种算法仅适用于单个人和多个人并排行走,前后挨的比较近或者品字形等多种情形下并不能进行正常跟踪和计数。第二种算法:在第一种的基础上加以改进,首先对落在创建区域的点进行寻找连通域,创建结点;之后跟踪的时候就是各个结点寻找自己

18、附近的点,如果寻找到的点过多,再把一部分的标志位改为1。这种算法理论上适用任何一种走法,一个人、多个人、品字形,前后挨的很近等。所以第二种算法的适用性比较广泛,实验结果也比较准确。最后我们选用的跟踪算法2来分析运动人体的运动轨迹和用于接下来的计数模块。7、 系统测试7.1系统测试的含义在精心控制的系统环境下,采用相应的技术手段,利用一组事先构好达到测试事例执行程序以发现程序中存在的问题,并确认系统功能,性能符合需求的一个综合过程。7.2 测试方案首先是一个人在规定的区域行走,观察跟踪和计数的结果,看是否与实际情况满足一致,如果有差别或有干扰,要进行分块测试,把每一个模块进行测试后,找出出现问题

19、的模块,进行修改。若满足实际情况,则可以使两个人或多个人一起行走,观察现象,进行分析。7.3 测试报告把测试到的结果列在一个表格内,分析跟踪到的运动目标的运动轨迹及对计数的影响。单个人行走时,对运动人体的跟踪情况:表7-1跟踪轨迹时间XYR第10帧20502520帧22952530帧201402540帧181852550帧252402560帧2127525通过此图可以分析:此人行走基本上是沿直线行走的,因为X坐标在20左右变化,而Y在近似等差的进行增加,半径则不变。表7-2计数结果时间方向真实值测量值误差误差率第一分钟进5500出5500总和101000第二分钟进6600出5500总和1111

20、00第三分钟进7700出109110%总和171616%总计进181800出201915%总和383712.6%7.4小结本系统已通过几个不同场所的测试,实验说明本系统可以满足实际需求。总体来说:计数还是比较准确的,但由于系统的稳定性不是非常的好,并且在受一些噪音等外界因素的干扰时,偶尔会进行多记或少计,但是从设计理论来讲,帧检测、跟踪算法等都是可行的。在一些方面系统也有待改进,主要有以下因素影响客流量统计结果:首先图像分割是影响系统性能的一个很大因素,也是当前图像处理方面的难题之一;在实际环境中,光线问题、运动阴影的出现会给分割带来很大的困难,所以在这些方面还需要再加以改进和完善。参考文献1

21、.李刚,黎燕;基于数学形态学的二值图像的边缘检测J;电子产品可靠性与环境试验;2004年06期2.朱群英;基于视频图像处理的桥墩防撞研究D;武汉理工大学;2006年3.侯志强, 韩崇昭. 视觉跟踪技术综述. 自动化学报, 32(4): 603-617, 2006.4.郑世友;动态场景图像序列中运动目标检测与跟踪D;东南大学;2006年5.蔡征;黄瑞光;运动图像序列的多目标跟踪技术及实现J;计算机与数字工程;2006年09期6.刘忠辉;基于数字图像处理的人脸检测算法研究D;长春理工大学;2007年7.高赟;图像灰度增强算法的研究D;西安电子科技大学;2007年8.于哲舟;视频流图像内容检索与运动

22、目标检测研究D;吉林大学;2007年9.顾德军,伍铁军;一种基于人头特征的人数统计方法研究-机械制造与自动化 2010.39(4)10.马颂德,张正友.计算机视觉.北京:科学出版社,2003.11.孟凤.视频监控系统中运动目标检测与跟踪算法的研究(硕士学位论文).燕山大学,200712.石华伟.人体运动的跟踪与识别D,中南大学硕士论文,2007.13.代凯乾,刘肖琳.基于图像序列的人体跟踪J,计算机仿真,2007,24(7).14.王建宇,陈熙霖. 背景变化鲁棒的自适应视觉跟踪目标模型J.软件学报,2006, 17(5):1001 1008.15.章毓晋,图像处理和分析,清华大学出版社, 20

23、01.16.张星明,“视频图像捕捉及运动检测技术的实现”,计算机工程, Vo.l 28.No. 8. 2002. 8.17.潘金辉,“视频序列中运动目标的自动提取”,清华大学学报, 2001. 518.Yuan Chen1, Shengsheng Yu1, Jun Fan1, Wenxin Chen2, Hongxing Li3:An Improved Color-Based Particle Filter for Object Tracking.978-0-7695-3334-6/08 2008 IEEE DOI 10.1109/WGEC.2008.11019.Kim Z. W. Real

24、time object tracking based on dynamic feature grouping with background subtraction A. Proceeding of IEEE Conference on Computer Vision and Pattern RecognitionC. Anchorge,AK,USA,2008;1-820.Wilson K. R,Pearson P.M.H.E. Matheson and J.J.Marotta,Temporal integration limits of stereovision in reaching an

25、d graspingJ.Experimental Brain Research,2008,189(1).21.A. Yilmaz, O. Javed,M. Shah. Object Tracking: A Survey. ACM Journal of Computing Surveys, Vol. 38, No. 4, Dec. 200622.Hieu T. Nguyen and Arnold W.M. Smeulders, Member, IEEE.Fast Occluded Object Tracking by a Robust Appearance Filter.IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 26, NO. 8, AUGUST 2004

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号