基于TMS320C6000 DSP芯片实现视频检测系统的设计

描述

提出一种基于虚拟线的交通参数(车速、车辆计数等)视频检测方法。通过检测在实时图像序列中设置的虚拟线,检测车辆存在,进而计算出车速、车流量等交换信息。该方法自适应更新背景和阈值,具有较高的检测精度和良好的抗干扰性,避免了大量乘法运算,有效地提高了检测速度,具有良好的实时性。

目前,交通问题已成为城市发展的主要制约因素之一。ITS(Intelligent Transportation System)智能交通系统,是指将先进的信息技术、数据通讯技术、自动控制技术、计算机处理技术等应用于交通运输,实现交通信息管理现代化。目前国内外对ITS已经有了较深入的研究和实践。近20年的研究表明:实行ITS,可以使道路的通行能力提高2~3倍,将产生巨大的经济效益和社会效益。

交通视频检测设备是ITS的重要组成部分,它实时地检测交通参数,进行数据处理并传送至交管中心。传统的检测方法是在车道下埋置磁感应线圈,当有车辆经过时,产生一个电信号,检测出这辆车正在感应线圈的位置。根据一车辆通过不同的感应线圈的时间间隔Δt和两个感应线圈之间的距离L,求得车速v=L/Δt。

芯片

本文提出的视频检测方法,首先在图像上设置虚拟线,虚拟线的作用与上述磁感应线圈类似。根据虚拟线上像素点的数值变化判断是否有车经过检测线。如果当前检测线上的数值大于背景估计值,则认为有车辆经过检测线,从而检测出车辆。由于背景的变化,必须实时更新背景的估计值,才能够保证检测的精度。

1 虚拟线检测算法

视频车辆检测流程如图1所示,用一个架设在车道上方的摄像头同时监视多个车道,摄像头采集的图像以25帧/秒(PAL)的速度进入图像采集模块,得到数字化的图像(YUV 4:2:2),数字图像数据进入图像处理模块,这个模块是整个系统的核心,实现对实时动态图像的分析处理,检测出多项交通信息。图像处理流程如图2所示。

1.1 摄像机的安装与虚拟线的实际距离

图3中:φ为摄像机的视场(FOV)角度;

φ/r为一条检测线对应的角度;

D是一条检测线对应的实际距离;

r是图像的垂直分辨率(一幅图像的行数)。

实际应用中,根据图3所示的视频角度(FOV),摄像机比较理想的安装高度应该在7.5m~10m的范围内,并且保证监视的视场能够覆盖1~4条车道。

芯片

在机器视觉系统中,一行扫描线代表的实际距离与摄像机的安装密切相关,本系统中由三个参数确定,分别是摄像机的安装高度(h)、光轴与垂直方向的角度及视场(FOV),各参数间的关系如图3。式(1)为每条检测线代表的实际距离:

D=htan[arctan(d/h) φ/r]-d (1)

由图3所示几何关系,容易得到图像覆盖的实际最大距离为:

dmax=htan[arctan(dmin/h) φ] (2)

显然摄像机能够监视的最大距离dmax用安装高度h、最小距离dmix和FOV角度φ决定。

1.2 背景估计和车辆检测

一条道路通常被分为几条车道,在每条车道上分别设置如图4(图中数字1,2,3…表示像素点)所示的检测区。每个检测区由一条车辆存在检测线和紧跟其后的速度检测区构成。存在检测线长度为50pixel/line,速度检测区由30条30pixel/line检测线构成。

芯片

判断存在检测线上是否有车通过的基本原理是:如果当前帧检测上像素点的灰度值明显大于背景的估计值,认为这一时刻检测线上有车辆存在,否则认为此刻检测线上无车辆存在。

由于环境的变化,必须实时更新存在检测线的背景估计值。把一条检测线上对应五个不同时刻(相邻时刻的间隔是10帧)的像素点的灰度值存入缓冲区,用lineTn(n=1,2…)表示第n时刻检测线上的数据。这样连续5个时刻的数据为一组,通过对连续两组数据的比较计算来更新背景的估计值。例如,当前缓冲区存的是lineT1到linet5,那么输入的lineT6与lineT1的间隔是50帧(2s,PAL制),这样在车速大于20km/h,车长小于1lm的条件下(通常情况下满足此条件),不可能有同一车辆既经过lineT1又经过lineT6,定义一个变量如(3)式:

式(3)中s‘I是lineT(1 j)是第i个像素点的灰度值,si是lineT(6 j)的第i个像素点的灰度值(j=0,1,2,3,4)。把第一组数据和第二组数据比较,即lineT1与6,2与7,3与8,4与9,5与10分别逐像素点地比较,由式(3)得到5个变量,然后lineT6~10覆盖lineT1~5存入缓冲区,用lineT6~10和lineT11~15重复上述计算过程。通过比较lineT1~5和lineT6~10两组数据得到的5个变量中,第j个变量Vj最小,令Vmin=Vj,与这个最小值对应的后一组数据中的lineT(6 j)用于存在检测线的背景估计。检测线的背景估计通过式(4)的经验公式更新。

R’i=ωRi (1-ω)Bi i=1,…,50 (4)

式(4)中Ri是检测线上第i点的背景估计值,Ri是该点上一次的估计值,Bi是后一组数据中对应于最小变量值Vmin的检测线上第i点的值。ω是权系数,它决定了上一次的背景估计值对当前背景估计值的影响,(1-ω)决定了对应于Vmin的检测线数据对于背景估计的影响。如果ω=1,当前背景估计等于上一次背景估计;如果ω=0,当前背景估计完全被对应于Vmin的检测线数据代替。为了达到实时更新背景的目的,ω的值应该较小,但是为了提高抗干扰能力,ω的值应该较大,综合两方面的考虑,实际系统中取固定值ω=0.8。通过上述计算过程,检测线上的背景估计值每隔2s更新一次,对于缓慢变化的环境,能够得到实时准确的背景估计。

芯片

如果一条检测线上像素点的值比与它比较的检测线上相应点的值高得多(或低得多),由(3)式得到V‘,而两条检测线上对应点的值基本相同时得到V’’,那么V’会明显大于V‘’,这就是进行车辆检测的基本依据。定义变量:

芯片

式(5)中Li是当前时刻检测线上第I点的值,R‘i是背景估计值。

当VD大于选定的阈值时,认为检测线上有车辆存在。式(6)是阈值表达式:

T=kVmin (6)

式(6)中Vmin是当前最小的变化值,对应于Bi,k是常数,如果

VD>T (7)

说明当前时刻检测线上的值大于背景估计值,此时检测出有车辆经过存在检测线。

1.3 速度检测

如图4所示,速度检测区紧跟在存在检测线之后,当存在检测线检测到有车辆经过时,触发速度检测区工作。为了避免车高的影响,当车辆相对摄像机的监视方向运动时,应该按照车头的位置计算速度。而当车辆运动方向与摄像机的监视方向相同时,应该按照车尾的位置计算速度。

以前一种情况为例,一旦检测到车辆进入速度检测区,速度检测模块依次检测每条虚拟线(从Line0开始),方法与存在检测算法相同,当检测到连续两条虚拟线都没有车辆存在停止。认为这两条线的前一条就是车头的位置l0,下一帧的检测就从这条线开始。一帧一帧重复上述过程,直到车头位置超出了速度检测区,那么上一帧得到的车头位置ln就是车头最后的位置。车速为:

Vf=[(ln-lo)/n]25(lines/s) (8)

计算ln-l0是必须的,因为车头的开始位置和最后位置在每次测量时并不是固定的。适当设置30条虚拟线组成的速度检测区,使ln-l0的最小值是20,则由检测线引起的最大量化误差是1/20。

由图3所示的几何关系,(8)式的速度值能够转换成m/s为单位的实际速度,与ln-l0对应的实际距离为:

D=D0-Dn (9)

式(9)中Δθ=φ/r

θ为line0与垂直方向的角度,则实际速度为:

V=(D/n)25(m/s) (10)

2 系统实现

如图5所示,本系统选用TMS320C6000系列的DSP芯片作为处理器,采用双处理器的硬件结构,每个视频通道处理一路视频输入,可以同时检测两个方向的交通信息。本系统在CCS2.2环境下开发系统底层程序,在VC.net环境下开发系统上层操作程序,系统运行情况良好。

芯片

3 实验结果

用10个视频序列(每个序列3分钟,25f/s摄像机高h=7.5m,视场FOV≈40)对该系统进行测试。实验证明在环境光线良好的条件下,车辆计数的准确率在95%以上;在较差的光线条件下,车辆计数的准确率在90%以上,速度参数计算误差小于5%。

基于虚拟线的视频检测技术最大的优点是算法简单、计算量小,适合对实时性要求较高的场合,例如,根据检测结果抓拍车辆图像的应用。该算法还有待于进一步优化,如可以加入区配和跟踪模块;可以利用图像的更多特点,例如色度、边缘、角点等不断优化算法。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分