CN102867290B - 一种基于纹理优化的非同质图像合成方法 - Google Patents

一种基于纹理优化的非同质图像合成方法 Download PDF

Info

Publication number
CN102867290B
CN102867290B CN201210309392.0A CN201210309392A CN102867290B CN 102867290 B CN102867290 B CN 102867290B CN 201210309392 A CN201210309392 A CN 201210309392A CN 102867290 B CN102867290 B CN 102867290B
Authority
CN
China
Prior art keywords
texture
point
neighborhood
image
color
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.)
Active
Application number
CN201210309392.0A
Other languages
English (en)
Other versions
CN102867290A (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 of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201210309392.0A priority Critical patent/CN102867290B/zh
Publication of CN102867290A publication Critical patent/CN102867290A/zh
Application granted granted Critical
Publication of CN102867290B publication Critical patent/CN102867290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)
  • Image Analysis (AREA)

Abstract

一种基于纹理优化的非同质图像合成方法,所述图像合成方法包括以下步骤:1)生成标签图A,颜色图A',新标签图B的高斯金字塔,AL,A′L,BL,B′L表示对应金字塔的第L层;2)设定初始层L,生成初始化样图;3)对不同类型的图像定义不同的全局度量准则;4)从最粗糙层L开始,对金字塔从粗糙层到精细层循环做:4.1)对该层邻域窗口金字塔winSizePyr中的每个邻域大小做:4.1.1)根据AL,A′L,BL,B′L执行M步骤,得到MatchL;4.1.2)根据AL,A′L,BL,B′L,MatchL执行E步骤,得到优化后的新的B′L;4.2)对B′L超采样得到B′L-1。本发明快速性良好、合成质量较高、合成效率更快。

Description

一种基于纹理优化的非同质图像合成方法
技术领域
本发明涉及图像合成技术,尤其是一种图像合成方法。
背景技术
基于样图的纹理合成旨在由小块样本纹理生成视觉上类似的大块纹理,能减少繁重的建模工作,提高绘制效率,是计算机图形学中一个热点研究方向。对于纹理,可大致分为同质纹理和非同质纹理两类。同质纹理满足Markov随机场中的局部和静止属性。而非同质纹理,也就是全局变化的纹理不满足静止属性,对于非同质纹理,通常在合成过程中加入一张控制图来约束合成过程。随着纹理合成工作的进展,同质纹理的合成质量和效率都大大提高。但是针对非同质纹理,研究者仍在寻找快速高效的合成方法。因为用户想合成的不仅是简单的周期性变化的纹理,而且希望生成具有真实感的图像,进行更多创造性的控制。图像类比框架借用了类比思想,提供了一种非常自然的方法定义图像间的转换,使用户可以处理非同质纹理,控制生成结果,但其合成速度很慢。Texture-by-Numbers(TBN)是图像类比框架中的一个应用,能优雅地合成具有真实感的非同质图像(TBN图像)。用户提供一张标签图A和对应的颜色图A’,指定一张新的标签图B,算法合成得到新的颜色图B’,使得从B到B’的变化和从A到A’的变化类似。
纹理合成方法大致可分为三大类:基于像素的合成、基于块的合成和基于优化的合成。基于像素的合成方法逐像素的合成纹理,合成效果在视觉上较为连续。但它合成时仅考虑局部邻域,难以保持纹理结构化信息。基于块的合成方法不是简单地拷贝样图中的像素,而是将样图中的整个小块拷贝到输出图中,能较好的保持纹理结构特征,但相邻纹理块的边界处会产生特征断裂现象。基于全局优化的纹理合成方法,结合了基于像素和基于块的合成方法的优势,合成质量较高。该方法把待合成纹理看作一个整体,用全局纹理能量来衡量目标纹理和样本纹理的相似程度,使用最大期望值算法(Expectation Maximization,EM)迭代求解全局纹理能量函数,E和M两个步骤交替计算,全局纹理能量在迭代中逐步降低,目标纹理逐渐逼近样本纹理。但传统的纹理优化框架只适用于同质纹理合成,且速度较慢。图像类比框架采用基于像素的纹理方法进行TBN合成,但基于像素的合成算法主要考虑纹理的局部性,不能捕获高层次的纹理布局。TBN合成不同于传统的同质纹理合成,在合成时必须考虑整张图像,而不是很小的一块纹理样图区域。有研究者用纹理优化框架合成TbN图像,把标签图作为一个软约束通道加入全局优化过程,迭代求解使能量函数值最小的输出纹理,比以往的TBN合成算法合成质量更高,但合成效率依旧不高。
随着图形硬件的发展,GPU(Graphics Processing Unit)已进化成一种通用图形处理器,能成倍地增加计算能力,并在各个领域获得了广泛应用。CUDA(Compute Unified Device Architecture)是Nvidia公司推出的编程模型,也是首次可以利用GPU作为C-编译器的开发环境,能更有效地把计算问题映射到硬件架构上。有研究者提出了基于GPU的并行可控纹理合成算法,在合成时对每个像素并行处理,大大加快合成速度。也有研究者对纹理优化框架进行加速,采用了一种离散优化的方法逐像素地计算目标纹理值,用k-coherence搜索算法和PCA降维技术在GPU上实现加速。但他们都主要针对同质纹理合成。
发明内容
为了克服已有非同质纹理合成方法的快速性较差、合成质量较差的不足,本发明提供一种快速性良好、合成质量较高、合成效率更快的一种基于纹理优化的非同质图像合成方法。
本发明解决其技术问题所采用的技术方案是:
一种基于纹理优化的非同质图像合成方法,所述图像合成方法包括以下步骤:
1)生成标签图A,颜色图A',新标签图B的高斯金字塔,AL,A′L,BL,B′L表示对应金字塔的第L层;
2)设定初始层L,生成初始化样图;
3)对不同类型的图像定义不同的全局度量准则;
4)从最粗糙层L开始,对金字塔从粗糙层到精细层循环做:
4.1)对该层邻域窗口金字塔winSizePyr中的每个邻域大小做:
4.1.1)根据AL,A′L,BL,B′L执行M步骤,得到MatchL,具体过程如下:
保持目标纹理B,B’不变,根据特征F对目标纹理B,B’中的点q在样图纹理A,A'中找到最佳匹配点v,存在纹理MatchL中,形式化的表示如下:
Match L ⇐ arg min v , v ∈ c ( q ) ( | | F B L ( q ) - F A L ( V ) | | 2 + | | F B L ′ ( q ) - F A L ′ ( V ) | | 2 ) - - - ( 7 )
采用基于k-coherence的离散求解器进行TBN纹理优化,其中M步骤用k-coherence搜索进行最相似邻域查找,k-coherence搜索分为预处理和搜索合成两个阶段;在预处理阶段,对于样图A,A’中的点p,在A,A’中查找和其最相似的点,并将查找得到的点坐标值存在纹理中;在搜索阶段,对B’中的每个点q,从q的邻域中收集k-coherence候选集c(q),在候选集中查找和q邻域最相似的点,存在MatchL中;
用CUDA(Compute Unified Device Architecture)架构实现时,Block的个数与图像像素点个数一致,线程个数为候选点个数,一个block的任务是对一个像素点查找最相似点;首先收集k-coherence的候选集存放在块内共享内存中,然后每个线程并行地计算一个候选集点和当前点的距离,计算结果也存放于共享内存中,当一个block内的所有线程都计算得到距离后,从块内共享内存中读取所有点的距离,查找距离最小的最相似点;
4.1.2)根据AL,A′L,BL,B′L,MatchL执行E步骤,得到优化后的新的B′L,具体过程如下:
E步骤保持目标纹理B,B’中点在样图纹理A,A'中的最佳匹配MatchL不变,根据当前目标纹理和M步骤计算得到的最佳匹配,最小化下一个目标纹理B′L,形式化的表示如下:
B ′ L ⇐ arg min x , x ∈ D ( q ) ( E TBN ) ; - - - ( 8 )
采用离散优化的方法逐像素的计算目标纹理值,根据当前q点在MatchL图中的邻域计算平均颜色值,平均颜色值的通道数与特征选取有关;根据B’的邻域建立候选集D(q),D(q)中和平均颜色值最相似的点被设置为B′L(q)的值,实现最小化能量函数ETBN;D(q)由k-coherence搜索得到,和步骤4.1.1)采用的方法一样;另外在每个block中,先计算平均颜色值,然后拿候选点与平均颜色值相比较,得到优化后的点坐标;
4.2)对B′L超采样得到B′L-1,具体过程如下:
对已有的坐标图B′L超采样得到B′L-1,在超采样过程中,将图像划分为N块,每个block处理一个图像块,B′L和纹理内存相绑定,每个线程依次执行如下操作:获得B′L-1(p)的坐标(u,v),在B′L中取坐标为(u/2,v/2)点的颜色值color,B′L-1(p)点的值即为color*2+(u%2,v%2)。
本发明的技术构思为:定义了同时考虑标签图和颜色图的全局能量函数,利用纹理优化框架,迭代优化该能量函数。采用基于k-coherence的离散求解器在GPU上高速实现迭代优化。传统的纹理优化框架采用随机化方法进行初始化,但随机初始图的质量将影响合成结果和优化算法的收敛速度。本发明引入一个基于chamfer准则和区域生长的初始化过程,得到一幅与标签图B具有大致结构的初始化样图,作为全局优化算法的输入,在合成前就对待合成图放置了位置正确的纹理块。另外,本发明针对不同的TBN纹理类型——自然纹理和结构性纹理,选择不同的特征进行度量。对自然纹理采用邻域颜色的L2距离度量。对结构性纹理,首先提取颜色图A’的特征图,计算对应的特征距离(feature distance)图来表示纹理的细节特征,将其作为结构信息加入到全局优化的度量准则中,解决合成图像中细节特征丢失的问题。和以往的TBN合成方法相比,本发明方法速度更快、质量更高。
快速高质量的基于纹理优化的非同质图像合成方法利用图像金字塔从粗糙层合成精细层,输入为三张图:一组对应的标签图A和颜色图A',新的标签图B,输出为合成得到的新颜色图B’。AL,A′L,BL,B′L表示对应金字塔的第L层。在合成时,B’为坐标图。建立索引结构s(q)=p。B’中点q存放的是在A'中查找得到的最匹配点p的坐标值,因此B′(q)=A′(S(q))。首先用基于chamfer准则和区域生长的方法得到一张初始化样图,作为金字塔初始层的值。合成的每一层中依次执行超采样(upsample)和迭代优化(correction)二个步骤。超采样过程获得更高分辨率的图像。迭代优化采用最大期望值算法(Expectation Maximization,EM)求解全局纹理能量函数,分为M步骤和E步骤。假设p为A,A'中相同坐标位置的一点,q为B,B’中相同坐标位置的一点。M步骤对B,B’中点q在A,A'中找到最相似的点。E步骤计算使全局能量最小的目标纹理值。在优化过程中,对金字塔的每一层,先用大邻域进行优化,然后逐渐减小邻域大小。因此维护一个邻域窗口金字塔winSizePyr,指定优化过程中金字塔每一层的邻域窗口大小变化。针对不同类型的图像,选取不同的特征,使合成结果符合人类视觉感知。
本发明的有益效果主要表现在:把非同质纹理的可控合成问题通过解一个全局优化问题来实现,把纹理优化框架合成质量高的优势结合到TBN合成中。为了给优化过程提供好的初始值,引入一个基于chamfer准则和区域生长的初始化过程,生成一幅与标签图B具有大致结构的初始化样图,作为全局优化算法的输入,使得在合成前就对待合成图放置了位置正确的纹理块,既加快了优化算法的收敛速度,又保证了合成质量。另外,针对不同类型的TBN图像——自然图像和结构性图像,选取不同的特征,定义相应的全局能量度量准则,使合成结果能更好的满足人类视觉感知。本发明还设计了针对GPU的快速合成算法,利用CUDA编程模型实现,大大提高了合成速度,使合成趋于实时。与以往的TBN合成方法相比,本发明方法具有更高的合成质量及更快的合成效率。
该方法的主要优点如下:
(1)思路新颖。利用纹理优化框架进行非同质纹理的合成,比以往方法具有更高的合成质量。初始图的加入可以加快算法的收敛速度,保证质量。针对不同类型图像选取不同的特征,定义符合人类视觉感知的全局度量准则,具有较大的创新意义。
(2)实现简单。对于全局纹理优化,采用类EM算法进行迭代优化求解能量最小值,只需对E步骤和M步骤进行简单的设计。同时本发明采用的CUDA编程模型使研究人员使用C语言就可以方便地编写GPU程序。
(3)运行速度快,质量高。纹理优化是目前纹理合成质量最好的算法之一。将该框架用于TBN合成,能大大提高合成质量。利用CUDA架构设计的基于离散求解器的快速合成算法,能充分利用GPU的并行性,突破传统方法的时间限制,使合成图像速度趋于实时。
(4)方便易行。用户只需提供一张图像和其对应的纹理分块图,当给出一张新的纹理分块图时,执行算法即能生成新的具有真实感的图像。
(5)可控性好:用户对算法的控制无法复杂的输入参数,只需改变纹理分块图,即能得到各种不一样的所期望的结果。
附图说明
图1为初始化过程流程图。
图2为算法执行流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1和图2,一种基于纹理优化的非同质图像合成方法,包括以下步骤:
1)生成标签图A,颜色图A',新标签图B的高斯金字塔
2)设定初始层L,生成初始化样图
3)对不同类型的图像定义不同的全局度量准则
4)从最粗糙层L开始,对金字塔从粗糙层到精细层循环做:
4.1)对该层邻域窗口金字塔winSizePyr中的每个邻域大小做:
4.1.1)根据AL,A′L,BL,B′L执行M步骤,得到MatchL
4.1.2)根据AL,A′L,BL,B′L,MatchL执行E步骤,得到优化后的新的B′L
4.2)对B′L超采样得到B′L-1
本算法利用CUDA编程模型加速实现。在CUDA中,任务以block和线程为单位分两级并行执行。各块间并行执行,线程间的计算也独立地并行执行。GPU拥有大容量的显存(global memory),具有高带宽访问延迟的特点。而每个block有共享内存(share memory),存储容量小但访问速度快。因此算法设计时要合理划分block和线程,合理分配存储空间以减少内存访问时间。
所述步骤2)中,初始化过程分以下三步:(1)生成离散的纹理标签图IDA、IDB。(2)提取边缘,进行chamfer距离变换,得到距离图像DA、DB。(3)利用区域生长法生成初始化样图。
IDA,IDB为对A,B进行色彩范围划分后得到的纹理标签图,A,B中具有相似颜色的区域用同一个标签(灰度值)来表示,便于计算chamfer距离。Chamfer距离匹配被广泛应用于形状匹配中,它能较好地捕获图像中的边缘形状特征。TBN合成中的标签图表示了纹理的大致分块,可以提取标签图的边缘并利用这些边缘信息。采用3-4DT方法对IDA,IDB做chamfer距离变换,得到距离图像DA,DB。距离图像中每个像素的灰度值表示其与最近边界像素的距离,可以用于边缘匹配。
定义如下的度量准则:
d(pA,pB)=w*||N(pA)IDA-N(pB)IDB||chamfer+||N(pA)DA-N(pB)DB||L2(w=90)(1)
该度量准则根据离散纹理标签图和距离图像来比较标签图A和B的边缘信息。其中N(pA)IDA,N(pB)IDB代表pA,pB点在IDA,IDB图中的邻域。N(pA)DA,N(pB)DB代表pA,pB在DA,DB图中的邻域。||||chamfer为邻域的chamfer距离。||||L2为邻域的L2距离。
两个邻域Na、Nb间的chamfer距离定义如下:
| | | | chamfer = Σ p ∈ Na min q ∈ Nb L 1 ( p , q ) + Σ q ∈ Nb min p ∈ Na L 1 ( p , q ) - - - ( 2 )
L1(p,q)为两点的L1距离即曼哈顿距离。邻域chamfer距离的求法为:对邻域Na中的每个点p,在Nb中找到和它具有相同标签值的q,且q和p之间的L1距离最小,如果在Nb中找不到和p点具有相同标签值的点,则L1(p,q)赋值为两倍的邻域大小,将所有点的L1距离相加。对Nb中的点q做同样操作。将两部分的结果相加。
基于公式(1),可以用区域生长方法在IDA,DA中查找和IDB,DB中pB点边缘特征最相似的pA点,生成一张和IDB具有相似区域划分的初始化样图initB。
具体过程如下。首先新建initB图,随机地在initB图中选取一个种子点pB进行生长,在各个方向的生长区域中,当其邻近点pB′满足检测准则就并入小块区域,当新的点被合并后,再用新的区域重复这一过程。结束条件为:(1)d(pB,pB′)<阈值。(2)initB中所有像素都被处理。pB和pB′点处于同一区域的判断条件如下:
基于公式(1)在IDA、DA中找到和pB最相似的pA点,该区域的阈值为(d(pA,pB)+5)*1.25。若d(pA,pB′)的值小于阈值,则pB和pB′属于同一区域,同时把pA点坐标赋值给initB图中pB′点。为了便于在GPU上合成,initB存储的是对应点的坐标值。根据A'图可把initB还原成颜色图colorInitB。它既和IDB有类似的纹理分块,又具有一定的颜色信息,能为纹理优化提供较好的初始值。初始化过程流程图如图1所示。
所述步骤3)中,纹理优化算法的核心是能量函数的定义。TBN图像合成的目标是使标签图A和B尽可能匹配,同时使合成颜色图B’和原有的A'尽可能接近。考虑两者,定义同时度量标签图和颜色图的全局能量函数:
E TBN = w * &Sigma; q &Element; X + label ( p , q ) + &Sigma; q &Element; X + color ( p , q ) - - - ( 3 )
其中p为A,A’中一点,q为B,B’中一点。label(p,q)和color(p,q)分别捕获了标签图和颜色图之间的匹配程度,w为权重,通常取1。X+为B,B’中像素点的一个子集。对于B’中的点q(q∈X+),在样图对A,A'中找到最相似点p,使得w*||FA(p)-FB(q)||2+||FA′(p)-FB′(q)||2最小,F代表某点的特征,能量函数ETBN可以进一步表示为:
E TBN = w * &Sigma; q &Element; X + | | F A ( p ) - F B ( q ) | | 2 + &Sigma; q &Element; X + | | F A &prime; ( p ) - F B &prime; ( q ) | | 2 - - - ( 4 )
TBN图像大致可分为自然图像和结构性图像两类。针对不同类型的图像,选取不同的特征F,使合成结果符合人类视觉感知。
对于自然纹理,简单地采用邻域颜色的L2距离作为相似性度量准则即能获得较好的结果,能量函数定义如下,N表示对应点的邻域,其中NB′(q)=NA′(S(q))
E TBN = w * &Sigma; q &Element; X + | | N A ( p ) - N B ( q ) | | 2 + &Sigma; q &Element; X + | | N A &prime; ( p ) - N B &prime; ( q ) | | 2 - - - ( 5 )
对于结构性图像,简单的颜色差异不能捕获纹理的细节特征。这是因为人类视觉系统观察得到的每个像素不是同等重要的。一个好的视觉度量准则需要考虑人类视觉系统对纹理中的边界、角落和其他高层结构特征的敏感性。我们将特征距离图引入结构性的TBN图像合成,来捕获纹理细节。首先得到颜色图A'的特征图,然后对其进行距离变换,得到特征距离图FDA,将其作为结构信息加入到全局能量优化的度量准则中,解决了合成图像细节特征丢失的问题。结构性纹理的能量方程定义如下:
E TBN = w 1 * &Sigma; q &Element; X + | | N A ( p ) - N B ( q ) | | 2 + w 2 * &Sigma; q &Element; X + | | N FDA ( p ) - N FDA ( s ( q ) ) | | 2 + &Sigma; q &Element; X + | | N A &prime; ( p ) - N B &prime; ( q ) | | 2 - - - ( 6 )
w1,w2分别为标签值和特征值的权重。对于B’中的待合成点q,它的特征值根据坐标索引s(q)在FDA中查找。该能量方程考虑结构信息相似性度量,联合图像颜色通道和特征信息通道,能使全局优化过程中在样图中找到较好的候选点。
所述步骤4.1.1)中,纹理优化采用类EM(EM-like)算法来最小化能量值,分为E步骤和M步骤。两个步骤交替计算。在M步骤中,保持目标纹理B,B’不变,根据特征F对目标纹理B,B’中的点q在样图纹理A,A'中找到最佳匹配点v,存在纹理MatchL中。M步骤可形式化的表示如下:
Match L &DoubleLeftArrow; arg min v , v &Element; c ( q ) ( | | F B L ( q ) - F A L ( V ) | | 2 + | | F B L &prime; ( q ) - F A L &prime; ( V ) | | 2 ) - - - ( 7 )
传统的纹理优化方法对M步骤使用层次树状结构搜索最相似邻域,而算法的复杂度主要由最相似邻域搜索决定,因此这一步也是算法的瓶颈所在,使合成速度较慢。我们采用基于k-coherence的离散求解器进行TBN纹理优化。在M步骤中用k-coherence搜索进行最相似邻域查找,能大大加快处理时间。
k-coherence搜索分为预处理和搜索合成两个阶段。在预处理阶段,对于样图A,A’中的点p,在A,A’中查找和其最相似的点,并将查找得到的点坐标值存在纹理中。对于256×256及更小的样图,采用基于GPU的快速k个最相似邻域搜索算法进行最相似邻域查找,对于更大的样图,采用最新发布的FLANN库进行查找,提高预处理速度。
在搜索阶段,对B’中的每个点q,从q的邻域中收集k-coherence候选集c(q),在候选集中查找和q邻域最相似的点,存在MatchL中。对于CUDA实现,Block的个数与图像像素点个数一致,线程个数为候选点个数。一个block的任务是对一个像素点查找最相似点。M步骤首先收集k-coherence的候选集存放在块内共享内存中,加快访存时间。然后每个线程并行地计算一个候选集点和当前点的距离,计算结果也存放于共享内存中。当一个block内的所有线程都计算得到距离后,从块内共享内存中读取所有点的距离,查找距离最小的最相似点。
所述步骤4.1.2)中,在E步骤中,保持目标纹理B,B’中点在样图纹理A,A'中的最佳匹配MatchL不变,根据当前目标纹理和M步骤计算得到的最佳匹配,最小化下一个目标纹理B′L,E步骤可形式化的表示如下:
B &prime; L &DoubleLeftArrow; arg min x , x &Element; D ( q ) ( E TBN ) ; - - - ( 8 )
对E步骤采用离散优化的方法逐像素的计算目标纹理值。根据当前q点在MatchL图中的邻域计算平均颜色值,平均颜色值的通道数与特征选取有关,对于自然纹理有6个通道,对结构性纹理有7个通道。根据B’的邻域建立候选集D(q),D(q)中和平均颜色值最相似的点被设置为B′L(q)的值,实现最小化能量函数ETBN。D(q)由k-coherence搜索得到,和步骤4.1.1)采用的方法一样。另外在每个block中,先计算平均颜色值,然后拿候选点与平均颜色值相比较,得到优化后的点坐标。
所述步骤4.2)中,对已有的坐标图B′L超采样得到B′L-1。在超采样过程中,将图像划分为N块,每个block处理一个图像块,这样访问全局存储器的延时可以减少N倍。B′L和纹理内存相绑定,每个线程依次执行如下操作:获得B′L-1(p)的坐标(u,v),在B′L中取坐标为(u/2,v/2)点的颜色值color,B′L-1(p)点的值即为color*2+(u%2,v%2)。

Claims (1)

1.一种基于纹理优化的非同质图像合成方法,其特征在于:所述图像合成方法包括以下步骤:
1)生成标签图A,颜色图A’,新标签图B的高斯金字塔,AL,A'L,BL,B'L表示对应金字塔的第L层;
2)设定初始层L,生成初始化样图;
初始化过程分以下三步:首先,生成离散的纹理标签图IDA、IDB;接着,提取边缘,进行chamfer距离变换,得到距离图像DA、DB;然后,利用区域生长法生成初始化样图;
IDA,IDB为对A,B进行色彩范围划分后得到的纹理标签图,A,B中具有相似颜色的区域用同一个标签来表示,距离图像中每个像素的灰度值表示其与最近边界像素的距离,可以用于边缘匹配;定义如下的度量准则:
d(pA,pB)=w*||N(pA)IDA-N(pB)IDB||chamfer+||N(pA)DA-N(pB)DB||L2 (w=1/90)   (1)
该度量准则根据离散纹理标签图和距离图像来比较标签图A和B的边缘信息,其中N(pA)IDA,N(pB)IDB代表pA,pB点在IDA,IDB图中的邻域,N(pA)DA,N(pB)DB代表pA,pB在DA,DB图中的邻域,||||chamfer为邻域的chamfer距离,||||L2为邻域的L2距离;
两个邻域Na、Nb间的chamfer距离定义如下:
| | | | chamfer = &Sigma; p &Element; Na min q &Element; Nb L 1 ( p , q ) + &Sigma; q &Element; Nb min p &Element; Na L 1 ( p , q ) - - - ( 2 )
L1(p,q)为两点的L1距离即曼哈顿距离,邻域chamfer距离的求法为:对邻域Na中的每个点p,在Nb中找到和它具有相同标签值的q,且q和p之间的L1距离最小,如果在Nb中找不到和p点具有相同标签值的点,则L1(p,q)赋值为两倍的邻域大小,将所有点的L1距离相加,对Nb中的点q做同样操作,将两部分的结果相加;
基于公式(1),用区域生长方法在IDA,DA中查找和IDB,DB中pB点边缘特征最相似的pA点,生成一张和IDB具有相似区域划分的初始化样图initB;具体过程如下:首先新建initB图,随机地在initB图中选取一个种子点pB进行生长,在各个方向的生长区域中,当其邻近点pB'满足检测准则就并入小块区域,当新的点被合并后,再用新的区域重复这一过程,结束条件为:(1)d(pB,pB')<阈值,(2)initB中所有像素都被处理;pB和pB'点处于同一区域的判断条件如下:基于公式(1)在IDA、DA中找到和pB最相似的pA点,该区域的阈值为(d(pA,pB)+5)*1.25;若d(pA,pB')的值小于阈值,则pB和pB'属于同一区域,同时把pA点坐标赋值给initB图中pB'点;initB存储的是对应点的坐标值,根据A’图可把initB还原成颜色图colorInitB;
3)对不同类型的图像定义不同的全局度量准则;
定义同时度量标签图和颜色图的全局能量函数:
E TBN = w * &Sigma; q &Element; X + label ( p , q ) + &Sigma; q &Element; X + color ( p , q ) - - - ( 3 )
其中p为A,A’中一点,q为B,B’中一点,label(p,q)和color(p,q)分别捕获了标签图和颜色图之间的匹配程度,w为权重;X+为B,B’中像素点的一个子集,对于B’中的点q(q∈X+),在样图对A,A’中找到最相似点p,使得w*||FA(p)-FB(q)||2+||FA'(p)-FB'(q)||2最小,F代表某点的特征,能量函数ETBN可以进一步表示为:
E TBN = w * &Sigma; q &Element; X + | | F A ( p ) - F B ( q ) | | 2 + &Sigma; q &Element; X + | | F A &prime; ( p ) - F B &prime; ( q ) | | 2 - - - ( 4 )
TBN图像大致可分为自然图像和结构性图像两类,针对不同类型的图像,选取不同的特征F,使合成结果符合人类视觉感知;
对于自然纹理,简单地采用邻域颜色的L2距离作为相似性度量准则即能获得较好的结果,能量函数定义如下,N表示对应点的邻域,其中NB'(q)=NA'(S(q))
E TBN = w * &Sigma; q &Element; X + | | N A ( p ) - N B ( q ) | | 2 + &Sigma; q &Element; X + | | N A &prime; ( p ) - N B &prime; ( q ) | | 2 - - - ( 5 )
对于结构性纹理,将特征距离图引入结构性的TBN图像合成,来捕获纹理细节,首先得到颜色图A’的特征图,然后对其进行距离变换,得到特征距离图FDA,将其作为结构信息加入到全局能量优化的度量准则中,解决了合成图像细节特征丢失的问题,结构性纹理的能量方程定义如下:
E TBN = w 1 * &Sigma; q &Element; X + | | N A ( p ) - N B ( q ) | | 2 + w 2 * &Sigma; q &Element; X + | | N FDA ( p ) - N FDA ( s ( q ) ) | | 2 + &Sigma; q &Element; X + | | N A &prime; ( p ) - N B &prime; ( q ) | | 2 - - - ( 6 )
w1,w2分别为标签值和特征值的权重,对于B’中的待合成点q,它的特征值根据坐标索引s(q)在FDA中查找,该能量方程考虑结构信息相似性度量,联合图像颜色通道和特征信息通道,能使全局优化过程中在样图中找到较好的候选点;
4)从最粗糙层L开始,对金字塔从粗糙层到精细层循环做:
4.1)对该层邻域窗口金字塔winSizePyr中的每个邻域大小做:
4.1.1)根据AL,A'L,BL,B'L执行M步骤,得到MatchL,具体过程如下:
保持目标纹理B,B’不变,根据特征F对目标纹理B,B’中的点q在样图纹理A,A’中找到最佳匹配点v,存在纹理MatchL中,形式化的表示如下:
Match L &DoubleLeftArrow; arg min v , v &Element; c ( q ) ( | | F B L ( q ) - F A L ( v ) | | 2 + | | F B L &prime; ( q ) - F A L &prime; ( v ) | | 2 ) - - - ( 7 )
采用基于k-coherence的离散求解器进行TBN纹理优化,其中M步骤用k-coherence搜索进行最相似邻域查找,k-coherence搜索分为预处理和搜索合成两个阶段;在预处理阶段,对于样图A,A’中的点p,在A,A’中查找和其最相似的点,并将查找得到的点坐标值存在纹理中;在搜索阶段,对B’中的每个点q,从q的邻域中收集k-coherence候选集c(q),在候选集中查找和q邻域最相似的点,存在MatchL中;
用CUDA(Compute Unified Device Architecture)架构实现时,block的个数与图像像素点个数一致,线程个数为候选点个数,一个block的任务是对一个像素点查找最相似点;首先收集k-coherence的候选集存放在块内共享内存中,然后每个线程并行地计算一个候选集点和当前点的距离,计算结果也存放于共享内存中,当一个block内的所有线程都计算得到距离后,从块内共享内存中读取所有点的距离,查找距离最小的最相似点;
4.1.2)根据AL,A'L,BL,B'L,MatchL执行E步骤,得到优化后的新的B'L,具体过程如下:
E步骤保持目标纹理B,B’中点在样图纹理A,A’中的最佳匹配MatchL不变,根据当前目标纹理和M步骤计算得到的最佳匹配,最小化下一个目标纹理B'L,形式化的表示如下:
B &prime; L &DoubleLeftArrow; arg min x , x &Element; D ( q ) ( E TBN ) ; - - - ( 8 )
采用离散优化的方法逐像素的计算目标纹理值,根据当前q点在MatchL图中的邻域计算平均颜色值,平均颜色值的通道数与特征选取有关;根据B’的邻域建立候选集D(q),D(q)中和平均颜色值最相似的点被设置为B'L(q)的值,实现最小化能量函数ETBN;D(q)由k-coherence搜索得到,和步骤4.1.1)采用的方法一样;另外在每个block中,先计算平均颜色值,然后拿候选点与平均颜色值相比较,得到优化后的点坐标;
4.2)对B'L超采样得到B'L-1,具体过程如下:
对已有的坐标图B'L超采样得到B'L-1,在超采样过程中,将图像划分为N块,每个block处理一个图像块,B'L和纹理内存相绑定,每个线程依次执行如下操作:获得B'L-1(p)的坐标(u,v),在B'L中取坐标为(u/2,v/2)点的颜色值color,B'L-1(p)点的值即为color*2+(u%2,v%2)。
CN201210309392.0A 2012-08-28 2012-08-28 一种基于纹理优化的非同质图像合成方法 Active CN102867290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210309392.0A CN102867290B (zh) 2012-08-28 2012-08-28 一种基于纹理优化的非同质图像合成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210309392.0A CN102867290B (zh) 2012-08-28 2012-08-28 一种基于纹理优化的非同质图像合成方法

Publications (2)

Publication Number Publication Date
CN102867290A CN102867290A (zh) 2013-01-09
CN102867290B true CN102867290B (zh) 2015-04-22

Family

ID=47446146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210309392.0A Active CN102867290B (zh) 2012-08-28 2012-08-28 一种基于纹理优化的非同质图像合成方法

Country Status (1)

Country Link
CN (1) CN102867290B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198495B (zh) * 2013-03-11 2015-10-07 浙江工业大学 重要度驱动的纹理压缩方法
CN103714561A (zh) * 2013-12-27 2014-04-09 浙江工业大学 基于Chamfer距离的保结构纹理合成方法
GB2536734B (en) * 2015-04-17 2017-08-02 Imagination Tech Ltd Image synthesis
CN106780701B (zh) * 2016-11-23 2020-03-13 深圳大学 非均匀纹理图像的合成控制方法、装置、存储介质及设备
CN108364276B (zh) * 2018-03-13 2021-12-03 重庆大学 基于标签数据库的纹理图像合成方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646271A (zh) * 2012-02-22 2012-08-22 浙江工业大学 一种基于cuda的快速图像类比合成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7973798B2 (en) * 2008-03-31 2011-07-05 Microsoft Corporation Inverse texture synthesis

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646271A (zh) * 2012-02-22 2012-08-22 浙江工业大学 一种基于cuda的快速图像类比合成方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Fast example-based surface texture synthesis via discrete optimization;Jianwei Han 等;《The Visual Computer》;20060826;第22卷(第9-11期);第918-925页 *
Feature matching and deformation for texture synthesis;Wu Qing 等;《ACM Transactions on Graphics 》;20041231;第23卷(第3期);第364-367页 *
On Neighbourhood Matching for Texture-by-Numbers;Eliyahu Sivaks 等;《COMPUTER GRAPHICS FORUM》;20101209;第30卷(第1期);第131-134页 *

Also Published As

Publication number Publication date
CN102867290A (zh) 2013-01-09

Similar Documents

Publication Publication Date Title
CN102867290B (zh) 一种基于纹理优化的非同质图像合成方法
Isola et al. Scene collaging: Analysis and synthesis of natural images with semantic layers
CN102509357B (zh) 基于笔触的铅笔素描模拟和绘制系统
CN109993748A (zh) 一种基于点云处理网络的三维网格物体分割方法
CN102542593A (zh) 一种基于视频解译的交互式视频风格化渲染方法
CN109766866B (zh) 一种基于三维重建的人脸特征点实时检测方法和检测系统
CN110852326B (zh) 一种手写体版面分析和多风格古籍背景融合方法
WO2023159558A1 (zh) 一种实时目标跟踪方法、装置及存储介质
CN108959379A (zh) 一种基于视觉显著区域和手绘草图的服装图像检索方法
CN114463492B (zh) 一种基于深度学习的自适应通道注意力三维重建方法
CN106204461A (zh) 结合非局部先验的复合正则化图像去噪方法
CN104318563A (zh) 一种基于医学图像的器官骨架提取方法
CN106780701A (zh) 非均匀纹理图像的合成控制方法、装置、存储介质及设备
CN110276753A (zh) 基于特征空间统计信息映射的目标自适应隐藏方法
CN110096979A (zh) 模型的构建方法、人群密度估计方法、装置、设备和介质
CN104850232B (zh) 一种摄像头条件下获取远程手势轨迹的方法
Liu et al. Image neural style transfer with preserving the salient regions
CN106504219B (zh) 有约束的路径形态学高分辨率遥感影像道路增强方法
CN105512194A (zh) 一种游戏场景的管理方法和装置
CN106340024A (zh) 一种图像分割方法、应用和计算设备
CN102646271B (zh) 一种基于cuda的快速图像类比合成方法
CN104166993A (zh) 一种基于加权变分期望最大化准则的图像分割方法
Ma et al. Block shuffle: a method for high-resolution fast style transfer with limited memory
CN109410333B (zh) 一种高质量超面片聚类生成方法
Wenhui et al. Lidar image classification based on convolutional neural networks

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