- 12/29
- 2008
-
QQ扫一扫
-
Vision小助手
(CMVU)
摘要
智能交通系统中需要的关键数据为道路的占有率、车流量、行车速度等。本文介绍了基于TMS320DM642的数字图像车流量检测系统,阐明了该嵌入式视觉系统的硬件组成原理及软件结构和车流量检测算法。系统与现有的信号机联调测试,证明其稳定可靠、识别率高、体积小、成本低、实时性好,能实时检测十字路口道路的车流量信息。
关键词:TMS320DM642;数字视频处理;车流量检测;智能交通系统;虚拟线圈
引言
随着人口数量的增长,给交通带来的压力越来越大,智能交通系统成为近些年研究的热点。车流量检测是智能交通的基础部分,在系统中占有重要地位。目前有多种方法检测车流量,例如:电磁感应装置法和车流信息的超声波检测法。而实际上,前进中的车辆速度、种类始终变化,所以普遍存在反射信号不稳定,测量误差大的问题。与以上方法相比,基于视频的车流量检测方法具有许多优点:从视频图像中提取可靠信息,完成道路交通的监视工作,可提高道路、车辆的自动化程度;交通监视控制系统中安装的视频摄像机比安装其它传感器更经济、且破坏性低;实际道路交通系统中已经安装了许多摄像机用于道路交通监视和控制,可一举两得。
现有的传统视频检测方法基于工控机,其算法成熟,且已形成相关产品。但其也有缺点:一是由于通用CPU没有专用的硬件乘法器,故很难实现图像的时实性处理。二是采用通用工控机,运行Windows系统,成本高,要时刻关心机器有没死机,系统有没感染病毒,操作系统的补丁升级等问题。基于以上两点,本文提出了基于TMS320DM642(下简称DM642 )的嵌入式图像识别方案,解决了存在的问题。
车流量检测系统的原理与组成
车流量检测系统的工作原理
车流量检测系统是由视频采集、车流量数字视频信号处理、不同环境下车流量检测算法、以及车流量检测结果输出等几部分组成。数字图像采集部分的核心芯片是TVP5150,它可将模拟视频信号转换为数字视频信号。DM642运行图像算法对采集进来的图像进行数字图像处理。车流量数字视频检测算法白天主要是使用改进后的帧差法进行运动检测,夜间使用车灯检测法。按照车道将采集到的公路图像化分为四部分,每部分对应一条车道。在每条车道中开设一个虚拟线圈(指图像中一个矩形检测区域,统称为虚拟线圈),当有车压过虚拟线圈时会引起虚拟线圈内像素值发生变化。根据此变化控制I/O口产生每条车道的相应脉冲,处理后发出脉冲给公路交通信号机,控制交通灯,从而达到实现智能交通的目的。同时,可以通过网络将车流量信息传到监控中心。
车流量检测系统硬件
DM642是德州仪器公司专门为多路视频输入输出设计的数字信号处理芯片。其运算功能强大,建立在第二代高性能超长指令字结构上,可以8条指令并行执行,使这款芯片非常适用于数字图像处理。考虑到实际工作的要求和系统的稳定性,将DM642的主频设置为600MHz。根据实际应用环境和嵌入式系统的需要,系统除了扩展了系统必须的存储器部分和视频采集回放部分外,主要扩展了多路数字I/O和异步串口以及网络接口功能,方便系统与外部通信。具体硬件实物如图1所示。说明如下:外扩SDRAM,容量为4M×64位;外扩Flash,容量为4M×8位;2路PAL/NTSC标准模拟视频输入(CVBS或S端子),1路PAL/NTSC标准模拟视频输出;通过CPLD扩展8路数字I/O口,用于输出车道上车流的信息;2路UART接口,接口标准RS232/RS422/RS485可配置;实时时钟RTC+看门狗电路;10M/100Mbase-TX标准以太网接口。
图1 硬件实物图
系统组成如图2所示,在图中TMS320DM642通过64位宽的EMIF(External Memory Interface)总线扩展外部存储器部分,包括32Mbytes的Synchronous DRAM,用于存放实际运行时用户代码和图像数据。4Mbytes的Flash用于存放bootloader,以及用户的应用程序,启动时将FLASH中的代码和数据加载到内存中(SDRAM中),用户对与虚拟线圈的配置参数也可以存放在FLASH中。SDRAM的数据宽度为64位,FLASH的数据宽度为8位,分别对应TMS320DM642的CE0和CE1空间。同样地,通用异步收发器UART(Universal Asynchronous Receiver)和CPLD(Complex Programmable Logic Device)也是通过EMIF总线与DM642相连。UART用来扩展串口,本系统中可用其扩展了RS232接口。CPLD用来实现FLASH和UART的粘合逻辑及扩展通用数字I/O。为了方便软件的实现,本系统中将这两部分也连接到了DM642的CE1空间,其内部寄存器作为CE1存储空间的一部分。
图2系统组成图
视频采集输出部分
为了统计十字路口车流量的信息,本系统设计了两路模拟视频输入。系统将摄像头采集的模拟视频信号由TVP5150按ITU-R BT.656转化为数字视频流,内嵌同步信号发送到DM642的VP1口和VP2口上。图像的行同步、场同步信号均内嵌在视频数据流中的EAV和SAV时基信号中,视频口只需要视频采样时钟和采样使能信号即可。DM642可通过FIFO实现数字视频图像三帧连续采集,当有一帧图像正在处理时,其它两个缓冲区还可以实现图像的循环采集,从而解决了恒速的视频采集与变速的图像处理之间的矛盾。本系统扩展了一路视频输出,用于本地回放,当系统调试完毕后此部分功能可以不使用。视频输出由Phillips公司(现更名为NXP)的SAA7121芯片实现。SAA7121将DM642的VP0口传出的数字视频信号转化为PAL(50Hz)制式或者NTSC(60Hz)制式模拟信号送外接视频口输出。
软件部分
车流量统计算法
由于白天和晚上路面光强变化非常大,这对算法的适应性提出了更高的要求,为了能全天得到车流量的信息,所以整个算法将白天和晚上分别开来处理。程序结合当时光线的不同情况,对两种算法进行自动的切换,从而保障整个算法的运行环境。
图3夜间算法流程图
- 虚拟线圈的选取
虚拟线圈的选取关系到检测算法的精度和速度,并且受到摄像头安装的高度和倾角,以及摄像头景深的影响。一般情况下,虚拟线圈靠近图像底部的位置,车辆的间距较大,便于检测。虚拟线圈越大,相对检测精度就越高,相应的算法执行的时间也会越长。由于整个系统要适应各种路口、路面,所以虚拟线圈的选取交给了用户。我们用VC6.0开发了PC机软件,用户使用此软件,通过串口,对各个车道的虚拟线圈的大小和位置进行设置。
- 相邻检测帧的时间间隔
由于整个系统要与信号机通信,所以要求我们处理每条道路上图像的总时间不能超过0.25秒。这里选取每帧相隔0.125秒。
- 车流量检测算法
由于白天使用改进后的帧差法已经在PC上有很成熟的应用。如公式1所示:
i=1,2,3,......80, j=1,2,3,......10
在公式1中,E保存帧差后的检测窗平均值,R是当前帧检测窗灰度值,R'是前一帧检测窗灰度值,m,n为虚拟线圈的长宽,在此就不再赘述。
晚上的路面能见度比较低,算法主要是对车灯的识别。在晚上,车灯有很强的亮度,所以只要能正确的检测到车灯就可以进行车辆的测量。算法的干扰来自路面对车灯发出来的光线的反射。通过使用Matlab仿真试验后发现,二值化去噪以后,车灯的亮斑基本上是车灯的形状,而路面反光区向前发散,据此可以通过检测窗上亮斑的形状特征来识别车灯和路面反光区。夜间的算法如图2夜间算法流程图所示。对虚拟线圈二值化的阈值选取是通过大津法得到的,与经验法相比,大津法是通过计算方差得到阈值,环境适应能力比较强,但这也增加了算法的时间和空间复杂度。图像去噪是使用3×3的中值滤波器,我们对其进行了快速算法的改进,并且只对虚拟线圈进行。
采集到路面原始灰度图像如图4,图5为其二值化处理后的图像,图中矩形区域为虚拟线圈,线圈中有两个白色区域。以像素为单位,根据白色区域的最大长宽比确定是否为车灯。车灯对应的白色区域长一般长小于等于宽,如图6所示。路面反光对应的白色区域长大于宽如图9所示,虚拟线圈内的白色区域为路面反光。
图4
图5
图6
图7
图8
- 上一条:视觉系统应用于牙膏管的全套检查
- 下一条:药品字符检测方案