前言
CDD(Curvature Driven Diffusions)模型是Chan和Shen在TV(Total Variation)模型的基础上引进了曲率驱动而形成的,解决了TV模型不能修复图像视觉连通性的问题。要想了解CDD模型,需要先了解TV模型的原理。
TV模型简介
TV模型最先是由Rudin等人在1992年提出来的,当时是应用于图像的噪声去除处理。Chan等人于2002年首次将该算法引入到图像修复领域,形成了TV 模型图像修复算法。TV 模型涉及数学中的变分法跟泛函的知识,它是依据原始图像的先验知识和不完整的图像数据,建立能量泛函,求解该能量泛函所得到的极值就是修复后的图像。
图1
如图1所示, D 为图像破损区域,E为D的边缘已知部分,设Ω=D∪E则可定义 上的一个能量函数为:
式中,▽u(x,y)为图像函数u(x,y)的梯度,r为一非负的实函数。在该函数的基础上,考虑图像受到噪声的影响,得到约束式,再通过Lagrange乘子法将问题转化为无约束条件的极值问题,最终得到TV模型的Euler-Lagrange方程:(此推导过程不作详解,详细过程可参照网上对于TV模型的介绍)
由于Euler-Lagrange方程是非线性偏微分方程,实际求解时常用近似的数字差分方程代替。采用半点格式进行离散化,采点步长h=1(如图2),最终得到原图像uo的迭代求解公式,n代表次数:
CDD模型及数值实现
图2
TV修复模型的扩散强度1/▽u仅依赖于等照度线的梯度值,而不依赖于等照度线的几何信息,总是倾向于用最短的直线来连接断裂的线性结构物体。TV模型不能满足视觉连通性原则。而CDD模型利用曲率来控制扩散强度,当图像修复过程到达(c)状态时,增大扩散强度,从而使图像信息进一步扩散,达到满足连通性效果。
曲率:
CDD模型的扩散强度:
得到CDD模型方程:
以图2中,CDD模型的数值求解同样是采用半点格式,以e点为例:
同理,可以求得其他点的曲率。
实验结果
1.TV模型实验结果:
2.CDD模型实验结果:
破损图像 TV修复效果 CDD修复效果
算法程序:
由于目前网上能下载的CDD模型的matlab程序中的曲率k求解公式大多是错的,且达不到修复连通性的效果。而本文程序是根据原理编写,能真正达到修复连通性的效果,程序已上传,下载请到
http://download.csdn.net/detail/cs_o_1/9665751(选中,右键打开,如打不开链接,请复制粘贴访问)