摘要:本文以两片定点DSP TMS320C6203为核心,设计了一个用于处理1024×1024大小图像(12位数字相机)的电视跟踪系统,并对系统的硬件设计和软件设计分别进行了详细介绍。对实时图像序列进行预处理后,DSP1进行捕获和图像增强、显示,DSP2用于实时跟踪。主要解决了两个关键问题:第一, 采用分段投影的方法,解决了对于大图像大数据量的目标全屏捕获问题,并满足实时要求;第二,根据目标大小动态调节跟踪窗,对目标进行实时跟踪。实验表明系统对目标的实时跟踪有很好的性能。
关键字:双DSP平台,实时跟踪系统设计,12位数字相机
引言
实时跟踪系统中目标的捕获和跟踪是图像处理、计算机视觉和模式识别等领域的重要课题,在军事、工业、医学和交通等方面有着广泛的应用前景。传统的图像处理系统是一般是针对8位的数字图像,大多数的跟踪器采用TI公司所推出的优秀的高速数字信号处理芯片C6x系列DSP,TI公司提供了很多针对处理256灰度级图像的图像处理支持库,用户可以方便的调用里面的API函数,并通过CCS自带的调试工具进行简单快捷的调试,缩短程序的开发周期。由于信息技术的不断发展,人们越来越注重跟踪的精度和可靠性,高分辨率高精度的相机越来越受到人们的青睐,而对于大数据量的实时处理问题也伴随产生。
本文针对分辨率为1024×1024的12位数字相机提供了一个实时跟踪系统平台,该平台的建立对后续算法的研究奠定了坚实的基础,由于目标本身的特点本文以重心法为例进行分析。
1. TMS320C6203简介
TMS320C6203芯片是TMS320C62x系列定点DSP中的一员。定点DSP在硬件结构上比浮点器件简单,具有价格低和速度快的特点,因而应用的最多。C62系列DSP的主要特点是在体系结构上采用了由TI公司研发的VelociTi甚长字(VLIW)结构。每个指令字包含多个字段(指令),字段之间相互独立,各自控制一个功能单元,因此可以单周期发送多条指令,实现很高的指令级并行效率。C6000的VLIW采用了类RISC指令集,使用大的统一的寄存器堆,结构规整,具有潜在的易编程性和良好的编译性能,在科学应用领域可以发挥良好的作用。300MHz时钟的C6203峰值性能可以达到2400MIPS(百万条指令/秒)。C6203有8个独立的功能单元,其中6个加法器,两个16位乘法器可以得到32位的结果,可以每周期执行8条32bit指令,专用存取结构,32个32bit通用寄存器,支持40bit ALU运算,支持位操作。由于多功能单元的并行操作,使DSPs在相同的时间内能够完成更多的操作,因而提高了程序的执行速度。除多功能单元外,流水技术是提高DSPs程序执行效率的另一个主要手段。
DSPs采用了程序总线和数据总线分离的哈佛总线结构,可以同时取指和取操作数,片内提供256位的程序总线、2套32位数据总线和1套32位的DMA专用总线。灵活的总线结构大大缓解了数据瓶颈对系统性能的限制。
C6203芯片片内提供多种功能强大的集成外设,包括3个多通道缓冲串口,两个通用计数器,一个32bit扩展总线,32bit高性能外部存储器接口(EMIF)提供了与SDRAM、SBSRAM和SRAM等同步、异步存储器的直接接口。
随着DSPs应用的日益广泛深入和市场竞争的日趋激烈,TI公司推出了世界上第一个效率可达70%~80%的汇编语言级C编译器,它产生的代码的平均效率是其他DSPs编译器的3倍,另外,C6000独有的汇编优化器可以使开发者采用线性汇编语言得到近似标准汇编的性能,因而降低了开发难度。CCS的出现,提供了更加丰富和强有力的调试手段来提高程序调试的效率和精度,使应用程序的开发变成一件轻松而有趣的工作。
2. 电视跟踪系统硬件结构
电视跟踪系统硬件结构如图1所示,以两片DSP TMS320C6203为核心,有FPGA完成图像预处理工作如图一所示。
图1. 电视跟踪系统硬件框图
本文实验所用到的高精度相机为DALSA公司生产的1M30相机,1024×1024协议,全局CCD结构,帧频为30fps,40MHz数据吞吐率,12位数字化,高灵敏度低暗电流,异步图像获取,外部触发结构,单12V~24V供电,多触发控制。
3. 投影法及在捕获、跟踪系统中的应用
投影法是一种简单而且容易实现的方法,设图像Image上的元素为的大小为m×n,则水平方向的投影与垂直方向的投影分别为:
DSP1捕获系统设计如下:
由于DMA传递数据的最大限度为0xffff,可将1024×1024大小的图像通过DMA分8次倒入DSP中,DSP1没有接到捕获命令的时候可以进行图像拉伸或目标位置预测等算法,协助和检验DSP2的跟踪;当DSP1接到自动捕获命令后进入捕获状态,分块累计直方图计算阈值,将图像二值化,然后通过投影法求取水平方向投影和垂直方向的投影,整场计算完毕累计投影值,找到水平方向投影最大值与垂直方向投影最大值的交界处,将该位置通过FIFO送给DSP2用于以后的跟踪。
DSP2跟踪系统设计如下:
当DSP2接到跟踪命令后进入跟踪状态,跟踪命令或由DSP1给出,或由鼠标通过串口通信强制跟踪,本文以初值256×256画跟踪窗,通过DMA传递数据将窗口内的图像转到片内寄存器进行处理。由于目标与邻近的背景之间一般有着很高的对比度,可以在跟踪窗内对物体进行识别。累计跟踪窗内的直方图,计算窗口内阈值将图像二值化计算目标重心位置,并通过投影法找到目标各个方向的边界,估算目标大小调整跟踪窗的尺寸。若跟踪窗内没有发现目标则向DSP1发出捕获命令。
(a) (b)
图2 (a)为原始图像,(b)为二值化后的图像,左方为目标的水平投影,上方为目标的垂直投影
4.试验结果与展望
经试验,基于双DSP平台的实时电视跟踪系统实时和准确性满足要求,能够及时送出脱靶量,延迟小,工作稳定,并且跟踪窗能够自动调节,有很好的跟踪效果。此平台满足自然背景下的目标识别和跟踪要求,但由于只使用了定点DSP必然有其算法的局限性,可再加入一片浮点DSP TMS320C6701设计多DSP平台,即可满足算法多方面的要求,如即将准备移植的运动目标姿态测量算法,可以在实时跟踪的基础上,实时给出目标旋转的角度和缩放大小。
本文的创新点是:建立双DSP平台处理高精度高分辨率图像,两个DSP协调工作,由于图像较大,不能整场存入片内进行处理,因而利用分段累计投影法达到实时捕获和跟踪的目的。
图3.电视跟踪程序原理框图
图4. 试验结果及试验平台
5. 参考文献:
[1] 《TMS320C6203B FIXED-POINT DIGITAL SIGNAL PROCESSOR》Texas Instrument,2004.3
[2] 《TMS320C6000 DSP/BIOS Application Programming Interface(API) Reference Guide》Texas Instrument, 2001.4
[3] 《DSP集成开发环境》,彭启综、管庆等编著,电子工业出版社,2004.7
[4] 《TMS320C6000 Chip Support Library API Reference Guide》Texas Instrument, 2001.4
[5] 《TMS320C6000 DSK Board Support Library API User's Guide》Texas Instrument, 2001.1
[6] 《TMS320C62x Image/Video Library Programmer's Reference》Texas Instrument, 2001.4
[7] 《Digital Image Processing》Kenneth R.Castleman, 1998.4
[8] 《TMS320C6000系列DSPs原理与应用》李方慧,王飞等编著,电子工业出版社,2003.1
[9] 《基于DSP的实时图像处理系统》,微计算机信息,2005年21卷3期