当前位置: 首页 > 专利查询>浙江大学专利>正文

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

技术编号:16287397 阅读:148 留言:0更新日期:2017-09-25 11:58
本发明专利技术公开了一种基于矩阵分解的图像无缝克隆方法,该方法使用梯度域方法构建原始线性系统方程,对原始线性系统的系数矩阵进行矩阵分解分解成带状对角矩阵,并将带状对角矩阵分解为若干个小带状对角矩阵,根据各个小带状对角矩阵构建小型系统方程,并通过GPU的不同线程中求解该小型系统方程得到各个像素点的初始像素补偿值,将所有像素点的初始像素补偿值作为原始系统的初始值代入原始线性系统方程直接求解得到最终像素补偿值,进一步得到融合区域中各个像素点的像素值,完成无缝克隆。本发明专利技术的图像无缝克隆方法充分利用了GPU的数据并行处理能力,大大提高了运算速率,使实时图像处理成为可能,且内存消耗低,可扩展到广泛的运用程序中。

Seamless image cloning method based on matrix decomposition

The invention discloses an image seamless cloning method based on matrix decomposition, the method uses the gradient domain method to construct the original system of linear equations, the coefficient matrix of the original linear system of matrix decomposition into banded diagonal matrix, and the band diagonal matrix is decomposed into several small band diagonal matrix, according to each small band diagonal matrix to construct a small system equation, and obtain the initial pixel compensation of each pixel values by solving different threads in GPU the small system equation, the initial pixel compensation all the pixel values into the original linear system of equations are solved directly to obtain the final pixel compensation value as the initial value of the original system, further pixel fusion of each pixel in the region the value of complete seamless cloning. Seamless image cloning method of the invention makes full use of GPU data parallel processing capability, greatly improve the calculation speed, the real-time image processing has become possible, and low memory consumption, can be extended to a wide range of applications in.

【技术实现步骤摘要】

本专利技术涉及计算机图像领域,尤其涉及一种基于矩阵分解的图像无缝克隆方法
技术介绍
近几年,梯度域方法被广泛运用于图像处理领域中,包括本征图像复原、无缝克隆和图像拼接领域。这些算法的求解通常是解一个大型稀疏线性系统:泊松方程。但是,解泊松方程是一个计算密集型和内存密集型任务,不适合实时图像编辑。同时,在处理大规模图像时,如百万像素图,甚至是,亿像素图像,这个问题就显得异常突出。为了解决这个问题,研究人员已经提出了各种各样的方法。这些方法大致可以分为两类:基于退化空间的求解器和基于数值分析的求解器。对第一类,基于退化空间的求解器,一些算法将全分辨率图像转换到退化空间,从而大量减少内存开销和计算开销。第二类基于数值分析的求解器可以细分为两个子类:直接解决器和迭代解决器。Pardiso,MUMPS,和SuperLU属于直接解决器。而共轭梯度,多重网格法和串流多重网格法是比较常用的迭代解决器。直接法的思想是,经过有限步算术计算,可求得方程的精确解的方法,但由于实践中有四舍五入的存在,这类方法也只能得到近似解,直接法最基本的是高斯消去法。而直接解决器的可扩展性差,不适合求解大型线性系统。迭代法的思想是,采用某种极限过程逐步逼近线性方程的精确解,迭代法需要的计算机存储单元较少、程序设计简单,但是迭代解决器不是很健壮,收敛速度慢。
技术实现思路
针对现有图像无缝克隆方法技术的不足,本专利技术提供了一种基于矩阵分解的图像无缝克隆方法。一种基于矩阵分解的图像无缝克隆方法,包括:(1)根据源图像中克隆区域的梯度域和目标图像中融合区域的梯度域构建泊松方程,并根据泊松方程得到对应的拉普拉斯方程;(2)根据所述的拉普拉斯方程构建原始线性系统和原始线性系统方程;(3)对所述原始线性系统方程的系数矩阵进行分解得到一个带状对角矩阵和残余矩阵,并根据克隆区域的形状将所述的带状对角矩阵划分为若干个小带状对角矩阵;(4)将各个小带状对角矩阵分配到GPU的各个线程,结合残余矩阵求解得到融合区域中各个像素点相对于克隆区域中相应像素点的初始像素补偿值;(5)将融合区域中所有像素点相对于克隆区域中相应像素点的初始像素补偿值作为原始线性系统的初始输入,通过直接法迭代得到融合区域中所有像素点相对于克隆区域中相应像素点的最终像素补偿值;(6)以融合区域中各个像素点相对于克隆区域中相应像素点的最终像素补偿值与源图像中该像素点的像素值的和作为融合区域中相应像素点的像素值,完成图像的无缝克隆。所述步骤(1)中源图像中的克隆区域与目标图像中的融合区域的大小和形状相同。无缝克隆法的关键是,寻找一个函数满足目标图像中克隆区域(融合区域)的边界条件,且目标图像中克隆区域的梯度域尽可能与源图像的梯度域相同。所述步骤(5)中通过直接法迭代得到融合区域中所有像素点相对于克隆区域中相应像素点的最终像素补偿值,即将内部迭代输出的克融合区域中所有像素点相对于克隆区域中相应像素点的最终像素补偿值作为原始线性系统的初始输入。本专利技术的图像无缝克隆方法,使用梯度域方法构建泊松方程,并得到原始线性系统方程,对原始线性系统的系数矩阵进行分解,产生大小大致相同的带状对角矩阵和残余矩阵。根据克隆区域的形状将带状对角矩阵划分为小带状对角矩阵并分配给GPU的不同线程中进行计算,充分利用了GPU的数据并行处理能力,大大提高了运算速率,使实时图像处理成为可能,且内存消耗低,可扩展到广泛的运用程序中。且通过将泊松方程产生的线性系统方程的系数矩阵进行分解,对每一个分解得到的小型矩阵采用并行处理迭代操作,并在得到融合区域中各个像素点的初始像素补偿值,将所有像素点的初始像素补偿值作为原始系统的初始值(即输入)代入原始线性系统方程直接求解,在外部迭代器中执行一个直接法计算全解,当外部迭代收敛时,完成求解,可以克服直接法和迭代法的缺点:比直接解决器的可扩展性更好,比传统预处理迭代解决器更健壮。所述步骤(3)中根据公式:A=D+R将原始线性系统的系数矩阵A划分为带状对角矩阵D和残余矩阵R,具体如下:将系数矩阵A的每一行的第一个和最后一个不为零的元素设为零,得到带状对角矩阵D,保留系数矩阵A中每一行的第一个和最后一个不为零的元素,其余值设为零,得到残余矩阵R。所述步骤(3)通过以下步骤将带状对角矩阵划分为若干个小带状对角矩阵:(3-1)判断克隆区域是否为规则区域:若克隆区域为矩形,则克隆区域为规则区域,否则,克隆区域为不规则区域;(3-2)根据判断结果进行如下操作:(a)对规则区域,将带状对角矩阵划分为若干个小带状对角矩阵;(b)对不规则区域,确定所述带状对角矩阵中每一行的带宽,并确定最大带宽Wmax,从第一行开始逐行进行宽度累加直至:Σi=stωi≥Wmax,]]>则进一步判断:若则将带状对角矩阵中的第s行至第t行划分为一个小带状对角矩阵,否则,将带状对角矩阵中的第s行至第t-1行划分为一个小带状对角矩阵,其中,带状对角矩阵中每一行的带宽为第一个不为零的元素与最后一个不为零的元素的列号的差值,ωi为带状对角矩阵中第i行的带宽,s为每次宽度累加时起始行的行号,每次进行宽度累加均以尚未划分的首行作为起始行,若分块对角矩阵中尚未划分的所有行的宽度累加和小于Wmax时,直接将剩余的所有尚未划分的行作为一个小带状对角矩阵。为了平衡GPU线程任务,保证各个线程上的计算量大致相同,因此根据克隆区域的形状将带状对角矩阵划分为小带状对角矩阵,对于矩形的克隆区域,各个小分块对角矩阵的大小相同,对于非矩形的克隆区域,采用归并方法将对角块矩阵划分为若干个的大小大致相同的小带状对角矩阵,使不同线程上处理计算的数据量大致相同,从而平衡计算速度。对于不规则非矩形的克隆区域(即不规则克隆区域),首先从带状对角矩阵的第一行开始划分,即第一次划分时,令起始行号s=1,此后每次划分时,以上一次划分结束后,小带状对角矩阵中尚未参与划分(即没有划分到上一个小带状对角矩阵中的)行号为起始行号。将不规则区域的带状对角矩阵划分为小带状对角矩阵时,若分块对角矩阵中尚未划分的所有行的宽度累加和小于Wmax时,直接将剩余的所有尚未划分的行作为一个小带状对角矩阵。所述步骤(3-2)中对于规则区域,所述的小带状对角矩阵的个数本文档来自技高网...

【技术保护点】
一种基于矩阵分解的图像无缝克隆方法,其特征在于,包括:(1)根据源图像中克隆区域的梯度域和目标图像中融合区域的梯度域构建泊松方程,并根据泊松方程得到对应的拉普拉斯方程;(2)根据所述的拉普拉斯方程构建原始线性系统和原始线性系统方程;(3)对所述原始线性系统方程的系数矩阵进行分解得到一个带状对角矩阵和残余矩阵,并根据克隆区域的形状将所述的带状对角矩阵划分为若干个小带状对角矩阵;(4)将各个小带状对角矩阵分配到GPU的各个线程,结合残余矩阵求解得到融合区域中各个像素点相对于克隆区域中相应像素点的初始像素补偿值;(5)将融合区域中所有像素点相对于克隆区域中相应像素点的初始像素补偿值作为原始线性系统的初始输入,通过直接法迭代得到融合区域中所有像素点相对于克隆区域中相应像素点的最终像素补偿值;(6)以融合区域中各个像素点相对于克隆区域中相应像素点的最终像素补偿值与源图像中该像素点的像素值的和作为融合区域中相应像素点的像素值,完成图像的无缝克隆。

【技术特征摘要】
1.一种基于矩阵分解的图像无缝克隆方法,其特征在于,包括:
(1)根据源图像中克隆区域的梯度域和目标图像中融合区域的梯度域构
建泊松方程,并根据泊松方程得到对应的拉普拉斯方程;
(2)根据所述的拉普拉斯方程构建原始线性系统和原始线性系统方程;
(3)对所述原始线性系统方程的系数矩阵进行分解得到一个带状对角矩
阵和残余矩阵,并根据克隆区域的形状将所述的带状对角矩阵划分为若干个小
带状对角矩阵;
(4)将各个小带状对角矩阵分配到GPU的各个线程,结合残余矩阵求
解得到融合区域中各个像素点相对于克隆区域中相应像素点的初始像素补偿
值;
(5)将融合区域中所有像素点相对于克隆区域中相应像素点的初始像素
补偿值作为原始线性系统的初始输入,通过直接法迭代得到融合区域中所有像
素点相对于克隆区域中相应像素点的最终像素补偿值;
(6)以融合区域中各个像素点相对于克隆区域中相应像素点的最终像素
补偿值与源图像中该像素点的像素值的和作为融合区域中相应像素点的像素
值,完成图像的无缝克隆。
2.如权利要求1所述的基于矩阵分解的图像无缝克隆方法,其特征在于,
所述步骤(3)通过以下步骤将带状对角矩阵划分为若干个小带状对角矩阵:
(3-1)判断克隆区域是否为规则区域:
若克隆区域为矩形,则克隆区域为规则区域,
否则,克隆区域为不规则区域;
(3-2)根据判断结果进行如下操作:
(a)对规则区域,将带状对角矩阵划分为若干个小带状对角矩阵;
(b)对不规则区域,确定所述带状对角矩阵中每一行的带宽,并确定最
大带宽Wmax,从第一行开始逐行进行宽度累加直至:
Σi=stωi≥Wmax,]]>则进一步判断:
若则将带状对角矩阵中的第s行至第

\tt行划分为一个小带状对角矩阵,
否则,将带状对角矩阵中的第s行至第t-1行划分为一个小带状对角矩阵,
其中,带状对角矩阵中每一行的带宽为第一个不为零的元素与最后一个不为零
的元素的列号的差值,ωi为带状对角矩阵中第i行的带宽,s为每次宽度累加
时起始行的行号,每次进行宽度累加均以尚未划分的首行作为起始行,
若分块对角矩阵中尚未划分的所有行的宽度累加和小于Wmax时,直接将
剩余的所有尚未划分的行作为一个小带状对角矩阵。
3.如权利要求2所述的基于矩阵分解的图像无缝克隆方法,其特征在于,
所述步骤(3-2)中对于规则区域,所述的小带状对角矩阵的个数等于GPU的
内核数。
4.如权利要求3所述的基于矩阵分解的图像无缝克隆方法,其特征在于,
所述步骤(4)包括以下步骤:
(4-1)采用丢弃奇数行策略将残余矩阵近似为...

【专利技术属性】
技术研发人员:张丹董建锋张大龙李盼赵磊许端清
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1