基于矩阵分解的图像无缝克隆方法

文档序号:6539132阅读:470来源:国知局
基于矩阵分解的图像无缝克隆方法
【专利摘要】本发明公开了一种基于矩阵分解的图像无缝克隆方法,该方法使用梯度域方法构建原始线性系统方程,对原始线性系统的系数矩阵进行矩阵分解分解成带状对角矩阵,并将带状对角矩阵分解为若干个小带状对角矩阵,根据各个小带状对角矩阵构建小型系统方程,并通过GPU的不同线程中求解该小型系统方程得到各个像素点的初始像素补偿值,将所有像素点的初始像素补偿值作为原始系统的初始值代入原始线性系统方程直接求解得到最终像素补偿值,进一步得到融合区域中各个像素点的像素值,完成无缝克隆。本发明的图像无缝克隆方法充分利用了GPU的数据并行处理能力,大大提高了运算速率,使实时图像处理成为可能,且内存消耗低,可扩展到广泛的运用程序中。
【专利说明】基于矩阵分解的图像无缝克隆方法
【技术领域】
[0001]本发明涉及计算机图像领域,尤其涉及一种基于矩阵分解的图像无缝克隆方法。【背景技术】
[0002]近几年,梯度域方法被广泛运用于图像处理领域中,包括本征图像复原、无缝克隆和图像拼接领域。这些算法的求解通常是解一个大型稀疏线性系统:泊松方程。但是,解泊松方程是一个计算密集型和内存密集型任务,不适合实时图像编辑。同时,在处理大规模图像时,如百万像素图,甚至是,亿像素图像,这个问题就显得异常突出。为了解决这个问题,研究人员已经提出了各种各样的方法。这些方法大致可以分为两类:基于退化空间的求解器和基于数值分析的求解器。
[0003]对第一类,基于退化空间的求解器,一些算法将全分辨率图像转换到退化空间,从而大量减少内存开销和计算开销。第二类基于数值分析的求解器可以细分为两个子类:直接解决器和迭代解决器。Pardiso,MUMPS,和SuperLU属于直接解决器。而共轭梯度,多重网格法和串流多重网格法是比较常用的迭代解决器。直接法的思想是,经过有限步算术计算,可求得方程的精确解的方法,但由于实践中有四舍五入的存在,这类方法也只能得到近似解,直接法最基本的是高斯消去法。而直接解决器的可扩展性差,不适合求解大型线性系统。迭代法的思想是,采用某种极限过程逐步逼近线性方程的精确解,迭代法需要的计算机存储单元较少、程序设计简单,但是迭代解决器不是很健壮,收敛速度慢。

【发明内容】

[0004]针对现有图像无缝克隆方法技术的不足,本发明提供了一种基于矩阵分解的图像无缝克隆方法。
[0005]一种基于矩阵分解的图像无缝克隆方法,包括:
[0006](I)根据源图像中克隆区域的梯度域和目标图像中融合区域的梯度域构建泊松方程,并根据泊松方程得到对应的拉普拉斯方程;
[0007](2)根据所述的拉普拉斯方程构建原始线性系统和原始线性系统方程;
[0008](3)对所述原始线性系统方程的系数矩阵进行分解得到一个带状对角矩阵和残余矩阵,并根据克隆区域的形状将所述的带状对角矩阵划分为若干个小带状对角矩阵;
[0009](4)将各个小带状对角矩阵分配到GPU的各个线程,结合残余矩阵求解得到融合区域中各个像素点相对于克隆区域中相应像素点的初始像素补偿值;
[0010](5)将融合区域中所有像素点相对于克隆区域中相应像素点的初始像素补偿值作为原始线性系统的初始输入,通过直接法迭代得到融合区域中所有像素点相对于克隆区域中相应像素点的最终像素补偿值;
[0011](6)以融合区域中各个像素点相对于克隆区域中相应像素点的最终像素补偿值与源图像中该像素点的像素值的和作为融合区域中相应像素点的像素值,完成图像的无缝克隆。[0012]所述步骤(1)中源图像中的克隆区域与目标图像中的融合区域的大小和形状相同。
[0013]无缝克隆法的关键是,寻找一个函数满足目标图像中克隆区域(融合区域)的边界条件,且目标图像中克隆区域的梯度域尽可能与源图像的梯度域相同。
[0014]所述步骤(5)中通过直接法迭代得到融合区域中所有像素点相对于克隆区域中相应像素点的最终像素补偿值,即将内部迭代输出的克融合区域中所有像素点相对于克隆区域中相应像素点的最终像素补偿值作为原始线性系统的初始输入。
[0015]本发明的图像无缝克隆方法,使用梯度域方法构建泊松方程,并得到原始线性系统方程,对原始线性系统的系数矩阵进行分解,产生大小大致相同的带状对角矩阵和残余矩阵。根据克隆区域的形状将带状对角矩阵划分为小带状对角矩阵并分配给GPU的不同线程中进行计算,充分利用了 GPU的数据并行处理能力,大大提高了运算速率,使实时图像处理成为可能,且内存消耗低,可扩展到广泛的运用程序中。且通过将泊松方程产生的线性系统方程的系数矩阵进行分解,对每一个分解得到的小型矩阵采用并行处理迭代操作,并在得到融合区域中各个像素点的初始像素补偿值,将所有像素点的初始像素补偿值作为原始系统的初始值(即输入)代入原始线性系统方程直接求解,在外部迭代器中执行一个直接法计算全解,当外部迭代收敛时,完成求解,可以克服直接法和迭代法的缺点:比直接解决器的可扩展性更好,比传统预处理迭代解决器更健壮。
[0016]所述步骤(3)中根据公式:
[0017]A=D+R
[0018]将原始线性系统的系数矩阵A划分为带状对角矩阵D和残余矩阵R,具体如下:将系数矩阵A的每一行的第一个和最后一个不为零的元素设为零,得到带状对角矩阵D,保留系数矩阵A中每一行的第一个和最后一个不为零的元素,其余值设为零,得到残余矩阵R。
[0019]所述步骤(3)通过以下步骤将带状对角矩阵划分为若干个小带状对角矩阵:
[0020](3-1)判断克隆区域是否为规则区域:
[0021]若克隆区域为矩形,则克隆区域为规则区域,
[0022]否则,克隆区域为不规则区域;
[0023](3-2)根据判断结果进行如下操作:
[0024](a)对规则区域,将带状对角矩阵划分为若干个小带状对角矩阵;
[0025](b)对不规则区域,确定所述带状对角矩阵中每一行的带宽,并确定最大带宽Wmax,从第一行开始逐行进行宽度累加直至:
[0026]
【权利要求】
1.一种基于矩阵分解的图像无缝克隆方法,其特征在于,包括: (1)根据源图像中克隆区域的梯度域和目标图像中融合区域的梯度域构建泊松方程,并根据泊松方程得到对应的拉普拉斯方程; (2)根据所述的拉普拉斯方程构建原始线性系统和原始线性系统方程; (3)对所述原始线性系统方程的系数矩阵进行分解得到一个带状对角矩阵和残余矩阵,并根据克隆区域的形状将所述的带状对角矩阵划分为若干个小带状对角矩阵; (4)将各个小带状对角矩阵分配到GPU的各个线程,结合残余矩阵求解得到融合区域中各个像素点相对于克隆区域中相应像素点的初始像素补偿值; (5)将融合区域中所有像素点相对于克隆区域中相应像素点的初始像素补偿值作为原始线性系统的初始输入,通过直接法迭代得到融合区域中所有像素点相对于克隆区域中相应像素点的最终像素补偿值; (6)以融合区域中各个像素点相对于克隆区域中相应像素点的最终像素补偿值与源图像中该像素点的像素值的和作为融合区域中相应像素点的像素值,完成图像的无缝克隆。
2.如权利要求1所述的基于矩阵分解的图像无缝克隆方法,其特征在于,所述步骤(3)通过以下步骤将带状对角矩阵划分为若干个小带状对角矩阵: (3-1)判断克隆区域是否为规则区域: 若克隆区域 为矩形,则克隆区域为规则区域, 否则,克隆区域为不规则区域; (3-2)根据判断结果进行如下操作: Ca)对规则区域,将带状对角矩阵划分为若干个小带状对角矩阵; (b)对不规则区域,确定所述带状对角矩阵中每一行的带宽,并确定最大带宽Wmax,从第一行开始逐行进行宽度累加直至:
3.如权利要求2所述的基于矩阵分解的图像无缝克隆方法,其特征在于,所述步骤(3-2)中对于规则区域,所述的小带状对角矩阵的个数等于GPU的内核数。
4.如权利要求3所述的基于矩阵分解的图像无缝克隆方法,其特征在于,所述步骤(4)包括以下步骤: (4-1)采用丢弃奇数行策略将残余矩阵近似为近似残余矩阵; (4-2)并将各个小带状对角矩阵分配到GPU的不同线程进行内部迭代得到融合区域中各个像素点相对于克隆区域相应像素点的初始像素补偿值。
5.如权利要求4所述的基于矩阵分解的图像无缝克隆方法,其特征在于,所述步骤(4-2)中的任意一个小带状对角矩阵内部迭代如下: (4-21)将当前小带状对角矩阵扩展为与原始系数矩阵大小相同的矩阵作为当前小带状对角矩阵的近似矩阵; (4-22)将所述的近似矩阵和近似残余矩阵代入原始线性系统方程得到当前小带状对角矩阵对应的近似线性系统方程:
6.如权利要求5所述的基于矩阵分解的图像无缝克隆方法,其特征在于,所述步骤(4-21)中扩展时令比当前小带状对角矩阵中多出的元素为零。
7.如权利要求6所述的基于矩阵分解的图像无缝克隆方法,其特征在于,所述步骤(4-22)中原始线性系统方程的常数项向量b中的各个分量的取值由对应像素点的位置确定,其中第i个分量4的取值如下: 若对应的像素点Pi不在源图像克隆区域的边界上,则bi=0 ; 否则:bi=G(P1)-1(Pi), 其中,G (Pi)为像素A Pi在目标图像中的像素值,I (Pi)为像素点Pi在源图像中的像素值。
【文档编号】G06T1/00GK103839220SQ201410072592
【公开日】2014年6月4日 申请日期:2014年2月28日 优先权日:2014年2月28日
【发明者】张丹, 董建锋, 张大龙, 李盼, 赵磊, 许端清 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1