ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:692.57KB ,
资源ID:938442      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-938442.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(监控视频中道路车流量检测系统设计.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

监控视频中道路车流量检测系统设计.docx

1、监控视频中道路车流量检测系统设计山东建筑大学课 程 设 计 说 明 书题 目: 监控视频中道路车流量检测系统设计课 程: 数字图像处理课程设计院 (部): 信息与电气工程学院专 业: 电子信息工程班 级: 电信学生姓名: 学 号: 指导教师: 完成日期: 2013年6月目 录摘要1 设计目的12 设计要求 13 设计内容23.1运动车辆检测算法比较 23.2形态学滤波53.3车辆检测63.4车辆计数93.5软件设计9总结与致谢10参考文献11附录12摘 要获得实时的交通信息是当前各种检测方式的前提,但是现有的信息采集方式并不能满足交通管理与控制的需求。随着计算机技术的快速发展,基于视频的检测技

2、术在交通中得到了广泛的应用,同其它检测方式相比,它具有检测范围大、设置灵活、安装维护方便、检测参数多等优点。基于图像处理的视频检测方式近年来发展很快,已成为当今智能交通系统的一个研究热点。本论文对视频交通流运动车辆检测的内容进行了深入地研究。结合视频图像详细的介绍了视频检测中的背景更新、阴影去除、车辆分割等关键技术和算法,介绍了视频检测的方法。最后在MATLAB的平台上进行了系统实现设计。实验结果表明,该算法具有一定的可行性,能够快速的将目标参数检测出来关键词:MATLAB;帧间差法;车辆检测1 设计目的随着经济的发展,人民生活水平的提高,汽车保有量大幅增加,怎样安全高效地对交通进行管理,就显

3、得非常重要.解决这一问题的关键是建立智能交通系统(ITS),其中车辆检测系统是智能交通系统的基础.它为智能控制提供重要的数据来源作为ITS的基础部分,车辆检测系统在ITS中占有很重要的地位,目前基于视频的检测法是最有前途的一种方法,它是通过图像数字的方法获得交通流量信息,主要有以下优点:(1)能够提供高质量的图像信息,能高效、准确、安全可靠地完成道路交通的监视和控制工作.(2)安装视频摄像机破坏性低、方便、经济.现在我国许多城市已经安装了视频摄像机,用于交通监视和控制.(3)由计算机视觉得到的交通信息便于联网工作,有利于实现道路交通网的监视和控制.(4)随着计算机技术和图像处理技术的发展,满足

4、了系统实时性、安全性和可靠性的要求2 设计要求通过对视频流中的车辆进行检测和跟踪,准确地统计每个车道流量、平均车速、平均车道占有率、车队长度、平均车间距等信息为交通规划,交通疏导和车辆动态导航领域提供一系列指导。设计车辆检测与识别方法和车流量统计方法,实现监控视频中道路车流量检测。通过实验验证检测精度。3 设计内容3.1运动车辆检测算法比较目前,大多数的运动目标检测的方法或是基于图像序列中时间信息的,或是基于图像序列中空间信息的。常见的方法有如下3种:(1)光流法当目标运动时,图像上对应目标的亮度信息(光流)也相应的运动。这样,根据时间上相邻的几帧图像可以计算出各像素点运动的大小和方向,从而利

5、用运动场来区分背景和运动目标。其主要优点在于能检测出独立的运动目标,而不需预知场景的任何信息,对变化的复杂背景情况有较好的适应。但其缺点也很明显,由于要依赖光流估计的准确程度,大多数计算方法相当复杂并且计算量特别大,所以除非有特殊的硬件支持,否则很难实现实时检测。(2)背景减法将实时视频流中的图像像素点灰度值与事先已存储或实时得到的视频背景模型中的相应值比较,不符合要求的像素点被认为是运动像素。这是视频监控中最常用的运动检测方法。这种方法虽然能较完整的提取运动目标,但对光照和外部条件造成的环境变化过于敏感,常常会将运动目标的阴影错误的检测为其自身的一部分。同时由于时间流逝,实际场景的多种因素都

6、会发生变化,比如停留物的出现、光线等的变化、运动目标对背景的遮挡等等,背景需要得到实时地更新,这是影响其检测效果的一个重要因素。背景差分算法的实质是:实时输入的场景图像与背景图像进行差分,可以较准确的分割出运动目标。但是背景差分算法也有其天然的缺陷,随着时间的推移,场景的光线、树叶的遮挡、或者运动物体滞留都会很大程度的破坏已经建立好的背景图像。为了解决这些问题,最好的方法便是使用背景建模和背景更新算法来弥补。前面已经讨论过相关问题,因此,本文假设背景处于理想情况下进行背景差分算法的研究。 基于背景减法的MATLAB仿真,如图 Surendra算法计算出背景图像,左图为原始输入图像,中图为背景图

7、像,右图为背景差分法得出的二值化图像。实验结果表明:背景差分算法也可以有效地检测出运动目标。由于背景建模算法的引入,使得背景对噪声有一定的抑制作用,在差分图像中“雪花”较帧间差分算法有所减少。同时,使用背景差分算法检测出的运动物体轮廓,比帧间差分法的检测结果更清晰。因此,在背景建模与背景更新处于比较理想的状态下,背景差分算法得到的结果略好于帧间差分的结果。(3)帧间差法帧间差法是根据当前图像与参考图像的差别来获得运动目标轮廓的方法。这种方法对于场景中的光线渐变不敏感,适于动态变化的环境,且运算量相对较小。但一般不能完整的提取运动目标,且在运动实体内易产生空洞现象,从而不利于下一步的分析和处理。

8、 2.2.1帧间差法运动目标检测基于帧间差分的运动检测即帧差法,它根据相邻帧或隔帧图像间亮度变化的大小来检测运动目标,选取T=20,仿真结果如下图:由上面的仿真实验可以得出:运用帧间差分方法进行运动目标的检测,可以有效的检测出运动物体。右子图中,可以比较清晰地得到运动物体的轮廓。但是,这种算法虽然可以使背景像素不随时间积累,迅速更新,因此这种算法有比较强的适应场景变化能力。但是帧差法表示的是相邻两帧同位置的变化量,因此很有可能将比较大的运动目标,或者运动目标内部颜色差异不大的像素判断错误,在实体内部产生拉伸、空洞现象。而且当前景运动很慢且时间间隔选择不合适时,容易出现根本检测不到物体的情况。在

9、差分图像中,有很多“雪花”般的噪声,这些是由于图像局部的干扰造成的。使用帧间差分法,需要考虑如何选择合理的时间间隔,这一般取决于运动目标的速度。对于快速运动的目标,需要选择较短的时间间隔,如果选择不当,最坏情况下目标在前后两帧中没有重叠,被检测为两个分开的目标;对于慢速运动的目标,应该选择较长的时间间隔,如果选择不当,最坏情况下目标在前后两帧中几乎完全重叠,根本检测不到目标。此外,在场景中由于多个运动目标的速度不一致也给时间间隔的选取带来很大麻烦。3.2形态学滤波由于刮风、气流等原因,背景中部分物体小幅度晃动;光线的变化等不确定因素,会使得视频图像产生大量噪声,当差值图像二值化后,仍然有很多无

10、用的噪声斑点,因此,需要采用数学形态学方法,对分割后的二值图像进行形态学滤波。数学形态学的主要用途是获取物体拓扑和结构信息。它通过物体和机构元素相互作用的某些运算,得到物体更本质的形态。其基本思想是:利用一个成为结构元素的“探针”收集图像信息。这种基于探测的思想与人的视觉特点有类似之处:总是关注一些感兴趣的物体或者结构,并有意识地寻找图像中的这些结构。数字形态学在本文所涉及到的图像处理中,主要作用包括利用形态学的基本运算,对图像进行观察和处理,从而达到改善图像质量的目的。形态学的基本运算包括:腐蚀(Erosion)、膨胀(Dilation)、开(Opening)和闭(Closing)运算。用这

11、些算子及其组合来进行图像形状和结构的分析及处理,包括图像分割、特征提取、边界检测、图像滤波、图像增强与恢复等方面的工作。形态学一般以二值图像为处理对象,但也可以用在某些灰度图像的应用中。(1)结构元素结构元素被形象的称为刷子或探针,是膨胀和腐蚀操作中最基本的组成部分。它用于测试输入图像,通常比待处理图像小得多。本文使用33的结构元素,经开运算处理后,可提取出移动物体。二维结构元素由一个数值为0或1矩阵组成。结构元素的原点指定了图像中需要处理的像素范围,结构元素数值为1的点决定结构元素的领域像素在腐蚀或膨胀操作是需要参与计算。(2)腐蚀和膨胀腐蚀和膨胀是许多形态学算法的基础。腐蚀操作会去掉物体的

12、边缘点,细小物体所有的点都会被认为是边缘点,因此会整个被删去。再做膨胀时,留下来的大物体会变回原来的大小,而被删除的小物体则永远消失了。膨胀操作会使物体的边界向外扩张,如果物体内部存在小空洞的话,经过膨胀操作这些洞将被补上,因而不再是边界了。再进行腐蚀操作时,外部边界将变回原来的样子,而这些内部空洞则永远消失了。(3)开启和闭合开启就是相对图像进行腐蚀,然后膨胀其结果。闭合就是先对图像进行膨胀,然后腐蚀其结果。开启一般使对象的轮廓变得光滑,断开狭窄的间断和消除细的突出物。闭合同样使轮廓线变得光滑,但是开启相反的是,它通常消除狭窄的间断和长细的鸿沟,消除小的孔洞,并填补轮廓线中的断裂开启。3.3

13、车辆检测(1)车辆检测新算法流程(2)截取检测带为了提高数字系统处理的实时性的要求,我们只取检测图像中的一部分来进行处理,这个过程我们叫做截取检测带,但是检测带内要包含足够的车辆信息,以满足检测精度的需要.检测带的宽度和高度可以根据需要进行设置,从而保证了算法的通用性和灵活性.检测带的高度:车辆前后间距在图像上大约为40-50个像素,因此检测带高度应小于40-50行,否则会引起误判.又考虑到检测带的高度决定其内包含的总像素数,将直接影响计算量,因此检测带高度不应过高.另一方面,检测带的高度又不能过小,否则带内包含的车辆信息量太少,易受噪声影响,引起误判.综合考虑以上因素,取高度为20行.如下图

14、(3)提取检测带的数据流以及对数据流的校正检测带内留下了车辆的信息,如何对这些车辆进行计数?如何判断相邻两帧的车辆信息是否是同一辆车?以图像宽度为800个像素为例,为了减少数据的运算量以及所需存储器的数目,可选取每10个像素宽的信息生成数据流的一个信息位.为此,定义3个长度为80的一维数组a、b、c,分别表示前一帧数据流、当前帧数据流、两帧数据流之差.若检测带的高度为20个像素,则把每个宽10个像素、高20个像素的浮动窗内像素的灰度值进行累加(g,g为灰度值),如果累加值大于某个设定的阈值,就将对应的数组元素赋值为1,否则赋值为0.这样就得到了当前图像的反映车辆运动信息的数据流由于邻域比较可能

15、会造成车辆的一部分信息丢失,甚至产生断带,使获得的数据流在有车辆信息的连续1中,会产生毛刺0.因此需要修正数据流,消除毛刺,得到尽可能连续的1 (1)填1:在两个连续的1段中间产生的毛刺0,其数目与没有车的0数目相比还是很少的,并且与1之间的距离比较小.根据这些特征我们对数据流进行“填1”处理.(2)填0:如果上一帧车头部分进入检测带,邻域比较的结果所提取的车辆信息的1的个数不足判断有新车过来,而当前帧车体进入了检测带,虽然邻域比较的结果所提取的车辆信息的1的个数表明有车辆在,但与上一帧相减的结果始终不足计数,从而造成该车漏检.为了解决这种车辆头部小尾部大造成的车辆误判的问题以及有效消除车前灯

16、的影响,可将这些不足判别车辆信息的1抹0.对于有些车辆由于情况比较复杂,会使相邻两帧的信息变化出现忽多忽少情况,这样就可能出现漏计或误计的现象.为了克服这种现象,利用前后两帧图像相关信息进行修正.笫27帧信息流:00000000000000000000000011111111111100000000000000000000000000000000000000000000第28帧未修正信息流:00000000000000000000000011111111100000000000000000000000000000000000000000000000第28帧修正信息流:0000000000000

17、0000000000011111111111100000000000000000000000000000000000000000000第29帧未修正信息流:00000000000000000000000011111111100000000000000000000000000000000000000000000000第29帧修正信息流:000000000000000000000000111111111111000000000000000000000000000000000000000000003.4车辆计数由于窗口浮动,这给车辆计数带来一定的困难.为此,笔者提出了用检测带内车辆信息的变化规律进行

18、计数的方法.其原理如下:如果用当前帧的数据流减去上一帧的数据流则只可能出现4种情况和3种结果:(1)上一帧某一位置没有车,当前帧对应位置也没有车:0减0,结果为0;(2)上一帧某一位置有车,当前帧对应位置也有车:1减1,结果为0;(3)上一帧某一位置没有车,当前帧对应位置有车:1减0,结果为1;(4)上一帧某一位置有车,当前帧对应位置没有车:0减1,结果为-11显然,结果为1,表示有新车辆到来:结果为-1,表示车辆已离开.利用该结果就可以方便地进行车辆的计数和车速的估算了.其方法如下:(1)利用数据流上升沿1来进行车辆的计数.(2)利用上升沿1和下降沿-1之间的帧数,根据摄像头的拍摄速度和车辆

19、的长度进行车速的估算.(3)由于噪声的存在,数组c里可能会出现较短的连续1段,为此可根据车辆的最小宽度来选取一个阈值,如:车辆的最小宽度为100个像素,即占数据流信息为10位,就可以选取连续的1段长度大于9计为一辆车.共有多少个连续的、长度大于该选定阈值的1段,就表示新到来了多少辆车.3.5软件设计据摄像头的 本设计采用MATLAB进行程序编写,部分程序见附录总结与致谢本次设计设计的系统具有准确率高的特点,该设计能够正确判断有无车辆的信息,在交通拥塞状况不十分严重、车速不太快(车速70km/h)的情况下,该算法对车辆计数的准确率很高。但该算法要求车辆速度不是太快。通过本次课程设计,使我对MAT

20、LAB有了更深的掌握和理解,巩固了我在数字图像处理课程中所学的基本理论知识和实验技能,使我对数字图像处理课程有了更深入的了解,进一步激发了我对所学专业学习的兴趣; 在设计的过程和设计说明书的撰写过程中,指导老师给予了我热心的帮助和大力的支持,给我提了诸多的宝贵意见,拓宽了我的思路。在此我向老师致以崇高的敬意和衷心的感谢!参考文献1许志影,李晋平.MATLAB及其在图像处理中的应用J.计算机与现代化,2003(4)2罗军辉,冯平.MATLAB710在图像处理中的应用M.北京:机械工业出版社,2005.3董长虹,赖志国,余啸海.MATLAB图像处理与应用M.北京:国防工业出版社,2004.4王家文

21、,李仰军.MATLAB710图形图像处理M.北京:国防工业出版社,2006附录1% Moving object detection ver1.0 2012-10-23clear all;close all;clc;% read a avi file information, cartest.avi 为待处理的视频文件,格式为.avifileinfo = aviinfo(cartest.avi); numFrames = fileinfo.NumFrames;% To avoid consuming too much memories, read only a clip of 200 frame

22、s each timeclipframes = 200;Clips = floor(numFrames/clipframes);% Read the first frame in the video sequence as the reference background image %在matlab2010 版本中,可采用函数mmreader,详见matlab2010 helpFref = aviread(cartest.avi,10);Iref =Fref.cdata; % predefine the thresholdThreh = 15;% Define a structure ele

23、mentse=strel(disk,3);for m = 1:Clips % Calculate the start and end frame index of the m-th movie clip startframe = (m - 1)* clipframes + 1; if m = Clips endframe = numFrames -1; else endframe = m * clipframes; end % read the m-th movie clip frames frome avi file movclip =aviread(cartest.avi,startfra

24、me:endframe); for k = 1 : (endframe - startframe +1) Icurr = movclip(k).cdata; % Calculate the absolute differrence image between the current frame Icurr, % and the referrence frame Iref. Idiff = abs(double(rgb2gray(Iref) - double(rgb2gray(Icurr); % motion segment,detection moving object by threhold

25、ing Idiff Ifg = Idiff Threh;% morphological filtering by using IMOPEN ,to remove noise region % in the segmented result image Ifg2 = imopen(Ifg,se); figure(1); subplot(2,2,1), imshow(Icurr),title(Current Image ); subplot(2,2,2), imshow(Ifg), title(Foreground Image(moving object) ); subplot(2,2,3), imshow(Ifg2), title(filtered by morphological opening operation ); pause(0.01); endend 附录2

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2