摘 要:图像目标的分割是图像处理的重要环节。从图像中目标的相对位置出发,提出了一种目标分割算法。该算法以轮廓跟踪算法为主体,结合投影算法以减少轮廓跟踪算法的运算区域,从而提高分割算法的实时性。以ti" title="ti">title="TMS320C50" title="TMS320C50">TMS320C50">TMS320C50和FPGA" title="FPGA">FPGA芯片为核心器件实现了图像目标分割系统,实验证明该系统具有较高的分割精度及实时性能。
关键词:目标分割 投影法 轮廓跟踪法DSP" title="DSP">DSPFPGA
近年来,数字图像处理已广泛应用于科学研究、航空航天技术、医疗诊断以及工农业生产等诸多领域。但在目标图像的识别及跟踪时,从输入图像中分割出待处理目标图像的质量优劣,将直接影响到待处理目标图像的识别及跟踪。本文从目标图像的常用识别方法出发,利用投影法和轮廓跟踪法(爬虫法)相结合制定目标图像的分割算法,在PC机上利用C语言编译通过,并移植到DSP系统中。实验证明该系统工作十分有效,且具有较高的实时性。
1 算法介绍
在图像跟踪系统中往往需要对目标图像进行识别,而图像识别的常用方法一般分为模板匹配法和特征匹配法。模板匹配算法是从输入图像中分割出待识别的目标图像,利用相关算法计算其与模板图像的相关度而达到目标识别的目的;特征匹配算法是通过计算目标图像的各种特征矩并与模板的各种特征矩的计算值相比较而达到目标识别的目的。由于计算机存储图像时通常以矩阵形式存储,因此以上这些图像识别方法均是在方形区域内进行的。如模板匹配算法中,若以减运算作为相关运算,则需要从输入图像中精确分割出目标图像的存在区域,再与模板作相关运算,所以目标的分割精度将大大影响识别精度;而以特征匹配算法进行识别时,若提取的方形区域内存在多个目标则也会造成识别精度的大幅度下降。
本文是根据多个目标之间的相对位置关系来确定目标的分割算法的。
1.1 目标间相对位置关系
假设输入图像为f(x,y),则
设fi(x,y)∩fj(x,y)=φ,i≠j且i,j=1,2…n,各目标图像之间不存在交集,即各目标图像相互独立,目标之间的相对位置关系如图1所示。
设f(x,y)在x和y轴上的投影分别为集合X和Y,各目标fi(x,y)在x和y轴上的投影为集合Xi和Yi,且,则有以下三种情况。
(1)各目标图像对X轴及Y轴方向投影所得到的x集合和y集合均不存在交集,即Xi∩Yj=φ,Yi∩Yj=φ,i≠j且i,j=1,2…n。如图1(a)所示。
(2)各目标图像对X轴及Y轴方向投影所得到的x集合和y集合,仅有x集合或y集合,或两者均存在交集,但不存在包含关系,即Xi∩Xj≠φ,Yi∩Yj≠φ,且仅有XiXj或YiYj,i≠j且i,j∈1,2…n。如图1(b)所示。
(3)各目标图像对X轴及Y轴方向投影所得到的x集合和y集合,有x集合和y集合均存在包含关系,有XiXj也有YiYj,i≠j且i,j∈1,2…n。如图1(c)所示。
1.2 采取的算法
①粗区域划分:将整幅输入图像分别对X轴及Y轴作投影,可得到x和y的各投影集合,通过对所有x和y的投影集合的穷尽组合可在整幅输入图像中划分出若干小区域,且所有目标必存在于这些小区域中,通过计算各区域的能量和就可以确定目标所存在的区域。当各目标的相对位置关系以情况(1)出现时,便可得到各目标的存在区域。
②细化分割:在粗区域划分后,某些区域或所有区域中仍存在多个目标,即某些目标的相对位置关系以情况(2)出现时,则分别对各区域再做一次区域划分。算法与粗区域划分相同,这样便可得到各目标的存在区域。
③轮廓跟踪法(爬虫法):假定各目标之间相互独立,根据目标外轮廓的连通性,可从外轮廓上的一点出发在其8邻域中沿顺时针或逆时针方向搜索前进(搜索高电平),必然可以返回到起始点。记录搜索前进过程中X和Y方向的最大值与最小值便可确定目标的存在区域。
1.3 算法实现
①二值化处理:选取适当阈值对输入图像进行二值化处理。
②粗区域划分:对各行做异或运算,检测各为1的连续域,记录各连续域的最大值和最小值;同理,对各列做如上运算,通过各连续域的穷尽组合,计算各区域的能量值,设取阈值,便可实现目标图像的粗区域划分。
③细化分割:算法实现与粗区域划分算法相同,只是运算区域在各目标区域中进行。
④轮廓跟踪法:为了提高算法的执行速度,将轮廓跟踪法改为双向搜索前进。由于每一目标在行方向上观察是以一点或数点或一连续域或数个连续域开始,并以此向左或向右扩展并连通,每一目标也将以一点或数点或一连续域或数个连续域结束。记录开始行、结束行信息及其在X轴投影的最左、最右点,便可得到这一目标的存在区域。主要方法为逐行向X轴投影,观察各行在X轴投影区域在左、右方向的变化。取第一行并向X轴投影,检查为1的一个点或数个点或一段或几段投影连续区域,并记录各自行、列位置。取第二行再向X轴投影,发现此次投影点会将第一次投影点或区域向左或右方向推移或保持不变,或是增加新的点或区域,修改各记录,以此方法进行下去,最终一目标会以向右方向汇于一点或一段连通区域结束对这一目标外轮廓的搜索。由所记录的行、列信息可得到目标的存在区域。
⑤目标提取:按各目标的位置及大小信息提取各目标。对于情况(3)中目标,先提取小目标,并在小目标区域清零,再提取大目标。
2 硬件系统设计
在本系统中,视频图像由CCD获取,经视频预处理电路预处理后由A/D转换电路转换成数字信号,再经二值化处理后,便在行同步信号H.SYNC及锁相倍频电路产生的CLOCK信号控制下,产生其数据存储地址,存入双口RAM中,形成512×512的数字图像。DSP从双口RAM取出数据,按上述分割算法计算出目标存在区域及目标图像,并通过总线控制电路送入计算机进行后期处理。图2为系统框图。因篇幅所限,系统总体电路在此省略。
2.1 视频预处理电路
考虑到视频信号在传输中的衰减,采用LM318进行视频放大,从而得到更清晰的信号,以方便进一步视频处理。
2.2 视频同步分离器
视频同步分离器采用LM1881,其外围电路连接简单,对视频信号同步信号分离极为准确。LM1881的引脚及连接电路如图3所示。
2.3 锁相倍频电路
以74HC4046为核心组成锁相倍频电路。其主要用途是为A/D转换器及可编程控制器件CPLD提供时钟。由于要将输入图像转换为512×512的数字图像,而行周期为64μs,其中图像占52.2μs,行消隐占11.8μs,因此A/D的最低采样转换频率为f=512/52.2=9.808MHz。在本电路中,采用行同步信号(fH=15.625kHz)作为输入信号,并对其进行628倍倍频得到本系统A/D转换器时钟,其频率fA/D=9.8125MHz。
2.4 A/D转换器
本系统中A/D转换器采用8位高速A/D转换芯片BT218,它是一个专门用于视频信号数字化应用方面的A/D转换器。其主要特性有:20MSPS的转换速率,分辨率8BIT,不需要外加采样保持电路和视频放大电路,兼容TTL电平等。由于输入时钟CLOCK的频率fA/D=9.8125MHz,因此利用行同步信号H.SYNC对内部比较器周期性清零,以消除比较器因制造公差引起的初始阈值不匹配。
2.5 可编程控制单元
可编程控制单元由两片EPM7128SLC84" title="EPM7128SLC84">EPM7128SLC84CPLD可编程器件和一片GAL20V8组成。一片可编程器件用于对A/D转换器输出数据进行二值化处理、产生存储器的地址以及存储器的片选信号;另一片可编程器件用作总线控制器,而GAL20V8用作译码电路。
由于输入视频信号为PLA制,即一帧图像由奇、偶场组成且为隔行扫描,生成的数字图像为512×512,每行采样512个点,每场取256行,故用两个计数器来完成512和256的计数。对于每行采样时应避开行消隐期;对于每场取行时应避开场消隐期(25个行周期)。二值化处理电路的主要工作原理是用H.SYNC和CLOCK控制采样计数器产生锁存信号。这里为避开行消隐期,延迟7.1μs后开始512计数。锁存信号由D0位产生,主要控制比较器完成二值化处理,同时控制移位寄存器生成16位数据并在写信号控制下输出。每行采样512个点,对于16位存储器需32个地址存放一行信息。
由于PLA制是隔行扫描,存储器地址应分为512个地址段,每段为32个地址,并且按地址段间隔存放数据。每段地址A4~A0由锁存信号经计数器产生,A5由奇/偶场信号产生,A13~A6由行同步信号控制另一计数器产生。
2.6 数据存储单元
数据存储单元采用三片IDT7026。它是16K×16bit的高速双口静态RAM,存储容量为256Kbit,能满足图像的存储需求。一片用于存放数据图像,两片用于存放中间结果。
2.7 DSP
DSP采用TMS320C50,它具有改进的哈佛结构和多流水线操作。主要特点为:
CPU具有32位CALU,32位的累加器,32位的累加器缓存器,16位×16位的并行乘法器,三个移位寄存器,八个16位的辅助寄存器。
存储器最大可寻址224×16位的外部空间,1056×16位的片内双口RAM,2K×16位的片内boot ROM。
指令周期为35~50ns的单周期定点指令执行时间,20~28.6MIPS,每秒百万条指令。
本系统利用轮廓跟踪法结合投影算法,实现图像中目标图像的分割与定位。图像原点设在图像的左上顶点,目标图像的定位点也设在目标存在区域的左上顶点。目标个数、各目标定位点数据及其水平方向和垂直方向大小信息经DSP计算后,存放在内部寄存器中。DSP根据以上信息对每个目标图像数据进行简化,并顺序存放在片内双口RAM中。处理完毕,按照每个目标的大小信息进行寻址计算,向计算机输出各目标图像。
3 分割算法仿真结果及系统实时性测试
将图4中(a)所示图像作为输入图像进行仿真实验。图中包含10个目标,大小分别为(32×32)、(64×64)、(96×96)和(128×128),各目标的位置关系均包含上面所提到的三种情况。在计算机上进行算法测试,图5为分割结果。
在图4中,(a)为输入图像,(b)为二值化处理后的图像。由于A/D转换后的图像为256灰度级,选取二值化阈值为74。
图5为对图4(b)通过分割算法得到的各目标图像,上排从左至右各目标位置及大小信息依次为:(113,38)、(32×32),(41,38)、(128×128),(77,231)、(96×96),(25,338)、(96×96),(246,58)、(64×64);下排从左至右各目标位置及大小信息依次为:(356,154)、(64×64),(422,38)、(64×64),(452,310)、(32×32),(360,317)、(32×32),(358,308),(128×128)。
利用如图4(a)所示的图像作为系统的输入图像,目标分割精度略有下降。经过分析认为是CCD对图像的定位误差造成的,另外,CCD受光照的影响也会使输入图像二值化效果下降。对此图像,系统的处理时间约为7.5ms,小于视频图像信号帧周期40ms,完全满足视频图像处理的实时性要求。值得一提的是,图像的复杂程度对系统的处理速度有较大影响。
本文提出的视频图像目标分割系统,由于采用DSP芯片、FPGA芯片及高速A/D转换芯片,具有处理速度高、系统构成简单等特点。实验结果表明具有较高的目标分割精度。但是依然存在如下问题尚待解决:(1)我们是在fi(x,y)∩fj(x,y)=φ的假设下制定分割算法的,对于fi(x,y)∩fj(x,y)≠φ的情况,即目标与目标之间有重叠。本文中的分割算法尚不能分离目标。(2)视频图像是由CCD获得。由于CCD受光照及反光的影响,造成图像信噪比降低或产生虚假目标,致使目标分割精度降低。(3)目标受光照影响,在二值化处理时产生目标丢失。(4)在实验中,图像背景为黑电平。如图像背景为复杂背景时,将严重影响目标分割精度,建议在算法中引进MPEG算法剥离复杂背景,同时它也是解决(1)的一条途径。
参考文献
1 赵荣椿. 数字图像处理导论.西安:西北工业大学出版社,1995:209~213
2 Kenneth.R.Castleman.数字图像处理.北京:电子工业出版社,1998:423~430
3 章毓晋.图像处理和分析.北京:清华大学出版社,1999:231~240
4 TMS320C5XX User’s Guide.Texas Instruments,1991
5 赵慧民,庄宏成.利用电话线传输视频图像的一种DSP应用.电子技术应用,1999;25(11)
6 宋万杰,罗 丰,吴顺君.CPLD技术及其应用.西安:西安电子科技大学出版社,1999