红外图像多级均值对比度增强方法

文档序号:6561517阅读:152来源:国知局
专利名称:红外图像多级均值对比度增强方法
技术领域
本发明属于数字图像处理方法,具体涉及一种红外图像对比度增强的方法。
背景技术
红外图像是场景热辐射分布的成像。由于场景中的目标与背景的温差相对较小,所以红外图像具有高背景、低反差的特点,其信噪比也较可见光图像的低。为了能够从红外图像中正确地识别出目标,必须对红外图像进行对比度增强处理。
对比度增强技术常用于图像的预处理和提高图像的显示质量,在数字图像处理系统中有着广泛的应用。常用对比度增强算法有直方图均衡化和线性变换。
直方图均衡是一种原理简单且非常有效的图像增强方法,它通过压缩像素数较少的灰度级和扩展像素数较多的灰度级,从而使均衡后的图像获得较高的对比度。从信息论的角度来看,也就是增加了信源熵,从使用者的角度来看,也就是增加了从视场中获得的信息量。然而直方均衡化必须统计图像的直方图,需要存放图像直方图和灰度转换表,运算量大,占用了较大的RAM空间,不利于FPGA实现。同时,直方图均衡化改变了图像的相对梯度信息,容易造成目标和背景梯度信息的降低,不利于某些目标的检测,尤其是小目标的检测。
线性变换实现图像对比度增强是根据图像灰度的分布信息,确定一个线性拉伸的最小值X0和最大值X1,然后对整个图像灰度进行线性变换,实现图像对比度的增强。图像灰度线性变换的关键是得到合适的最小值X0和最大值X1,对此有三种经典算法直接最值法、均值和方差法、直方图统计法。
对于直接最值法,它依赖于图像灰度的最大值和最小值,而噪声通常也容易出现在最值点上,出现在最值点上的单个噪声点就可以严重影响该算法的工作,尤其是对于焦平面校正后还存在过热象元或死象元的情况,这种增强算法就无法工作。而且图像的最大值和最小值随时间具有较大的起伏,不具有时间上的稳定性,变换后的图像容易出现闪烁的情况。
对于均值和方差法,它有效克服了直接最值法对单个或少数噪音的高敏感性的缺点,对于图像直方图两端的灰度级有压缩,而且可以根据系统的需要选择适当的K值,图像对比度增强的程度能够控制,能够达到较好的增强效果。但是直方图均值两边波形变化缓急相差很大时,很容易出现图像整体偏暗或偏亮的缺陷。而且该方法存在除法和开方运算,尤其是开方运算,FPGA实现起来比较困难,需要耗费大量的逻辑资源,速度也很慢。同时公式σ2=E(x2)-E(x)2=1nΣi=1nxi2-m2]]>的方差计算中,存在m2运算,而对于m值较大的图像,需要保证m较多的小数位参与运算来保证精度,因而也需要一个较大的乘法器,这样FPGA实现起来会耗费较大的资源和运算时间。
对于直方图统计法,它不需要直方图服从正态分布,不需要知道直方图的概率分布就可以计算得到较可靠的最小值X0和最大值X1,能克服均值和方差法的弊病,是选取线性变换的X0和X1的比较理想方法。但是,对于硬件系统,直方图统计需要统计每个灰度级的像素个数,运算量大,也需要较大的RAM资源存放直方图信息,尤其是原始图像的灰度动态范围较大时,需要的RAM资源也随之增多,因而不利于FPGA逻辑的直接实现。
因此,我们需要找到一种处理效果好,又适合于FPGA逻辑实现的算法。

发明内容
如前所述,经典的三种线性增强算法直接最值法、均值和方差法和直方图统计法由于稳定性和资源需求,不太适合于用FPGA实现。而本发明的多级均值法去除了冗余计算,在不直接统计直方图的情况下,通过多级均值逼近的方式获取X0和X1的值,并用中值滤波增强了处理后图像的稳定性,综合起来说在FPGA实现上是一种优于前几种经典算法的实现方法。
它是通过以下方案实现的一种红外图像多级均值对比度增强方法,它依次包括A.多级均值计算、B.中值滤波和C.线性增强三部分,具体如下A.多级均值计算依次包括以下过程a.利用下述公式得到图像1/2处的灰度均值 m12=1NΣi=1NXi,]]>其中,N是图像像素点数,Xi是像素灰度值;b.再利用下述公式得到图像1/4处和3/4处的灰度均值
m14=ΣXi<m12XiK14,]]>其中, 表示图像中灰度小于 处像素点的个数,Xi是像素灰度值;m34=ΣXi>m12XiK34,]]>其中, 表示图像中灰度大于 处像素点的个数,Xi是像素灰度值;c.依此类推,依据公式“m12n=ΣXi<m12n-1XiK12n,]]>m2n-12n=ΣXi>m2n-1-12n-1XiK2n-12n]]>”可以得到任何1/2n和(2n-1)/2n处的均值m1/2n和m(2n-1)/2n,此两个数值即分别为线性拉伸的最小值X′0和最大值X′1;其中, 表示图像中灰度小于 处像素点的个数, 表示图像中灰度大于 处像素点的个数,Xi是像素灰度值;将依次得到的均值都存入寄存器;B.中值滤波过程将寄存器中相邻几帧的均值取中值,即得到最小值X′0的中值X0和最大值X′1的中值X1;C.线性增强过程根据下述公式,即可实现对图像灰度的线性增强XOUT′=1∀XIN≤X02n(XIN-X0)/(X1-X0)∀X0<XIN<X12n∀XIN≥X1]]>XOUT=0∀XOUT′=0XOUT′-1∀XOUT′>0]]>其中,XIN是输入图像的像素灰度值,XOUT是输出图像的像素灰度值。
优选地,在中值滤波过程中,结合一般实时图像处理系统对显示效果和算法的要求,取n=5,即在相邻五帧的均值中取中值即可以实现较好的效果。
本发明所述方法基于FPGA硬件实现,它可以对从前端获得红外图像实现稳定的对比度增强,是用于红外图像采集的装置,也可用于红外图像信息处理系统的预处理。该方法省去了繁琐而耗费资源的直方图统计计算,能够根据需要直接近似得到图像直方图两端某一百分比处的灰度值用于图像的线性增强,实践证明,本发明所述方法易于硬件实现,无需外接RAM资源,自适应能力强,抗噪音能力强,稳定性好,增强效果好。它既能适应图像本身偏亮或偏暗的情况,又能在图像间出现噪音干扰时仍然可以使输出图像亮度保持稳定。
本发明实现起来需要的硬件资源少,只需一些基本的比较器、累加器、计数器实现,不需要用于存储图像的存储器;且整个模块只需要一个除法器,电路规模小、所需硬件资源少、成本低廉、实时性强,非常易于FPGA实现,也可以用专用的ASIC芯片实现,可以有效的适应红外成像设备中图像增强的高要求,因此利于推广应用。


图1是图像灰度直方图及一些等分点示意图。
图2是本发明总体结构示意图。
图3是多级均值法的流水线FPGA实现图。
图4是单级流水线FPGA实现框图。
图5是中值滤波框图。
图6是输入图像行内像素时序示意图。
图7是输入图像帧内行时序示意图。
图8是本发明所述方法工作原理流程图。
图9是本发明所述增强器的整体连接框图。
具体实施例方式
下面结合

本发明的具体实施方式

本实施方式使用一片Alter(Altera)公司的Stratix系列FPGA(EP1S10)来实现上述功能,处理图像大小为128×128×16bit。
将本发明所述方法应用在增强器上,目的是在有限的FPGA资源条件下,在较少逻辑资源和存储资源开销的情况下,获得接近于直方图统计法,而优于最值法和均值方差法的红外图像增强效果。
现在,线性变换实现图像对比度增强是根据图像灰度的分布信息,确定一个线性拉伸的最小值X0和最大值X1,然后对整个图像灰度进行线性变换,实现图像对比度的增强。线性变换公式为XOUT=0∀XIN≤X0S×(XIN-X0)∀X0<XIN<X12n-1∀XIN≥X1]]>其中S=(2n-1)/(X1-X0),2n为要变换到的灰度级,XIN为输入图像的原始灰度,XOUT为线形变换后输出的灰度。由上面公式(1)可以看出,图像灰度线性变换的关键是得到合适的最小值X0和最大值X1。本发明所述多级均值对比度增强的方法就是在不直接统计直方图的情况下,通过多级均值的方式获取X0和X1的值。
首先需要在增强器内设置多级均值计算模块,中值滤波模块和线性增强模块,多级均值模块以流水线方式不断计算各级均值,然后中值滤波模块对连续多帧的计算结果进行中值滤波,以获得较稳定的图像灰度增强范围,最后将滤波结果送往线性增强模块进行图像增强计算,因此,本发明所述方法依次包括A.多级均值计算、B.中值滤波和C.线性增强三部分。
A.多级均值计算多级均值计算模块在硬件上包括累加器、比较器、像素计数器和均值结果寄存器,还有与其他模块共用的除法器。
具体地,参照图9,多级均值计算模块包括一个一级计算模块11和多个二级计算模块12;所述一级计算模块11包括累加器111和除法器112,累加器111的输出端连接除法器112的输入端;所述二级计算模块12包括累加器121、比较器122、除法器123和计数器124,比较器122的输出端分别连接累加器121和计数器124的输入端,累加器121和计数器124的输出端同时连接除法器123的输入端;所述一级计算模块11中除法器123的输出端连接一个二级计算模块12中比较器122的输入端;所述多个二级计算模块12依次相连,连接方式为,前一个模块的除法器123输出端连接后一个模块比较器122的输入端,每个二级计算模块构成多级均值计算模块中的一级。
首先,一级计算模块11工作对于输入的第i帧图像,由累加器累加像素灰度值,然后将信息传递到除法器,由除法器运算求得图像1/2处的均值,统计出第i帧的1/2均值后,二级计算模块12工作,二级计算模块的单级流水线处理流程如图4所示,对于继续输入的第i+1帧图像,二级计算模块中的比较器首先和上帧各级均值进行比较,如果比上级计算得到的1/2均值大,就将此像素输入到计算3/4均值的累加器模块;如果比1/2均值小,就将此像素输入到计算1/4均值的累加器模块。像素输入到该模块后,累加器累加该像素灰度值,对应的均值计数器的计数值也加1,到一帧图像输入结束时,停止接收图像,除法器算出第i+1帧1/4和3/4处的均值,并应用于下帧图像的统计和下级的1/8和7/8均值计算中。由于序列图像在帧内是按像素逐个输入的,因而较容易实现比较和累加,帧与帧之间时间间隔较大,正好可以完成计算量比较复杂的除法运算。依次类推,同样的循环过程可以得到i+2帧处的1/8和7/8处的均值、第i+3帧处1/16和15/16处的均值和i+4帧处1/32和31/32处的均值,这个1/32和31/32处的均值就是所要求的X′0和X′1。
实现工作过程的具体方法为首先,系统连续输入n帧图像,对于每帧图像提供的像素点个数和像素灰度值,累加器和除法器协同工作,根据公式m12=1NΣi=1NXi]]>可得到图像1/2处灰度的均值,其中,N是图像像素点数,Xi是像素灰度值;然后再根据所获取的1/2处均值,对于连续输入的n帧图像,累加器、比较器、像素计数器和除法器协同工作,利用公式m14=ΣXi<m12XiK14]]>和m34=ΣXi>m12XiK34]]>得到图像灰度级小于均值处的均值和图像灰度级大于均值处的均值,即1/4和3/4处的均值,同理,依据公式“m12n=ΣXi<m12n-1XiK12n,]]>m2n-12n=ΣXi>m2n-1-12n-1XiK2n-12n]]>”可算出1/8和7/8处的均值,理论上可以算出任何1/2n和(2n-1)/2n处的均值。该方法计算X′0和X′1值的公式如下X0′=m1/2n]]>X1′=m(2n-1)/2n]]>m1/2n和m(2n-1)/2n分别表示1/2n和(2n-1)/2n处的均值。红外焦平面成像中,特定场景下的红外图像实际灰度动态范围通常比较小,而均值通常较大,因而统计出来的均值和中值大小相差较少,于是存在如下的关系P(XIN≤m1/2n)≈12n]]>P(XIN>m(2n-1)/2n)≈12n]]>该方法能够控制选取直方图两端一定百分比的灰度级作为线性变换的最大值X′1和最小值X′0,基本能达到直方图统计方法的效果,获取X′0和X′1的运算也只需要完成均值的运算,FPGA实现起来也比较容易。
多级均值模块以流水线方式不断计算各级均值,在图像传输的帧内进行图像灰度值的累加,在图像传输帧空闲复用除法器获得均值;
图3所示是多级均值流水线实现框图。结合一般实时图像处理系统对显示效果和算法的要求,取n=5,也就是取X′0=1/25=1/32处均值,取X′1=1/25=1/32处均值=(25-1)/25=31/32处均值。这样就使X′0和X′1分别取直方图两端约3.125%处的灰度值用于线性变换,即可达到较好效果,因此从第五帧图像开始将依次得到的最大、最小均值都存入寄存器用于后面的中值滤波;每一级中的均值计算模块的处理流程如图4所示。
实际使用中,n也可以根据需要取4、6、7、8或更大数值,也都可以实现本发明所述目的。
B.中值滤波为避免因每帧调整X′0和X′1造成视觉上的图像闪烁,本实施方式对连续5帧的1/32和31/32处的均值进行中值滤波,中值滤波直接通过比较器完成,即得到最小值X′0的中值X0和最大值X′1的中值X1,图5所示为中值滤波框图。
参照图9,中值滤波模块包括最小值中值滤波模块和最大值中值滤波模块,所述最小值中值滤波模块和最大值中值滤波模块结构相同,都由多个一级比较器21和多个二级比较器22组成,一级比较器21设置两个输入端和两个输出端,两个输出端分别为大值端和小值端;二级比较器22设置两个输入端和一个输出端;每两个寄存器13的输出端分别连接一个一级比较器21的两个输入端,两个一级比较器21的输出大值端分别连接一个二级比较器22的两个输入端,两个一级比较器21的输出小值端分别连接另一个二级比较器22的两个输入端,两个二级比较器22的输出端同时连接下一个一级比较器21的两个输入端。
具体地说,中值滤波就是对几个值求大小在中间的那个值。如对于1、2、7、8、9,其中值就是7。对于五个值的中值滤波,其过程如下(设五个值为1,2,7,8,9)先将两对值进行比较,如1与2比较,得大值2与小值1;7与8比较,得大值8与小值7。将两个大值2、8比较,得到小值2;将两个小值1、7比较,得到大值7。则现在得到的2和7肯定是这四个数里的中间的两个值。最后将第五个值9与前面得到的2和7比较,先和大值7比较,如果比7大,那么中值就是7;如果比7小,那么再和小值2比较,如果比2小,那么中值就是2,如果比2大,那么中值就是这个值了。最后就这样得到了五个值的中值。
对连续5帧的1/32和31/32处的均值进行中值滤波过程中,为了提高比较速度,本实施方式采用两个比较器同时工作,需要4个比较周期完成5个数据的中值滤波工作。也可以对更多帧连续图像进行中值滤波,对于帧数越多的均值滤波效果越好。对于将连续5帧图像取中值时,当前帧与前面4帧算出来的对应均值进行1×5的中值滤波,就可以得到用于第i+5帧图像线性变换的X0和X1值。流水线工作时,每帧图像都统计各级均值,并生成用于下帧图像线性变换的X0和X1值。
C.线性增强得到了当前帧的线性增强最值X0和X1的中值后,就可以对图像灰度进行线性增强了。线性增强模块主要由除法器31构成,根据下述公式,即可实现对图像灰度的线性增强,将得到的输出图像显示于显示器32上即可实现对图像的增强。
XOUT′=1∀XIN≤X02n(XIN-X0)/(X1-X0)∀X0<XIN<X12n∀XIN≥X1]]>XOUT=0∀XOUT′=0XOUT′-1∀XOUT′>0]]>其中,XIN是输入图像的像素灰度值,XOUT是输出图像的像素灰度值。可以看出,相对于现有技术,本发明把乘法运算简化为移位运算,简化了计算难度,节约了空间,提高了效率。
由计算X′0和X′1过程可以看出,除法器在两帧之间的空余时间才使用,而对图像像素输入的过程中,除法器刚好是空余的,因而可以使用该除法器可以用于图像增强的计算,从而整个增强过程只需要一个除法器。
整个增强过程除法器可以通过有限状态机(FSM)控制复用,状态机的有如下几个状态IDLE(没有图像输入),Frame_in(图像输入帧正程),Frame_idle(图像输入帧空闲)IDLE系统空闲,增强器处理省电状态;Frame_in图像输入正程,除法器用于图像增强计算;Frame_idle当前帧输入完毕,除法器用于计算图像均值;由于一个除法器要完成多个均值的计算,所以在Frame_idle状态内也需要一个子状态机控制完成多级均值计算对除法器的复用。
本发明所述方法中,除法运算比较占资源,所以可以采用一个除法器,通过状态机的控制,完成多个均值模块间的复用。
另外,本实施方式只是对本发明所做的示例性说明而并不限定它的保护范围,本领域技术人员完全可以对本发明做局部改动而实现同样目的,因此,对于在不经过创造性劳动基础上而对本发明所做的改动,都视为对它的等同替换,因此都在本发明的保护范围之内。
权利要求
1.一种红外图像多级均值对比度增强方法,其特征在于它依次包括A.多级均值计算、B.中值滤波和C.线性增强三部分,具体如下A.多级均值计算依次包括以下过程a.利用下述公式得到图像1/2处的灰度均值m12:m12=1NΣi=1NXi,]]>其中,N是图像像素点数,Xi是像素灰度值;b.再利用下述公式得到图像1/4处和3/4处的灰度均值 m14=ΣXi<m12XiK14,]]>其中, 表示图像中灰度小于 处像素点的个数,Xi是像素灰度值;m34=ΣXi>m12XiK34,]]>其中, 表示图像中灰度大于 处像素点的个数,Xi是像素灰度值;c.依此类推,依据公式“m12nΣXi<m12n-1XiK12n,]]>m2n-12n=ΣXi>m2n-1-12n-1XiK2n-12n]]>”可以得到任何1/2n和(2n-1)/2n处的均值m1/2n和m(2n-1)/2n,此两个数值即分别为线性拉伸的最小值X0′和最大值X1′;其中, 表示图像中灰度小于 处像素点的个数, 表示图像中灰度大于 处像素点的个数,Xi是像素灰度值;将依次得到的均值都存入寄存器;B.中值滤波过程将寄存器中相邻几帧的均值取中值,即得到最小值X0′的中值X0和最大值X1′的中值X1;C.线性增强过程根据下述公式,即可实现对图像灰度的线性增强XOUT'=1∀XIN≤X02n(XIN-X0)/(X1-X0)∀X0<XIN<X12n∀XIN≥X1]]>XOUT=0∀XOUT'=0XOUT'-1∀XOUT'>0]]>其中,XIN是输入图像的像素灰度值,XOUT是输出图像的像素灰度值。
2.根据权利要求1所述的红外图像多级均值对比度增强方法,其特征在于中值滤波过程中,在相邻五帧的均值中取中值。
全文摘要
红外图像多级均值对比度增强方法,属于数字图像处理方法。现有图像增强方法不太适合于用FPGA实现。本发明所述红外图像多级均值对比度增强方法依次包括多级均值计算、中值滤波和线性增强三部分,它去除了冗余计算,在不直接统计直方图的情况下,通过多级均值逼近的方式获取x
文档编号G06T5/00GK1996384SQ20061012557
公开日2007年7月11日 申请日期2006年12月25日 优先权日2006年12月25日
发明者王岳环, 张天序, 曹治国, 钟胜, 左峥嵘, 颜露新 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1