基于偏微分方程的图像修补方法
2010-11-26赵恒军牛艳霞
赵恒军,牛艳霞
(1.河南工程学院 数理科学系,河南 郑州451191;2.中原工学院 理学院,河南 郑州 450007)
数字图像修补近年来已经成为数字图像处理的研究热点之一.图像修补技术是针对图像中遗失或者损坏的部分,利用未被损坏图像的信息,按照一定的规则填补,使修补后的图像接近或达到原图的视觉效果.图像修补的建模过程一般依赖于Helmholtz最佳猜测原理[1].但从数字角度来看,图像修补是一个病态问题,因为没有足够的信息可以保证能唯一正确地恢复被损坏区域,所以图像修补绝不是简单的图像插值问题.人们从视觉心理学角度进行分析,提出了各种假设限定来解决这个问题.Bertalmio,Sapiro,Caselles Balleste在文献[2]中首先将数字图像修补作为一个研究课题正式提出来.目前所出现的图像修补方法主要有非线性滤波方法,贝叶斯方法,小波和谱分析方法以及主要基于纹理突袭的学习生长方法和统计方法.除了上述提到的经典方法外,近年来很多研究人员将偏微分方程模型和变分模型用于图像修补研究.
用变分和偏微分方程方法处理图像使得能够在连续域中分析图像,从而简化问题,否则只能依赖点阵和各向同性算子分析图像.在连续域中,可以将偏微分方程看作是在无限小邻域内迭代的局部滤波器,利用对偏微分方程的这种解释,可以将许多已知的迭代滤波器联合并分类,从而推出新的基于偏微分方程的图像修补模型.变分和偏微分方程方法的另一个优点是能够利用数值偏微分方程获得快速、准确、稳定的解.
1 基于偏微分方程的图像修补原理
图像处理中的一些重要的偏微分方程大多和热方程以及扩散强度相联系,并且可以利用各种算子建立相应的偏微分方程,比如可以从演化方程(如经典Snake模型[3])的导数中得到,也可以从求解变分问题中获得,此时的基本思想是最小能量化泛函.
大量用于图像处理的偏微分方程都是根据最小能量化泛函得到的,下边先介绍一个关于变分法的经典结果.
给定一个一维函数u(x)∶[0,1]→R,并且有边界条件:u(0)=a,u(1)=b,这里又给定另一个函数F∶R2→R.定义能量模E:
此时的问题是:求使该能量模最小的u的取值.
根据微积分知识,可以得到:
(1)
该式是能量函数E(u)取得极值的必要条件,此即为一维变分问题的欧拉方程.
类似地,对于能量形式:
也可以得到其欧拉方程:
(2)
同样,可得到二维问题的欧拉方程:给定二维函数u(x,y)∶Ω→R, Ω∈R2,以及其能量函数E,这里:
则其欧拉方程为:
(3)
例如,设F=ρ(|u|), 这里ρ(r)∶R→R是给定的函数,u是u的梯度.即:
则其欧拉方程为:
即:
(4)
对于特殊情形ρ(r)=r2,因为ρ′(r)=2r,则此时(4)式即为div(u),即 △u=0,这里△表示拉普拉斯算子.
由以上可知, 根据最小化能量泛函的思想可以得到其欧拉方程,而此欧拉方程即为能量泛函取得最小值的必要条件.现在的问题是如何求出该欧拉方程的解,也就是如何去求解方程E′(u)=0,从而求得使能量泛函E(u)取得最小值时的u的取值.
对于如何求解该方程,一般情况下直接求解是很困难的,甚至可以说是不可能的.现在给出一个比较可行的求解欧拉方程的技巧.
不过在利用这种技巧前,常常需要解决一些问题.例如,这个偏微分方程的解是否唯一?它的解是否依赖于初值条件?当然,在能量非凸的情况下,这个解将会很大程度地地依赖于初值u0.
总之,基于偏微分方程的图像修补可以看做是这样一个过程:根据图像修补模型(建立的能量泛函),可以得到其欧拉方程,再把该欧拉方程所对应的梯度下降流作用于需要修补的图像(称它为初始图像u0),此时梯度下降流即为图像修补方程,随着时间参数的增长,图像会一步步地被修补,当偏微分方程的解稳定时的解就是修补后的图像.
2 用光滑修补模型建立偏微分方程的图像修补
记D为待修补区域,E为待修补区域的外邻域,一般为环状,如图1所示.
图1 待修补区域及其外邻域Fig.1 Being patched region and its outer neighborhood
记修补前E∪D区域内的图像值为u0,修补后E∪D区域内的图像值为u.
光滑的图像修补模型为:
(5)
该图像修补模型的几何意义是:在修补的图像中,使沿各水平线的梯度积分最小,所以趋向于得到光滑图像,即该修补模型是为了使待修补区域及其边界尽可能的光滑.
由以上介绍的变分问题的欧拉方程的知识可知,该模型的欧拉方程为:△u=0,其对应的梯度下降流(即图像修补方程)为:
(6)
该方程是一个各向异性的扩散方程,扩散强度的大小依赖于各点的梯度,即等水平线的强度变化,而不依赖其他几何信息.
设(i,j)为目标像素,时间层n=0,1,2…,则un(i,j)表示像素(i,j)在时间层n处的灰度值,uxx(i,j)表示(i,j)处对x的二阶偏导数.那么,该图像修补方程离散化后为:
(7)
最终的算法步骤如下:
先将待修补图像各像素点的灰度值读取出来,判断哪些是待修补区域,哪些是非修补区域.将待修补区域内的像素点记为0,非修补区域内的像素点记为1,再对待修补图像中的像素点逐一进行判断,如果当前像素点的标记为0,就将该点的灰度值按(7)中的第一式进行迭代;如果当前像素点的标记为1,就将该点的灰度值按(7)中的第二式进行迭代,这样就更新了待修补图像各像素点的灰度值.设定N及δ>0,当迭代N次后,计算前后两次迭代的图像距离差,设新旧两幅图像分别为u和v,将新旧两幅图像的距离差定义为:
若距离差小于δ,则停止迭代;若距离差大于δ,则增大迭代次数N,继续进行迭代.当前的迭代结果即为修补后图像.
图2是用光滑模型对图像修补前后的对比.
图2 修补前后图像对比Fig.2 The comparison of the primal image and the patched image
3 结 语
本文基于偏微分方程方法建立了一个光滑图像修补模型,利用该模型修补图像的过程中,使沿各水平线的梯度积分最小,也即是使待修补区域及其边界尽可能光滑,趋向于得到光滑图像.从试验的结果也可以看到,该光滑修补模型使修补后的图像光滑,具有良好的修补效果.但此方法的不足之处是,若修补区域在边缘处时,这种模型的修补结果就模糊了边缘,使得修补的痕迹较为明显,这是有待继续改进的地方.
参考文献:
[1] GEMAN S,GERMAN D. Stochastic relaxation, Gibbs distribution and the Bayesian restoration images[M]. IEEE Tran PAMI-616,1984.
[2] BERTALMIO M,MASELLES G D,BALLESTER C. Image inpainting. proceedings of the 27th international conference on computer graphics and interactive techniques(SIGGRAPH 2000)[M]. New Orleans, LA,ACM Press, New York, 2000.
[3] GOLDENBERG R, KIMMEL R, RUDZSKY M. Fast geodestic active contour[J]. IEEE Transactions on Image Processing, 2001, 10(10):1 467-1 475.