新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于DM6446的视频运动车辆检测系统

基于DM6446的视频运动车辆检测系统

作者:时间:2012-09-20来源:网络收藏

摘 要: 给出了一种 处理器的的技术实现方法,介绍了系统的硬件结构及软件设计思路。结合 双核处理器的特点,给出了处理器ARM 端与DSP 端通信及双缓冲区切换的具体方法。在检测算法上,采用差异积累法对 实时获取的交通数据进行背景建模,用背景差法检测区域,再结合Otsu 阈值化、形态学滤波及区域生长等算法,最终在DM6446 硬件平台上实现视频运动车辆的实时检测。实验结果表明,该系统具有良好检测效果。

本文引用地址:http://www.amcfsurvey.com/article/148382.htm

  随着现代交通运输业的快速发展,道路上的车辆日益增多,而伴随而来的交通拥堵、道路使用效率不高等问题却给日常交通管理带来了重重困难。融合了计算机、电子等现代高新科技的智能交通系统(ITS:Intelligent Transport System)提供了解决方法。

  运动车辆检测是ITS 的重要组成部分,本文探讨了以TI 的TMS320DM6446(简称DM6446)为嵌入式开发平台的交通视频信息采集和处理系统的设计,通过分析实时交通视频序列,采用差异积累背景建模、Otsu 自动阈值选取、形态学滤波及区域生长定位等技术,最终实现交通场景视频运动车辆的检测。

  1 系统硬件构成

  本系统选用的TMS320DM6446 是ARM926 和TMS320C64x+两个核心的、高度集成的数字媒体处理器。ARM926EJ-S 采用管道化流水线可以执行32bit/16bit 指令集,并提供了独立的16KB的指令Cache 和8KB 的数据Cache,可有效控制和管理外部中断、各种接口及外设。TMS320C64x+属TMS320C6000 系列高性能的定点DSP 处理器,集成了64 个32 位通用寄存器和8 个功能单元,硬件支持块循环操作,采用二级Cache 结构:L1 程序/数据Cache 和L2 存储/Cache.ARM 和DSP 共享外部256MB DDR SDRAM 存储器,64MB NAND Flash用于存放ARM 和DSP 代码。

  系统硬件平台还包含视频处理子系统(VPSS)和众多外设资源。VPSS 是DM6446 中专门负责视频输入输出的硬件模块,由视频处理前端(VPFE)和视频处理后端(VPBE)组成,系统模拟视频信号经由TVP5150解码器解码成YUV422 格式的视频数据后传送给VPFE 的CCD 控制器,然后通过EMIF 接口将暂存在VPSS 内部Buffer 中的数据传送到外部DDR SDRAM中。VPBE 的屏幕显示(OSD)模块将视频数据以YCbCr形式提交给视频编码器(VENC),通过视频编码器输出到VGA 或CVBS 接口。本文处理系统的硬件拓扑结构如图1 所示。

图1 DM6446 系统平台硬件结构示意图

图1 DM6446 系统平台硬件结构示意图

  2 系统软件设计

  图2 示意了系统硬件平台软件处理模块的组成结构。如图2 所示,软件部分主要完成3 个任务:图像的采集与存放、ARM 与DSP 通信和视频图像处理。

图2 DM6446 系统平台软件模块构成框图。

图2 DM6446 系统平台软件模块构成框图。

  ARM 端负责初始化系统并控制数据的采集和存放。系统初始化时VPSS 被配置为场模式,VPFE 负责将采集到的视频数据连续传送到内存缓冲区。由于ARM 端在向内存中存放图像时DSP 端不能同时读取,为了保证数据处理的正确性,本文采用双缓冲机制,即:设定两个各自连续的帧缓冲区VIDEO BUF0 和video BUF1,视频数据交替的向这两个区域缓冲刷新。

  ARM 与DSP 两核之间的通讯通过内存共享和中断的方式实现。ARM 通过寄存器ARM2DSP0 向DSP发出中断信号,DSP 使用寄存器DSP2ARM0 给ARM发送中断信号。发中断的一方在中断信号发出前向共享内存填写命令,接收中断的一方在中断函数中读取命令,其他模块按照当前的命令执行相应任务。

  视频图像的处理在DSP 核上进行,采集到的视频图像数据为YUV422 格式,算法处理时仅读取视频数据的Y 分量,紧接将视频数据进行差异积累背景建模、运动区域检测等操作以实现对视频序列运动目标的检测。最后DSP 负责将检测完的视频数据存放至固定显示缓存区,由VPBE 读取后显示。

3 视频运动目标检测算法设计

  在获得视频数据后,需进一步对视频运动目标进行检测(运动车辆)。对固定相机的应用场合,一般采用背景差技术检测视频运动目标,而背景差法又受背景建模效果的约束。目前存在如光流场、目标模型以及差分图像等多种视频运动目标检测方法。基于光流场的目标检测法对噪声敏感、计算量大,导致算法实时性较差。基于目标模型的检测方法一般须建立目标的三维模型,再将模型投影至二维平面,再在图像中进行匹配。基于差分图像的检测方法较为常用,可分为邻帧差和背景差两种方法,背景差法是视频运动目标检测中的流行方法。本文即采用背景差法对目标运动区域进行检测,本文针对嵌入式应用,从检测算法的处理效率出发,场景背景模型的获取采用文献[4]所述的基于差异积累的背景建模法。对视频运动目标进行检测主要经过四个步骤:差异积累背景建模、运动区域检测、形态学滤波和区域生长法视频运动目标定位。

  3.1 差异积累背景建模

  差异积累背景建模法首先要建立差异图像,设差异图像为F(i,j,t),当前视频帧为f(i,j,tc),基准帧为f(i,j,tb), 则由当前帧与基准帧比对可以得到一幅差异图像,可表示为公式(1):

  这里的Tf 是一个特定的门限,决定着差异的程度。

  若两幅图像间灰度差在其坐标上有较大的不同时,F(i,j,t)的值被赋为1,否则为0.这样可以生成一个像素值为0 或1,大小与输入图像一致的图像矩阵,称为差异图像。现在考虑一组m 帧视频序列{f(i,j,t1),f(i,j,t2), …, f(i,j,tm)},本文选取视频的第f(i,j,tc-3)帧作为基准帧,系统初始化时将读取的第一帧视频数据赋予基准帧,基准帧随着视频的输入不断迭代,程序实现时可按如下方式进行迭代:

  差异图像描述了视频图像中物体的运动,若在连续图像序列中存在相对稳定的非运动区域则可考虑作为背景。差异图像矩阵随视频帧变化而不断改变,根据差异图像每个像素值的变化程度可以得到一个差异积累动态矩阵D(i,j,t)。 如公式(2)所示:

  λ记录每个像素差异积累的深度,动态矩阵的单元数量和高宽比例与差异图像矩阵相同,当差异图像某位置处的值为0时使动态矩阵相同位置处的计数器加1,这种计数器在动态矩阵每个单元位置各有一个。在对视频序列连续处理过程中,若动态矩阵元素的计数器值等于λ时,就认为对应位置的像素灰度值在规定范围内无变化,可以作为背景像素。

  背景的更新采用加权平均法,设更新前背景为Bold(i,j,t),新背景为Bnew(i,j,t),结合系数利用公式(3)可获得当前更新的背景。应用场景的背景会随着新视频帧的输入而不断进行自动更新,图3 示意了差异积累法的背景更新效果。

图3 差异积累背景建模过程示意图

图3 差异积累背景建模过程示意图

  3.2 运动区域检测

  在获得背景模型后,采用背景差法即可获得背景差图,设背景差图为Bd(i,j,t),则有:

  对背景差图做二值化处理即可获得视频运动车辆区域。本文二值化阈值选取采用文献[5]的Otsu 法(最大类间方差法)。Otsu 法根据图像的灰度特性,将图像分成前景和背景两部分。前景和背景之间的类间方差越大,说明构成图像的两部分差别越大,当部分前景错分为背景或部分背景错分为前景时都会导致两部分差异变小,因此,使类间方差最大的分类意味着错分概率最小,选取使类间方差最大和类内方差最小的图像灰度值作为最佳阈值。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭