Blogger Template by Blogcrowds.

显示标签为“图像处理”的博文。显示所有博文
显示标签为“图像处理”的博文。显示所有博文

金字塔纹理合成方法

金字塔纹理合成方法

引言

大部分纹理合成的方法可以通过使用何种纹理类型模型来进行分类,包括反应扩散模型,频率域方法,分形的理论与方法或者是统计和随机场方法。有一些使用混合模型的方法,包括确定性组份方法和随机组份方法。除了上述纹理之外还有扫描图像和手绘图像的纹理特征。本文着重于对随机纹理进行处理,目前对于纹理区分的理论主要基于以下假设:

当两种纹理在在频率和空间域的的频率分布是相同的,则这两种纹理难以区分出来,这个理论是建立在人类纹理感知的基础之上的。

影像金字塔

线性转换代表影像基函数的加权和,因此影像可以表示为:其中表示影像,为基函数,为转换系数,转换系数是通过将信号投影到一系列投影函数中:比如傅立叶转换的基函数为空间频率变化的正弦函数,余弦函数。
影像金字塔也是一个典型的子带转换,影像金字塔的特征是基函数(投影函数)可以通过彼此的基函数的平移和膨胀得到(和膨胀的转换因子为其中为整数)。影像金字塔子带是通过卷积和降采样得到的,对于一系列的降采样因子以增长。

拉普拉斯金字塔

拉普拉斯金字塔的构造主要有两个步骤:1.缩减;2.扩张;缩减操作使用一个因子为2的降采样低通滤波器在各个唯独上进行处理,扩张操作使用一个因子为2的升采样因子,像素点之间的值用0填充。最常见的低通滤波核为:一个完整的金字塔影像层包含两景影像:高通滤波影像,两景影像通过如下公式计算:其中为原始的输入影像,原始影像可以通过恢复:
下一层的金字塔也通过对进行同样的操作获取,得到

方向金字塔

有方向或者是长条型结构的纹理通过拉普拉斯金字塔不能够被探测到,因为拉普拉斯金字塔的基函数是径向对称的,为了合成各向异性的纹理,可以采用方向金字塔转换。方向金字塔和拉普拉斯金字塔一样,都是将影像分解为几个空间频带,另外对于每个空间频带,进一步划分为一系列的方向频带。

enter image description here

上图说明了使用方向金字塔进行纹理分析与合成的过程,左边的范式为分析部分,主要是构造方向金字塔的过程,右边是合成部分,通过纹理合成进行金字塔合成,在两个过程中的圆圈表示影像子带分解。方向金字塔首先通过一个径向对称频率响应的,高通滤波对应于四个方向。每一个连续层的金字塔都由上一层的低通滤波组成,表示的是各个方向的带通滤波器。注意到金字塔影像像素远大于原始影像像素,但是只有低通滤波结果被降采样了,这样做能够在每个子带最小化混淆现象,避免混淆现象很重要,因为基于金字塔的纹理合成方法对每一个子带处理是独立的。

处理过程

直方图匹配

直方图匹配是对两景影像直方图进行匹配获取:(1)一幅影像的累积分布函数;(2)另一幅图像的逆累积分布函数。直方图匹配的处理过程为:

Match-histogram (im1,im2)
    im1-cdf = Make-cdf(im1)
    im2-cdf = Make-cdf(im2)
    inv-im2-cdf = Make-inverse-lookup-table(im2-cdf)
    Loop for each pixel do
        im1[pixel] =
            Lookup(inv-im2-cdf,
            Lookup(im1-cdf,im1[pixel]))

纹理匹配

纹理匹配的主要过程是对输入的噪声影像进行修改,使其与输入的纹理图像相似,1.匹配噪声图像的直方图和输入纹理的直方图;2.从修改后的噪声和纹理影像中构造金字塔;3.在两个金字塔数据循环,获取最佳的直方图匹配的金字塔子带;4.进行直方图匹配,生成初步的合成纹理。为了使得像素和金字塔直方图匹配都能够最好的匹配,进行迭代重新匹配影像直方图和子带金字塔直方图。

Match-texture(noise,texture)
    Match-Histogram (noise,texture)
    analysis-pyr = Make-Pyramid (texture)
    Loop for several iterations do
        synthesis-pyr = Make-Pyramid (noise)
    Loop for a-band in subbands of analysis-pyr
         for s-band in subbands of synthesis-pyr
         do
         Match-Histogram (s-band,a-band)
    noise = Collapse-Pyramid (synthesis-pyr)
    Match-Histogram (noise,texture)

目前文章1并没有对其收敛性进行证明,但是文章给出经验在处理过程中总是能够收敛,由于滤波器并不是完美的,迭代次数过多会引入重构误差。
除了以上处理以外还包括辩解处理,颜色处理,纹理混合等操作。

结论

局限性

文章2提出的算法还是有着其局限性:1.输入的纹理应该是一个均匀的纹理,如果纹理不均匀,则合成的结果会出现污斑现象;2.算法对于准周期性纹理和随机镶嵌的纹理并不适用;3.对于局部存在方向性,但是不同影像部分方向不同的纹理并不适用;

结论

文章提出了一种纹理合成的方法,其主要的有点在于本文提出的方法十分简单,在处理过程中并不需要理解复杂的纹理结构。


  1. Heeger D J, Bergen J R. Pyramid-based texture analysis/synthesis[C]// Conference on Computer Graphics and Interactive Techniques. ACM, 1995:229-238.
  2. Heeger D J, Bergen J R. Pyramid-based texture analysis/synthesis[C]// Conference on Computer Graphics and Interactive Techniques. ACM, 1995:229-238.

结合纹理合成的多分辨率影像修复方法

结合纹理合成的多分辨率影像修复方法

引言

原则上,使用纹理合成的方法能够对数字影像进行修复,特别是在一些纹理结构比较强的区域,通过纹理合成的方法进行修复可疑获取比较好的影像修复效果,然而如果待修复的区域包含额外的颜色或者是强度梯度信息,则采用纹理合成的方法就不能达到理想的效果了。影像修复的方法可以作为纹理合成方法的补充,影像修复方法一般是通过待修复区域周围像素信息传递对待修复区域进行修复的,与基于纹理合成的方法不同,影像修复的方法能够正确处理影像强度信息,但是对于纹理细节并不能够进行很好的恢复。

修复方法

整个修复方法的处理流程为:

Figure 1Fig2

从Fig2的处理流程我们可以看出整个处理过程为:首先对影像进行分解得到高频和低频的分量,对高频和低频的分量分别进行处理。低频分量主要包含影像的强度信息,包含较少的细节信息,因此对低频的修复着重修复影像强度,而基于PDE1的影像修复方法对于纹理细节比较少的区域能够较好的保留其强度信息,而对于高频分量,将其通过高斯金字塔分解为n+1层,假设每一层为从第层开始采用多分辨率纹理合成方法2对每一层的待修复区域进行修复。将修复后的低频成分和高频成分结合得到修正后的影像。

频率分解

处理过程中第一步就是要获取影像分解后得到高频和低频分量。首先通过离散DCT3变换将原始影像变换为一系列的子带,然后我们选取前个子带(前个子带包含了主要信息),然后通过前个子带进行DCT逆变换,通过逆变换后就可以得到低频影像。而相应的高频影像则通过原始影像减去低频影像得到:在这个过程中低频组份选取的值确定了低频组份的模糊程度,值越大则低频组份中的细节信息越丰富,值越小则说明低频组份越模糊,实际上值的选取对影像修复效果有比较大的影响。在校正过程中我们希望能够尽量大的去除低频成分中的细节信息只保留强度信息。而我们面临的问题在于如何确定值的问题,对于这个问题文章给出了一个解决方案4。首先获取高频成分后计算高频成分的自相关矩阵5如果输入影像不是一个矩形,则非矩形部分通过0值补全,求得之后剩下的工作为求取的标准差,取值使得的标准差小于0.001,则最小的值为选取的值,文章认为此时能够取得比较好的校正效果。

高斯影像金字塔

通过上述过程分别得到高频和低频分量之后剩下的步骤为对高频分量进行高斯金字塔分解,实际上高斯金字塔分解是一个很简单的过程:

高斯金字塔6必须要求影像大小满足像素个数且()在这样大小的影像下可以保证影像高斯金字塔具有层。在此情况下我们将影像分解为层且整个过程可以杯描述为:在纹理合成的第层像素信息可以从更高层的核中获取。在实际处理过程中进行三层金字塔分解就能获取比较好的效果。

纹理合成

纹理合成的难点有三点7:1)如何定义纹理单元和纹理内容;2)如何重构纹理概率分布;3)如何在二维合成过程中进行线性化。单像素合成:假设是一个通过纹理样本影像合成的影像,其中是真实的无限的纹理。假设是一个像素,是一个以为中心的一个模版,定义为两个块之间的距离测度,假设除以外中其他像素值都是已知的,在基于MRF的纹理合成模型为:

通过模板在整个影像上做匹配,找到最佳匹配点,采用距离测度则为找到一个匹配区域使得距离最小,而距离测度描述为:,其中为二维高斯核。找到最佳匹配点之后可以通过纹理合成算法对点进行纹理修复。

处理结果

enter image description here

从上图结果可以看出文章算法具有比较好的校正效果,整个校正过程有两个参数起重要作用:1.DCT变换后子带个数的选取,子带个数的选取决定了低频组份;2.对高频成分进行高斯金字塔分解。实际上通过标准差小于0.001的范围选取的值能够获取比较好的处理结果。这样对于子带数目的选取就可以自动化进行。对高频组份的金字塔分解选取合适的分解层数是一个比较困难的问题,通常在处理中使用两层或三层金字塔。


  1. 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.
  2. Wei L Y, Levoy M. Fast texture synthesis using tree-structured vector quantization[C]//Proceedings of the 27th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 2000: 479-488.
  3. wiki:https://en.wikipedia.org/wiki/Discrete_cosine_transform
  4. Yamauchi H, Haber J, Seidel H P. Image restoration using multiresolution texture synthesis and image inpainting[C]//Computer Graphics International, 2003. Proceedings. IEEE, 2003: 120-125.
  5. https://en.wikipedia.org/wiki/Autocorrelation_matrix
  6. Burt P J, Adelson E H. A multiresolution spline with application to image mosaics[J]. ACM Transactions on Graphics (TOG), 1983, 2(4): 217-236.
  7. Efros A A, Leung T K. Texture synthesis by non-parametric sampling[C]//Computer Vision, 1999. The Proceedings of the Seventh IEEE International Conference on. IEEE, 1999, 2: 1033-1038.

较旧的博文 主页