芮 翔,刘泽昕,徐伯庆
(1.安徽省马鞍山当涂供电公司,安徽 马鞍山 243100;2.上海理工大学 光学信息与计算机工程学院,上海 200093)
图像退化[1]是任何一个成像系统都不可以避免的一个问题,针对于成像系统的不同要求和设计,通常恢复滤波器的选择也各不相同,常用的恢复算法有维纳滤波、逆滤波、最大熵滤波[2]等。对于一些成像系统而言,当对退化系统先验知识不够完备或者说对退化函数的认识不够清晰,是无法设计出好的恢复滤波器的,因此在设计滤波器之前做一个退化函数的估计是有必要的。
遗传算法[3]作为一种成熟优秀的全局寻优算法,鲁棒性强的同时也不需要太多的参数设置。通过近些年的发展,遗传算法已得到了越来越多领域的认可。
图像退化的过程可以简单地描述为:一幅原始图像f(x,y)与一个退化系统或者退化函数H的作用,再加以噪声n(x,y),形成退化图像g(x,y)。图像退化过程如图1所示。如何获得较为精准的退化函数是大家所关心的问题。
图1 图像的退化模型Fig.1 A model of the image degradation
通常认为退化函数H是一个线性时不变系统,则图像的退化过程在空间域可以表示为
式(1)中,h(x,y)为退化函数的空间描述,符号“*”表示空间卷积。对式(1)所示模型写成等价的频域描述,可得到
式(2)中的大写字母是式(1)中相应的傅里叶变换。对式(2)变形得
对式(3)进行傅里叶逆变换得
由式(4)可知,当N(u,v)=0时,可以得到:f′(x,y)=f(x,y)。即在噪声为零的时候,可以通过逆滤波有效的达到预期的效果。但是通常情况下,噪声不可能为零。并且在频域若出现H(u,v)=0或者值非常小的时候,会出现
由于噪声等因素的影响,故在实际情况中直接用逆滤波去估计退化函数是不合适的。为了克服噪声等因素对退化函数估计的影响,现希望可以从全局寻优的角度出发,来解决这个问题。遗传算法作为全局寻优优化算法的杰出代表,从1975年由美国Michigan大学Holland J教授提出至今,算法已经发展得比较完善[4],故文中选择该方法作为图像退化函数的估计算法。
遗传算法(genetic algorithm,GA)是一种抽象于生物进化过程的模拟自然选择和生物遗传机制的优化算法,它体现了适者生存、优胜劣汰的进化原则[5]。通过对可能包含解的群体反复使用遗传学的基本操作,不断生成新的群体,使群体不断进化,同时以全局并行搜索技术来搜索优化群体中的最优个体,以搜寻到全局最优解。标准的遗传算法进化流程图如图2所示。
遗传算法不但自组织性、自适应性好,所需受控参数少,鲁棒性强[6],而且在需要解决的问题越复杂、目标越不明确时,其优越性越大,因此在许多领域都得到了较为广泛的应用。
实验背景:为验证遗传算法对估计系统退化函数的有效性,会事先用一副原始图像通过一个已知的退化函数得到退化图像。在已知原始图像和退化图像的条件下,用遗传算法估计退化函数。若估计的退化函数与之前已知的退化函数一致或者相似,则说明用遗传算法估计图像的退化函数是有效的。
图2 遗传算法流程图Fig.2 The flowchart of genetic algorithm
首先对退化函数种群进行初始化,由于已知的图像都是二维灰度图像,故为简化过程方便计算,每一个初始化的退化函数都设为一个M×N的二维矩阵。
利用随机函数随机产生,并且根据退化函数的特点对每一个个体都要进行归一化处理。一般来说,种群规模为20~100,文中初始种群规模数为50,迭代次数500次。
遗传算法中需要把握好的几个关键步骤为:选择算子、交叉算子、变异算子[7],下面将逐个介绍。
2.2.1 选择算子
选择算子顾名思义就是将种群中适应度高的个体选出,淘汰种群中适应度低的个体。文中的适应度函数由于是为了评估退化算子的好坏,故会把每一个估计的退化函数分别与原始图像进行卷积运算,得到估计的退化图像,通过求估计的退化图像与实际退化图像的峰值信噪比(peak signal to noise radio,PSNR)的大小,来判断估计退化函数的好坏。PSNR越大即适应度越好,估计的退化函数就越好。
在整个流程过程中,每一次交叉、变异都会不断的产生新个体,为了更好地体现“适者生存”的进化原则,会在当前种群中的N个旧个体,和经过交叉、变异产生的N个新个体,总共2N个个体同时作为选择对象,根据适应度的大小,淘汰其中适应度小的N个个体,留下剩下适应度大的个体。
2.2.2 交叉算子
整个遗传算法进化过程主要通过交叉算子产生新个体,通常采用的交叉算法有:单点交叉,多点交叉等。文中种群个体为二维矩阵,为方便操作过程,采用随机交叉块的方法,即随机产生交叉点P,该点将矩阵分为4块,再按照图3所示组合方法得到新个体。
图3 交叉算子示意图Fig.3 The sketch map of crossover
2.2.3 变异算子
变异算子是进化过程中不可缺少的一步,既可以保证遗传算法种群的多样性,又能有效地防治过早收敛。一般来说变异概率不会太高(0.5%~2%),根据种群数的大小,每一代只变异一个个体。对随机取出的变异个体,根据矩阵大小,随机取出矩阵大小的1%个位置,以0~1之间的随机数填充之即可。
图4 原图像Ⅰ(384×512pixel)Fig.4 Input imageⅠ(384×512pixel)
图5 原图像Ⅱ(1 536×2 048pixle)Fig.5 Input imageⅡ (1 536×2 048pixel)
实验是以MatLab7.0为编译平台[8]。试验中分别采用图4和图5两幅图像作为原始图像,以图6和图7作为退化函数。按照上述的实验原理步骤对图像的退化函数进行估计,分别得到估计的退化函数,如图8和图9所示。
图6 原退化函数Ⅰ(7×7)Fig.6 Degradation functionⅠ(7×7)
图7 原退化函数Ⅱ(27×27)Fig.7 Degradation functionⅡ(27×27)
图8 估计的退化函数ⅠFig.8 The estimation degradation functionⅠ
图9 估计的退化函数ⅡFig.9 The estimation degradation functionⅡ
实验中得到的估计退化函数与相应的实际退化函数的峰值信噪比PSNR分别可以达到46和48。说明该方法对退化函数的估计是可行的。
通过实验结果可以看出,遗传算法作为一种比较成熟的进化优化理论,可以对成像系统的退化函数做出较为精准的估计。在实践中,也可以通过实验法来估计成像系统的退化函数,数据也比较理想,但是却是非常的耗时耗力;而遗传算法能在克服噪声影响的前提下,对退化函数有了较为精确的估计,为后期的设计恢复滤波器奠定基础。
[1] GONZALEZ R,WOODS R.Digital image processing[M].2nd ed.Beijing:Publishing House of Electronics Industry,2008.
[2] 阮秋琦.数字图像处理学[M].北京:电子工业出版社,2007.
[3] 王小平,曹立明.遗传算法:理论、应用与软件实现[M].西安:西安交通大学出版社,2002.
[4] JOHNSON E,ABUSHAGUR M.Image deconvolution using a micro genetic algorithm[J].Optics Communications,1997,140:6-10.
[5] 高 尚,杨靖宇.群智能算法及其应用[M].北京:中国水利水电出版社,2006.
[6] 李敏强.遗传算法的基本原理与应用[M].上海:科学出版社,2002.
[7] 黄薇薇,叶 子,张文字,等.基于遗传算法的波前编码相位板参数优化[J].光学仪器,2007,29(4):17-22.
[8] GONZALEZ R,WOODS R.Digital image processing using MatLab[M].Beijing:Publishing House of Electronics Industry,2009.