基于最大类间方差法的图像分割系统的设计与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于最大类间方差法的图像分割系统的设计与实现王暕来杨春玲(哈尔滨工业大学电气工程及自动化学院,哈尔滨150001)摘要:在现代战争中,快速而有效的对攻击目标进行识别和跟踪对获取战争主动权起着很重要的作用,而要达到这个目的,就需要从目标图像中准确的分割出目标。在图像分割中,阈值的选取至关重要。最大类间方差法是一种常用而有效的图像分割算法,并已在许多实时场合中采用。为满足高速场合的要求,本文采用Altera公司的CycloneII系列的FPGA实现类间方差的计算。实验结果表明,本设计能够实时稳定的对目标分割提取,分割效果良好。关键词:图像分割;最大类间方差;FPGAImplementationofimagesegmentationsystembasedonOtsumethodWANGJian-laiYANGChun-ling(ElectricalEngineering,HarbinInstituteofTechnology,Harbin,150001)Abstract:Inthemodernwar,recognizingandtrackingthetargetrapidlyandeffectivelyisofvitalimportanceforacquiringwarinitiative.Forthesake,itisnecessarytosegmentthetargetfromtheimageaccurately.Inimagesegmentation,thresholdselectionisveryimportant.TheOtsu’smethodisaneffectivealgorithmforimagesegmentation,andhasbeenwidelyemployedinvariousreal-timeapplications.Inthispaper,animplementationonFPGAofAltera'sCycloneIIseriesfortheBCVC(BetweenClassVarianceComputation)ofOtsu’smethodispresentedtomeetthesehighspeedrequirements.Theexperimentalresultsindicatethatthesystemcanobtainagoodperformanceofimagesegmentation.Keywords:Imagesegmentation;Maximumbetweenclassvariance;FPGA引言图像分割是图像处理和计算机视觉中基本而关键的技术之一,也是图像理解与模式识别的前提[1],在实际中也有着很广泛的应用。例如在医学应用中核磁共振图像的特定器官分割;在遥感应用中合成孔径雷达图像的目标分割;在红外技术应用中红外无损检测热图像的分割以及红外成像跟踪系统的目标分割等等。阈值分割是图像分割中最常用的方法,通过选取适当的阈值,将原图像中的目标与背景分开,为后续的分类、识别提供依据。如何选取最优阈值,保证-1-最好的分割效果,一直是阈值分割的难点。人们已经提出了很多阈值选取方法,如Otsu提出的最大类间方差法[2],Kapur等提出的最佳熵阈值方法[1];1962年Doyle提出的P-tile法[3]是早期的基于灰度直方图的自动阈值选择方法,该方法计算简单,抗噪声性能较好,不足之处是要预先知道给定目标与整幅图像的面积比P,因此在P未知或P随不同图像改变时,该方法不适用。其中Otsu在1979年提出的通过最大类间方差准则来选取阈值的方法一直被认为是阈值分割的经典算法。本文拟采用Altera公司CycloneII系列的FPGA实现最大类间方差法以达到图像分割的目的。1最大类间方差法(Otsu法)的基本原理最大类间方差法(Otsu法)是由Otsu于1979年提出的动态阈值分割方法,它的基本思想是利用一幅图像的灰度直方图,依据类间距离极大准则来确定区域分割门限。该方法的基本原理如下:设图像有个灰度级,灰度值是i的像素数为,则总的像素数是Lin10LiiN−==n∑,各灰度值出现的概率为/iipn=N,显然且。设以灰度为门限将图像分割成2个区域:灰度级为1~的像素区域A(背景类)和灰度级为0ip≥101Liip−==∑tt1~1tL+−的像素区域B(目标类)。A、B出现的概率分别为101,1tLAiBiiitAppppp−==+===∑∑−A和B两类的灰度均值分别为101,tLAiABiiitippippωω−==+==∑∑B图像总的灰度均值为100LAABBiippiωωω−==+=p∑由此可以得到A、B两区域的类间方差2200()()AABBpp2σωωωω=−+−显然,Ap、Bp、Aω、Bω、0ω、2σ都是关于灰度级的函数。t为了得到最优分割阈值,Otsu把两类的类间方差作为判别准则,认为使得2σ值最大的即为所求的最佳阈值:*t*20001ArgMax[()()ωωωω≤≤−=−+AABBtLtpp2]−因为方差是灰度分布均匀性的一种度量,方差越大,说明构成图像的两部分差别越大,当部分目标错分为背景或是部分背景错分为目标都会导致两部分-2-差别变小。因此,使类间方差最大意味着错分概率最小,这就是Otsu准则。2总体方案设计本系统拟通过FPGA对图像传感器采集的图像数据进行存储,针对每一帧图像计算其最大类间方差,从而得到阈值以便分割图像,并把分割后的图像通过VGA显示。其中图像分辨率为320x240,帧频为45帧/秒,量化位数为10比特。2.1原始数据的预处理为了获得客观景像最详尽的描述,最佳方案是用3块CCD接收红(R)、绿(G)及蓝(B)3个分量的信息,合成彩色图像。但出于成本与系统体积的考虑,大部分的数字成像设备(如普及型数字相机、数字录像机等)都采用1块CCD作为接收图像的传感器。一般是在CCD表面覆盖颜色滤波阵列(ColorFilterArray,或称CFA),仅允许通过1种颜色分量,使CCD单元只产生1个分量的响应值。入射光滤波层光传感器阵列三种基色的排列模板蓝绿红(a)单芯片彩色CCD的结构(b)Bayer滤波模式图1Bayer彩色CCD结构Bayer方案由Kodak创立,它把输入光信号分解为RGB三基色,且每个像素点只采集一种颜色光的亮度。如图1所示,其中绿色像素(G像素)最多,占1/2,红色像素(R像素)和蓝色像素(B像素)各占1/4。这是因为人眼对亮度信息最敏感,而绿色像素对亮度的贡献最大。因此,在Bayer滤光镜阵列中,通过绿色滤光镜的光强是通过蓝色滤光镜或红色滤光镜的两倍。这便引出一种通常称作的“4:2:2RGB”的输出格式,即每发送2份红色光和2份蓝色光就对应发送4份绿色光。这样CCD产生的每个像素都缺少了2种颜色,成像设备要获得全彩色图像,就要用周边像素的像素值近似计算出被滤掉的颜色分量,即彩色插值(ColorInterpolation)或彩色去马赛克(ColorDemosaicing)处理。本设计中采用的图像传感器MT9M011使用的是Bayer类型的颜色滤波阵-3-列,所以需要设计彩色插值模块,以得到“4:4:4RGB”的输出格式从而进行后续处理。2.2亮度信息的获取通常,我们看到的光不是单一波长的光,而是许多不同波长的光的组合。自然界中的任何一种颜色都可用这三种基本颜色按不同的比例混合得到,它们构成一个三维的RGB矢量空间。这既是色度学中最基本的原理——三原色原理。任一种颜色和这三种颜色之间的关系可用下面的式子来描述:任一颜色=R(红色光的百分比)+G(绿色光的百分比)+B(蓝色光的百分比)为了更加有效地压缩图像的数据量以便充分利用传输通道的带宽或者节省存储空间,人们开发了许多颜色空间,YCbCr颜色空间就是其中的一种。由于本设计采用的是彩色图像传感器,获得的图像数据是彩色的,而最大类间方差法所针对的应用场合是灰度图象,所以在把图像数据送入Otsu模块前,必须要通过颜色空间转换得到相应的亮度信息。YCbCr坐标与RGB坐标之间的关系如式(1)所示,这两个坐标之间的关系如图2所示。0.2570.5040.0980.0630.1480.2910.4390.5000.4390.3680.0710.500⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=−−+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥−−⎣⎦⎣⎦⎣⎦⎣⎦YRCbGCrB(1)Ye(1,1,0)Bk(0,0,0)G(0,1,0)B(0,0,1)Cy(0,1,1)R(1,0,0)Wh(1,1,1)Ma(1,0,1)YeBkGBCyRWhMaYCrCb图2RGB坐标与YCbCr坐标之间的关系2.3数据的缓存由于Otsu算法是一种基于全局性的算法,通过Otsu模块计算出的阈值会在当前帧的场消隐期间出现,所以系统需要构建帧存储器以保存当前帧的亮度数据,便于在场消隐期间读出该帧的亮度数据与阈值进行比较并把最终结果传递给VGA模块以便显示。本系统送入VGA模块的数字视频图像分辨率为320x240,其中每个像素值为10比特,所以一帧图像的大小为9.375Kx10比特,图像尺寸比较大,不宜采用FPGA片内存储单元构建帧存储器。所以本设计决定采用相对较便宜的高速大容量SDRAM外围逻辑器件构建帧存储器。FPGA设计的指导原则之一就是同步化设计,即对所有时钟控制器件(如触发器、RAM等)都采用同一个时钟来控制。但在实际的应用系统中,随着设计规模的不断扩大,一个系统中往往含有数个时钟,数据不可避免的要在不同-4-时钟域间传递,完全同步化设计出现困难。在本系统中即有这种情况发生,本系统采用的板级晶振是50MHz的,FPGA收到视频采集命令后,开始接收从MT9M011送出的数字视频流。MT9M011的时钟频率为25MHz,而SDRAM芯片使用的时钟是经过PLL将晶振的50MHz时钟2倍频后的时钟,两者时钟频率不一致。当视频数据从MT9M011传入到SDRAM时便出现了异步时钟域的问题,本设计采用异步FIFO进行数据缓冲。同样的,当在场消隐期间读出该帧的亮度数据与阈值进行比较的时候,由于比较模块采用的时钟频率为VGA的时钟频率——25MHz,所以在SDRAM与比较模块之间也需要使用异步FIFO进行数据缓冲。由于视频数据的存储和显示是同时进行的,而SDRAM存储器是单端口器件,数据的写入和读出不能同时进行,故需要同时进行乒乓操作来完成数据的连续读写。考虑到输入视频流和输出视频流的频率都比较低,所以本设计没有像通常的乒乓操作一样,采用两片相同SDRAM芯片,而只采用一片SDRAM芯片,通过设计SDRAM芯片与系统的接口模块轮流对两块Bank进行读写操作,大大节约了资源占用。MT9M011ImageSensorRAW2RGBModuleRGB2YCbCrModuleSDRAMWriteFIFOReadFIFOBank0Bank1MUXMUXMemoryModuleCompareModuleI2CModuleVGAModuleVGADisplayFPGAStatisticsModuleCalculateModuleOtsuModuleCaptureModule图3系统总体设计框图通过上述分析,本系统的总体设计框图如图3所示。FPGA作为系统的主控芯片,是本系统设计的核心。根据系统的工作需求,FPGA主控芯片的工作流程为:首先在上电后通过I2C模块完成对MT9M011图像传感器的初始化配置,选择输出图像的分辨率,帧频及曝光时间等参数。配置完成后,FPGA等待采集图像的命令。在收到采集命令后,从CCD传来的图像信号及其控制信号首先通过Capture模块,从而筛选出有效的数据,然后通过RAW2RGB模块,利用插值算法得到每个像素点的R、G、B数据。因为该系统只针对灰度图像进行分割,所以在送入Otsu模块前,需要把R、G、B数据送入RGB2YCbCr模块,从而得到图像的亮度分量。Otsu模块包括Statistics模块和Calculate模块两个子模

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功