您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术用DSP实现多目标实时跟踪 正文
用DSP实现多目标实时跟踪

用DSP实现多目标实时跟踪

点击数:7118 次   录入时间:03-04 11:37:01   整理:http://www.55dianzi.com   DSP/FPGA技术

动态目标的重心跟踪技术能够完成快速变化图像的实时、准确地定位和跟踪,因而在许多领域得到了广泛的应用。特别是在一些需要无人干预的情况下自动完成任务的环境中,多目标重心跟踪作为定位和识别的核心作用显得更为重要。但一直困扰人们的是由于运算量太大而实时性受到了一定的影响,从而视窗无法开大。这样势必造成多目标的定位和跟踪受到局限,甚至无法实现"。

本文从硬件和软件两方面同时着手,有效解决了上述问题。硬件方面采用TI公司的TMS320C6203,该产品是目前数字信号处理器中性能最高的产品之一,比TMS320C6202在存储容量上有较大提高,他所带来的新的系统设计方法使得传统的基于硬件设计变为软件设计,C6000的开发工具使得软件开发易于实现。软件方面将耗时较大的重心算法用线性汇编来完成。实验证明,速度有较大提高,满足了系统的要求。

1 系统资源

1.1 TMS320C6203介绍

TMS320C6203是TMS320C6X系列DSP芯片中具有代表性的32b定点DSP芯片。VeLOCiTI结构使其成为高性能的DSP芯片。片内有8个并行的处理单元,分为相同的两组。采用甚长指令字(VLIW)结构,单指令字长为32 b,8个指令组成一个指令包,总字长为8X32=256 b。并行是突破传统设计而获得高性能的关键。芯片的最高时钟频率可达到300 MHz,最大处理能力可以达到2 400MI/s。处理器由3部分组成:CPU内核、外设和存储器。CPU内核主要由分成2组的32个32b通用寄存器和分成2组的2个16位的乘法器以及6个算术逻辑单元(ALUS)共8个功能单元组成。这些单元由2条数据读总线、2条数据写总线、2条地址总线和2个交叉通路相连接。C6203片内的存储容量为Mb,其中程序区4Mb,数据区3Mb。片内有256kB存储器,可以满足4个目标的图像运算要求。通过外部存储器接口,还可以直接连接高速的同步动态存储器SDRAM、同步突发静态存储器SBSRAM。外围设备具有2个32b的定时器、2个多通道串行通信端口、1个16b的宿主机端口、5个DMA通道和4个外部中断。通过外围设备存储器空间可对所有外围设备进行编程,以支持多任务多功能并行工作。

1.2 主要硬件资源

采集的图像数据首先经过FPGA进行预处理,吞吐量可达140MB/s,整机运算能力超过50亿次/s,图像处理板共有图像存储空间2MB,加上片内的512kB,使得整个系统的存储空间可以存储两帧图像。同时系统内部在DSP与存储器之间的数据宽度可达140MB,超过图像数据40MB的带宽。而且DSP可以直接在存储器上运算,不必搬运图像数据,使DSP的运算时间更加充裕。400万门的FPGA可以实现多种滤波运算,相当于一片DSP的运算能力,而且实时性更强,图像的更多特征直接由其统计,供DSP使用[3]。

2 编程策略

用户在开发应用软件时,首先应当明确应用软件的功能和性能要求,然后按照代码开发流程的3个阶段进行软件设计:第一阶段是开发C代码;第二阶段是优化代码;第三阶段是编写线性汇编代码。以上的3个阶段不是必须经过的,如果在某一阶段已经实现了应用软件的功能和性能要求,那么就不必进入下一个阶段。

为了实现大视窗下多目标的快速跟踪,本文用线性汇编将重心算法做成子程序模块,主程序用C代码编写。系统功能通过反复调用该子程序得以实现。在编写线性汇编子程序及优化过程中有几个方面需要注意;
(1)C语言主程序同线性汇编子程序之间的参数传递是用命令".cproc"实现的。
(2)对于C语言主程序中的指针形变量在线性汇编子程序中调用要在该变量前加一下划线,且要赋给一中间变量,而不可直接使用。
(3)指令的并行执行(符号:‖)可以人工加载,亦可人工指定处理单元(如:·S1)。但在此之前应画出代码相关图。
(4)最后对完整程序进行优化,查看优化后的"ASM"文件,即软件流水信息(SOFtwarePipelinelnformation),看软件流水是否加载,否则重新修改程序结构。

3 重心跟踪算法

以目标图像灰度分布的重心为跟踪点,根据定义,在一个MXN的窗口中,其灰度重心位置可由式(1)求得:

M,N分别为跟踪窗口内的方位、高低方向的像元数。
由于计算重心的过程是个统计平均过程,他算出的跟踪点不是个别的最亮点位置,而是图像中各个像元灰度加权平均的位置,所以以重心为跟踪点,跟踪的随机误差小,抗干扰能力强,精度高,稳定性好。

4 系统结构

本系统主要由TMS320C6203为核心的图像处理、视频采集、显示电路构成。其原理框图如图1所示。视频信号经A/D转换为图像数字量,数字图像数据在波门的范围内依照地址产生器的地址按照一定的顺序存入双端口存储器RAM。EPROM用作存放开机自举的程序机器码以及有关参数数据。SDRAM是容量为512 kX 32 bX4bank的静态存储器,该存储器可用作存储以DMA方式从双端口存储器RAM传输过来的数字图像数据。数字信号处理器TMS320C6203执行芯片内的程序存储区的程序,对数字图像数据进行处理,与主机进行数据通讯等工作。串口部分的作用是实现与主机的数据中转传输。波门电路的作用是根据波门数据形成空心波门和实心波门。空心波门送至视频复合电路供显示用;实心波门分为场实心波门和行实心波门,可用作选通或形成图像数据的存储地址。视频复合电路的作用是将空心波门、电十字线、字符、图像信号叠加起来,供监视器显示。


5 结 语

在程序中分别设置不同大小的窗口进行实验,得出各自的DSP处理时间如表1所示。

从表1中可以看出,基于TMS320C6203的多目标跟踪系统具有很高的实时性,且算法简单,易于实现。同时他的指令非常丰富,许多指令是专用于数字信号领域的;通用性高,对算法的适应性强。





本文关键字:暂无联系方式DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术