Texture (纹路)

定义

图画处理 (Image Processing): 纹路是一个具有空间稳定性的区域(在该区域的每个地方都具有相同的统计特性)。

计算机图形学 (computer graphics): 纹路是应用于3D模型的2D表面。

品种

  • 周期性纹路 (Periodic texture): 有一个在规则形式中重复的子区域。

纹理 (Texture)

  • 随机(非周期性)纹路 (Stochastic (aperiodic) texture): 由随机进程生成。

纹理 (Texture)

纹路模型(Texture models)

  • 参数模型 (Parametric models): 用一组可调参数来表明纹路。

纹理 (Texture)

  • 非参数(拼接)模型 (Non-parametric (stitching) models): 将纹路表明为图画片段。

纹理 (Texture)

❓ 为什么需求 model texture?

  • 纹路组成(Texture synthesis): 创立更多的纹路。
    • 用于计算机图形、视频游戏等的纹路。
    • 图画修正: 修正或重建损坏或丢掉的图画区域。
  • 纹路转移(Texture transfer): 将一个图画或物体的纹路应用到另一个图画或物体上。
    • 艺术作用: 运用纹路为图画或物体增加独特的视觉作用。
    • 在线购物: 在线购物时可能需求纹路组成来为产品展现更多的纹路选项或为虚拟试穿提供实在的纹路作用。

纹路组成(Texture synthesis)

图画拼接理论(Image stitching approach)

怎样添补缺失的数据?

纹理 (Texture)

计划:

  1. 寻觅类似的邻近的其他纹路。

纹理 (Texture)

  1. 依据类似的区域挑选缺失像素的可能值。

纹理 (Texture)

非参数纹路组成(Non-parametric texture synthesis)

纹理 (Texture)

  1. 从原始图画中随机抽取一个小的区域(例如,3 x 3 像素的区域)。
  2. 从中心螺旋式 (Spiral outward) 向外填充缺失的像素,经过在原始纹路中找到类似的邻域来实现。

邻域巨细是一个自由参数,用来指定纹路的随机性。

邻近点的巨细(size)

纹理 (Texture)

图画拼接(Image quilting)

根据区块的高效纹路组成办法(Efros & Freeman, 2001)

运用现有的纹路区块来组成更多的纹路;首要的问题是如何将它们衔接在一起,而不产生显着的瑕疵 / 接缝。

堕落教授算法 (Corrupt Professor’s Algorithm):

  • 尽可能多地抄袭源图画。
  • 然后企图掩盖证据。

图画拼接算法(Image quilting algorithm)

  1. 挑选区块和堆叠巨细

  2. 以一个随机区块开始初始化

  3. 关于每个后续的区块:

    • 在原始纹路中找到一个与此区域最类似的区块,只考虑堆叠区域中的像素。
    • 经过沿着堆叠差错 (overlap error) 最小的途径切开,无缝地张贴区块。

纹理 (Texture)

图割(Graph cuts)

  • 将邻近的像素表明为一个图。
  • 边的权重 = 堆叠差错。
  • 问题:在图中找到堆叠差错总和最小的途径。

纹理 (Texture)

图画拼接后的结果

纹理 (Texture)

图画修正(Image inpainting)

运用类似的办法来添补图画中的缺失区域:

  • 在另一张图画中找到一个类似的区块。
  • 用一个最小化差错的办法张贴这个区块。

纹理 (Texture)

参数纹路组成(Parametric texture synthesis)

  • 与拼接办法的另一种代替计划:用若干参数来表明纹路。

  • 为了组成纹路,强制一个噪声图画来匹配所需的参数(一般经过梯度下降法)。

傅里叶纹路组成(Fourier texture synthesis)

经过匹配傅里叶起伏来组成纹路。

纹理 (Texture)

关于一些简略的纹路,这种办法能够得到还不错的结果,但一般作用并不抱负。

颜色和边际(Colour and edges)

  • 纹路能够被定义为根据简略特征的散布,如在不同尺度上的颜色和边际方向。
  • 经过匹配这种散布来组成纹路。

纹理 (Texture)

略微复杂的情况

  • 简略的特征散布是不行的。
  • 还需求表明特征的共同呈现。

纹理 (Texture)

更复杂的情况

  • 为了代表实在的图画,所需的统计数据集可能非常复杂。
  • 不是手工建模统计数据,而是将纹路表明为在ImageNet分类上练习的神经网络层中的特征呼应。

纹理 (Texture)

特征相关性

纹路被表明为神经网络某一层中特征图之间的相关性

纹理 (Texture)

小结

  • 非参数纹路组成根据仿制纹路片段。
    • 关于周期性纹路作用非常好。
    • 缺陷:没有纹路参数的模型。
  • 参数纹路组成以一组参数来表明纹路。
    • 大多数办法在随机纹路上作用更好。
    • 缺陷:即使是非常复杂的模型(例如,根据神经网络的模型)也可能是不完整的。

纹路转化(Texture transfer)

将一张图画按照另一张图画的风格进行烘托。

纹理 (Texture)

神经网络风格转化算法(Neural style transfer algorithm)

  • 两张图画(内容和风格)都经过在ImageNet上练习的VGG网络进行处理。
  • 内容是以神经网络的某一层的呼应来表明。
  • 风格是以神经网络某一层中特征图之间的相关性来表明。
  • 运用梯度下降法找到一个既匹配内容又匹配风格的图画。

纹理 (Texture)

风格转化参数(Style transfer parameters)

  • 损失是内容重建和风格重建的损失之和。
  • 内容(content)风格(style) 的相对权重是一个自由参数:

纹理 (Texture)

纹理 (Texture)

  • 内容和风格能够在恣意组合的层级上进行匹配
  • 一般情况下,咱们在较高的层级上匹配内容,并在一切层级上匹配风格。

纹理 (Texture)

纹理 (Texture)

小结

  • 以另一图画的风格烘托图画
  • 图画内容由神经网络呼应表明
  • 纹路由神经网络多层的特征图之间的相关性表明。