智能交通系统详细设计说明书.doc

上传人:文库蛋蛋多 文档编号:2390790 上传时间:2023-02-17 格式:DOC 页数:67 大小:5.16MB
返回 下载 相关 举报
智能交通系统详细设计说明书.doc_第1页
第1页 / 共67页
智能交通系统详细设计说明书.doc_第2页
第2页 / 共67页
智能交通系统详细设计说明书.doc_第3页
第3页 / 共67页
智能交通系统详细设计说明书.doc_第4页
第4页 / 共67页
智能交通系统详细设计说明书.doc_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《智能交通系统详细设计说明书.doc》由会员分享,可在线阅读,更多相关《智能交通系统详细设计说明书.doc(67页珍藏版)》请在三一办公上搜索。

1、实践项目(中国区)选拔赛详细设计说明书参赛队伍名称 参赛作品名称 iTraf智能交通系统 报名注册编号(ID) 团队成员姓名 学校/系 主要联系电话 通讯地址 邮 编 电子邮箱 2008年10月10日目 录1.引言51.1.编写目的51.2.背景51.3.参考资料52.程序(模块)系统的组织结构62.1.交通事件检测软件62.1.1.视频采集模块62.1.2.预处理模块72.1.3.车辆检测模块72.1.4.车辆跟踪模块82.1.5.车辆运动信息提取模块82.1.6.交通事件检测模块92.1.7.参数设置模块102.1.8.网络管理模块112.2.管理中心软件122.2.1.交通事件集中存储检

2、索模块122.2.2.报警管理模块132.2.3.交通事件统计模块132.2.4.用户管理模块142.2.5.交通管理部门接口142.2.6.交警巡逻车接口152.2.7.语音接口152.2.8.短信发送接口163.界面设计要求164.核心算法设计174.1.运动车辆检测174.1.1.运动目标检测174.1.2.背景模型184.1.3.车辆检测194.1.4.后处理234.2.运动车辆跟踪274.2.1.基于Kalman滤波的跟踪算法274.2.2.基于模板匹配的细分割284.2.3.异常跟踪处理314.3.夜间车辆检测314.3.1.夜间车辆特点314.3.2.车灯配对324.3.3.白天

3、夜晚模式切换334.4.基于图像分析的交通事件检测334.4.1.基于轨迹的事件检测334.4.2.车速检测364.4.3.事件检测414.5.能见度和雪、雨的检测454.5.1.能见度检测464.5.2.局部直方图均衡464.5.3.基于色彩恒常理论的图像增强495.系统流程图535.1.交通事件检测软件535.1.1.视频采集模块545.1.2.预处理模块545.1.3.车辆检测模块555.1.4.车辆跟踪模块565.1.5.车辆运动信息提取模块575.1.6.交通事件检测模块595.1.7.参数设置模块605.1.8.网络管理模块615.2.管理中心软件625.2.1.交通事件集中存储检

4、索模块625.2.2.报警管理模块635.2.3.交通事件统计模块645.2.4.用户管理模块655.2.5.语音接口665.2.6.短信发送接口671. 引言1.1. 编写目的本详细设计说明书确定系统的详细功能模块和数据结构,为下阶段开发工作提供依据。1.2. 背景软件系统的名称:iTraf智能交通系统本项目的提出者:iTraf小组研究学习本项目的开发者:iTraf小组软件系统的用户:用于道路交通紧急救援、道路的智能化控制和管理等方面1.3. 参考资料iTraf智能交通系统需求规格说明书iTraf智能交通系统概要设计说明书2. 程序(模块)系统的组织结构图2-1 系统组织结构2.1. 交通事

5、件检测软件2.1.1. 视频采集模块视频采集是将摄像机的数据按照设定的频率进行采集,以进行实时处理。图2-2 视频采集模块用例图1、 初始化软件运行参数;2、 提供从前端摄像头采集数字视频到内存服务;3、 提供从视频录像文件采集数字视频到内存服务。2.1.2. 预处理模块预处理包括背景获取与更新和阴影控制(去除噪声和阴影),以及高斯滤波,图像锐化和增强,特别针对夜间的“浮雕”预处理,可以将车灯光去掉。图2-3 预处理模块用例图1、 对采集到的视频进行采集时段(白天或夜间)判断;2、 提供白天、夜间两种视频帧预处理模式;3、 视频背景图像获取与更新;4、 阴影控制(去除噪声和阴影);5、 高斯滤

6、波,进行图像锐化和增强;6、 针对夜间的“浮雕”预处理,可以将车灯光去掉。2.1.3. 车辆检测模块车辆检测包括车辆矩形提取(特征计算、模式匹配、矩形提取)、车辆分割和合并(将连在一起的不同目标分开,将属于同一辆车的不同部分合并)图2-4 车辆检查模块用例图1、 车辆矩形提取(特征计算、模式匹配、矩形提取);2、 车辆分割和合并(将连在一起的不同目标分开,将属于同一辆车的不同部分合并)。2.1.4. 车辆跟踪模块采用卡而曼虑波,对目标先进行运动估计,后再寻找匹配目标。利用车辆跟踪可绘制车辆的轨迹图像,据此可进行碰撞预测(利用隐马尔可夫HMM模型结合直线拟合预测可能出现的交通事故)。图2-5 车

7、辆跟踪模块用例图1、 要采用卡而曼虑波,对目标先进行运动估计,后再寻找匹配目标;2、 利用车辆跟踪绘制车辆的轨迹图像,据此进行碰撞预测;3、 利用隐马尔可夫HMM模型结合直线拟合预测可能出现的交通事故。2.1.5. 车辆运动信息提取模块在车辆跟踪的基础上,对车辆的运动轨迹以及车速进行估计。并根据运动轨迹,进行碰撞预测。图2-6 车辆运动信息提取模块用例图1、 轨迹直线拟合;2、 车速估计;3、 碰撞预测。2.1.6. 交通事件检测模块将各种信息(诸如每辆车的信息、平均车速、是否拥挤、是否发生交通事故、天气状况、车道变换统计、以及车道占有率等)不但显示在客户端还要分类实时或定时发送到服务端,以供

8、决策者进行决策指挥和研究者进行交通状况研究。图2-7 交通事件检测模块用例图1、 显示过往车辆信息;2、 显示过往车辆数;3、 交通流量的检测;4、 停车车辆的识别与统计;5、 慢行车辆的识别与统计;6、 快行车辆的识别与统计(是否超速);7、 车辆型号的识别与统计(是否在正确的车道上行使);8、 逆向车辆的识别与统计(违章驾驶);9、 平均车速检测与统计(路况是否畅通);10、 车道占有率检测与统计(可扩展功能);11、 车道变换车辆的识别与统计(可扩展其功能);12、 交通拥挤的识别;13、 交通事件类型的识别与统计;(把事件分细);14、 交通事件位置的识别与统计;15、 能见度的检测;

9、16、 雪、雨天气的检测;17、 显示交通状况。2.1.7. 参数设置模块主要是设定系统工作所需要的参数:视频源,图像文件和视频录像的存放位置,背景更新的时间,提取背景所用的帧数,阴影去除相关参数,灰度二值化阈值,车道线标定,车型界限设定,车速检测线标定等。图2-8 参数设置模块用例图1、 输入源设置;2、 图像存储路径设置;3、 车道线设置和校准;4、 检测区设置;5、 背景保存;6、 背景更新时间设置;7、 阴影消除设置;8、 二值化阈值设置;9、 车型设置;10、 虚拟检测线设置;11、 运行暂停;12、 交通事件相关参数设定;13、 查看轨迹图像;14、 查看差分图像;15、 查看二值

10、化图像;16、 查看闭图像;17、 查看车道线;18、 背景差分选择;19、 形态滤波选择;20、 存储录像设定。2.1.8. 网络管理模块与管理中心通讯,提供参数远程设置功能。图2-9 网络管理模块用例图1、 输入源设置;2、 背景更新时间设置;3、 阴影消除设置;4、 二值化阈值设置;5、 车型设置;6、 运行暂停;7、 交通事件相关参数设定;8、 背景差分选择;9、 形态滤波选择;10、 远程连接帐号密码设置。2.2. 管理中心软件2.2.1. 交通事件集中存储检索模块图2-10 交通事件集中存储检索模块用例图1、 与前端车辆事件检测软件通讯,获取前端交通事件(交通流量、停车车辆数、慢行

11、车辆数、快行车辆数、通行车辆的型号、逆向车辆数、平均车速、车道占有率、车道变换车辆数、交通拥挤情况、天气状况);2、 提供前端交通事件检索服务。2.2.2. 报警管理模块图2-11 报警管理模块用例图1、 当出现交通拥挤时,触发报警;2、 当出现逆向行驶车辆时,触发报警;3、 当出现车辆碰撞时,触发报警;4、 当一定时间内停车车辆数超过预先设置的最大值,触发报警;5、 当一定时间内变道车辆数超过预先设置的最大值,触发报警;6、 用户可设置报警联动动作,包括声光提示、短信发送、语音等;7、 用户可查看管理报警日志。2.2.3. 交通事件统计模块图2-12 交通事件统计模块用例图1、 报告一天内各

12、点及总体车辆数;2、 报告一天内各点及总体的大、小型车辆数;3、 报告一天内各点及总体的变化车道统计数据;4、 报告一天内各点及总体的事故类型及次数(碰撞、异常滞留、拥挤);5、 报告一天内各点及总体的交通拥挤、故障持续时间;6、 实时的交通拥挤、事故报告。2.2.4. 用户管理模块图2-13 用户管理模块用例图1、 用户帐号密码设置;2、 用户权限配置;3、 用户添加删除设置;4、 用户操作日志管理。2.2.5. 交通管理部门接口图2-14交通管理部门接口用例图1、 定时将各道路交通顺畅程度汇集成文本信息,发送给交通管理部门;2、 将交通事件分类汇总,按事件严重程度的优先级,先后向交通管理部

13、门报警;3、 将发生交通事件前后的视频录制保存,为交通管理部门的工作提供依据;4、 交通管理部门对收到的警报做出响应操作;5、 交通管理部门可以随时了解各路段的交通信息;2.2.6. 交警巡逻车接口图2-15交警巡逻车接口用例图1. 将交通事件分类汇总,按事件严重程度的优先级,先后发送给交警巡逻车;2. 交通管理部门对收到的警报做出响应操作,并以就近原则赶往现场;3. 交通巡逻车可以随时了解各路段的交通信息;2.2.7. 语音接口图2-16 语音接口用例图1. 将交通事件汇集成文本信息;2. 定时将各道路交通顺畅程度汇集成文本信息;3. 采用语音库将文本信息转化成语音,并输入语音系统;4. 可

14、定时进行,也可以事件触发;5. 司机可以收听到交通。2.2.8. 短信发送接口图2-17短信发送接口用例图1、 添加删除订阅交通短信通用户及其手机号;2、 将道路拥挤信息发送到用户。3. 界面设计要求用户界面采用Windows风格,便于用户进行操作。在界面设计方面,采用微软的最新技术WPF来负责整个系统的界面设计。WPF的全称是Windows Presentation Foundation,是微软新发布的Vista操作系统的三大核心开发库之一,其主要负责的是图形显示,所以叫Presentation(呈现)。 作为新的图形引擎,WPF是基于DirectX的,当然增加了很多新的功能。其2D和3D引

15、擎的强大看看Vista的界面就明白了,再加上其对Aero图形引擎的支持,更加让你感到神奇。顺便提一下,Aero是专门为3D桌面开发的引擎,可以让桌面实现神奇的3D翻转,这绝对是操作系统有史以来的一次神奇尝试,虽然对硬件配置的要求也是惊人的。WPF其实不仅仅是图形引擎而已,它将给Windows应用程序的开发带来一次革命,因为新的架构提供了一种全新的开发模式。当然对于普通用户而言,最直观的就是界面越来越漂亮,看起来越来越舒服了;但对于开发人员而言,界面显示和代码将更好的得到分离,这与从前的桌面应用程序开发有很多不同(界面设置和代码是融合在一起的),这是比较具有革命性的改变之一。还有就是桌面应用程序

16、和浏览器应用程序的融合,根据ms的承诺,正在开发中的WPF/E,即WPF Everywhere版本,将为基于WPF的应用程序提供全面的浏览器支持,这意味着未来开发出的应用程序将可以基于浏览器在不同的操作系统上运行,当然由于目前还在开发中,我们并不确定会不会有一定的限制,根据WPF/E开发组的定义,WPF/E仍然是WPF的子集,而不是后继版本。总体而言,WPF的前景应该是一片光明。用户界面设计规则1、 尺寸在合理的布局下尽可能多的显示控件内的内容。2、 布局按照操作流程或浏览顺序自左至右、由上而下的排放各种控件,使界面整体协调、美观大方。3、 自适应父对象的尺寸改变控件应具有自适应父对象的尺寸改

17、变的能力,当父对象的尺寸发生变化时,控件应能自动改变自己的尺寸并使界面保持整体协调,尽量减少因父对象的尺寸改变而带来的操作或浏览上的不便。4. 核心算法设计4.1. 运动车辆检测4.1.1. 运动目标检测运动车辆检测算法是基于图像分析的高速公路事件自动检测系统的关键部分。本系统采用背景差分的方法进行运动目标检测。背景差分法就是对当前帧图像与背景帧图像进行差分,这是最常用的方法,运动车辆和暂时停止的车辆都可以检测,因此适用于摄像机静止的情形。它首先为图像序列建立背景模型,提取不含运动目标的参考背景,通过将当前图像帧和参考背景进行比较,确定出亮度变化较大的区域,即认为是前景区域。这种方法的计算速度

18、很快,可以获得关于运动目标区域的完整精确的描述,但对场景中光照条件、大面积运动和噪声比较敏感,在实际应用中需采用一定的算法进行背景模型的动态更新,以适应环境的变化。4.1.2. 背景模型背景差分法在提取运动目标时假设图像序列的背景是固定不变的,因而它能十分有效地检测出快速和缓慢运动、甚至是静止的非背景的目标。但是这种方法对背景的变化比较敏感,当背景光照发生变化时,如果不能及时地更新背景图像将产生错误的检测结果,因此对于长时间的目标检测来说,背景的光照必然是随时间变化的,必须采用自适应地背景更新的方法。在高速公路监控图像中,通过标定场景路面图像作为图像处理区域,其背景图像简单,而且每个背景点上的

19、颜色分布比较集中。本系统采用运算速度快、性能较好的统计学背景模型序列均值法。 (5-1)其中cR,G,B。虽然路面上有车辆通过,但是只要统计的时间足够长总能得到比较好的背景图像。图3-1是实验中提取的背景。在图4-1中,上左图为视频图像;上右图为视频图像50帧的均值结果,由于训练的帧数过小,在提取的背景图像上有目标车辆的残留痕迹;下左图为视频图像200帧的均值结果,训练帧数适中,提取的背景图像平滑接近实际背景;下右图为视频图像700帧的均值结果,提取的背景更接近于实际背景,比起下左背景改善很小,但运算时间却花费过多。由图可见,背景图像提取过程中,训练帧数需适中,一般200300帧即可。图4-1

20、背景提取比较图4.1.3. 车辆检测4.1.3.1. 差分模型传统的背景差分法都采用背景图像与当前帧图像的灰度差值来实现,但是可利用的信息太少,当车辆与路面背景的灰度值非常接近的时候,检测出的车辆目标区域会出现大片的空洞或破裂,甚至漏检。为克服此问题我们对采集的大量视频图像进行了观察和分析,发现物体与背景灰度相同的区域,其颜色一般不会相同,因此采用如下彩色图像差值模型: (5-2)图4-2上图为本系统差分模型得到的车辆检测图;图4-2下图为对应的图像灰度值相差的车辆检测图。由图可以看出,本系统差分模型得到的车辆检测图比较完整,空洞或者破裂的现象较少。图4-2差分模型比较4.1.3.2. 阴影抑

21、制通过观察发现,经过上述方法分割出的车辆,在大部分情况下是存在阴影影响的,这样就会使分割出来的车辆面积比实际的大,甚至有可能造成两个或多个车辆由于阴影而相互粘连在一起,若以此作为后续工作的依据,则势必会造成误差,甚至错误。通常的运动目标检测方法都无法直接区分运动目标和阴影,因为阴影部分与运动目标部分具有某些相似的视觉特征,这就给阴影检测带来困难。由于在RGB空间中,人的感知差别和计算差别的一致性较差,因此提出了很多颜色空间,如:归一化RGB,HSV(Hue,Saturation,Value),C1C2C3及L1L2L3Error! Reference source not found.。这些颜

22、色空间可以很好地体现颜色的一致性。但是对于归一化RGB颜色空间,由于它在黑色(R=G=B=0)上没有定义,因此在黑色附近很不稳定。对于HSV空间,当RGB三个分量相等时Hue没有定义。所以在这些颜色不变性彩色空间中,本系统采用了C1C2C3模型,其颜色空间定义如下: (5-3) , (5-4) (5-5)其中R(x,y), G(x,y), B(x,y)分别表示像素的RGB三个颜色分量。由阴影的性质可知,阴影点比对应位置背景像素点的亮度要低而颜色不变。定义: (5-6)其中,分别表示背景与当前图像的亮度值,计算方法: (5-7)在理想的情况下,阴影点必有。但是由于噪声的存在,我们给定一个阀值tL

23、,即变为。为了获得更好的鲁棒性,我们以点(x,y)为中心的小窗口(2N1)(2M1)的亮度总差值来代替点(x,y)的亮度差,即: (5-8)当亮度差值小于tL的像素点位置(x,y)就可以被当作候选阴影点。在阴影颜色不变性上,本系统考虑C1C2C3差值,其定义为: (5-9) (5-10) (5-11)当diCi时,i1,2,3,即认为位置(x,y)颜色不变,为阴影候选点。同时,与处理亮度差值一样对di(i1,2,3)做窗口化处理。综合上述亮度差值与颜色不变性两个条件,就可以得出阴影检测结果。图4-3为阴影检测图,其中参数设置为:tL10,C10。2,C20。2,C30。2,白色部分表示的为阴影

24、。由图中可以看出,阴影检测效果较好。只是车辆的后车窗也被误检测为阴影了,这可以通过边缘检测模版和连通区域统计的方法根据阴影的几何位置估计去掉,因为阴影不可能在目标部分的中间位置。图4-3阴影检测图4.1.4. 后处理4.1.4.1. 形态滤波在差分阀值处理过程中,有时候由于车身颜色跟路面颜色非常接近,造成车辆目标图像断裂而不连续,同样会给后面的处理工作带来不便。而且还有一些孤立的噪声点存在,因此在本系统中采用了形态滤波的方法来提高车辆检测的准确度。在本系统中使用 33 正方形的结构元素先对处理图像膨胀一次,再对膨胀后的处理图像同样地也做腐蚀处理。膨胀是为了连接同一车辆的断裂处,而腐蚀可以消除孤

25、立的噪声点。图4-4左边的小图为背景差分图像的二值化图像,右边的小图为对应的形态滤波图像(包含阴影抑制)。图4-4 车辆检测形态滤波图4.1.4.2. 车辆矩形提取由于本系统跟踪算法的跟踪对象是矩形框,因此我们还要提取车辆目标区域的最小外接矩形。在8-连通操作后,我们可以得到各个标记过的连通区域,其最小外接矩形计算方法如图4-5所示。图4-5 最小外接矩形示意图最小外接矩形Rect提取公式: (5-12)在式(5-12)中,分别表示连通区域的x,y坐标;分别表示矩形的左端、右端、上端与下端。在实验中发现,虽然在背景差分建模及形态滤波等操作中都考虑了同一车辆的连续问题,但是在车身颜色跟路面颜色非

26、常接近时,车辆目标图像断裂的现象还是存在,即同一车辆对应多个最小外接矩形框,如图4-6所示。图4-6 检测车辆断裂现象图图4-7 车辆检测最终结果图为使断裂的同一车辆只对应唯一矩形框,本系统提出了矩形间距离的概念。其定义:(5-13)其中RectA,RectB 分别为两个矩形,Ca,Cb为对应的质心。点到矩形的距离定义为:当该点处于矩形之外时,即为点到矩形上所有点的最小距离;否则为零。当车辆矩形间的距离为零或者小于某个比较小的阀值时,就认为这两个矩形属于同一车辆的区域,即相关矩形合并。合并后的矩形为这两个矩形的外接最小矩形(如图4-8所示)。而且在合并矩形后,忽略明显不是车辆目标所对应的矩形框

27、,例如长宽比太大或者太小的矩形框。图4-8 车辆矩形合并图4.2. 运动车辆跟踪4.2.1. 基于Kalman滤波的跟踪算法Kalman滤波器是一个对动态系统的状态序列进行线性最小方差误差估计的算法,通过以状态的状态方程和观测方程来描述系统。该法对于平滑或者近似平滑有很好的预测效果,预测时具有无偏、稳定和最优的特点,而且简单易行。由于在高速公路上的行驶车辆可以近似认为是直线匀速运动的,因此在本系统的车辆跟踪算法中,就是采用Kalman滤波器完成车辆的运动估计。根据Kalman滤波器的原理和运动车辆的特点,建立了车辆匀速运动的Kalman滤波器模型。虽然Kalman滤波可以很好的预测出车辆的位置

28、,但是在多辆车相互遮挡时,检测到的车辆区域矩形就不能与预测位置一一匹配,从而产生二义性。本系统提出了一种跟踪匹配矩阵与模板匹配相结合的方法来准确分割相互遮挡的车辆。跟踪模板为四维向量即为Kalman滤波器、当前帧矩形、下帧预测矩形与车辆图像,即: (5-14)在应用Kalman滤波预测矩形后,让检测到的车辆区域矩形分别与预测矩形做距离计算,当矩形间距离等于0或者小于某个阀值就赋值为1,即检测矩形与预测矩形匹配;否则就赋值为0,即不匹配。经过这样的计算就可以得到如表5-1形式的矩阵。在理想的情况下,检测矩形与预测矩形是一对一对应或者没有对应。一对一对应匹配(如检测矩形4与预测矩形3)说明检测矩形

29、所代表的车辆属于预测矩形对应的跟踪,此时仅对跟踪模板更新,无须进一步处理;没有对应匹配(如检测矩形5)的检测矩形,表示这是新车辆驶进,随之产生一个新跟踪;没有对应匹配(如预测矩形5)的预测矩形,表示该跟踪中止,即车辆驶出;在表1中检测矩形1、2同时匹配预测矩形1,说明车辆矩形1、2在前一帧是同一个车辆区域,此时发生分裂;检测矩形3分别与预测矩形2、4匹配,这说明检测矩形3是车辆相互遮挡区域。对于分裂的车辆有两种可能,一是同一辆车由于在车辆检测时进行八连通时产生分裂;二是两辆车先是相互遮挡的,此时分开了。对于是同一辆车分裂可以把两矩形合并处理;对于是两辆车分开的情况可以根据跟踪目的(如车辆计数、

30、轨迹跟踪等)不同分别作处理。 表5-1跟踪匹配矩阵表检测矩形预测矩形123451110002001003000104001005000004.2.2. 基于模板匹配的细分割图像像素的灰度值信息包含了图像所记录的所有信息,基于图像像素灰度值的匹配是最基本的匹配算法。在车辆遮挡区域,如何准确把各个车辆分割开来是个难题。本系统把整个车辆遮挡区域作为目标搜索图像,与遮挡区域匹配的各个跟踪模板中的矩形区域图像作为匹配模板图像,然后作模板匹配,找到最匹配的位置,该位置区域就是欲跟踪的车辆。4.2.2.1. 相似性测度改进传统的相似性测度有个缺点,即模板图像和目标图像中每一对对应像素点对匹配结果的贡献是一样

31、的,这样就使得算法会容易受到个别噪声点、局部遮挡等因素的影响,而造成匹配失败。因此本系统采用了一种新的相关匹配算法,定义目标图像与模板图像像素点之间的相似度: (5-15)式(5-15)中,目标图像的子图为以点(m,n)为左上角点,宽高分别为模板图像宽高的矩形区域, 表示模板图像中像素点(x,y);表示目标图像中像素点(xm,ym)。首先计算模板图像与子图对应像素点的灰度绝对差,如果这个绝对差值小于某个确定的门限(这个门限是经过实验观察得来,经验表明这个值取在10到15之间比较合适),那么就认为这两个像素点是相似的。然后统计整个图像的相似像素点个数,相似像素点个数最大的位置对应子图最有可能就是

32、欲匹配的区域。4.2.2.2. 模板匹配加速算法模板匹配的匹配速度、匹配精度和可靠性是体现匹配性能的重要因素。很多匹配算法为图像配准提供了相当高的精度,而此时需要注意的是提高匹配速度。如果不采用加速算法,为了找到参考图像上一点在待配准图像上所对应的同名点,现有的方法不得不在搜索区域内对每一个点都做相关处理,而除了同名点外,其它所有像素点的工作都是无用功,也浪费了大量时间。为了加快匹配速度,系统采用金字塔分级搜索方法。金字塔分级搜索方法是按先粗后细的顺序寻找目标。方法是先对原图像中邻域内的像点灰度值取平均,得到分辨率低一级的图像。照此处理,可得到一组金字塔式的图像。假设有级,即,其中即原图像。当

33、把待匹配的两幅图都作此预处理后,匹配搜索从二图的某一低分辨率级开始。这里不但像点数目少、高频信息也平滑掉一部分,因此粗匹配结果可能出现不止一个匹配位置。因为图中点数少,即使粗匹配是在全部参考点上进行,搜索过程仍很快。接下去转到高一级分辨率的图上找匹配,但搜索空间只限于一个或几个粗匹配点附近,计算量不大。第三次找匹配同第二次的。仿此下去直到在的一级即原图像找出二图的匹配点为止。这一算法的加快程度可从总搜索位置数的减小看出:第一次(最低分辨率一级)是全部搜索,搜索位置数为 ,第二次到较高分辨率一级都只在粗匹配点附近搜索,所以本方法总的搜索位置数约为普通不分级搜索(需 次)的 分之一。若 ,就只有普

34、通搜索位置的 ,扣除预处理多花的时间,计算总时间仍减少了很多。图4-9金字塔搜索比配图考虑到模板图像很小,所以分层数设定为3层。4.2.2.3. 模板更新策略在遮挡区域基于模板匹配算法分割完车辆后,对其相应跟踪模板的矩形位置进行更新,但其模板图像不更新,这是由于在遮挡区域找到匹配位置的图像不是该跟踪的车辆图像,当相互遮挡车辆分裂时,不更新的模板图像可以对其进行后续的跟踪。4.2.3. 异常跟踪处理由于噪声的存在以及不可避免的跟踪错误,这就要求在跟踪算法上有些容错机制。本系统在对异常跟踪情况的处理为:驶入车辆:对于新跟踪的目标能够连续跟踪Tin帧,即认为该车辆为新驶入车辆;否则就认为是噪声干扰。

35、驶出车辆:对于失去跟踪目标的跟踪链,继续保持原有跟踪模板进行跟踪,如果超过有Tout帧跟踪失败,即认为车辆驶出;否则继续跟踪。这可以防止误认车辆暂时被遮挡的车辆驶出的情况。4.3. 夜间车辆检测4.3.1. 夜间车辆特点夜间车辆轮廓不清晰,车灯与背景的对比强烈,中心光源的强度与散射光、衍射光、反射光有明显的区别。图4-10夜间车辆通过对夜间车辆特点的长期观察发现,车灯光离中心光源越远亮度越低,这种变化具有规律性。人眼能够准确分辨车灯光源、车灯光和路面的反射光,这是因为这三种光线在人眼视网膜皮层的成像具有很大差异。根据夜间车辆的特点,运用色彩恒常理论对当前帧图像进行处理,去除边缘光线从而突出车灯

36、中心光源。图5-11 夜间车辆预处理经过预处理之后,反射光、衍射光和散射光都被去除,前景只剩下车头灯。根据事先设定的车头灯大小阈值,就可以准确提取车辆目标。图5-12 夜间车灯提取4.3.2. 车灯配对通过前面的检测,系统可以检测出一个个的车灯,但是我们的目的是检测出来一个个的车辆,因此还要对车灯进行配对。配对的策略是通过坐标的检测,将属于同一辆车的车灯重新合并到一起。具体可根据车灯在图像上的纵坐标和横坐标的差值来判定,一般情况下,如果摄像机正对车道,那么同一辆车的纵坐标相等,横坐标的差值比较小,据此可以设定阈值来检测属于同一辆车的两个车灯并进行合并。对于并排行使、车速基本相等的车辆,可以根据

37、并排的车灯个数进行取平均,每两个车灯为一对,如果平均值不为整数,那么必然存在单个车灯的车辆,这时可以根据距离和坐标信息来重新定位和分配。4.3.3. 白天夜晚模式切换可以有两种策略,一种是按照时间来进行,当系统检测到时间段是在夜间的时候,系统就自动切换到夜间模式,当白天来到的时候就自动再切换到白天模式,比如可以设定6:0018:00为白天,那么这个时间范围之外的就是夜间。另一种是按照灰度统计的方式。系统事先设定一个区域作为参考,可以选择系统的非检测区域。每隔一段时间就进行一次灰度统计,当平均灰度低于一定的阈值,就认为是到了夜间,当灰度超过了阈值,就认为是白天。然后可以通过检测区的检测来辅助判断

38、是否夜间。在夜间的情况下,检测区域呈现出的颜色比较单一,跟黑白图像类似,所以在灰度直方图上会呈现双峰的现象,可根据此特点检测夜间。系统采用后者进行昼夜判断。4.4. 基于图像分析的交通事件检测本系统在总结国内外已有算法的基础上,提出了一种简便快捷的事件检测算法:通过直线拟和,把复杂的车辆跟踪轨迹曲线简化为直线组合,以直线差角代替轨迹曲线曲率变化,以此分析车辆行驶方向的变化,最后判定事件,而且提出了基于HMM的车辆碰撞事件的预测方法。4.4.1. 基于轨迹的事件检测在本系统中,以车辆最小外接矩形的中心点代表车辆的位置,在跟踪车辆V的过程中,依次记录车辆V的位置,得到该车辆的跟踪轨迹:TrajV=

39、(x1,y1),(x2,y2),(xn,yn)由于拍摄所得的交通图像是连续的,可以获得以下一些先验知识:在相邻两帧图像上车辆位置不会变化太大。在相邻两帧图像上车辆运行方向和区域面积不会发生太大变化。因此连接这些轨迹点可以得到比较平滑的曲线。如图4-13所示。图4-13 车辆轨迹图从图4-13中可以看出,轨迹在开始时不够稳定,而后趋向稳定。这是由于车辆刚开始没有完全驶入视场,造成车辆目标部分逐渐变大,使车辆中心位置变化大;随着车辆完全驶入视场,车辆目标部分变化小,跟踪曲线平滑近似直线。在车辆跟踪曲线上可以看出在曲线上曲率变化大的位置就是车辆行驶方向开始变化的位置。下面介绍一种曲率近似度量的方法。

40、图 5-14差角计算图设曲线当前点O前后两个方向OP1,OP2的方向角分别为1和2,则前后两个方向的差角被定义为: (5-16)这样,由于曲线的曲率正比于差角,所以可以近似的用差角来表示曲率。差角越大曲率越大,反之曲率越小。因此,为了更直观的描述车辆轨迹,我们需要对车辆轨迹进行直线拟合,再对拟合的直线进行差角计算,通过分析比较作出事件的识别。直线拟合的算法很多,大致可以分为两种:一种为自底向上合并的方法,其思想是将拟合的点首先由一些短的线段表示,然后将这些短的线段合并,构成长的线段,这个方法的一个明显问题是如何选择初始线段的长度;另外一种方法为自顶向下的方法,这里以一个示例来说明其工作的原理。

41、对于如图4-15所示点的集合,以其起点和终点首先做一初始的拟合直线AB,然后计算所有点到直线AB的距离,若所有距离都小于某一个预设的阀值(例如d),则直线拟合成功;否则,找出距离直线最远点,设为C,将直线AB分裂为直线AC和CB;再次,对这两条直线分别重复上述的过程,将直线CB分裂为CD和DB,最后得出拟合的结果:直线段的序列AC,CD和DB。图4-15直线拟合示意图虽然采用上述自顶向下的直线拟合方法高效简便,但是也有一些问题。当有单个偏差较大的点对拟合结果的影响较大,可能导致最后结果不那么令人满意,甚至出现较大的偏差。在本系统中充分考虑这个问题,当大于阀值距离d的点数小于n时,就忽略这些奇异

42、点,直线不分裂。这样的处理方法对于同一车辆短时间分裂有效,车辆行驶轨迹不变。跟踪轨迹在直线拟合后可以得到一组直线,经过分析这些直线间的差角变化情况,即可知车辆的行驶情况。图4-16为典型的基于轨迹的事件判定示意图。图4-16基于轨迹的事件判定图线A为正常行驶轨迹;线B为车辆避障轨迹;线C为车辆换道轨迹。4.4.2. 车速检测4.4.2.1. 视频测速基本原理视频测速一般采用特征点匹配的方法来计算车速,基本过程是:在一帧图像中选择一组在运动中形状不变的特征点,与相邻下一帧中的同类特征点作匹配,根据相邻两帧图像中的特征点移动的位移量求得车辆运动距离,根据相邻两帧图像之间的时间间隔得到车辆运动的时间

43、,根据位移量和时间计算出车速。具体算法是把分割出的目标图像的重心作为特征点,求出相邻两帧图像目标区域重心坐标(x1,y1)(x2,y2)值后,就可以求出目标重心移动的像素点距离,再乘以系统初始化时设定的像素距离与实际路长的比例系数,从而得到实际移动的距离,最后用两幅图像之间的时间间隔去除实际距离就得到了速度。区域重心坐标可以根据所有属于区域的点计算出来,计算公式(5-16)如下: (5-16)设行驶距离为S,所需时间为t,则车速可用S/t形式表示。这里利用两条检测线A、B来测量车速,假设两条检测线距离为S,当车辆触发A检测线,记录下此时视频文件的帧(N1),然后当车辆触发B检测线时,再记录下视

44、频文件的帧(N2)。本系统MPEG视频每秒播放视频文件25帧。这样车辆运行的时间为(N2-N1)/25 s。因此车辆的速度近似为S*25/(N2-N1)像素/s。因为两条检测线之间距离很近,所以得到的为车辆的近似瞬时速度。可以根据实际来判断视频图像上的像素和实际距离的对应关系,这样就得到实际的瞬时速度。这一过程示意图如图4-16所示。图4-16 视频测速基本原理图4.4.2.2. 分段标定法该方法以视频测速的基本原理为基础,将本系统之前所采用的虚拟检测线方法和图像逐行计算的思想结合起来,使用手工标定和设定,将实地确定的一段距离在图像上标识出来,使得用于车速计算的距离很精确,理想情况下,这种方法测量出来的速度与实际速度完全吻合。下面介绍本方法实施的几个步骤:1、等距离实地标定首先就是要在视频检测区对应的现场实地去测量一些等距离的段,并用特殊标记在路面或者路边进行标定,称之为检测线。距离的

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号