姓名:班级:学号:分数:基于DSP平台的智能车辆跟踪系统摘要基于DSP的车辆智能跟踪系统结合了数字图像处理、人工智能、自动控制等多个学科领域的技术,具备广阔的应用前景。随着经济社会的高速发展和人们对交通安全的迫切需要,人们对车辆交通的安全可靠性的要求越来越高。现实中的交通环境复杂,传统的被动安全技术并无法从根本上解决安全问题,基于机器视觉和模式识别的主动安全技术备受关注。检测跟踪技术是其中的研究热点之一。本论文设计的智能车辆跟踪系统的功能是实现一台车(自主车)在无人干预的情况下自主跟踪另外一台车(引导车)。整个系统由导航系统、引导车和自主车三大部分组成。导航系统由CCD摄像机、DSP视频处理板、串口通信数据转换板、无线通信模块、供电系统等组成。导航系统的检测算法是基于YUV空间的单高斯背景建模算法,跟踪算法是基于HOG特征的CAMShift算法。论文内容主要包括三个部分:一是对检测和跟踪算法做了详尽的分析和描述。二是将这两个改进算法在DSP上实现,并从DSP硬件设计和软件开发的角度描述了DSP程序开发过程。关键词:智能车辆跟踪;运动目标检测与跟踪;DM642;CAMShift算法;DSP移植1绪论1.1论文研究背景及内容随着计算机和信息技术的飞速发展,数字信号处理技术得到了迅速发展。自从上世纪70年代第一片数字信号处理(DigitalSignalProcessor,DSP)芯片问世以来,DSP以数字器件特有的稳定性、可重复性、可大规模集成,特别是可编程性高和易于实现自适应处理等特点,给数字信号处理的发展带来了巨大机遇,并使信号处理手段更灵活,功能更强大,其应用也拓展到所有领域。随着半导体制造工艺的发展和计算机体系结构等方面的改进,DSP芯片的功能越来越强大,使信号处理系统的研究重点放在了软件算法上,特别是在图像实时处理领域,能够实时处理的信号带宽已经有了长足的进展。伴随着经济的高速发展和人们物质生活水平的越高,人工智能扮演着日益重要的角色,微型计算机就是一个典型例子。汽车已经是人们日常生活中不可缺少的重要交通工具。人工智能技术可以和汽车机械技术相结合,更多的人工智能化技术应该被应用到汽车上。由于计算机技术的广泛应用,为汽车的智能化提供了广阔的前景。1.2国内外研究历史及现状1978年,美国加州帕萨迪纳市的喷气推进实验室提出了运用机器视觉来进行车辆检测的方法,并指出这种方法是传统检测方法的一种可行的替代方案。在这几年后,美国明尼苏达大学的研究人员研制出第一个可投入使用的基于视频的车辆检测系统。该系统使用了当时最先进的微处理器,在不同场景和环境下的测试结果良好,说明了利用视频传感器实时检测车辆的可行性。目前车辆跟踪系统采用的主要技术是使用颜色特征进行运动目标跟踪。相关算法主要分为有参估计统计方法和无参数估计统计方法两大类,这两种基本方法所建立的模型都是基于对颜色区域所建立颜色分布的模型。经过实验验证和分析,由于可以很好的克服有参数估计方法的缺点,统计直方图的无参估计方法大范围的应用在基于颜色直方图统计特征模型的运动目标跟踪算法中。较为典型的无参数估计的目标跟踪算法就是本文中所使用的MeanShift算法。1.3车辆跟踪的意义及应用车辆跟踪系统的应用非常广泛,并且有很多派生出来的用途。车辆跟踪不仅可以实现无人驾驶而且可以做到一定意义上的主动防御,提高车辆的安全性。司机在长时间驾驶的时候会感到疲劳,目前发展的人工智能疲劳检测系统可以检测到司机的驾驶状态并给予提示,但这并不是好的解决方法。如果在公路上选择一辆车辆作为引导车,自动跟踪并无人驾驶,疲劳的司机可以做自己想做的事情。2基于HOG特征的CAMShift跟踪算法2.1算法概述CamShift算法是对MeanShift算法的改进,称为连续自适应的MeanShift算法,CamShift的基本思想是将视频图像的所有帧作MeanShift运算,并将上一帧的结果作为下一帧MeanShift算法的SearchWindow的初始值,如此迭代下去。CamShift算法是由MeanShift算法推导而来,MeanShift算法主要是用于单帧结构,但独立的一帧分析对跟踪踪系统而言无太大意义,CamShift算法就是利用MeanShift算法的方法,对视频进行分析。2.1.1图像特征与直方图对图像建模的第一步需要获得图像的特征属性,比如颜色特征,边缘特征等等。理想的最优特征是独一无二的,而实际这样的特征并不存在,为提高算法的Robust特性通常需要结合使用图像的多种特征。直方图建模的基本过程为:(1)、选择直方图分辨率。这个数值越大得到的图像的区分度也越大,当然同时需要耗费的计算量也越大,需要折中取舍;(2)、对RGB三个颜色通道进行直方图统计,并归一化直方图值;(3)、利用直方图信息建模。图2.1是两帧不同图像的单通道直方图,分辨率取值为16。图2.1两张图像的单通道直方图2.1.2模型匹配在获得直方图特征之后,需要依据这个特征对图形进行识别,即模版匹配。在这里是进行相似性比对。定义其中一幅图像的直方图为源直方图,另外一幅图像的直方图为候选直方图。将判断两幅图像的相似性转化为判断两者直方图的相似性,关于相似性的判定算法很多,比如:Bhattacharyya系数、EMD、欧几里德距离等等。本篇文章采用BhattacharyyaCoefficient来检测相似性。BhattacharyyaCoefficient计算公式如下:muuuqp12.2MeanShift算法实现2.2.1图像的矩与直方图反向投影图像的矩可以被理解为像素密度,所谓的像素密度就是指图像的颜色数值。比如在灰度图像中,越亮的区域的像素密度越大。在数学领域最常使用的是零阶矩,一阶矩,二阶矩等等,计算方法如下:(1)计算二值图像的零阶矩:xyyxIM),(00(3.1)(2)分别计算二值图像x和y的一阶矩:xyyxxIM),(10xyyxyIM),(01(3.2)(3)运动区域的质心是:),(),(00010010MMMMyxcc(3.3)其中,I(x,y)是二值图像中位于(x,y)点的像素值。2.2.2中心点追踪利用上文提到的图像的矩和给定ROI直方图反向投影信息可以粗略计算出ROI区域的中心点、尺寸等等信息。计算公式如下:2][][][2arctan[20002200200011ccccyMMxMMyxMM3)()(22cabcal3)()(22cabcaw20020cxMMaccyxMMb001120002cyMMc3基于DM642的运动目标检测与跟踪系统设计及实现与DSP处理器相比,传统的PC机发展时间比较长,硬软件开发相当成熟,有优秀的OS平台和众多软件支持,功能强大。它的缺点在于体积庞大,成本较高,需要专人维护,故障率也比较高。随着芯片技术的迅猛发展在专用数字信号处理领域DSP逐步在取代PC机的位置,DSP的性价比很高,功耗小,可靠性高,在通信、电子、人工智能等各个领域应用的相当广泛。本系统中,将DSP处理板安装到引导车上,整个系统采用电池供电。系统上电后,Bootloader会自动装载启动程序,无需人工干预。3.1TMS320DM642概述DM642是TMS320C6000DSP平台中的高性能定点处理DSP,基于第二代高性能DSP处理技术,使用先进的超长指令架构。DM642是TI为视频处理而推出的芯片,因此在芯片上配置了3个VideoPort接口用于和各个不同厂商的编解码芯片实现无缝连接。这3个VP口,两个用于采集数据,一个用于输出数据,配置方便。和一般的DSP类似,DM642拥有强大的处理能力和丰富的片内外设,并且提供一定代码兼容性。3.2硬件平台组成本系统主要由引导车(承载导航系统)和自主车两部分组成,引导车上装载有CCD摄像机、DM642视频处理板、单片机控制的无线指令发送板以及电池供电系统。智能车上装载智能车控制模块、无线指令接收器以及电池供电系统。硬件工作流程如下:CCD摄像机捕获到自主车的视频数据传输到DM642分析处理,根据分析结果并做出判断,将判断结果通过McBSP接口发送控制指令。硬件结构框图如图3.1所示。图3.1硬件结构框图摄像头SAA7115BT656码流DM642OSDFPGABT656码流RGB565SAA7105VGAC8051F340SPINRF905EDMASDRAMUART引导车硬件结构3.2.1视频处理系统的硬件结构基本的数字视频处理系统主要包括CCD摄像机、视频编码器(ADC)、数字信号处理器、视频解码器(DAC)、显示器等部件。本系统是以DM642为核心,以Philips公司视频解码芯片SAA7115H和视频编码芯片SAA7105H为输入输出。用DM642的I2C模块对视频编解码芯片进行配置和校验,使得视频处理系统的输入输出可以满足各种需要。其接口框图如图3.2所示。图3.2视频处理系统接口框图3.2.2存储空间管理DM642内有大量的字节可设定的地址空间,Code和Date统一编址在32bit地址空间内。表3.1为视频处理板的内存映射,左边显示了普通的DM642处理器的地址空间,右边显示了视频处理板的地址空间。表3.1视频处理板的内存映射AddrssDM642视频处理板0x00000000InternalMemory/CacheInternalMemory/Cache0x00040000ReservedSpaceorPeripferalRegistersReservedorPeripferal0x80000000EMIFCE0SDRAM总线0x90000000EMIFCE18位FlashUART/FPGAReds0xA0000000EMIFCE2背板接口0xB0000000EMIFCE3FPGA同步寄存器背板接口3.3算法设计与DSP实现3.3.1视频处理系统软件构架TI公司针对DM642提供了相关的硬件抽象层文档便于用户进行底层开发,同时也提供了与片内外设相关的常用操作的结构和函数,也就是通常说的芯片支持库CSL。TI公司还根据DM642提供了视频获取和输出提供了用户接口,同时也提供了针对EVM板提供的板级支持库BSL,此外针对DM642的复杂性TI提供了与任务调度相关的RTOS。3.3.2DSP/BIOSDSP/BIOS是TI的嵌入式实时操作系统,性能很好,方便实用。目前国内的资料比较少,可能有两个原因:1、一般的超循环程序基本能满足需求;2、操作系统的门槛较高,涉足的人少。但实时性要求严格的项目中,能否在规定的时间内完成任务的切换没有操作系统是很难完成的。另外由操作系统管理任务,程序将更加清晰,层次更加分明。DSP/BIOS提供了抢占式多线程、硬件抽象、实时分析和配置工具。3.3.3CacheDM642器件有1个一级程序CACHE(L1P)和1个一级数据CACHE(L1D),各自大小均为16KBytes,这两个CACHE的运行速度和CPU的核心速度一样;器件有一个二级CACHE,该CACHE和SRAM是共用存储空间,为256KBytes;L2可以配置成为部分SRAM,部分CACHE,也可以全部配置为CACHE。如图3.3所示。3.3.4EDMADM642的EDMA控制器的主要特点是:后台操作(EDMA控制器独立于CPU工作);高吞吐率(可以按照CPU时钟速率进行数据吞吐);64通道;单通道分割操作;多帧传输;优先级可编程;32位地址范围;数据字长可编程等等。EDMA有64个通道,每个通道都有一个事件与之关联,这些事件将触发相应通道传输。进行数据传输时有两种启动方式,一种是CPU通过写事件置位寄存器(ESR)来启动一个EDMA通道,另一种是通过事件编码器来捕获到一个触发事件并锁存在ER寄存器中,并导致PaRAM中对应的参数被送入地址发生器,进而执行有关的传输操作。每个EDMA的启动是相互独立的。3.3.5系统初始化视频处理系统的初始化包含对系统的初始化、VP模块的初始化以及视频编解码芯片的初