《基于视频图像序列的抛洒物检测 大学本科毕业设计.docx》由会员分享,可在线阅读,更多相关《基于视频图像序列的抛洒物检测 大学本科毕业设计.docx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于视频图像序列的抛洒物检测 第1章 概述1.1 论文研究背景如今,中国高速公路里程已达7.4万公里,居世界第二位1。随着高速公路、城市公路通行量的不断增加,交通事故所带来的安全隐患也所之增加,在众多危害安全的事故中交通事故是当前最为严重的,而中国交通局对近10年交通事故官方统计显示,世界上因交通事故死亡人数最多的国家中,中国位列前三之中。至今中国每年交通事故约50万起,每年的事故死亡人数均已达到10万人以上,已经连续十年居世界第一。而今,随着我国经济的不断发展,交通需求的不断增长,高速公路和隧道已成为经济社会发展的重要助推器。然而,高速公路在给人们带来巨大的经济效益和社会效益的同时,各类交通
2、事故也明显增加,尤其是各类恶性重大事故频发,据不完全统计,2005年底每万公里死亡1823人,死亡人数以每年近20%的比率递增。由于高速公路和隧道具有车流量大、行车速度高等特点,一旦发生交通事故将会非常严重,不仅一次事故殃及的车辆多、伤亡率高,还会造成严重的交通阻塞和行车延误,而且还可能会引起二次事故的发生,严重影响高速公路和隧道的整体通行能力和运营效率。而高速公路里程长,交通事件自身又有很强的随机性,如何快速检测交通事件,最大限度地减少交通事件的发生和影响,一直是国际交通领域所关注的问题。城市中大货车货运过程中抛洒物事件已经严重危害交通安全,成为造成交通事故的主要原因之一,其带来的安全隐患是
3、我们急需重视及解决的问题。因过往车辆上的抛洒物、坠落物引发的交通事故不仅给通行车辆和司乘人员造成了生命财产损失,影响了道路的通畅,而且给高速公路运营管理单位带来了经济损失和诉讼纠纷,损害了高速公路的社会形象。每天通过车辆数以千万计,路面上抛洒物、坠落物随时随地可能出现2。尽管高速公路管理单位已安排保洁工路面巡查,养排中心专职巡查,交警路政也在巡查,但仍不可能做到在时间上、空间上的无缝覆盖。而这些抛洒物、坠落物很有可能随时引发交通事故,给过往司机旅客造成财产甚至生命的损失,给高速公路经营管理带来经济上、法律上的纠纷和后果。如何及时准确的检测到抛洒物事件的发生,高效率的检测路面上产生的抛洒物,并且
4、及时清理避免造成交通事故已经成为国内外交通部门关注的热点问题。1.2 国内外研究现状目前,我国大部分的公路监控控制中心应用的视频图像检测系统均依赖于人工对事件进行检测,其功能更接近于一套“监视”系统而非自动“检测”系统3。但是由于人员和技术上的问题,其方法操作起来具有局限性及效率低等问题,无法满足路面安全检测对实时性的要求,不过人工检测确实可以作为综合事件检测手段。西方的一些发达国家已经研发并实施了一些基于视频图像检测的算法,缓解了愈加严重的由抛洒物引发的交通安全隐患,如加利福尼亚算法、贝叶斯算法、基于视频图像序列的抛洒物检测低通滤波算法、交通流模型算法、视频检测算法、人工神经网络算法等。现场
5、实验表明,这些算法可以有效的检测产生的抛洒物,及时的避免二次交通事故,减少人工检测需要投入的资源,并提高检测的效率,对抛洒物的检测有重要的意义。就抛洒物事件而言,目前有许多算法来检测抛洒物事件的发生。Elena Stringa、Carlo S. Regazzoni等人研制了一个系统,该系统可以检测在一段时间内场景的永久改变,并可以识别这种改变是由抛洒物引起的还是其他原因引起的4。这些系统关注基于内容检索的能力,诸如颜色、纹理、语义学等,以便提取感兴趣区域内导致报警的原因的信息。这个系统可以自动检测出触发报警的遗留物体的序列。M.Spengler,B.schiele等人综合了跟踪和监视系统以检测
6、抛洒物事件的发生,包括两个级联的模块:贝叶斯多目标跟踪模块和目标检测监视模块。M.D.Beynon,D.J.Van Hook等人提出一个多摄像机视频监视系统来自动检测抛洒物事件。每个抛洒物的拥有者都会被检测和跟踪,采用距离和时间参数,多摄像机用于重叠区域监视以适应多种不同的情况。上述这些抛洒物检测方法多用于室内有人遗留或者偷窃物体的场景,用于抛洒物交通事件的检测的并不多。国内人工检测技术的应用,除了电话报警之外,一些公路还布设了一定数量的视频远程监控系统,也有很多公路配备了交通巡逻车和事件检测车(Probe Vehicle)。国内首次接触交通事件视频检测器是在二十一世纪初,当时的事件视频检测器
7、的空白是由国外产品所填补的。应国内道路发展所需,国外大多是将用于交通数据采集的视频检测器根据中国特殊的交通状况进行改进,使其具备基本交通事件检测功能,但由于图像质量、软件更新、产品维护等诸多方面严重受滞,从而导致视频检测器自身有无法弥补的诸多缺陷。如沪宁高速采用的是比利时Traficon公司的核心技术。而这些视频检测器多采用视频虚拟线圈技术,即通过在视频图像的车道上设置虚拟检测器,当车辆通过虚拟检测器时,就会产生检测信号,再经过处理和计算得到所需的交通数据。这种方法只能检测到车辆拥堵、停车等基本事件,无法检测抛洒物事件的发生。后来,国内许多大中型企业也开始涉足交通事件视频检测器领域,但也大多未
8、打破固有的技术模式。如今,我国已有了具有自主知识产权的技术。比如2006年由北京宇航时代科技发展有限公司研发的“时代一号”道路交通事件视频检测系统己实现抛洒物、隧道烟雾火焰、路面突发异常等多项事件检测的功能5。然而,由于我国涉足交通事件检测起步较晚,时间尚短,目前市场还有些混乱,在目前的服务水平下,检测效果也未必理想,其实际应用效果还有待检验,可能还存在很多问题。很多高速公路、隧道路段采用的依旧是国外的解决方案,特别是有关抛洒物事件的检测,仍是一个有待解决的问题。第2章 开发工具简介2.1 OpenCV 简介OpenCV是一个开源的计算机视觉库,全名Open Source Computer V
9、ision Library,是Intel开源计算机视觉库。采用C/C+语言编写,可以运行在Linux/Windows/Mac等操作系统上。OpenCV还提供了Python、Ruby、MATLAB以及其他语言的接口。 OpenCV的设计目标是执行速度尽量快,主要关注实时应用。因它采用优化的C代码编写,能够充分利用多核处理器的优势。OpenCV的一个目标是构建一个简单易用的计算机视觉框架,以帮助开发人员更便捷地设计更复杂的计算机视觉相关应用程序。OpenCV包含的函数有500多个,覆盖了计算机视觉的许多应用领域,如工厂产品检测、医学成像、信息安全、用户界面、摄像机标定、立体视觉和机器人等。因为计算
10、机视觉和机器学习密切相关,所以OpenCV还提供了MLL(Machine Learning Library)机器学习库。该机器学习库侧重于统计方面的模式识别和聚类(Clustering)。MLL除了用在视觉相关的任务中,还可以方便地应用于其他的机器学习场合。本系统在分析国内外抛洒物检测基础上,着重研究基于视频图像序列的抛洒物事件检测。采用OpenCV开源计算机视觉库对视频图像序列进行处理。它实现了图像处理和计算机视觉方面的很多通用算法。其重要特性有:1. OPenCV拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库尽管也可以使用某些外部库。2. OpenCV对非商业应用
11、和商业应用都是免费(FREE)的。3. OpenCV为Intel Integrated Performance Primitives(IPP)提供了透明接口。这意味着如果有为特定处理器优化的IPP库,OpenCV将在运行时自动加载这些库。本系统采用OpenCV 1.0版本,主要包含CxCore、机器学习、CvAux、Cv、HighGUI五个类别的功能。其中主要包括:1. 基本函数。如基础结构定义了OpenCV中所用的数据结构,包括点、矩形、图像信息、图像矩阵数组等;数组操作实现数组元素的访问、修改、变换和置换、算逻比较、及一些离散变换如DCT变换等;动态结构实现一些内存操作,序列、树、图等结构
12、的操作;数据保存和运行时类型信息,如文件的读写等、错误处理等。2. 图像处理和计算机视觉功能。图像处理,如直方图、梯度边缘角点、采样差值几何变换、腐蚀膨胀、色彩空间变换等;结构分析,如轮廓处理、平面划分等;运动分析与对象跟踪,如一些运动模版、对象跟踪算法如Kalman。3. 机器学习。如Boosting、NormalBayes分类器、K近邻算法、决策树等常用的机器学习算法等。4. 绘图函数。用于在视频中绘制一些点线面或者文字等。5. 用户交互,其他三维函数及系统函数等。OpenCV是目前世界上最好的开源图像及视觉软件包之一,这一点已经被广泛认同,由于其开源软件的特性,任何开发人员都可以利用其开
13、发自己的图像或者视觉应用,对于中小型的视觉项目,它是比较好的选择,开发人员可以在其基础之上做出功能更为强大的系统。虽然Matlab也是目前世界上最强大的图像算法处理软件工具之一,可应用于图像处理计算及仿真领域,其编程快速,实现简单,但是其代码效率低,执行速度慢,编写的应用大多用于仿真,难以脱离Matlab平台和商业化。而OpenCV不仅开源,函数功能丰富,而且方便快捷,平台无关,可在Windows系统、Linux系统、MacOSx系统等操作平台上使用,与其他编程工具相结合,是二次开发的理想工具。大多数计算机科学家和程序员已经意识到计算机视觉的重要作用,但是很少有人知道计算机视觉的所有应用6。例
14、如,大多数人或多或少地知道计算机视觉可用在监控方面,也知道视觉被越来越多地用在网络图像和视频方面。少数人也了解计算机视觉在游戏界面方面的应用。但是很少有人了解大多数航空和街道地图图像(如Google的Street View)也大量使用计算机定标和图像拼接技术。一些人知道安全监控、无人飞行器或生物医学分析等方面的应用,但是很少人知道机器视觉是多么广泛地被用在工厂中:差不多所有的大规模制造的产品都在流水线上的某个环节上自动使用视觉检测。 OpenCV所有的开放源代码协议允许你使用OpenCV的全部代码或者OpenCV的部分代码生成商业产品。使用了OpenCV后,你不必对公众开放自己的源代码或改善后
15、的算法。许多公司(IBM,Microsoft,Intel,SONY,Siemens和Google等其他公司) 和研究单位 (例如斯坦福大学、MIT、CMU、剑桥大学和INRIA) 中的人都广泛使用OpenCV,其部分原因是OpenCV采用了这个宽松的协议。OpenCV在全世界广受欢迎,在中国、日本、俄罗斯、欧洲和以色列都有庞大的用户群。自从OpenCV在1999年1月发布alpha版本开始,它就被广泛用在许多应用领域、产品和研究成果中。相关应用包括卫星地图和电子地图的拼接,扫描图像的对齐,医学图像去噪(消噪或滤波),图像中的物体分析,安全和入侵检测系统,自动监视和安全系统,制造业中的产品质量检
16、测系统,摄像机标定,军事应用,无人飞行器,无人汽车和无人水下机器人。将视觉识别技术用在声谱图上,OpenCV可以进行声音和音乐识别。在斯坦福大学的Stanley机器人项目中,OpenCV是其视觉系统的关键部分。Stanley在DARPA机器人沙漠挑战赛中,赢得了二百万美元奖金。计算机视觉是将来自静止图像或视频的数据转换成一个决策或者一种新的表达方式的过程,所有的这些转换都是为了达到某个目标。输入数据可以包含一些辅助信息,如“摄像机架在汽车上”或“激光扫描仪在1米处发现一个物体”。最终的决策可能是“场景中有一个人”或“在这个切片中有14个肿瘤细胞”。一种新的表达方式可以是将一张彩色照片转为灰度照
17、片,或者从图像序列中去除摄像机晃动影响。 因为人类是视觉动物,所以会误以为可以很容易地实现计算机视觉。当人类凝视图像时,我们凭直觉会觉得很容易从中找到一辆汽车。人脑将视觉信号划分入很多个通道,将各种不同的信息输入大脑。大脑有一个关注系统,会根据任务识别出图像的重要部分,并做重点分析,而其他部分则分析得较少。在人类视觉流中存在大量的反馈,但是目前我们对之了解甚少。肌肉控制的传感器以及其他所有传感器的输入信息之间存在广泛的关联,这使得大脑可以依赖从出生以来所学到的信息。大脑中的反馈在信息处理的各个阶段都存在,在传感器硬件(眼睛)中也存在。在眼睛中通过反馈来调节通过瞳孔的进光量,以及调节视网膜表面上
18、的接收单元。在计算机视觉系统中,计算机接接收到的是来自摄像机或者磁盘文件的一个数值矩阵。一般来说,没有内置的模式识别系统,没有自动控制的对焦和光圈,没有多年来经验的积累。视觉系统通常很低级。实际上,计算机视觉问题比前面我们提到的更糟糕,它是不可解的。给出三维世界的二维视图,是没有固定方法来重建出三维信息的。在理论上,此类病态问题没有惟一和确定的解。即使数据很完美,同一张二维图像也可以表示多种三维场景。然而,如前面提到的,数据会被噪声和形变影响。这些影响来自真实世界的变化(天气、光线、反射、运动),镜头和机械结构的不完美,传感器上的长时间感应(运动模糊),传感器上和其他电子器件上的电子噪声,以及
19、图像采集后的图像压缩引入的变化。设计实际系统时,为了克服视觉传感器的限制,通常会使用一些其他的上下文知识。例如,移动机器人在室内寻找并捡起订书机。机器人可以利用这个先验知识:可在办公室内发现桌子,订书机最可能在桌子上被找到。这给出了一个隐含的尺寸参考或参照,也就是订书机能够放在桌子上。这也可以用于消除在不可能的地方(例如在天花板或者窗户上) 错误识别出订书机的可能性。机器人也完全可以忽略一个200英尺大小的跟订书机形状类似的广告飞艇,因为飞艇周围没有桌子的木纹背景。与之相反,在图像检索中,数据库中的所有订书机图像都是对真正的订书机拍摄的,而且尺寸很大和形状不规划的订书机图像一般不可能被拍到。也
20、就是拍摄者一般只拍摄真正的、普通大小的订书机图像。而且人们拍照时一般会将被拍物体置于中心,且将物体放在最能表现其特征的方向上。因此在由人拍摄的图像中,具有相当多的隐含信息。我们也可以使用机器学习技术对上下文信息进行显式建模。隐含的变量(例如物体大小、重力方向及其他变量) 都可以通过标记好的训练数据里的数值来校正。或者,也可以通过其他的传感器来测量隐含的变量。使用激光扫描仪可以精确测量出一个物体的大小。计算机视觉面临的另一个难题是噪声问题。我们一般使用统计的方法来克服噪声。例如,一般来说不可能通过比较一个点和它紧密相邻的点来检测图像里的边缘。但是如果观察一个局部区域的统计特征,边缘检测会变得容易
21、些。由局部区域卷积的响应连成的点串,构成边缘。另外可以通过时间维度上的统计来抑制噪声。还有一些其他的技术,可以从数据中学习显式模型,来解决噪声和畸变问题。例如镜头畸变,可以通过学习一个简单多项式模型的参数来描述这种畸变,然后可以几乎完全校正这种畸变。2.2 C+简介C+是一种使用非常广泛的计算机程序设计语言。它是一种静态数据类型检查的,支持多范型的通用程序设计语言。C+支持过程化程序设计、数据抽象化、面向对象程序设计、泛型程序设计、基于原则设计等多种程序设计风格。贝尔实验室的比雅尼斯特劳斯特鲁普博士在20世纪80年代发明并实现了C+。起初,这种语言被称作“C with Classes”(“包含
22、类型的C语言”),作为C语言的增强版出现。C+进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。C+目前流行的编译器最新版本是Borland C+4.5,Symantec C+6.1,和Microsoft VisualC+ 2012。C+提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。但是,C是C+的基础,C+语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C+就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍
23、的目的。随后,C+不断增加新特性。虚函数(virtual function)、操作符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常处理(exception)、RTTI(Runtime type information)、命名空间(namespace)逐渐纳入标准。1998年,国际标准组织(ISO)颁布了C+程序设计语言的第一个国际标准ISO/IEC 14882:1998,目前最新标准为 ISO/IEC 14882:2011。另外,就目前学习C+而言,可以认为它是一门独立的语言;它并不依赖C语言,我们可以完全
24、不学C语言,而直接学习C+。根据C+编程思想(Thinking in C+)一书所评述的,C+与C的效率往往相差在5%之间。所以有部分人(谁?)认为在大多数场合(哪些?)中,C+完全可以取代C语言。C+语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。这一阶段C+语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C+中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C+受到
25、了一定的冲击;第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C+出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使C+已经成为当今主流程序设计语言中最复杂的一员。第3章 基于视频图像序列的抛洒物检测系统设计3.1 抛洒物问题分析首先,研究抛洒物视频检测的必要性。抛洒物事件引发的交通事故,不仅在经济上造成重大损失,而且往往也会造成重大人员伤亡。因此,研究公路抛洒物事件的检测是很有现实意义的。 其次,公路抛洒物视频检测的可行性。本系统从技术与经济两方面来分析其可行性。 在技术方面抛洒物一般描述为,在监控视频中,从运动目标上分离,
26、逐渐静止到场景中,并融入背景的物体。在公路上的抛洒物是从车辆目标上分离的,且抛洒物一般较小(与车辆相比)。也就是说,抛洒物具有以下特征,从运动的车辆目标上分离,其外形特征与车辆目标差别很大,运动一段时间后,静止到场景中。那么,分析到此,已经基本可以断定公路抛洒物的检测是可行的了。第一,从公路监控视频中,检测出目标,包括车辆目标和抛洒物(在运动阶段的时候),这一点没有问题;第二,从目标中,分离出车辆目标,根据上面分析的抛洒物与车辆目标在特征上有较大差异,所以,这一点用分类器可以做到;第三,从除去车辆目标的剩余目标中区分出抛洒物,这一点可以根据其静止的特征,将此问题转换成静态前景物的检测。第一、二
27、两点,可行性毋庸质疑,接下来,讨论第三点的可行性。经过第二步区分出车辆目标之后,剩余目标均为可疑目标了,根据抛洒物的静止特征,用静态前景物的检测方法,将其检测出来,另外,目前很多用于遗留物体检测和滞留与偷窃物检测等算法均属静态前景物检测算法范畴,至此,可以说第三点也是可行的。综合上述分析,通过公路监控视频对抛洒物检测,在技术方面是可行的。 在经济方面,基于监控视频的抛洒物检测,可以利用公路原有的视频监控设备,并能提高和改善传统的、落后的人工视频监控的状况,提高设备的利用价值,对提前预防交通隐患,保障公路高效安全运行有着十分重要的意义,因此,在经济方面也是可行的。 此外,通过上面的分析,公路抛洒
28、物检测尽管是可行的,但是,依然面临很多问题。第一,监控环境属于室外环境,复杂多变,场景在一天中随时间的变化而变化(光线变化),并受季节和天气(阴、晴、雾等)的影响,抛洒物的检测最终要使用静态前景物检测算法,这类算法大都需要基于一张可靠、真实的背景,因此,如何在这复杂多变的场景下提取具有较强鲁棒性的背景,是本系统面临的第一个问题;第二,在如此复杂多变的监控场景下,如何准确、完整地检测到目标,特别是目标与背景在灰度上接近的情况下,因此,获得一个适合公路监控场景的目标检测算法,是本系统面临的第二个问题;第三,公路上的抛洒物虽然与静态前景物有相似之处,但还是有其自己的特征的,而且公路的场景也要比一般应
29、用静态前景物检测算法的室内环境复杂的多,如遗留物体检测算法、滞留与偷窃物体检测算法等,它们的应用场景均为室内,这些不同,使得本系统不能直接把一般的静态前景物检测算法应用到本系统的抛洒物检测系统中,因此,在已有静态前景物检测算法的基础上,找到适合公路抛洒物检测的算法,是本系统面临的第三个问题。3.2 性能需求分析在性能分析阶段,分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:1. 系统处理的准确性和及时性。系统处理的
30、准确性和及时性是系统的必然要求。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。2. 系统的开放性和系统的可扩充性。系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的方法进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。3. 系统的易用性和易维护性。要实现这一点,就要求系统应该尽量
31、使用用户熟悉的术语和中文信息的界面。针对用户可能出现的使用问题,要提供足够多的在线帮助,缩短用户对系统熟悉的过程。4. 系统的数据要求。数据录入和处理的准确性和实时性;数据的一致性与完整性;数据的共享性与独立性。数据输入的格式应符合业务习惯,并且直观、方便。要求系统处理的数据能准确无误,同时输出信息要求直观、简洁。5. 系统的可靠性。系统运行具有较高的可靠性,提供严格的并发控制,确保数据的一致性和正确性。 6. 系统的安全性。系统安全措施可靠、高效、可维护性好,有权限控制。 7. 系统的可移植性。系统开发完成后,要能运行于任何Windows XP/LINUX 操作系统所构成的计算机网络环境下。
32、3.3 系统总体设计该系统由视频处理模块、目标检测模块、抛洒物检测模块、抛洒物判定模块、数据处理模块、输出模块共6个模块构成。首先,在分析常用的运动目标检测算法的基础上,采用背景差分法,以保证运算的时效性。通过图像的预处理,背景提取与更新,背景差分,阴影消除等步骤,完成运动目标的检测。在前面工作的基础上,应用基于双重背景的遗失物检测方法到抛洒物事件检测中。可以很好的适应公路交通这一特殊环境,达到了很好的检测效果。图3-1为基于视频图像序列的抛洒物检测系统的结构示意图。视频处理模块目标检测模块输出模块数据处理模块抛洒物判定模块抛洒物检测模块图3-1 基于视频图像序列的抛洒物检测系统框图其中各个模
33、块功能如下:1. 视频处理模块视频处理模块主要负责视频图像的采集接收及图像序列的初始处理工作,如初始背景的建立,背景差分法的差分图像的获得以及图像的基本处理,为后续的模块提供原始的分析对象。如图3-2所示,初始背景的建立背景差分帧差分图像输入灰度化形态学滤波二值化图3-2 视频处理模块框图2. 目标检测模块目标检测模块主要负则背景差分。3. 抛洒物检测模块抛洒物检测模块主要负责双重背景的建立、更新及差分工作。为抛洒物的判定建立原始的判断依据。抛洒物判定模块综合分类识别模块的输出结果及抛洒物检测模块的原始数据,采用基于动态矩阵、差分矩阵和双重背景的抛洒物检测方法,最终判定抛洒物事件的发生。4.
34、抛洒物判定模块抛洒物判定模块综合分类识别模块的输出结果及抛洒物检测模块的原始数据,采用基于双重背景的抛洒物检测方法,最终判定抛洒物事件的发生。帧差分视频处理模块动态矩阵原始背景当前帧当前背景更新FOi(x,y) 输出保存恢复FCi(x,y) 图3-3抛洒物检测模块框图5. 数据处理模块数据处理模块对上述模块产生的各种数据进行统计及更新,交由输出模块进行输出。6. 输出模块输出模块根据数据处理模块传递过来的数据进行分类输出,包括运动目标的框取车辆与非车目标的区分,抛洒物的标记以及各个交通参数的显示等;原始数据的格式化及文件输出;抛洒物事件图像的抓拍存储等功能。第4章 基于视频图像序列的抛洒物检测
35、系统实现4.1 基于视频图像序列事件检测的一般步骤近年来,基于视频图像序列的目标检测是计算机视觉领域备受关注的前沿,它通过视频摄像机和计算机模仿人眼的功能,分析、处理和提取各种所需的信息,涵盖图像处理、计算机视觉、模式识别、人工智能等学科知识范畴,广泛应用于工业、军事、医学、交通以及农业等各个领域7。特别是在智能交通领域,通过视频图像获取信息直接便捷,信息丰富,且可以全天候多角度进行记录和检测,已成为重要的研究方向。基于视频图像序列的事件检测一般包含五个阶段,见图4-1。事件检测目标检测图像预处理图像获取图4-1基于视频图像序列事件检测的一般步骤其中运动目标检测的主要工作是通过分析视频图像序列
36、,将运动目标从背景图像中提取出来。这对后续的运动目标轮廓的提取,运动目标的跟踪及其特征参数的计算,以及进一步的分类识别非常重要。因为根据抛洒物的特征,需要分类识别的对象就是运动的目标。能否准确快速地检测运动目标并分离出来,是抛洒物检测能否成功的一个大前提。4.2 图像预处理4.2.1. 图像灰度化图像灰度化就是将彩色图像中的彩色信息剔除,只包含亮度信息。由于彩色图像每个像素的颜色有R、G、B三个分量,而每个分量有255个值,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围8。为了简化运算,一般先将图像转化为灰度图。灰度图是把亮度值进行量化等分成0到25,共256个级别
37、,0最暗(全黑),255最亮(全白)。灰度图与彩色图像同样反映整幅图像的整体和局部的色度和亮度等级的分布和特征。在RGB模型中,如果R=G=B,即图像的RGB分量取相等的值,则颜色(R,G,B)就表示灰度色。图像的灰度化处理可用多种方法来实现。常见的灰度化方法有最大值法R=G=B=max(R,G, B),平均值法R=G=B=(R+G+B)/3,加权平均值法R=G=B=WRR十WGG+WBB等9。可以看出不论采取哪种方法,使图像由原来的三维特征灰度化后降为一维特征必然丢失部分信息,其原有的颜色特征往往改变或丢失,使得同一种二值化方法因为一幅彩色图像不同的灰度化处理过程常常得到不同的结果。根据RG
38、B和YUV颜色空间的变化关系可建立亮度与R、G、B三个颜色分量的对应,以这个亮度值表达图像的灰度值,如式4-1所示 Gray=0.299R + 0.587G +0.114B 式4-1其中Gray表示图像中像素的灰度值,R表示该像素的红色分量,G表示绿色分量,B表示蓝色分量。0.299,0.587,0.114分别为前人实验和理论推导证明得出的最合理灰度图像的权值。OpenCV提供函数cvCvcolor(const CvArry*src, CvArr*dst, int code)实现图像的灰度化,其中src为原彩色图像,dst为处理后图像,code为色彩空间转换方式,在这里code为CV_BGR2
39、GRAY。 a 原RGB 图像 b灰度图图4-2 彩色图像的灰度化4.2.2 图像去噪在数字图像生成和传输的过程中研究人员发现图像经常会受噪声的干扰,从而导致图像的质量变的很差,导致后续的分析和处理受到影响。因此这一步在图像处理中对噪声滤波的作用尤其重要。图像中噪声多种多样,这些不可避免的噪声不仅图像信号的相位有影响,而且对图像的幅度也有影响并且十分复杂。其中,图像信号与在该信号中存在的噪声是相互独立并且是不相关的,另外一些则是相关的,有些噪声与该噪声本身也是相关的,因此要更好的减少目标图像中的噪声,就要分析具体情况然后采用不同的手段来加以处理,最终使处理的图像达到一定的效果。加性噪声与乘性噪
40、声是图像中常见的噪声,除此之外还有量化噪声,顾名思义,信号与噪声二者相加为加性噪声 g = f +n、相乘关系即为乘性噪声 g = f +fn,其中 f 为信号,n 为噪声。研究过程中在有效平滑图像中的无用噪声同时又能保持图像细节是本系统的主要研究问题之一。本系统主要使用中值滤波和均值滤波方法去除和减弱噪声以改善图像质量。中值滤波利用相邻像素的强度的中值代替该该点像素的强度值;均值滤波用图像中该像素点邻域强度的算术平均值取代该点的像素值,从而起到对图像的平滑作用,能够有效的抑制脉冲的干扰。 1. 均值滤波是一种典型的线性空间滤波算法,也是平滑滤波的方法,是一种通过模糊处理来减小噪声的有效的预处
41、理方法,该方法在提取目标图像中关注的目标是否能很好的去掉其中的干扰和琐碎的细节。 图像均值滤波的过程如下,以图像上任意一点为中心,取像素个数为 N= mn的区域S,然后以这 N 个像素点的灰度的算术平均值作为处理后的图像的像素的灰度值,设( x,y )为被噪声干扰的要处理的原图像,g ( x,y )为经过滤波处理后的图像,下式为均值滤波的表达式:从上式可以看出均值滤波在处理过程中将处理像素点的灰度被相邻域的所有的像素点的灰度值的平均值来替换,做到了很好的对零均值高斯分布噪声的抑制。缺点就是在使用的过程中造成了图像的模糊化,因此在图像尖锐性要求不高的情况下使用效果较好。图4-3为受高斯噪声影响下
42、的图像做均值滤波的结果:a 原灰度图像 b 加入高斯噪声 c 四邻域均值滤波 d 八邻域均值滤波图4-3 视频图像均值滤波结果2. 中值滤波中值滤波是图像处理中的非线性信号处理手段,与中值滤波方法对应的滤波器称为非线性滤波器。中值滤波的中心思想是基于排序统计理论上并能有效抑制噪声的非线性的信号处理技术。因为它的方便之处是在实际运算中不用知道所有图像的统计特性。1971 年,中值滤波器首先被J.w.Jukey提出并将该方法使用在一维信号处理中,慢慢的随着技术的提高该方法又被延伸的用到二维图像信号处理技术中。该滤波器在某些情况下可以克服一些图像的细节模糊问题,这些模糊问题一般出现在最小均方滤波、邻
43、域均值滤波等的线性滤波器中,但是在点、尖顶、线等细节多的图像序列中一般不适合采用中值滤波。接下来将介绍中值滤波的基本理论。传统的中值滤波的平滑窗口个数一般为奇数个,把滤波窗口移动后将本窗口中的指定点的灰度值,即是窗口正中间那个点的灰度值,用窗口中的存在的所有灰度值中间的那个值来换。但实际中也存在滑动窗口中具有偶数个,其滤波的中值是按排序后中间数值的平均值计算。一维中值滤波定义为:上式中,med 表示对图像中的像素进行求中值运算。上式中是对2N + 1个像素排序,最终输出像素即该像素序列的中值。 同理,二维像素矩阵表示的则是二维图像,二维中值滤波适用于二维像素矩阵。下式给出二维中值滤波的定义:方
44、形、十字形、圆环形等是二维中值滤波常见的窗口形状,线状型圆形也较为常见,实际中会根据需要采用合适的窗口形状和尺寸,不同的选择会出现不同的滤波的结果。图4-4为加入椒盐噪声后的图像进行不同窗口的中值滤波。由实验可知,采取的窗口尺寸变大时图像会变得模糊。 a 原灰度图像 b 加入椒盐噪声c 3*3 中值滤波d 5*5 中值滤波图4-4 视频图像中值滤波结果4.2.3. 二值化图像包括目标、背景、噪声,而目标检测与跟踪中的有用信息是图像中的前景目标,二值化的定义是利用图像分割算法将图像中的前景目标像素点与背景像素点分开,它是运动目标检测过程中不可缺失的一个重要步骤,具体做法如下,如果输入的图像为f
45、(x,y),输出图像为 F(x,y),通常会选取一个阈值T,对图像的二值化变换函数表达式:1, f( x,y)TF (x,y )=0, f(x,y)T上式中阈值 T 将图像 F(x,y)分成两部分,在本系统中大于 T 的像素点设为白色(目标物体),小于 T 的区域为黑色(背景)。图4-5为视频其中一帧灰度图像经过二值化处理的结果。a 原灰度图像 b 二值化图像图4-5 灰度图像的二值化图像经过二值化后不仅使它的容量比相对应的灰度图像小,操作中计算速度快,更有利于后面的布尔逻辑运算,而且通过对转换过的二值图像的计算还可以很容易的计算出目标物体的大小和位置等几何特性。确定合理的阈值是二值化的关键,
46、它影响到目标信息的完整性,好的阈值对后续的处理起到很大的作用。常用于确定阈值的方法分为模态法、可变阈值法、判别分析法;还可以分为自适应阈值确定方法也为软阈值法和固定阈值确定方法也为硬阈值法。固定的阈值的设定是根据经验人为的设定一个阈值,如果对图像的亮度有了大致的了解后再设定阈值,则可以大大提高设定的准确度,自动阈值设定于手动的规则不一样,原理是先对整幅灰度图像进行扫描,再跟踪图像中的像素点周围的亮度情况来自动设定一个阈值。而本系统中采取的是根据实际情况来选取合适的阈值T对其差分图像二值化。4.3 常见运动目标检测算法运动检测处于运动视频分析的最底层,是运动视频处理的基础。目前,基于视频图像序列
47、的运动目标检测,比较常见的检测算法归纳起来有光流法、帧差法、背景差分法三类。4.3.1原始背景的提取的方法1. 光流法光流这一概念是Gibso首次在1950年提出的,指的是时间变化过程中图像模式的变化速度。因为图像中的物体是一个个的像素点组成的,那么物体的运动就可以等价于这些像素点的变化,运动物体以像素点集合为研究对象上转变为灰度值在图像中的变化,上述像素点变化的集合就称为光流场。 光流法作为一种目标检测方法,基本思想是把亮度恒定作为约束假设或以灰度梯度基本不变为基础,该方法首次是被学者Horn和Schunck在20世纪八十年代初提出的,所谓的光流法就是将目标在连续的两帧图片上的前后移动对应的像素用向量来表示,使用该方法进行运动目标检测时要考虑到运动目标随着时间变化时所具有的光流特性。检测原理如下:给目标图像中存在的每一个像素点均赋给一个速度矢量也为光流矢量,便形成一个图像的光流运动场。根据每一个像素点的光流矢量特性对图像进行动态上的分析,当前景物体与他所在的图像背景之间保持相对运动,由目标的运动而产生的运动矢量必然不同于相邻背景中的运动矢量,这样就能很好的检测到目标所在的位置。下面为光流法流程图:采集某一时刻图像像素点的灰度信息解相关光流约束方程求像素点的速度矢量分析光流矢量场最后检测出运动目标图4-6 光流法流程图运动一致的区域,光流