小尺度,基于微分方程的方法:
1.BSBC算法:
算法的基本思想:
我认为这个算法其实就是一个迭代的思想,对原始位置的像素进行迭代求解,经过多次迭代之后像素位置的值趋向于稳定,当值趋向于稳定之后就认为达到了修复的目的。
BSBC修复步骤:
a).首先由用户提供修复的图像并指明要修复的区域,用一个和待修复图像同样尺寸的2维逻辑矩阵来标识要修复的区域,(1表示要修复,0表示不要修复)
b)然后进入修补循环
修补循环主要由三个部分构成:信息传递与像素值更新、扩散过程、程序终止检验。其中
(1)信息传递与像素值更新,(每次循环执行A次此步骤):图像的缺损意味着某种信息的丢失。图像修补的目的就在于将可靠的信息从完好的区域到缺损的区域更新方程为:
Eq(1)
Eq(2)
每一个像素点的信息值用该店的拉普拉斯算子表示,这样等照线上的点将具有相同的拉普拉斯值:
因为等照度线上的点应具有相同的的拉普拉斯值,所以如果等照度线在破损区的边界处断裂,就需要沿着等照度线的方向更新
等照度线的方向为梯度方向旋转90°得到,因为等照度线上各个点的灰度相同,且沿着等照度线的方向变化最小,而沿着梯度方向的灰度变化最大,应与等照度线的方向正交,梯度的方向为:
Eq(3)
求等照度方向的源码为:
从源码我们看出其实就是求xx方向和yy方向的梯度值,然后对梯度值进行归一化得到等照度方向。
公式2中
Eq(4)
收敛因子下标M表示与0比取较大值,下标m表示与0比取较小值,下标x,y表示沿着坐标轴方向的差分,下标b,f分别表示向前和向后的差分。
整个信息传递与像素更新过程总结:
首先得到更新方程,更新方程是从影像原始值出发进行迭代,对于待修补的区域,更新的公式见公式1,然后更新公式中有两个参数分别为更新率控制常数
2)扩散过程
扩散的目的是为了消除在更新过程中产生的混叠与模糊。扩散的方程为:
Eq(5)
Eq(6)
3)终止条件,当图像的状态趋于稳定之后我们可以认为图像的修复结束,跳出修复循环,程序结束,终止条件的过程数学公式表达为:当公式7中SSD小于某个给定阈值时则终止。
Eq(7)
基于影像块匹配的影像修复方法:
主要思想为利用已知区域中的相似块来填补待修复区域的空白,主要是在待修复影像的边界处选取一定窗口大小的影像,通过在正确影像区域寻找相似性最大的区域进行寻找,找到相似性最大的区域进行填补。
上图说明了整个影像修复的过程,
通过优先级设置修补辩解的起始位置:
对于边界上p点的一个模板范围
Eq(8)
其中C为信心系数,D为数据系数,信心系数和数据系数的计算公式为:
Eq(9)
其中
信心系数是衡量修复可靠性的依据,对于一个未知区域,周围已知像素越多则对次像素进行修复的可靠性越大。位置系数为衡量待修补点的位置的关键性,一般在纹理交接处的点应该最先修补,有较大的数据系数
上述两图说明了信心系数和数据系数,对于图a,在绿色区域具有较高的信心系数在红色区域具有较低的信心系数,对于图b,在绿色区域具有较高的数据系数,数据系数在影像结构纹理连续的地方具有较大值。
传播纹理和结构信息:
结构和纹理信息的修复通过在已知区域寻找和未知区域最相似的区域来进行修复,修复公式描述如下:
Eq(10)
信心系数值的更新:
进行区域修复后需要对边界进行更新,更新边界的优先级系数:
Eq(11)
通过这样简单的更新规则可以允许使用前一次填补好的进行下一次的计算。
整个处理过程如下:
参考文献:
Bertalmio M, Sapiro G, Caselles V, et al. Image inpainting[C]//Proceedings of the 27th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 2000: 417-424.
Criminisi A, Pérez P, Toyama K. Region filling and object removal by exemplar-based image inpainting[J]. Image Processing, IEEE Transactions on, 2004, 13(9): 1200-1212.
1 Comment:
订阅:
博文评论 (Atom)
Algorithm of BSCB was completed if needed please email:wuweijustyou@gmail.com