毕业设计(论文):智能小车视频信号分解与处理_第1页
毕业设计(论文):智能小车视频信号分解与处理_第2页
毕业设计(论文):智能小车视频信号分解与处理_第3页
毕业设计(论文):智能小车视频信号分解与处理_第4页
毕业设计(论文):智能小车视频信号分解与处理_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着社会的不断进步以及城市化建设的逐步普及,越来越多的家庭开始拥有汽车,汽车的数量也越来越多,在带给我们便利和迅捷的同时,也让我们不得不面对日益提升的交通密度、日益严重的交通堵塞和交通安全等难题,对我们的交通运输管理提出了巨大的挑战。为了解决这些难题,为了大范围、全方位、系统、实时、准确、高效地进行交通运输管理,于是产生了智能交通系统(ITS)这一新的研究和应用领域。而智能交通系统必须面对的首要问题就是对交通信息的采集和处理,也就是对汽车进行检测和跟踪。在众多的车辆检测和跟踪方法中,视频检测和跟踪以其高效、低廉、维护简单等优点,具有更好和更为广泛的应用前景,因此对智能小车视频信号的分解与处理的研究将有巨大的价值和意义。本论文旨在研究智能小车视频信号的分解与处理,主要涉及到背景图像的获取、目标的检测和分割、目标的实时跟踪以及轨迹的绘制等方法的研究。在背景图像的获取研究方面,介绍了三种当前使用得比较多的获取方法,并对其中的优缺点进行了比较和阐述。在目标的检测和分割研究方面,通过背景图像建模,利用相邻序列图像对视频中不变的或有规律变化的背景进行估计,将输入图像和背景图像进行比较,从中分割出前景运动目标。并对目前常见的运动目标的检测方法进行了介绍和优缺点的比较和阐述。在目标的实时跟踪以及轨迹绘制研究方面,由于车辆运动中外环境会不断变化,车辆的轮廓也会出现不规则变化,考虑到车辆是长方形的,可以采用中心点的思想,对车辆边缘轮廓上的所有点进行统计,求出这些点的中心点,用其中心点及其周围四个点来表示运动物体,根据中心点位置移动绘制车辆轨迹。关键词:智能交通系统背景图像目标检测和分割实时跟踪轨迹绘制

AbstractWiththedevelopmentofsocietyandthepopularizationofurbanization,moreandmorefamilieshaveownedthecar,andthenumberofcarisincreasing,atthesametimewhenitbringsusconvenienceandhighspeedlife,therearealsocomessometoughproblemsthatwehavetofaceto,suchastheincreasingofthetrafficdensity,thesevereoftrafficjamandsecurityoftraffic,it’sabigchallengeforthemanagementoftraffictransport.Inordertosettlesuchtoughproblemsdown,andforextensiveness,omnibearing,system,realtime,accurate,efficientmanagementoftraffictransport,therecameupwithanewresearchandapplyfieldnamedIntelligentTransportSystem(ITS).InITS,thefirstissuewehavetofaceisthecollectionanddisposaloftrafficinformation,thedetectionandtrackingofcar.Amongthiskindsofdetectionandtrackingofcarmethods,duetotheadvantagesofit’sefficient,lowpriceandmaintaineasydetectionandtrackingonvideohasabetterandwiderapplyfuture,whichmeanstheresearchofintelligentcarvideosignalisvaluableandmeaningful.Thispaperaimstodoaresearchofintelligentcarvideosignal,majorinvolvedintheimageacquisition,detectionanddivisionoftarget,realtimefollowingoftargetandpathdrawing.Intheimageacquisition,Iintroducedthreemethodswhichusedwidely,comparedit’sadvantageswithdisadvantages,andfindoutthebestmethod.Inthedetectionanddivisionoftarget,iusethesequentialserialimagetoestimatethebackgroundonvideowhichisconstantorchangesorderly,comparedtheinputimagewiththebackgroundtogetthedivisionofforegroundmovingtargetthroughbuildingthemodelofbackground.Andintroducedsomemethodswhichiscommonandusefrequently,comparedit’sadvantageswithdisadvantagestoo.Intherealtimefollowingoftargetandpathtracking,theouterenvironmentwouldchangefrequently,andtheoutlineofcarwouldchangeirregularly,becausethecarisarectangle,wecanusethethoughtofmiddlepointandcountallthepointontheoutline,workthemiddlepointout,andexpressthemovingcarwiththismiddlepointandtheotherfourpointfromoutline,drawingthemovingtrackwiththismiddlepoint.Keywords:ITS,BackgroundImage,Targetdetectionanddivision,Realtimefollowing,Drawpath目录TOC\o"1-3"\h\u1426摘要 1538Abstract 22151目录 3193251绪论 5254011.1本课题研究意义 541591.1.1智能交通的背景、现状和意义 599631.1.2车辆检测和跟踪技术的发展趋势 6231381.2本论文的结构 7101082关键技术 9245432.1常用目标检测算法 953942.1.1帧差法 9251032.1.2背景差分法 10241362.1.3运动场估计法 1113442.2常用目标跟踪算法 13117472.2.1基于模型的跟踪 13189502.2.2基于动态轮廓跟踪 13100892.2.3基于区域跟踪 13240762.2.4基于特征的跟踪 14248732.3其他技术 14267372.3.1灰度图像处理 14203982.3.2高斯平滑 14219972.3.3二值化处理 15137572.3.4开闭和运算 1529062.4本章小结 1513523系统需求分析 16228733.1系统功能需求分析 16166433.2系统处理流程分析 1787343.7本章小结 18111244系统设计 20273124.1系统架构 20142634.1.1总体结构 2069434.1.2系统流程 2144424.2文件打开模块的设计 2234604.3背景提取模块的设计 22317224.4智能小车检测与跟踪模块的设计 25188744.5绘制轨迹模块的设计 2841484.6本章小结 28317995系统实现 29195275.1环境配置 29267455.2文件打开模块的实现 34216825.3背景提取模块的实现 34235005.4智能小车检测与跟踪模块的实现 34308755.5轨迹绘制模块的实现 3529535.6本章小结 35224296应用示例 36250796.1示例概述 36162776.2示例实现过程 3659986.3本章小结 40188767结束语 4185667.1本文工作总结 41147947.2进一步的研究课题及展望 424085参考文献 441绪论1.1本课题研究意义1.1.1智能交通的背景、现状和意义随着社会的不断进步以及城市化建设的逐步普及,整个社会对交通运输的需求日益增加,越来越多的家庭开始拥有汽车,汽车的数量也越来越多,城市公路交通系统的压力不断地增大。出现了诸如堵车、交通事故等大量的公路交通问题,为了解决这些棘手的难题,更好的进行交通运输管理,提高现有道路的利用率、提高道路交通的安全程度,于是将整合了各种先进的技术,产生了智能交通系统(ITS)这一新的研究和应用领域。西方国家在这方面的发展是相当早的,在20世纪80年代末,就已经制定并实施了开发计划。欧洲的研究是由官方与民间并行进行的,1994年完成了DRIVE计划,用于提高道路设施的服务水平。该计划主要进行需求管理、车辆辅助驾驶、城市间综合交通情况管理、单个城市综合交通管理等内容的研究。而美国,于1991年,国会投票通过了旨在利用高新技术和合理最优交通分配方案来使整个交通网络变得高效的“综合地面运输效率方案”,并为此拨款6.6亿美元,用于进行相关的研究工作。地方政府还和联邦政府共同提供经费,在全美一共建立了3个致力于从事智能交通系统研究的研究中心。2001年,美国在华盛顿召开了智能交通系统的全国范围的高层讨论会,为智能交通系统的在二十一世纪前十年的发展制定了总体规划。日本和新加坡等国家也分别制定了其相应的计划。日本财政2001年度预算中用于智能交通系统计划的资金就达到了883亿日元。目前有五个机构致力于并负责智能交通系统相关的活动,并联合其他组织和机构共同来促进智能交通系统的发展。而且智能交通系统的商品化发展已经逐渐形成产业。新加坡于1995年,就已经组织完成了诸如绿波系统、交通扫描系统、道路信息管理系统等项目。已经拥有了一个比较成熟的综合工作平台。我国政府非常的重视智能交通系统的发展,在1996年就已经组织和开始了这一领域的国际交流与合作,支持这一领域在我国的研究和发展。1999年,成立智能交通系统协调小组,提供了一个能够基于指导文件的组织机构。2000年,制订了体系框架的研究和规范标准,建立了与国际接轨的标准体系,为我国的智能交通系统的发展提供了纲领性的指导文件,并且确定了诸如通信协议、系统构成、功能模块和接口等内容。2005年,于上海召开第一届“中国智能交通年会”,为智能交通技术的各方面都提供了可靠的支持,例如从开发研究、产品开发到最后的产业化等方面。然而我国只完成了一些基础性的工作,在开发和应用方面仅仅处于初级阶段,还有很多地方都需要进行提高。在实际的开发和应用方面,已经取得了一些成功的成果,并在一些局部地区形成了智能交通系统的雏形,或实现了其中的部分功能。在国内使用的比较多的电子收费系统就是智能交通系统应用的一个良好的体现,已经得到了广泛的好评。此外,不单单引进国外先进技术和产品,同时也和国外的厂商进行交流与合作,大大的提高了我国在这方面的技术水平,为我国智能交通系统的发展提供了技术支持。最近几年来,我国建成了各种各样的城际或者城内高斯公路,并且始终保持着前所未有的高速的发展速度,让世界各国瞩目。随着我国经济水平的持续快速提高,我国的汽车数量不断地在增大,伴随着城市化进程的不断加快,出现了各种各样的交通问题,体现了交通对城市经济的发展的重要性,也让我们不得不面对各种新的挑战。例如:(1)城市公路交通不断增大的压力。根据行业年度报告,2004年年底,我国已经达到了2742万辆的汽车保有量,达到了12.4%的增长率。现有的城市公路交通设施已经没有办法满足车辆数量增长的需求了。(2)消耗巨大的能源问题。现目前,我国公路交通运输的主要动力能源仍然依靠的是石油和天然气。2005年,我国的石油消耗量达到了惊人的2.5亿吨,按照如此的消耗量,不单单会消耗掉我们的油气资源,同时还会增加我国对于国外油气资源的依赖性。(3)交通事故频发、拥堵严重、市民缺乏安全感。据统计,2005年,我国交通事故共发生了45万余起,共造成9万8千余人死亡,47万人受伤,直接的经济损失就达到了惊人的18.1亿元。(4)环境污染问题。汽车尾气污染已经是一个众所周知的问题,近年来城市热岛效应频频发生,大气污染,空气质量差等更严重的影响着老百姓的身体健康,也制约了城市的发展,大大降低了城市的形象。而智能交通技术的出现,给我们带来了希望。首先,公路交通的利用效率提高了,公路交通的安全性也提高了。据专家估计,采用智能交通系统后,每年可减少30%~70%的交通事故死亡人数,减少交通的拥堵现象,提高公路交通利用率。其次,降低了能源的消耗率。拥堵现象减少了,汽车中途绕道行驶的现象减少了,油耗自然也跟着减少了。再者,提高了公路交通网络的使用频率,提高了运输效率,达到了效益最大化,对经济的高速发展也产生了积极的影响。最后,还可以带来新的市场,提供大量的就业岗位,促进就业。因此,对智能交通系统技术的研究是大势所趋,对我们的经济发展有着巨大的作用,深远的意义。1.1.2车辆检测和跟踪技术的发展趋势 早期的交通情况监测采用的是人工的方式,耗时耗力,而且统计数据单一,效率低下,不利于进行长久的车辆监测。 第二代交通情况监测采用的是地感线圈。由于能够进行自动检测,对于监测人的需求就没那么多了,降低了监测人员的数量,降低了人工成本。但是这种方式的缺点是仪器容易损坏、维修不易,而且地感线圈的安装位置固定,检测的精度低,检测参数少,无法识别出监测车辆的基本信息,只能进行简单的车流量的统计。而且此检测设备需要在关闭相应道路的情况下才能进行感应器的安装与维修,感应器使用寿命有限,需要重新翻开路面才可以再次进行安装或维修,不利于公路的保养和维护。 第三代交通情况监测采用了视频检测和图像识别的技术,更加智能,更加简便。第三代交通情况监测系统一般是由电子摄像机、数字图像采集卡和计算机等部分组成。首先,由摄像机对一定区域范围内的道路进行摄像,获取的图像再经传输线路导入数字图像采集卡,进行模数转换和格式转换等,再交由计算机进行数字图像的处理,实时识别出经过这一区域范围的车辆,并判别其车型,对其他交通控制参数作进一步的推导。还可以根据需要由计算机向监控系统中的主控机提供信号,并根据此信号确定控制方式,接着发出控制命令给执行机构。而且由于是对摄像机获取的图像进行识别和监测,因此可以可以进行远程无线的监测,不但可以监测车流量,对于车辆的基本信息同样可以进行监测,有利于进行交通管制。最重要的是,此视频交通监测系统不用破坏路面,对基本交通影响大不,而且拆装简便,成本相较于感应线圈低很多,现在已经逐步取代环形线圈监测系统成为主要的监测手段。在现代交通控制系统中视频交通检测系统可以说是未来的智能交通系统发展的基础。但是目前存在着很多的问题,比如,图像处理的实时性差、整个系统软硬件对车辆的检测精度的限制等等。尽管如此,伴随着数字图像处理技术的日益进步和发展,视频交通检测技术将会得到更加广泛的应用和不断的提高。 因此,视频交通检测技术得到了世界各国从事智能交通系统研究人士的高度重视,有着广阔的应用前景。视频车辆检测系统在现代交通系统中有着很重要的地位,可以说是未来的智能交通系统发展的基础。 基于视频技术的交通检测技术重点研究的是如何提高图像识别的准确性和实时性。目前,基于图像处理的视频交通检测技术正处于研究的开发阶段,随着技术的不断完善,不但可以解决交通拥堵的顽疾,还可以预测和发现交通事故。因此,基于视频技术的交通检测技术的研究,必将成为未来交通检测技术的一部分,并产生重要影响。基于视频技术的交通检测是计算机视觉技术应用于智能交通系统的一个典型的实例,基于视频技术的交通检测通过摄像机拍摄道路交通图像,采用图像处理技术对道路交通图像进行处理,自动检测车辆。应用广泛,可用于路口交通监控系统、车辆自动导航系统、车辆辅助驾驶系统、停车场车辆调度监控系统等等,机动灵活,优点繁多,有很大的应用前景。具体如下:(1)监测效率高。相较于人工检测方法,基于视频技术的交通教程提高了监测效率,节省了许多人力,物力,降低了成本;同时还能进行其他违章行为的监测,比如闯红灯、交通事故等。(2)监测范围大。可同时进行路口和路段的监测。(3)施工方便、周期短。不需进行路面改造,不会损害公路设施,降低了施工时间,缩短了施工周期。(4)信号传输方式多,传输速度快。可以利用同轴电缆、双绞线、光纤或者无线射频等多种方式进行视频信号的传输,传输速度更加快捷。(5)可进行后续处理。能够提供现场情况录像,可供专家进行现场情况后续分析。1.2本论文的结构,本文绪论部分。主要阐述了智能交通系统的背景、现状和意义以及车辆检测和跟踪技术的发展趋势,还介绍了论文的结构安排。,详细介绍了目前常用的目标检测算法和目标跟踪算法,还对系统中涉及到了一些关键技术进行了简单介绍,根据各自的优缺点选取最适合的方法进行实现。,系统需求分析。本章通过对图像处理系统的功能分析,提出了智能小车视频信号分解与处理系统的主要功能需求,分别是文件打开、背景提取、小车检测、小车跟踪、绘制轨迹。通过对这些功能的描述使得智能小车视频信号的分解与处理系统功能更加明确,结构更加清晰。,系统设计。本章主要介绍了智能小车视频信号分解与处理系统的设计,首先是对系统架构的设计,其中包括总体结构和系统流程的设计,然后是分别对文件打开模块、背景提取模块、车辆跟踪与检测模块、轨迹绘制模块做了详细的设计。通过本章内容不仅可以了解智能小车视频信号分解与处理系统的系统架构而且可以知道此系统的详细功能。,系统实现。本章主要介绍了智能小车视频信号分解与处理系统的具体实现过程,介绍了系统的开发环境的环境配置,也介绍了各个功能模块的实现,例如变量定义模块、文件打开模块、背景提取模块、车辆跟踪与检测模块、轨迹绘制模块的实现。通过本章可以对智能小车视频信号分解与处理系统的整个实现过程有个详细的了解。,应用示例。本章主要是对智能小车视频信号分解与处理系统应用的章节,在本章会举一个例子来应用智能小车视频信号分解与处理系统,通过此示例能了解智能小车视频信号分解与处理系统的核心技术,核心功能,同时能体会到智能小车视频信号分解与处理系统在处理过程中的效率,也能在此基础上进行扩展。,结束语。对论文进行总结,并指出进一步的研究课题和未来展望。

2关键技术2.1常用目标检测算法日常生活中,运动的目标无处不在,利用获取的图像对目标进行检测和识别能够被应用于各个领域中,有着巨大的实用价值。基于计算机视觉的对运动目标的检测和识别已经具备了技术可行性和经济可行性,对此的研究也越来越多,而运动目标检测和识别已经发展成为计算机视觉中的一个基础的、关键的任务,甚至可以说是视觉系统的一个重要功能。智能小车检测的目标是把图像序列当中的运动目标——智能小车从背景图像中检测出来。现目前,主要分为摄像头随目标移动以及摄像头相对处于静止状态两类。前者,需要始终保持目标在图像的中心附近,例如制导系统,摄像头必须安装在导弹上,并随导弹实时移动。而后者,只能对视场内的目标进行检测和定位,例如路口电子警察,摄像头安装于路灯或专用检测区域。目前绝大多数小车检测跟踪算法的研究都是基于第二种情况的。然而,要实现对运动目标的检测却有很多的困难,例如图像获取时的光照的变化、光照下运动目标的影子、摄像机录制过程出现抖动等等,都会对目标的正确检测产生影响。同时,为了进行进一步的跟踪处理,必须正确快速地检测出运动目标。因此,对于运动目标的检测和识别是计算机视觉研究中的一项重要课题。目前常见的运动目标的检测方法主要有帧差分法、背景差分法。如下所述:2.1.1帧差法帧差法是目前最为常用的一种运动目标检测和分割方法。基本思想就是:通过对一个图像序列连续相邻的两帧或者三帧间的图像像素做差,去除掉其中静止或移动相对缓慢的物体,得到一个差值图像,然后对该差值图像进行二值化处理,若此时的像素值大于某一阈值,则可以用此像素值表示运动目标,达到检测的目的。由于连续相邻两帧间的时间间隔很短,用当前帧的前一帧图像作为背景模型进行差值计算有很好的实时性,而且背景实时更新,且计算量很小、速度很快、算法的实现相对简单,还可以避免光照变化影响。但是缺点就是不能对静止不动的车辆进行检测,必须要是运动的车辆才可以进行检测,处理的效果和车速相关,车速必须适中,才能检测,过快,可能会对目标图像进行误分割,达不到检测的效果,而过慢,会造成图像的覆盖过多,对检测产生影响。帧差法原理如下:图2-1帧差法原理2.1.2背景差分法背景差分法也是目前最为常用的一种运动目标检测方法,通过对图像序列中的当前帧图像(输入图像)和背景参考模型(背景图像)的图像像素做差,从中分割出前景目标来检测运动物体的一种方法。在背景差分法中,最为重要的就是背景图像的获得,背景图像的准确度将直接影响检测的效果。由于图像很容易受到外界其他因素的干扰,例如:光照、摄像机抖动等,使得背景的提取变得比较困难。其原理如下:图2-2背景差分法原理相较于帧差方法,背景差分法有不受车速快慢的限制、可以检测出短时间内处于静止状态的车辆、简化算法降低计算量和满足视频检测的实时性要求等优点。但是在实际应用中,背景的获取比较困难。现目前比较常用的背景建模方法主要有以下3种:均值法背景建模均值法背景建模就是在视频图像中,选取其中的连续N帧,计算出这连续N帧图像的像素灰度值的平均值,并以此平均值作为背景图像的像素灰度值。中值法背景建模中值法背景建模也是在视频图像中,选取其中的连续N帧,并按照图像像素灰度值进行从小到大的排序,选取中间值作为背景图像中对应像素点的灰度值。建立自适应模型主要有卡尔曼滤波、单高斯分布模型、多高斯分布模型等。2.2常用目标跟踪算法运动目标跟踪就是在视频图像序列中实时地发现并标记运动目标,在帧与帧之间建立车辆运动的某些特征,如位置、速度、形状和方向等之间的联系,不断跟踪目标,并计算出运动目标的轨迹。目前运动目标跟踪的方法有很多,针对视频图像中运动目标的跟踪方法主要有以下几种:2.2.1基于模型的跟踪基于模型的目标跟踪算法主要就是利用线图法、二维轮廓、立体模型来表达运动目标。基于立体模型的跟踪方法被应用于估计运动目标的运动,从二维图像中推断出运动目标的立体形状。基于模型的方法的优点是能够利用模型知识在复杂驾驶和明显交通堵塞等情形下也能跟踪到结果,缺点是计算工作量大,实时性较差、稳健性不够高,摄像机的微小角度变化就可能造成检测失败、遮挡情况下会发生误检。2.2.2基于动态轮廓跟踪基于动态轮廓跟踪的思想就是利用封闭的曲线轮廓来表达目标,并可以自动连续的进行轮廓更新。基于动态轮廓的方法相较于基于区域,计算复杂度小,如果开始阶段能够合理的分开每个运动目标并实现轮廓初始化,在部分遮挡的情况下也能连续进行跟踪,只是不易于对轮廓进行初始化。2.2.3基于区域跟踪基于基于区域跟踪的思想是把每个物体与某个运动区域相联系,然后对该区域进行跟踪。区域跟踪实现较为简单,在许多系统中得到了广泛的应用。基于区域的跟踪方法对遮挡问题不敏感,能够改善图像的分割,而且该方法是在跟踪目标之前完成最后的图像分割,在形状突变或者目标突然消失的情形下也能正确分割图像,缺点是出现大车影子对小车地遮挡情况将不利于车辆的跟踪。2.3其他技术2.3.1灰度图像处理图像的灰度处理就是将彩色图像转化成为灰度图像的过程。在彩色图像中,R、G、B三个分量决定了每个像素的颜色,每个分量有255个值,每个像素点的变化范围就可以达到1600多万(255*255*255);而灰度图像中,R=G=B,一个像素点的变化范围就只有255,因此对图像进行灰度处理将大大的减少后续图像的计算量,不足之处就是会使图像失真。灰度图像处理一般可用求R、G、B分量的平均值和RBG与YUV颜色空间的变化关系两种方法来实现。2.3.2高斯平滑由于摄像机获取的视频是来源于室外环境,不可避免的会受到噪声、光照变化等客观因素的影响,数字化后的图像肯定会多多少少带有噪声,因此在图像处理中都会进行滤波降噪处理,而高斯平滑是其中比较常用的方法。在图像处理中,一般通过离散化窗口滑窗卷积和傅里叶变换两种方式实现。2.3.3二值化处理图像的二值化,就是将图像上的像素点的灰度值设置为0或255,让整个图像只呈现黑白的视觉效果,在一幅图像中,不单有目标物体和背景,还有噪声等其他因素,为了更好的直接提取出目标物体,通过设定一个阈值T,将图像的数据分成大于T和小于T的两个像素群,分别反映图像整体和局部的特征。二值化的应用非常的广泛,是图像处理的基本操作。2.3.4开闭和运算数学形态学是以形态为基础对图像进行分析的数学工具,其中的开闭运算一般被用来完成对二值化后的图像的补空洞的处理。基本的形态学运算就是膨胀和腐蚀。腐蚀运算可以消除边界点,使边界内部收缩,腐蚀一般用来消除细小并且没有意义的目标。在OpenCV中可调用cvErode函数来对图像进行腐蚀运算。而膨胀运算和腐蚀运算相反,则是合并接触的背景点,使边界向外扩张,填补目标区域当中出现的漏洞。在OpenCV中则通过调用cvDilate函数来实现。2.4本章小结本章对智能小车视频信号分解与处理系统中用到的关键技术,视频图像中运动目标的检测与跟踪技术做了详细叙述,并对系统中出现的一些算法做了简单的叙述,介绍了各自的优缺点以及使用范围。

3系统需求分析需求分析是一项重要且困难的工作。本章通过对图像处理系统的功能分析,提出了智能小车视频信号分解与处理系统的主要功能需求,分别是文件打开、背景提取、小车检测、小车跟踪、绘制轨迹。通过对这些功能的描述使得智能小车视频信号的分解与处理系统功能更加明确,结构更加清晰。3.1系统功能需求分析智能小车视频信号分解与处理是基于windows的应用程序,主要处理的是AVI格式的视频文件,并对视频文件中的运动目标进行实时跟踪。主要功能如下:读入AVI格式的视频文件,并得到每帧图像。对视频前几帧进行处理,获取背景图像。通过背景差分法得到前景目标图像。对前景图像进行处理,检测和分割出目标图像。对目标图像进行实时跟踪,并绘制出轨迹。图3-1系统总体结构3.2系统处理流程分析本系统是一个应用程序,主要实现上述对视频文件的中运动目标的分解与处理,达到检测与跟踪的效果。从载入一个视频文件到最后得到视频文件中运动小车的轨迹,整个系统的处理流程是比较连贯的,因此流程也比较清晰。在载入一个视频文件后,处理的并不是视频文件,而是帧图像,因此必须获取视频文件中的帧图像,并对帧图像的有效性要进行判断。如果是有效的就可以提取视频图像背景了,这时有多种方法可以采用,本文采用的是累加连续图像序列求帧图像平均值的方法。接着就可以利用背景差分法将当前帧和背景图像帧做绝对值差求出前景目标小车了。为了更好的获取前景目标小车,还必须进行开闭和运算,腐蚀和膨胀运算对处理过程的空洞部分进行填补。最后采用基于动态轮廓的思想,通过计算中心点和小车四周的点的判断对小车进行实时跟踪,并扫描跟踪中心点数组,绘制出小车运动轨迹。图3-2系统流程图3.7本章小结本章主要描述了智能小车视频信号分解与处理系统的需求分析,通过对文件打开、背景提取、小车检测、小车跟踪、绘制轨迹的分析使得智能小车视频信号分解与处理系统的功能明确。通过这章的内容可以了解到智能小车视频信号分解与处理系统的基本功能和所需要实现的目标。

4系统设计本章主要介绍了智能小车视频信号分解与处理系统的设计,首先是对系统架构的设计,其中包括总体结构和系统流程的设计,然后是分别对文件打开模块、背景提取模块、车辆跟踪与检测模块、轨迹绘制模块做了详细的设计。通过本章内容不仅可以了解智能小车视频信号分解与处理系统的系统架构而且可以知道此系统的详细功能。4.1系统架构本节主要是对智能小车视频信号分解与处理系统在系统架构上的说明,系统架构包括总体结构和系统流程两部分,总体结构是对系统各个模块功能的说明,系统流程是对系统整个工作步骤的说明,通过这两部分的说明将体现出系统的整个架构和流程。4.1.1总体结构本小节主要是对智能小车视频信号分解与处理系统的总体结构做详细的描述,总体结构是指系统中实现功能的分层架构,此系统一共包括5个模块,如图4-1所示。图4-1智能小车视频信号分解与处理系统总体结构从上图4-1可以看出,智能小车视频信号分解与处理系统的总体主要由5部分组成,分别是背景建模、智能小车检查、智能小车分割、智能小车跟踪、绘制轨迹。从图中可以看出此系统的重难点主要就在于这5个模块。4.1.2系统流程本节主要是介绍了智能小车视频信号分解与处理系统系统流程,所谓系统流程就是智能小车视频信号分解与处理系统从开始载入一个视频文件,到最后视频播放完毕绘制出轨迹的整个过程。具体的流程如下图4-4所示:图4-2系统流程虽然系统载入的是视频文件,但实质上处理的是视频中的帧图像,因此首先,读入一帧,并判断其有效性,若是有效的,继续进行处理,利用背景差分法获取前景目标,并用开闭和运算腐蚀和膨胀进一步分割出前景图像,然后提前中心点,并用此中心点绘制图像。4.2文件打开模块的设计文件打开模块主要就是打开一个视频文件,然后从文件读出帧文件,因为接下来需要处理的都是帧图像,所以文件打开模块就显得非常重要。具体流程如下:图4-3文件打开模块流程4.3背景提取模块的设计背景建模主要目的就是为了获取背景图像。现目前,主要有这三种方法:通过求多幅图像的像素点均值得到、求多幅图像的像素点中值、建立自适应模型。本课题选用的是通过多幅图像的像素点均值得到的背景模型,可以用如下公式表示:其中,表示时刻的背景图像帧,表示时刻的输入图像帧,表示帧的总数。一般通过摄像机采集的图像,不仅增大了内存的开销,也大大的降低了处理速度。为了使后续图像的计算量小一点,还调用了灰度转化函数,进行了图像的灰度处理。图像的灰度处理就是将彩色图像转化成为灰度图像的过程。在彩色图像中,R、G、B三个分量决定了每个像素的颜色,每个分量有255个值,每个像素点的变化范围就可以达到1600多万(255*255*255);而灰度图像中,R=G=B,一个像素点的变化范围就只有255,因此对图像进行灰度处理将大大的减少后续图像的计算量,不足之处就是会使图像失真。灰度图像处理一般可用求R、G、B分量的平均值和RBG与YUV颜色空间的变化关系两种方法来实现。由于原始图像在获取和传输的过程中会受到各种噪声的干扰,使图像的质量下降,不利于分析图像,于是使用高斯平滑对图像进行降噪。图像平滑处理有很多种方法,领域平均(CV_BLUR)、中值滤波(CV_MEDIAN)、高斯滤波(CV_GAUSSIAN)等。高斯滤波是跟根据高斯函数的形状来选择权值的线性平滑滤波器,对出去服从正态分布的噪声很有效果,对图像处理来说,常用的是二维零均值离散高斯函数,表达式如下:由于目前的还是帧图像,要进行图像的累加,必须进行格式转换。接着,就可以求这多幅像素点的均值得到背景图像了。背景获取流程如下:图4-4背景获取模块流程为了更好的获得背景,只读取视频的前140帧图像,然后按顺序获取一帧图像,然后判断此帧图像是否有效,若是有效帧,进行帧数统计,接着判断是否是第一帧,若是第一帧,就要先申请内存,进行图像的初始化,若不是,就对图像进行灰度处理,简单化计算量,并用高斯平滑去噪,然后格式转换为数组,进行图像的累加预算,最后通过此连续图像的累加值求平均值的方法,获的背景图像。4.4智能小车检测与跟踪模块的设计智能小车检测的目标是把图像序列当中的运动目标——智能小车从背景图像中检测出来。现目前,主要分为摄像头随目标移动,摄像头相对处于静止状态两类。前者,需要始终保持目标在图像的中心附近,而后者,只能对视场内的目标进行检测和定位。本课题选用的是第二种情况摄像头相对处于静止状态下的背景差分法。背景差分法是运动目标检测最常用的方法之一,利用背景建模得到的背景图像和输入图像进行比较,然后得到前景运动目标。为了接下来分割的进一步处理,还需对得到的前景运动目标图像进行二值化处理。二值化处理也就是让图像出现黑白效果,把图像的像素点的灰度值设置为0或者255。图像的二值化处理能够使图像变得简单,减小图像的数据量,凸显出目标的轮廓,将大大的有利于图像的进一步处理,有助于接下来的图像的分割。智能小车检测流程如下:图4-5检测模块流程首先,从视频结构顺序获得一帧图像,判断是否有效,是有效帧,对帧图像进行灰度处理,转换为灰度图像,减少图像的计算量,接着进行平滑处理,利用高斯平滑降噪,利用背景差分法,对当前帧图像和上一步背景建模过程获得背景图像做绝对值差,得到前景目标图像,然后对当前获得前景目标图像进行二值化处理,黑白化灰度图像,凸显出目标轮廓。智能小车目标分割是图像处理到图像分析的关键步骤,一般要进行腐蚀和膨胀运算去除杂点。因为腐蚀可以消除边界点,使边界内部收缩,腐蚀一般用来消除细小并且没有意义的目标。在OpenCV中可调用cvErode()函数来对图像进行腐蚀运算。而膨胀和腐蚀相反,则是合并接触的背景点,使边界向外扩张,填补目标区域当中出现的漏洞。在OpenCV中则通过调用cvDilate()函数来实现。具体流程如下:图4-6分割模块流程利用小车检测模块获得的小车前景目标图像,对前景目标图像做腐蚀和膨胀运算,去除杂点,分割出小车,达到智能小车分割的目的。智能小车的跟踪就是在视频图像序列中实时地发现运动小车并将其标记出来。现目前,针对视频图像运动目标跟踪有很多种方法,比较常用的有基于模型、基于区域、基于特征和基于动态轮廓等方法。本课题选用的是基于动态轮廓的跟踪方法。在基于动态轮廓方法中,为了表达运动运动目标,利用的是一个能够自动连续实时更新的封闭的曲线轮廓。此方法的优点就是完成轮廓初始化后,可以在部分遮挡的情况下继续进行跟踪,而缺点则是轮廓的初始化比较困难。具体流程如下:图4-7车辆跟踪模块流程首先,对目标图像进行边缘检测,发现输入图像的边缘并在输出图像中识别这些边缘。因为是用小车的中心点坐标来表示小车的,所以计算出小车的中心点。然后对中心点图像进行清零,初始化为黑色。判断是否有五个点,因为采用的中心点思想,需对车辆边缘轮廓所以点进行统计,并求出中心点,考虑到汽车是长方形的,因此只需用五个点就可以表示小车了。因此用判断是否有五个点来证明是否有运动小车,对小车进行跟踪。然后再将这五个点设置为白色,进行标记即可。4.5绘制轨迹模块的设计绘制轨迹是系统的最终目标。由于在跟踪过程中已经取得中心点,并保存进了一个专门的数组,因此只需对此数组进行扫描,读出里面的数值,按照此数值绘制曲线就好了。需要注意的是需将轨迹背景图像和视频图像的大小设置一致,保证物体实际运动路线和轨迹的对比效果。具体流程如下:图4-8轨迹绘制模块流程首先,申请内存,创建一个和背景图像大小一致的的图像,清零初始化图像。然后扫描存储小车运动轨迹的数组,按照里面的数值绘制小车运动轨迹曲线。4.6本章小结本章主要详细介绍了智能小车视频信号分解与处理系统的设计,首先介绍了系统的系统架构其中包括总体架构和主要流程,这是密不可分的两个架构,这两个架构只有在同时存在的情形下才能够构成整个框架的架构。然后分别对每个模块做了详细的设计如文件打开模块、背景提取模块、智能小车检测与跟踪模块、绘制轨迹模块。5系统实现本章主要介绍了智能小车视频信号分解与处理系统的具体实现过程,介绍了系统的开发环境的环境配置,也介绍了各个功能模块的实现,例如变量定义模块、文件打开模块、背景提取模块、车辆跟踪与检测模块、轨迹绘制模块的实现。通过本章可以对智能小车视频信号分解与处理系统的整个实现过程有个详细的了解。5.1环境配置本节主要介绍要使用智能小车视频信号分解与处理系统所必需的环境配置,只有在正确的环境的支持下才能够运行系统。在运行框架之前所必需的环境有VisualStudio、OpenCV、CMake等,系统环境配置的步骤如下:步骤一:编译OpenCV。用CMake导出VC++项目文件运行cmake-gui,设置whereisthesourcecode路径为OpenCV安装路径,并在安装路径的build文件夹下新建一个my文件夹,设置wheretobuildthebinaries路径为此文件夹路径。然后点击Configure,在弹出的对话框中选择VisualStudio92008。可根据操作系统修改选项,修改后再次选择“Congfigure”,完成后选择“Generate”。图5-1CMake主界面编译OpenCVDebug和Release版本库完成上一步骤后,系统会在my文件夹下生成OpenCV.sln的解决方案文件,启动VisualStudio2008开发环境,打开OpenCV.sln,在Debug下,右键解决方案“OpenCV”,运行"重新生成解决方案";如编译无误,再选择此项目,运行“生成解决方案”。在Release下,同上操作。当全部都运行完毕后,针对此系统的OpenCV库就生成了。图5-2OpenCV库步骤二:配置VisualStudio2008。配置include路径,何处去找OpenCV头文件。选择菜单“工具”→“选项”→“项目和解决方案”→“VC++目录”→“包含文件”,输入:D:\ProgramFiles\OpenCV2.3.1\opencv\build\include;D:\ProgramFiles\OpenCV2.3.1\opencv\build\include\opencv;D:\ProgramFiles\OpenCV2.3.1\opencv\build\include\opencv2图5-3配置包含文件配置lib路径,何处去找OpenCV的库文件。选择菜单“工具”→“选项”→“项目和解决方案”→“VC++目录”→“库文件”,输入:32位的操作系统D:\ProgramFiles\OpenCV2.3.1\opencv\build\x86\vc9\lib64位的操作系统D:\ProgramFiles\OpenCV2.3.1\opencv\build\x64\vc9\lib图5-4配置库文件步骤三:设置环境变量。将OpenCV的dll文件所在的目录加入Path环境变量32位操作系统:D:\ProgramFiles\OpenCV2.3.1\opencv\build\x86\vc9\bin64位操作系统:D:\ProgramFiles\OpenCV2.3.1\opencv\build\x64\vc9\bin图5-5配置环境变量步骤四:OpenCV编程。新建一个项目,右键项目,选择属性→链接器→输入→附加依赖项,分别在Debug和Release项目,配置增加:D:\ProgramFile\opencv2.3.1\opencv\build\x86\vc9\lib下的所有lib文件(可根据实际需要删减)。图5-6链接附加依赖项以上是对数字图像处理系统环境配置的核心步骤说明,通过这些配置后可以开发数字图像处理系统,这只是一个基本环境配置的要求。通过这些配置可以了解到智能小车视频信号分解与处理系统运行环境的基本要求。5.2文件打开模块的实现本节主要介绍了文件打开模块的实现过程,实现的功能为从摄像机或视频文件中读取帧所需的信息。在打开一个视频的时候,可以选择是用摄像头直接获取,也可以读取一个录好的视频。用摄像头直接获取,在OpenCV中通过调用CvCaptureFromCAM(-1)函数实现;而读入一个录好的视频,通过调用CvCaptureFromFile()函数实现,其中的参数为视频文件的存储路径。5.3背景提取模块的实现本节介绍了背景提取模块的实现,采用了求连续序列图像的平均值的方法。首先需要对读入的当前帧图像进行灰度图像处理简化计算量,在OpenCV中可以通过调用cvCvtColor()函数实现,并使用高斯平滑进行降噪处理,通过调用cvSmooth()函数。其次,因为要进行图像的累加运算,必须先对图像进行格式转换,在OpenCV里可以通过调用cvCvtScale()函数实现,然后就可以进行累加和求均值的运算了,这里都是通过调用OpenCV中cvAcc()和cvConvertScale()函数实现。5.4智能小车检测与跟踪模块的实现智能小车检测与跟踪模块是智能小车视频信号分解与处理系统的核心功能。这一模块实现了对小车的检测、分割、跟踪功能。下面介绍各功能并实现过程。首先需要对读入的当前帧图像进行灰度图像处理简化计算量,在OpenCV中可以通过调用cvCvtColor()函数实现,并使用高斯平滑进行降噪处理,通过调用cvSmooth()函数。检测功能主要利用了背景差分法,调用OpenCV中的cvAbsDiff()函数将背景帧和当前帧做绝对值差,求得了前景图像。为了凸显出前景目标图像的轮廓,还需对前景图像进行二值化处理,黑白化帧图像。通过调用cvThreshold()函数实现。 分割功能一般需要去除图像杂点。因为腐蚀可以消除边界点,使边界内部收缩,腐蚀一般用来消除细小并且没有意义的目标。在OpenCV中可调用cvErode()函数来对图像进行腐蚀运算。而膨胀和腐蚀相反,则是合并接触的背景点,使边界向外扩张,填补目标区域当中出现的漏洞。在OpenCV中则通过调用cvDilate()函数来实现。跟踪功能选用的是基于动态轮廓的跟踪方法,达到实时跟踪运动目标的功能。首先,对目标图像进行边缘检测,可通过调用cvCanny()函数实现,发现输入图像的边缘并在输出图像中识别这些边缘。因为是用小车的中心点坐标来表示小车的,所以计算出小车的中心点,可通过一个for循环实现。然后对中心点图像进行清零,初始化为黑色,调用cvZero()函数就可以了。判断是否有五个点,因为采用的中心点思想,需对车辆边缘轮廓所以点进行统计,并求出中心点,考虑到汽车是长方形的,因此只需用五个点就可以表示小车了。因此用判断是否有五个点来证明是否有运动小车,对小车进行跟踪。然后再将这五个点设置为白色,进行标记即可。5.5轨迹绘制模块的实现绘制轨迹模块实现了对小车的运动轨迹的绘制功能。绘制轨迹是系统的最终目标。由于在跟踪过程中已经取得中心点,并保存进了一个专门的数组,因此只需对此数组进行扫描for(inti=0;i<count_center_point-1;i++),读出里面的数值cvLine(TrackImg,cen_point[i],cen_point[i+1],color);,按照此数值绘制曲线就好了。需要注意的是需将轨迹背景图像和视频图像的大小设置一致,保证物体实际运动路线和轨迹的对比效果。5.6本章小结本章主要是对智能小车视频信号处理与分解系统的基本环境的配置和一些核心的模块做了详细说明,通过这些说明可以看出智能小车视频信号处理与分解系统中的核心功能和代码生成的特色,在开发数字图像处理系统的时候,这些基本的功能将有助于提高开发效率,为其他功能的完善节省时间。当然,本章只介绍了系统实现的核心功能,其他的功能在这里就不作叙述了。

6应用示例本章主要是对智能小车视频信号分解与处理系统应用的章节,在本章会举一个例子来应用智能小车视频信号分解与处理系统,通过此示例能了解智能小车视频信号分解与处理系统的核心技术,核心功能,同时能体会到智能小车视频信号分解与处理系统在处理过程中的效率,也能在此基础上进行扩展。6.1示例概述本节主要是对本章中示例的描述,本示例主要是对一个摄取的运动汽车视频的应用。基本功能要求有:打开一个视频,获取帧图像能够从视频中提取背景图像能够检测和跟踪运动目标,小车能够绘制出小车运动的轨迹对以上这些功能需求在智能小车视频信号分解与处理系统中都能轻而易举的实现,其实现过程在下一节中将详细介绍。6.2示例实现过程使用系统本节针对小车视频在智能小车视频信号分解与处理系统中的处理过程做详细的描述,每个步骤都有详细的说明,下面将分步骤来描述整个实现过程。图6-1程序主界面步骤一:读入一个视频点击“文件”菜单,选择打开,弹出一个基于windows的对话框,选中需要进行处理的视频,单击打开按钮,读入视频文件,如图6-2所示。如果不是AVI格式的视频,则会显示打开失败,如图6-3所示。图6-2读入视频图6-3打开文件失败从中可以看出,在录制视频后,需对视频的格式进行转换,只有转换成AVI格式才能读入视频,否则就会打开失败,不能载入视频。步骤二:对载入的视频进行背景提取,获取背景帧图像。单击“背景提取”菜单,会弹出一个新的和视频图像大小一样的新框,等待几秒,获取背景,如图6-4所示。不能重复提取背景,如果提取过背景,会弹出“背景已经提取”的对话框,如图6-5所示。图6-4背景图像图6-5已提取背景步骤三:检测视频中出现的运动目标,并对其进行实时跟踪。单击“检测跟踪”菜单,此时会弹出一个新框,读入视频时打开的视频开始播放,随着小车出现,开始检测和跟踪小车,小车用一个小白点表示,如图6-6所示。如果已经进行过检测与跟踪,会弹出“车辆跟踪已经结束”的对话框,如图6-7所示。图6-6车辆跟踪图6-7车辆跟踪结束步骤四:绘制出小车运动轨迹。单击“绘制轨迹”菜单,此时不会弹出一个新框,直接在检测跟踪模块弹出的新框的基础上进行轨迹曲线的绘制。如图6-8所示。图6-8运动轨迹此时。整个视频图像处理结束。以上是一个完整的示例由智能小车视频信号分解与处理系统处理的过程,通过这些过程就可以完成对小车视频信号的分解与处理,并绘制出其轨迹。6.3本章小结本章通过一个小车视频的示例讲述了如何应用智能小车视频信号分析与处理系统,按步骤详细说明了各个环节的操作流程,并且有详细的图解,通过本章的学习可以熟练的使用智能小车视频信号分解与处理系统中的核心功能和一些扩展功能。重庆理工大学毕业论文(题目、小五、宋体)PAGE页码居中,以阿拉伯数字顺序排列PAGE75PAGE717结束语7.1本文工作总结智能交通系统将会是未来交通的发展方向,而基于视频图像处理的检测和跟踪技术是其关键技术之一,在实时交通数据采集、车辆自动跟随与自动驾驶、自动收费等方面具有广阔的应用前景。本文应用统计模型、图像处理以及计算机视觉技术系统的分析和研究了车辆检测与跟踪问题,基本实现了各种交通监视应用中的车辆检测与跟踪。在车辆检测方面,本文主要介绍了两种检

温馨提示

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

最新文档

评论

0/150

提交评论