图像目标分割系统设计与应用

时间:2011-06-22

  摘  要: 图像目标的分割是图像处理的重要环节。从图像中目标的相对位置出发,提出了一种目标分割算法。该算法以轮廓跟踪算法为主体,结合投影算法以减少轮廓跟踪算法的运算区域,从而提高分割算法的实时性。以TMS320C50和FPGA芯片为器件实现了图像目标分割系统,实验证明该系统具有较高的分割及实时性能。

  近年来,随着科技的发达,数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。数字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。本文从目标图像的常用识别方法出发,利用投影法和轮廓跟踪法(爬虫法)相结合制定目标图像的分割算法,在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的投影集合的穷尽组合可在整幅输入图像中划分出若干小区域,且所有目标必存在于这些小区域中,通过计算各区域的能量和就可以确定目标所存在的区域。

  ②细化分割:在粗区域划分后,某些区域或所有区域中仍存在多个目标,即某些目标的相对位置关系以情况出现时,则分别对各区域再做区域划分。算法与粗区域划分相同,这样便可得到各目标的存在区域。

  ③轮廓跟踪法:假定各目标之间相互独立,根据目标外轮廓的连通性,可从外轮廓上的一点出发在其8邻域中沿顺时针或逆时针方向搜索前进(搜索高电平),必然可以返回到起始点。记录搜索前进过程中X和Y方向的值与值便可确定目标的存在区域。

  1.3 算法实现

  ①二值化处理:一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。这是研究灰度变换的特殊的方法,

  ②粗区域划分:对各行做异或运算,检测各为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转换器

  模数转换过程包括量化和编码。量化是将模拟信号量程分成许多离散量级,并确定输入信号所属的量级。编码是对每一量级分配的数字码,并确定与输入信号相对应的代码。普通的码制是二进制,它有2n个量级(n为位数),可依次逐个编号。模数转换的方法很多,从转换原理来分可分为直接法和间接法两大类。 直接法是直接将电压转换成数字量。

  本系统中A/D转换器采用8位高速A/D转换芯片BT218,它是一个专门用于视频信号数字化应用方面的A/D转换器。其主要特性有:20MSPS的转换速率,分辨率8BIT,不需要外加采样保持电路和视频放大电路,兼容TTL电平等。由于输入时钟CLOCK的频率fA/D=9.8125MHz,因此利用行同步信号H.SYNC对内部比较器周期性清零,以消除比较器因制造公差引起的初始阈值不匹配。

  2.5 可编程控制单元

  可编程控制单元由两片EPM7128SLC84 CPLD可编程器件和一片GAL20V8组成。一片可编程器件用于对A/D转换器输出数据进行二值化处理、产生存储器的地址以及存储器的片选信号;另一片可编程器件用作总线控制器,而GAL20V8用作译码电路。

  由于输入视频信号为PLA制,即一帧图像由奇、偶场组成且为隔行扫描,生成的数字图像为512×512,每行采样512个点,每场取256行,故用两个计数器来完成512和256的计数。对于每行采样时应避开行消隐期;对于每场取行时应避开场消隐期(25个行周期)。锁存信号由D0位产生,主要控制比较器完成二值化处理,同时控制移位寄存器生成16位数据并在写信号控制下输出。每行采样512个点,对于16位存储器需32个地址存放一行信息。

  由于PLA制是隔行扫描,存储器地址应分为512个地址段,每段为32个地址,并且按地址段间隔存放数据。每段地址A4~A0由锁存信号经计数器产生,A5由奇/偶场信号产生,A13~A6由行同步信号控制另一计数器产生。

  2.6 数据存储单元

  数据存储单元采用三片IDT7026。它是16K×16bit的高速双口静态RAM,存储容量为256Kbit,能满足图像的存储需求。一片用于存放数据图像,两片用于存放中间结果。

  2.7 DSP

  是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。

  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根据以上信息对每个目标图像数据进行简化,并顺序存放在片内双口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获得。(3)目标受光照影响,在二值化处理时产生目标丢失。(4)在实验中,图像背景为黑电平。如图像背景为复杂背景时,将严重影响目标分割,建议在算法中引进MPEG算法剥离复杂背景,同时它也是解决(1)的一条途径。


  
上一篇:一种实时混合调度算法设计和实现
下一篇:SecureIT Mobile 企业版实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料