基于OpenCV的车辆检测论文 - 图文 下载本文

大连交通大学2015届本科生毕业论文

第一章 绪论

1.1 课题背景和研究意义

随着当今经济的高速发展,机动车的保有量迅速增加,导致交通状况的不断恶化。现在无论哪个国家都毫无例外的受到不同程度的交通问题的困扰,在中国,这种情况尤为突出并严重影响了人类生活的质量,给环境、经济和社会带来了严重的后果。为从根本上解决交通拥挤堵塞的问题,人们开始运用各种新技术,如信息技术、计算机技术、通信技术、控制技术等,将人、车、路紧密联系起来,不仅有效地解决了交通阻塞问题,而且对交通事故的应急处理、环境的保护、能源的节约都有了显著的效果。

基于视频的运动车辆检测是自动交通事件检测系统的首要步骤及重要组成部分,它为后续的车辆检测,车辆跟踪与统计提供保证。对交通安全和交通控制具有非常重要的理论意义和实用价值,是基于视频智能交通系统的基础。 视频检测技术在传统的电视监视系统基础上将计算机视觉引入到交通信息 检测之中,通过计算机从数字图像中提取出高级交通信息,同时又像其它车辆检 测器一样能向交通监控中心提供图像和交通参数如车速、车流量等。已有的成 熟的商用视频车辆检测系统主要有Autoscope,Traficon以及Peek等。

视频序列图像运动目标分析的基本内容是利用成像系统或现有文件,从连续 的视频序列图像中提取出运动目标,同时对提取出的运动目标进行识别和跟踪, 并对其行为进行理解和描述。视频图像的运动分析以数字图像处理为基础,内容 涉及数字图像处理、模式识别、计算机视觉、人工智能等诸多领域和学科。目前, 开发视频序列图像运动目标分析系统不但在实时性、鲁棒性上有很高的要求,也 逐步重视其通用性和可移植性,这些都给视频运动分析带来了挑战。

它相对传统车辆检测技术具有如下优点:安装维护方便,摄像头架设在路边,安装维护不需要封闭道路,挖掘路面,不会影响正常交通;一个普通的CCD摄像头就可以检测几百米内的多车道交通信息,迄今为止还没有一种传感装置能够像基于计算机视觉处理那样提供如此直观、详细的交通信息参数(如精确的车辆行驶路线、车型、车辆尺寸以及车辆颜色等等);可以对交通现场录像,供以后查询;同时视觉系统也是一个被动的感知系统,它对于周围的环境几乎没有影响,即使相同的视觉系统之间也不会发生干扰。

基于上述的优越性,基于视频图像的车辆检测技术对于智能交通系统的发 展有巨大的推动作用,对于日常生活和国家的经济发展都有很大的实际意义。

1.2 国内外研究现状

随着计算机视觉技术的蓬勃发展,作为其中的一个重要分支-运动物体的检

1

大连交通大学2015届本科生毕业论文

测与跟踪技术也吸引了国内外专家学者的强烈兴趣。其原理是对视场内的运动目标进行实时的图像采集,并在此基础上运用图像处理的相关技术对观测对象进行行为分析,自动得到观测结果。车辆视频检测作为其中的一个重要运用,吸引了很多著名公司和研究机构参与其中。

国外的视频检测技术研究开始的较早,经过十几年的发展,技术己经相当成 熟,视频检测与线圈检测技术相比具有的优越性和高性价比己得到业内人士的公 认,代表了未来车辆检测领域的发展和应用方向。美国ISS公司的AUTOSCOPE, 是一个较为成功的商业系统,具有实时检测交通参数的能力,是国际上交通信息 采集中最具竞争力的视频检测系统之一。另外国外还有一些公司在这方面也从事 了应用研究和开发工作,也推出了各自成熟的系统级产品。比如ITERIS公司Vantage系列视频检测处理单元的最新视频检测器产品:Vantage Edge2,比利时Tmficon公司推出的Monitor系列等。

美国、日本等国家在车辆视频检测方面展开了大量的研究。早在1982年,东京大学教授S.Takab等就提出样本点的方法来检测车辆,此系统实际应用时的车辆计数误差小于5%,速度误差小于10%。T.Abramczuk教授则在1984年提出一种应用图像帧差的方法来检测车辆,其原理是在每一条道路上均设置一条与道路相平行的检测线,通过车辆沿车道的方向分割出运动车辆,此方法运用于瑞典皇家技术院研制的道路监控系统中取得了良好的效果。

视频车辆检测技术虽然在国内研究起步比较晚,但经过这些年的迅速发展, 也取得了很多研究成果,如中国科学院自动化研究所模式识别国家重点实验室谭铁牛研究员从20世纪90年代初就开始研究基于三维模型的智能视觉监控系统,领导视觉监控小组,针对系统中若干关键性问题像车辆检测、跟踪以及车辆基于OpenCV的视频道路车辆检测及跟踪行为分析,进行了深入的研究和探讨,提出了自己的见解和主张,取得了一系列的研究成果。

同时也有不少公司在这方面作了许多努力,如清华紫光与清华大学合作开发的新一代视频交通流量检测系统VS3001,哈尔滨工业大学的VTD2000系列视频交通动态信息采集系统,亚洲视觉公司的路段交通信息系统等等。这些产品大多数功能都比较单一,虽说有的也比较好的实现了视频检测的功能,但在实际的推广当中效果并不明显,还远远没有达到实际应用的要求,同国外的产品相比还有相当的差距。因此,我国在这方面的研究还要继续加强,不断开发和完善技术,真正推出适合于国情的交通视频检测产品。

1.3 OpenCV概述 OpenCV,全名为Open Source Computer Vision Library,是Intel公司资助的

开源计算机视觉库。它由一系列C函数和少量C++类构成,提供了针对各种形式

2

大连交通大学2015届本科生毕业论文

的图像和视频源文件(如:bitmap图像,video文件和实时摄像机)的帧提取函数和很多标准的图像处理函数,实现了图像处理和计算机视觉方面的很多通用算法。

其重要特性包括:

(1)拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库一尽管也可以使用某些外部库。 (2)对非商业应用和商业应用都是免费的。

(3)为Integrated Performance Primitives(IPP)提供了透明接口。这意味着如果有为特定处理器优化的的IPP库,OpenCV将在运行时自动加载这些库。 以往传统的开发方法要求工程人员在完成的硬件设计的同时,自己编码实现所有底层的算法,所有的图像处理函数都要从头编写,既造成时间和精力上的浪费,又难以保证稳定性、实用性和通用性,越来越难以满足现实的需求。为了解决理论到应用的难题,出现了众多的计算机视觉和图像处理软件包。例如,TargetJr及其后续版本VXL(the Vision something Libraries)就是这样一个C库的集合,在满足小型、快速和稳固的系统开发要求的同时提供了多平台移植性。Gandalf提供了计算机视觉和数值计算库,适合于可移植平台的视觉应用软件的开发。Delft科学图像处理库DIPlib是另一个科学图像处理C程序库,包含了许多图像数据多维分析和处理函数。同时许多商用图像处理和计算机视觉软件包也得到相应开发。MVTec公司开发的HALCON是其中之一,它包含了C/C++代码的图像处理库。LabView在NI图像处理硬件的支持下能加速图像处理。由微软公司开发的SDK是一个底层的图像操作分析的C++库。在Matlab中的图像处理工具包以及在Mathematica中的数字图像处理软件包都是较为强大的图像处理工具,同时这两个软件包兼有许多高级数学计算功能。由Aurora公司开发的LEADTOOLS是一套商用化计算机视觉包,它包括了图像处理服务器开发工具,允许用户创建各种基于网络的图像处理服务程序。

这些软件包为计算机图像分析和机器视觉提供了极大的便利,但也存在一些 不足之处:

(1)大多数软件包没有高级数学计算函数。并且这些软件包都不包括如目标跟踪、摄像机标定、姿态识别、脸谱识别和三维重建等高层函数。

(2)Matlab是功能较为强大的科学计算和分析平台,它提供了图像处理工具包,也提供了较为丰富的数学计算函数,但在Matlab环境下的运行速度令人担忧。虽然Matlab可以通过编译器将m文件转化为C代码。但是转换后的C代码的执行效率和可读性存在较大问题。

(3)除Matlab和LEADTOOLS。大部分软件包不支持网络服务器结构的应

3

大连交通大学2015届本科生毕业论文

用程序的开发;Mmlab的网络接口机制较为复杂,且同样存在运行效率的问题。绝大多数软件包不支持可嵌入性。

本文选取OpenCV进行视频序列图像运动分析,与上述软件包相比,OpenCV 的优势在于:

(1)C代码,源代码开放。

(2)丰富的函数功能,强大的图像和矩阵运算能力:OpenCV提供了数组、序列、矩阵、树等基本结构,也包含了差分方程求解、傅立叶分析、积分运算、特殊函数等众多高级数学计算函数,以及各种图像处理操作和目标跟踪、摄像机校准、三维重建等高级视觉函数。

(3)平台无关性。基于OpenCV开发的程序可以直接在Windows,Unix,Linux,MacOS X,Solaris,HP等平台之间相互移植,无需对代码进行任何修改。 (4)方便灵活的用户接口。OpenCV作为一个开放的计算机视觉函数库在使用上必然没有Matlab那样解释执行来得方便,而Softlmegration将CH和OpenCV绑定起来推出的CH OpenCV,解决了这一使用上的瓶颈。

(5)可嵌入性:与C/C一编译器不同。Ch能嵌在C/C++应用程序和硬件的机器脚本中。它为用户减轻了丌发维护应用程序庞大机器代码的沉重负担。统一的结构和功能定义,基于Intel处理器指令集开发的优化代码。可见,作为一个基本的图像处理、计算机视觉和模式识别的开源项目,OpenCV可以直接应用于很多领域,作为二次开发的理想工具。

OpenCV开发平台的搭建很简单,首先安装下载得到的OpenCV应用程序,然后在Visual Studio 2008下编译所要的静态和动态链接库文件,包括1ib路径的设置、include files路径的填写,再进行工程项目的链接设置就可以了。 在VS2008中建立新工程以后,在工程设置里添加需要的OpenCV库,并在程序文件中包含OpenCV的头文件,就可以在Windows下面利用VS2008进行基于OpenCV的图像程序开发了。

1.4 本文研究内容

随着社会的发展及汽车的普及,交通拥挤日益加剧、交通环境恶化等问题也变得日趋严重。近年来,智能交通系统的应用给交通运输业带来了巨大的经济效益和环境效益, 其中,基于视频的车辆检测技术在智能交通系统中占有很重要的地位,已经成为智能交通系统的重要研究课题。与传统的车辆检测方法相比,基于视频的车辆检测技术具有安装维护便捷且费用较低、可监视范围广等许多优点,具有广阔的研究和应用前景。

本文以交通道路视频为研究对象,主要对车辆检测技术进行研究。研究了如何准确的在视频中检测车辆,设计算法并进行测试分析。

4