郝 伟
(中国科学院长春光精密机械与物理研究所,吉林 长春 130033)
随着集成电路向着大规模、超大规模、甚大规模发展,数字图像处理技术在硬件结构上的应用也发生了重大变化,特别是随着DSP技术的飞速发展,目前带有DSP处理器的实时图像处理系统已经成为图像处理的主流[1]。
根据某图像跟踪系统的基本功能要求所设计图像跟踪系统的硬件原理框图如图1所示。
系统中FPGA芯片采用V4系列中的XC4VFX20,主要完成对两路图像的数据分流,分流的一路通过FPGA驱动内嵌的MAC层内核与外部PHY控制芯片无缝接口,实现千兆网的图像数据传输,分流的另一路FPGA用于进行图像预处理,处理后的数据发送到DSP,由DSP进行图像处理算法的实现。驱动并转串模块,用于实现与外部系统的实时通讯。DSP芯片——TMS320C6416,用于对图像中目标的跟踪算法的实现[2]。
VIRTEX-4型FPGA(简称V4)是目前Xilinx主流的高端FPGA,是Virtex家族的第三个系列,也是全球第一个使用90nm工艺的高端FPGA。V4开创了FPGA根据应用领域细分结构的先河,我们这里使用的是V4系列中的FX系列的一款芯片,FX系列是V4中最高端的器件,是唯一拥有嵌入式PowerPC硬核、嵌入式千兆MAC硬核和RocketIO资源的V4,并且拥有最多的片上存储器BlockRAM、最多的时钟资源,以及平衡的逻辑、DSP性能和并行IO资源[3-4]。
本系统采用的是TI公司生产的TMS320C6416芯片。TMS320C6416系列的数字信号处理器,是美国TI公司于1997年推出的高端系列的DSPs。虽然该系列的DSP在芯片设计上,最初主要是针对多通道无线通信和有线通信的应用领域,但是,由于其优异的高速处理性能和出色的对外接口能力,因此,这种器件也很适合用于雷达声纳图像处理、视频测量跟踪等领域。
图1 图像跟踪系统硬件原理框图
DSP的软件编程和调试是通过闻亭公司的TDS510仿真器在Code Composer Studio(CCS)3.1环境下完成的。CCS支持ANSI C语言和汇编语言,本系统软件代码由C语言和线性汇编语言混合实现。CCS是TI公司推出的一个集成性DSP软件开发工具,开发者可以进行软件编辑、编译、调试、代码性能、代码优化和项目管理等工作。
软件的主要任务是根据跟踪处理器系统的硬件特点以及总体方案技术指标,完成对视频信号的采集、数字图像预处理以及对目标的识别跟踪和脱靶量计算输出。
图2 遮挡目标跟踪
据此,系统在软件设计上采用多层算法结构:底层图像预处理技术(中值滤波、直方图统计),中层图像特征提取技术(图像灰度拉伸、Susan角点和SFIT特征提取),顶层目标特征匹配和目标跟踪(模板匹配、SFIT特征匹配、模糊阈值分割、粒子滤波跟踪),最终实现多模融合的目标识别与跟踪[5]。
图2所示为本系统在实际应用中的截图。
本文设计的硬件平台满足了跟踪系统的需要,完成了序列图像的实时采集,同时为实现各种实时图像处理算法提供了良好的硬件平台。设计中充分利用了FPGA等可编程器件以及FPGA内部可利用的硬件资源,提高了系统的集成度和可靠性,也简化了系统的硬件设计。
在此基础上,本文从软件设计的角度出发讨论了系统中基于DSP的图像采集处理的算法软件。经过实际工程项目验证,本系统的设计是成功的。
[1]宋建中,王延杰.跟踪测量电视系统[J].光学精密工程,1995,3(5):44-52.
[2]周宏仁,敬忠良,王培德.机动目标跟踪[J].北京:国防工业出版社,1991.
[3]裴鹿成,王仲奇.蒙特卡罗方法及其应用[M].北京:北京海洋出版社,1998.
[4]Virtex-4 Family Overview.Xilinx Inc.,2006.
[5]Virtex-4 User’s Guide.Xilinx Inc.,2006.