本文介绍了一种基于双TMS320VC5416处理器的实时图像搜索跟踪处理系统,详细阐述了该系统的硬件设计思想,并结合一种跟踪算法实例叙述了基于DSP的图像搜索与跟踪处理系统软件设计的一般流程。该系统是一种优良的图像处理平台,具备良好的通用性,可以用来实现多种图像处理算法。
1.引言
电视图像跟踪器是一种具有简单智能的图像跟踪装置,它能在比较复杂的背景中,按照标准的电视制式,逐场提取与分离视场内的运动目标,提取目标亮度与结构特征,测定目标中心对转台视轴的方位与俯仰角误差。该跟踪角误差信息经变换后送到转台的伺服系统,驱动转台运动以保证被跟踪的目标始终处于成像传感器的视场中心,实现对目标的自动跟踪。
由于需要逐场(20ms)处理视场中的数据,因此处理的数据量大、算法复杂度高,传统的处理器一般不能满足速度要求,本系统选择美国TI公司TMS320C5416信号处理器为核心,实现了实时采集视场中的图像数据并完成相应的图像处理算法运算的任务。TMS320C5416主频可达160MHz,片内总存储空间为128M×16bit,是一款高性能低功耗通用数字信号处理芯片。该系统能处理50场/秒的,图像分辨率可调的标准电视图像信号。
2.系统硬件框图
图1 系统硬件整体结构框图
如图1所示系统采用双DSP+CPLD构架,系统有两路输入,一路接数字视频信号输入,另外一路从摄像机输入PAL制式的视频信号。双DSP中一个为主DSP,负责处理跟踪算法以及与上位机通信,另外一个从DSP负责实时产生模拟高斯噪声用以检测各种噪声条件下跟踪算法的效果。两个DSP之间通过一个共享双口RAM或HPI进行通信。在场正程图像数据存储到图像SRAM中, 主DSP在场逆程从图像双口RAM中读取图像数据到DSP内部,场正程开始时主DSP开始进行图像处理算法,在下一场逆程主DSP将处理的结果以及相关数据写入图形显示双口RAM同时开始从SRAM读入下一场数据,DSP处理完成以后在时序电路和视频复合电路配合下将处理结果显示到监视器上,完成实时图像处理任务。
2.1 图像采集模块
图像采集模块的主要功能是获取输入视频信号中的灰度数据和同步时钟,它是后续处理的基准。系统采用同步分离和锁相技术设计,采用分立元件。具体实现是信号从CCD出来后分为两路,一路经同步分离同步分离器LM1881,输出复合同步HS,场同步VS作为后面电路的控制信号,另一路经篏位和直流恢复,然后放大,将图像信号调整到A/D转换器的参考电压范围之内。对行同步信号进行锁相倍频即可得到像素时钟信号,锁相环芯片采用74HC4046。输入视频信号经锁相环锁相输出系统象素时钟提供给A/D变换器使用,得到数字图像数据。
2.2 时序电路模块
时序模块主要由一片CPLD(Xilinx公司的95288XL)实现,包括锁相计数、标准视频行场信号生成、DSP的外接存储器接口片选读写信号生成以及部分存储器地址生成、实现图形信号的并串转换、用户自定义I/O等。
2.3 通讯接口模块
本系统用到一个异步串口接收PC发送的调试命令,并向PC返回运算结果。
5416提供的串口是一种同步串行接口,并不支持通用异步接收器/发送器(UART)标准,本系统使用MAXIM公司的MAX3100芯片实现同步串口到异步串口的转换。5416使用FSR和FSX作为每次传输的同步信号, FSX作为MAX3100的选通信号。同步接收时钟CLKR和同步发送时钟CLKX在本系统中使用内部的时钟源,并且把CLKX作为MAX3100的同步时钟。系统中使用MAX3100的接收中断作为DSP的外部中断信号,通知DSP数据准备好,可以开始接收。
2.4 存储器访问模块
图像缓存采用单口大容量SRAM,可以存储整场图像。在场正程接收从采集模块采集进来的数据。在场逆程DSP将待处理的数据由SRAM读入片内数据区处理。
图形数据双口RAM用于存储用于显示的字符、图形等。视场中的一个确定位置对应于存储器中的一个单元(byte)中的一位(bit)。DSP将要显示的字符或图形以点阵形式写入存储器规定的存储单元内,存储器在系统时序控制下读出要显示字符或图形的点阵信号。8位图形数据经CPLD并-串转换电路变成串行信号迭加在模拟视频信号上提供显示。
3.系统软件设计
本系统可作为数字图像处理的通用平台,处理多种图像处理程序,软件设计灵活。
主DSP用以完成搜索跟踪算法,搜索、跟踪的算法有很多种,现以经典的相关跟踪算法为例来说明图像跟踪处理软件设计的一般流程。如果需要,可以增加不同的跟踪算法。
相关跟踪是利用图像相似性度量方法,在图像中寻找最佳匹配子区的工作,可选用算法包括归一化互相关(NCC)和平均绝对差累加和(MAD)等。由于相关运算数据处理量大,为便于实时实现,本系统采用最小绝对差累加和的相关匹配算法。该方法在计算两幅图象f1、f2它们之间的相似性度量时按下式进行:
其中f1、f2分别表示模板和搜索区图象的子区图象,在计算所有搜索区图子区与模板图象的绝对差累加和C后,确定最小C对应的子区位置即最佳匹配点。
对于32×32的模板和64×64的搜索区图象,每一帧图象仅仅确定最佳匹配位置的计算次数为 ,再加上模板修正和决策判断等工作,每一帧的数据计算量很大。例如,当指令周期为6ns时,运算时间约为7ms。为了减少计算量,可采用图象分辨率先粗后精的方法。图象分辨率降低一倍,计算量降低接近15倍。实际系统中,模板粗采样匹配跟踪执行时间约为1ms,可以满足系统实时性的要求。
实践证明,在进行序列图象跟踪过程中,如果单纯地将当前图象的最佳匹配位置处的图象来作为模板进行下一帧图象的匹配,跟踪结果很容易受某一帧发生突变图象的影响而偏离正确位置。 因此,应当考虑根据旧模板和当前图象的最佳匹配位置处的匹配度(合适度) 来制定合适的新模板,相当于对匹配跟踪过程进行一个指导,以达到比较好的跟踪效果.本系统设计一种模板加权修正方案,即
其中:A 为原模板图像内容;B 为本次匹配最佳匹配位置子图像内容;
M为修正后模板图像内容;W 为加权系数(根据帧内和帧间相关置信度选取)
在跟踪过程中,由于背景复杂,还可能会出现局部遮挡等情况,本系统采取了抗遮挡措施在一定程度上消除了局部遮挡的影响。其根据是在发生遮挡的情况下,最佳匹配位置的绝对差累加和会比未发生遮挡的时候大得多,在匹配过程中对匹配结果进行遮挡评估如下:
1、首先确定遮挡面积门限即遮挡部分占模板面积的百分比门限,超过门限就认为被遮挡;
2、然后根据最佳匹配位置的平均象素绝对差为参考确定遮挡象素的灰度门限,实时搜索区对应模板区域的象素灰度值大于灰度门限,则认为该象素被遮挡;
3、计算当前最佳匹配位置图象与模板图象绝对差超出遮挡象素灰度门限的个数 S,然后判断S是否超过遮挡的面积门限,如果超过,则认为目标被遮挡,置目标遮挡标志位,调初始化匹配结果堆栈例程,模板校正周期计数器归位停止校正模板,然后把当前的匹配结果用前面若干场匹配结果的统计平均值替换;否则认为没有被遮挡,清目标遮挡标志位。
系统软件具体实现过程为:首先对系统进行初始化。初始化子程序中定义一个状态字SysStatus来控制程序的流程,例如SysStatus=0时是搜索态,SysStatus=1时是相关跟踪算法SysStatus=2时是对比度跟踪态等。初始化结束后,系统进入循环等待状态,每场查询SysStatus的状态,等待状态的改变。跟踪目标模板的初始捕获可以选择在搜索态由目标搜索算法完成,也可由人工完成。以人工捕获为例,用户在上位PC机视场中选定目标区域,然后将目标位置坐标及搜索区域大小信息通过RS232串口传送给DSP,DSP根据接收到的状态赋值给全局变量SysStatus。然后根据SysStatus参数所指示的值进入不同的跟踪状态。
具体相关跟踪算法流程如下图2所示:
图2 相关匹配流程图
一场数据处理完成后结果一路经串口反馈到上位机上,一路经图形存储器把在目标位置处画出窗口并显示到监视器上。然后开始进行下一场处理。
从DSP完成实时高斯噪声的生产,噪声叠加到采集的输入图像上可以用以用来检验不同的跟踪算法在不同强度的高斯噪声下的实际效果。
算法为由均匀噪声通过映射表生成高斯随机噪声,具有高速、高精度的优点。原理框图如图3所示:左半部分为均匀噪声生成部分,采用模数取余法,依靠已有的k个在(-x,x)内均匀分布,互相独立的随机数种子x(1),…..x(k),不断的生成新的随机数,并将之向外输出。右半部分采用左部分的输出值为偏移地址,加上右表的基地址生成映射表地址,将查表后得到的该地址结果输出就得到了所要求的结果高斯噪声值,然后进入下一个循环。
图3 噪声产生原理图
从DSP主要完成噪声的产生工作,如果系统不需要模拟高斯噪声,此DSP也可根据实际需要用作别的用途,增加了系统的可扩展性。
4.结束语
本系统在硬件上采用了DSP、CPLD等集成度高、功耗低的先进器件,使得系统电路具备体积小、重量轻、功耗低、可靠性高等优点,是一种优良的图像处理平台。在本系统上成功实现了基于方向编码的目标搜索算法以及相关、对比度等多种跟踪算法,实验证明本系统完全满足实时性要求,能够稳定、精确和快速的搜索、跟踪目标。