位置:51电子网 » 技术资料 » D S P

用DSP实现多目标实时跟踪

发布时间:2008/5/27 0:00:00 访问次数:483

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

本文从硬件和软件两方面同时着手,有效解决了上述问题。硬件方面采用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 系统结构

本系统

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

本文从硬件和软件两方面同时着手,有效解决了上述问题。硬件方面采用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 系统结构

本系统

相关IC型号

热门点击

 

推荐技术资料

业余条件下PCM2702
    PGM2702采用SSOP28封装,引脚小而密,EP3... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!