CN103065294A - 基于四边形包坍塌的超大图像快速融合算法 - Google Patents

基于四边形包坍塌的超大图像快速融合算法 Download PDF

Info

Publication number
CN103065294A
CN103065294A CN2013100231957A CN201310023195A CN103065294A CN 103065294 A CN103065294 A CN 103065294A CN 2013100231957 A CN2013100231957 A CN 2013100231957A CN 201310023195 A CN201310023195 A CN 201310023195A CN 103065294 A CN103065294 A CN 103065294A
Authority
CN
China
Prior art keywords
image
quadrilateral
caves
pixel
collapse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100231957A
Other languages
English (en)
Other versions
CN103065294B (zh
Inventor
赵磊
李伟
陆胜
任艳姣
李亚珍
张勤飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201310023195.7A priority Critical patent/CN103065294B/zh
Publication of CN103065294A publication Critical patent/CN103065294A/zh
Application granted granted Critical
Publication of CN103065294B publication Critical patent/CN103065294B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Abstract

本发明公开了一种基于四边形包坍塌的超大图像快速融合算法,包括:通过四边形坍塌将全分辨率图像生成低分辨率的坍塌图像;针对水平坍塌图像和垂直坍塌图像分别构建纽曼条件泊松方程;求解每一个四边形内部的像素。本发明基于四边形包坍塌的超大图像快速融合算法将超大图像融合问题由在全分辨率图像上解泊松方程转变为在较低分辨率图像上解泊松方程,大大地减少了时间和内存的消耗,同时算法容易实施,另外,本发明算法采用的数据结构是均匀一致的,每个包都可以独立地在一个GPU线程完成,能够很容易地和GPU的多线程内存数据结构很好地映射到一起,充分利用了GPU的计算能力。

Description

基于四边形包坍塌的超大图像快速融合算法
技术领域
本发明涉及计算机图像领域,尤其涉及一种基于四边形包坍塌的超大图像快速融合算法。
背景技术
图像合成是通过各种方法将多源图像无缝结合成一个完整的图像。目前已经有很多的解决方案,早期的方法往往把重点放在每个像素的处理。
基于金字塔的混合方法,它结合不同的频段,减少在纹理区域中的边缘的重复,并在较低的频率产生逐渐过渡,该方法不考虑像素之间的关系。而通过蒙太奇合成的整个图像需要选择源代码补丁。
近年来,许多图像处理技术集中在梯度域的操作,并已取得一些较好的效果。梯度域方法利用梯度属性,可以结合许多不同的源图像,通过求解泊松方程无缝地产生整个图像,该方法已吸引了很多的研究关注。许多基于梯度域的方法从源头上提取梯度形成所需的梯度域,而不是从源图像复制绝对颜色成一个合成图像,然后,他们产生的新图像使得缝合处的像素差在最小二乘意义最符合所需的梯度。梯度域技术不仅可用于合成图像区域,可以执行各种应用程序基于梯度域约束,从阴影去除、高动态范围压缩、闪光伪影校正、α消光、图像二次照明、梯度域绘画等,还是计算摄影和视频领域广泛使用的算法。尽管基本的梯度域技术具有广泛适用性,但是其可扩展性差,所有的梯度域技术都需要解决大型稀疏线性系统的泊松方程,然而,求解一个线性系统是一个计算和内存密集型的任务。无论是在时间和空间都会变得很困难,当图像的尺寸显著增加时,如百万像素的图像,甚至千兆像素的图像拼接多个图像或由专业的相机拍摄的图像,梯度域技术限制了其采用这些百万像素、千兆像素的数码图像,而这些图像在许多领域往往是常用的。
目前已有不同的策略来解决上述问题。Quardtree(QT)方法能够大大降低问题的难度,并实现视觉上相同的结果,但QT并不适合非常大的图像,也未能充分利用目前的GPU的计算能力,合成图像的均方误差(MSE)随图像尺寸的增加而增加,这可能会导致令人讨厌的视觉效果细节。流式多网格(SM)的方法,其结合了多重网格的计算与数据流框架的千兆像素的图像处理,但是,SM仍然需要求解线性系统的像素的数量的排序,而且它的实现是复杂的。
发明内容
本发明提供了一种基于四边形包坍塌的超大图像快速融合算法,大大地减少了时间和内存的消耗,且容易实施。
一种基于四边形包坍塌的超大图像快速融合算法,包括:
(1)通过四边形坍塌将全分辨率图像生成低分辨率的坍塌图像:
将待融合的原始图像划分成若干四边形,提取各四边形水平边界的像素构成水平坍塌图像,提取各四边形垂直边界的像素构成垂直坍塌图像;
(2)针对水平坍塌图像和垂直坍塌图像分别构建纽曼条件泊松方程:
分别从坍塌图像的R/G/B三个通道构建纽曼条件泊松方程(线性方程组Ax=b),令坍塌图像中的每个像素对应的拉普拉斯算子为零,即构成所述纽曼条件泊松方程;
计算角点像素的拉普拉斯算子时,定义当前像素的权重为2,其他像素的权重为-1;计算边界像素的拉普拉斯算子时,定义当前像素的权重为3,其他像素的权重为-1;
(3)求解每一个四边形内部的像素;
通过SM算法求解水平坍塌图像和垂直坍塌图像的纽曼条件泊松方程,得出每一个四边形的边界像素值,再根据每一个四边形的边界像素值计算得出每一个四边形的内部像素值,最终将所有边界像素值和内部像素值融合成无缝图像,即完成原始图像的融合。
将待融合的原始图像划分成若干四边形,所述四边形为大小相等的矩形。
步骤(1)中,各四边形水平边界的像素构成水平坍塌图像时,按照各四边形在原始图像中的位置进行像素排序。
相应的,各四边形垂直边界的像素构成垂直坍塌图像时,按照各四边形在原始图像中的位置进行像素排序。
步骤(2)中,所述坍塌图像为水平坍塌图像或垂直坍塌图像,分别针对水平坍塌图像或垂直坍塌图像的R/G/B三个通道分别构建纽曼条件泊松方程(线性方程组Ax=b)。
步骤(2)中,计算角点像素的拉普拉斯算子时,所述角点像素为水平坍塌图像或垂直坍塌图像的角点像素。
计算边界像素的拉普拉斯算子时,所述边界像素为水平坍塌图像或垂直坍塌图像的边界像素。
步骤(3)中,根据每一个四边形的边界像素值,通过双线性插值计算得出内部像素值。
步骤(3)中,根据每一个四边形的边界像素值,通过重新构建泊松方程,求解以后得出内部像素值。
每个四边形分别对应一个数据包,每个数据包相关的运算独立地在一个GPU线程完成。
本发明首先将原始图像划分成很多四边形,对四边形内部的像素进行坍塌(去掉内部的像素,保留边界的像素),所有的边界像素构成两幅坍塌后的图像即垂直坍塌图像和水平坍塌图像,所有的操作都在这两幅图像上进行,最后根据这两幅图像解出所有四边形的边界像素值,通过在GPU上计算每个四边形的内部像素值,由于这些四边形的内部像素值计算相互独立,所以有很好的独立性。因本发明的算法针对坍塌图像求解纽曼条件泊松方程,而坍塌图像是原始图像的千分之几甚至更小,所以需要很少的内存或时间就可以完成,而四边形内部像素值可以通过双线性插值计算,充分利用GPU的高并行计算能力。
与现有技术相比,本发明的有益效果为:
(1)本发明将超大图像融合问题由在全分辨率图像上解泊松方程转变为在较低分辨率图像上解泊松方程,大大地减少了时间和内存的消耗,同时算法容易实施。
(2)本发明算法采用的数据结构是均匀一致的,每个数据包都可以独立地在一个GPU线程完成,能够容易地和GPU的多线程内存数据结构很好地映射到一起,充分利用了GPU的计算能力。
(3)本发明算法可以计算超过实际内存尺寸的图像,适合于几乎所有的超大图像的融合应用。
具体实施方式
超大图像(几个G字节或者更大)的颜色融合需要在整幅图像上解泊松方程,求解由超大图像产生的泊松方程需要耗费几十甚至上百G的内存,同时需要几百甚至上千小时,在目前的机器条件下直接在超大图像上进行颜色融合几乎是不可能的。本发明算法的关键是通过在缩减的空间求解线性系统来产生结果图像,将超大图像(原始图像)分解成两个低分辨率的图像,这里的低分辨率图像被称为坍塌图像(垂直坍塌图像或水平坍塌图像),然后根据坍塌图像的水平和垂直梯度的限制分别构建纽曼边界条件解决泊松方程(纽曼条件泊松方程),通过求解纽曼条件泊松方程得出每一个四边形的边界像素值,通过双峰线性插值计算出每一个四边形的内部像素值,所有的边界像素值和内部像素值融合成无缝图像。
具体步骤如下:
(1)通过四边形坍塌将全分辨率图像生成低分辨率图像
将具有N*M像素的原始图像(Ioriginal),分解成许多四边形包(四边形),一般为大小相等的矩形,每个四边形包的大小设置应合适。根据上述分解,使用四边形坍塌生成在两个方向上(水平方向和垂直方向)的图像。
在水平方向,只保留所有四边形水平边界的像素,丢弃其他所有的像素,包括内部像素和垂直边界的像素,因此,保留的像素按照各四边形在原始图像中的位置进行像素排序,构成水平坍塌图像Icollapse
同样,在垂直方向上,只保留所有四边形垂直边界的像素,因此,保留的像素按照各四边形在原始图像中的位置进行像素排序构成垂直坍塌图像Hcollapse
为了更好地组织塌陷图像,通过构建一个完整的二叉树并将二叉树保存在内存中。树中节点包含坍塌图像的基本信息如尺寸、图像格式、在磁盘上的位置等。一个节点存储的孩子的垂直坍塌图像和水平的坍塌图像。对于大型的图像,需要递归运用坍塌操作,树的根表示原始图像,与其他节点代表他们的父母在水平坍塌图像或垂直坍塌图像。
(2)针对水平坍塌图像和垂直坍塌图像分别构建泊松方程
图像梯度
Figure BDA00002755672100041
和最终想要得到的梯度被表达为下面的相邻像素的积分形式:
▿ I i , j = ( I i + 1 , j - I i , j , I i , j + 1 - I i , j ) - - - ( 1 )
其中,Ii,j是图像在i,j位置处的像素;
Ii,j+1是Ii,j垂直下面的像素;
Ii+1,j是Ii,j水平右边的像素;
Figure BDA00002755672100052
是在i,j位置处的像素的梯度;
g → = ( g i , j x , g i , j y ) - - - ( 2 )
Figure BDA00002755672100054
是在i,j位置处的像素的梯度;
Figure BDA00002755672100055
是在i,j位置处的像素在x方向上的梯度;
Figure BDA00002755672100056
是在i,j位置处的像素在y方向上的梯度;
寻求最小化:
∫ ∫ F ( ▿ I i , j , g → ) didj , whereF ( ▿ I , g → ) = | | ▿ I - g → | | 2 - - - ( 3 )
∫∫是在i,j两个变量上的双重积分;
中,是原始图像的梯度,
Figure BDA000027556721000510
是最终得到图像的梯度;
上述公式的积分的解就是寻求的梯度最接近
Figure BDA000027556721000511
的最终图像。
根据Euler-Lagrange公式,得到:
▿ 2 I = div g → = ∂ g x ∂ x + ∂ g y ∂ y - - - ( 4 )
是拉普拉斯算子;
Figure BDA000027556721000514
是最终得到图像的梯度;
Figure BDA000027556721000515
Figure BDA000027556721000516
分别是x和y方向上的梯度的偏微分;
根据上述讨论,需针对水平坍塌图像和垂直坍塌图像分别构建纽曼条件泊松方程(线性方程组Ax=b),每一幅坍塌图像的纽曼条件泊松方程分别从R/G/B三个通道进行求取,令坍塌图像中的每个像素对应的拉普拉斯算子为零,即组成纽曼条件泊松方程,因此,首先需计算坍塌图像中的每个像素的拉普拉斯算子。
下面以水平坍塌图像为例,说明如何计算拉普拉斯算子。
对于水平坍塌图像中的每个像素Px,y,假设Px,y-1和Px,y+1是像素Px,y在垂直方向上相邻像素,P’x,y,P’x,y-1和P’x,y+1是Px,y,Px,y-1和Px,y+1相应的原始图像的像素。在原始图像中如果P’x,y-1和P’x,y+1线段与任何缝隙之间不存在交叉点,该像素的拉普拉斯算子为:
Lpx,y=4Px,y–Px-1,y–Px+1,y–Px,y-1–Px,y+1    (5)
如果在原始图像中,P’x,y-1和P’x,y+1线段与任何缝隙之间有交叉点,而且交叉点Ps,t在[Px,y和Px,y-1]上,Px,y-1被Ps,t代替,公式变为:
Lpx,y=4Px,y–Px-1,y–Px+1,y–Ps,t–Px,y+1   (6)
类似的,如果交叉点Ps,t在[Px,y和Px,y+1]上,Px,y+1被Ps,t代替,公式变为:
Lpx,y=4Px,y–Px-1,y–Px+1,y–Px,y-1–Ps,t    (7)
在计算坍塌图像的角点像素的拉普拉斯算子时,定义当前像素的权重为2,其他像素的权重为-1;计算坍塌图像的边界像素的拉普拉斯算子时,定义当前像素的权重为3,其他像素的权重为-1。
角点像素的拉普拉斯算子为:
Lpx,y=2Px,y–Px-1,y–Px+1,y–Px,y-1–Px,y+1    (8)
角点相邻的像素中,有2个像素为0,具体哪两个像素为0,要根据角点的位置而定;
边界像素的拉普拉斯算子为:
Lpx,y=3Px,y–Px-1,y–Px+1,y–Px,y-1–Px,y+1    (9)
边界相邻的像素中,有1个像素为0,具体哪个像素为0,要根据边界的位置而定;
缝隙的拉普拉斯算子如公式(5)所示。
垂直坍塌图像的拉普拉斯算子的计算和水平的拉普拉斯算子的计算类似。
(3)求解每一个四边形内部的像素
通过SM算法(Michael Kazhdan,Hugues Hoppe.Hoppe.Streamingmultigrid for gradient-domain operations on large images.ACM Transactionson Graphics,2008,27(3))求解水平坍塌图像和垂直坍塌图像的泊松方程,得出每一个四边形的边界像素值,根据每一个四边形的边界像素值,重新构建泊松方程,求解得到每一个四边形的内部像素值。最终将这些边界像素值和内部像素值融合成无缝图像,即完成原始图像的融合。

Claims (6)

1.一种基于四边形包坍塌的超大图像快速融合算法,其特征在于,包括:
(1)通过四边形坍塌将全分辨率图像生成低分辨率的坍塌图像:
将待融合的原始图像划分成若干四边形,提取各四边形水平边界的像素构成水平坍塌图像,提取各四边形垂直边界的像素构成垂直坍塌图像;
(2)针对水平坍塌图像和垂直坍塌图像分别构建纽曼条件泊松方程:
分别从坍塌图像的R/G/B三个通道构建纽曼条件泊松方程,令坍塌图像中的每个像素对应的拉普拉斯算子为零,即组成所述纽曼条件泊松方程;
计算角点像素的拉普拉斯算子时,定义当前像素的权重为2,其他像素的权重为-1;计算边界像素的拉普拉斯算子时,定义当前像素的权重为3,其他像素的权重为-1;
(3)求解每一个四边形内部的像素;
通过SM算法求解水平坍塌图像和垂直坍塌图像的纽曼条件泊松方程,得出每一个四边形的边界像素值,再根据每一个四边形的边界像素值计算得出每一个四边形的内部像素值,最终将所有边界像素值和内部像素值融合成无缝图像,即完成原始图像的融合。
2.如权利要求1所述的基于四边形包坍塌的超大图像快速融合算法,其特征在于,步骤(1)中,各四边形水平边界的像素构成水平坍塌图像时,按照各四边形在原始图像中的位置进行像素排序。
3.如权利要求1所述的基于四边形包坍塌的超大图像快速融合算法,其特征在于,步骤(1)中,各四边形垂直边界的像素构成垂直坍塌图像时,按照各四边形在原始图像中的位置进行像素排序。
4.如权利要求1所述的基于四边形包坍塌的超大图像快速融合算法,其特征在于,步骤(3)中,根据每一个四边形的边界像素值,通过双线性插值计算得出内部像素值。
5.如权利要求1所述的基于四边形包坍塌的超大图像快速融合算法,其特征在于,步骤(3)中,根据每一个四边形的边界像素值,通过重新构建泊松方程,求解以后得出内部像素值。
6.如权利要求1所述的基于四边形包坍塌的超大图像快速融合算法,其特征在于,每个四边形分别对应一个数据包,每个数据包相关的运算独立地在一个GPU线程完成。
CN201310023195.7A 2013-01-21 2013-01-21 基于四边形包坍塌的超大图像快速融合算法 Expired - Fee Related CN103065294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310023195.7A CN103065294B (zh) 2013-01-21 2013-01-21 基于四边形包坍塌的超大图像快速融合算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310023195.7A CN103065294B (zh) 2013-01-21 2013-01-21 基于四边形包坍塌的超大图像快速融合算法

Publications (2)

Publication Number Publication Date
CN103065294A true CN103065294A (zh) 2013-04-24
CN103065294B CN103065294B (zh) 2015-07-29

Family

ID=48107911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310023195.7A Expired - Fee Related CN103065294B (zh) 2013-01-21 2013-01-21 基于四边形包坍塌的超大图像快速融合算法

Country Status (1)

Country Link
CN (1) CN103065294B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112308773A (zh) * 2020-08-19 2021-02-02 贵州电网有限责任公司 一种无人机航摄影像无损放大和拼接融合方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080198175A1 (en) * 2007-02-20 2008-08-21 Microsoft Corporation Drag-And-Drop Pasting For Seamless Image Composition
CN102426705A (zh) * 2011-09-30 2012-04-25 北京航空航天大学 一种视频场景行为拼接方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080198175A1 (en) * 2007-02-20 2008-08-21 Microsoft Corporation Drag-And-Drop Pasting For Seamless Image Composition
CN102426705A (zh) * 2011-09-30 2012-04-25 北京航空航天大学 一种视频场景行为拼接方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ASEEM AGARWALA等: "《Interactive Digital Photomontage》", 《ACM TRANSACTIONS ON GRAPHICS(SIGGRAPH’04)》, vol. 23, no. 3, 31 August 2004 (2004-08-31) *
吴锦杰: "《图像拼接技术研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 December 2011 (2011-12-15) *
张建桥等: "《基于泊松方程的数字图像无缝拼合》", 《现代电子技术》, no. 17, 30 September 2010 (2010-09-30) *
高建等: "《使用泊松方程插值方法进行遥感影像融合》", 《武汉大学学报.信息科学版》, vol. 37, no. 12, 31 December 2012 (2012-12-31) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112308773A (zh) * 2020-08-19 2021-02-02 贵州电网有限责任公司 一种无人机航摄影像无损放大和拼接融合方法

Also Published As

Publication number Publication date
CN103065294B (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
CN100355272C (zh) 一种交互式多视点视频系统中虚拟视点的合成方法
Lin et al. Vastgaussian: Vast 3d gaussians for large scene reconstruction
CN106815807B (zh) 一种基于gpu‑cpu协同的无人机影像快速镶嵌方法
CN103997609A (zh) 基于cuda的多视频实时全景融合拼接方法
CN104952075A (zh) 面向激光扫描三维模型的多图像自动纹理映射方法
CN102724529B (zh) 虚拟视点视频序列的生成方法及生成装置
CN109509211A (zh) 同时定位与建图技术中的特征点提取与匹配方法及系统
CN104463859B (zh) 一种基于跟踪指定点的实时视频拼接方法
CN105809712A (zh) 一种高效大位移光流估计方法
CN103544711A (zh) 遥感影像的自动配准方法
CN105321177B (zh) 一种基于图像重要度的层次图集自动拼贴方法
CN104780355A (zh) 一种视点合成中基于深度的空洞修复方法
US20150195510A1 (en) Method of integrating binocular stereo video scenes with maintaining time consistency
CN107341846A (zh) 一种实时显示大规模三维重建场景的方法及设备
CN104618648A (zh) 一种全景视频拼接系统及拼接方法
JP5836831B2 (ja) 画像修正装置及びそのプログラム
CN104166992B (zh) 基于网格变形的内容感知双目图像缩放方法
CN104159093A (zh) 运动拍摄的静态场景视频的时域一致性空洞区域修补方法
CN104822059A (zh) 一种基于gpu加速的虚拟视点合成方法
CN112163996B (zh) 一种基于图像处理的平角视频融合方法
CN106296575B (zh) 基于bim的模型和图片合并和分离方法及系统
CN102496138A (zh) 一种二维图像转换为三维图像的方法
CN114202610B (zh) 一种倾斜摄影建筑物单体化模型纹理映射方法
CN103065294B (zh) 基于四边形包坍塌的超大图像快速融合算法
CN107767411A (zh) 一种基于样图的纹理合成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150729