纹理 (Texture)

Texture (纹理)

定义

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

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

种类

  • 周期性纹理 (Periodic texture): 有一个在规则模式中重复的子区域。
  • 随机(非周期性)纹理 (Stochastic (aperiodic) texture): 由随机过程生成。

纹理模型(Texture models)

  • 参数模型 (Parametric models): 用一组可调参数来表示纹理。
  • 非参数(拼接)模型 (Non-parametric (stitching) models): 将纹理表示为图像片段。

❓ 为什么需要 model texture?

  • 纹理合成(Texture synthesis): 创建更多的纹理。
    • 用于计算机图形、视频游戏等的纹理。
    • 图像修复: 修复或重建损坏或丢失的图像区域。
  • 纹理转移(Texture transfer): 将一个图像或物体的纹理应用到另一个图像或物体上。
    • 艺术效果: 利用纹理为图像或物体添加独特的视觉效果。
    • 在线购物: 在线购物时可能需要纹理合成来为产品展示更多的纹理选项或为虚拟试穿提供真实的纹理效果。

纹理合成(Texture synthesis)

图像拼接理论(Image stitching approach)

怎么填补缺失的数据?

方案:

  1. 寻找类似的附近的其他纹理。
  1. 根据相似的区域选择缺失像素的可能值。

非参数纹理合成(Non-parametric texture synthesis)

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

邻域大小是一个自由参数,用来指定纹理的随机性。

附近点的大小(size)

图像拼接(Image quilting)

基于区块的高效纹理合成方法(Efros & Freeman, 2001)

使用现有的纹理区块来合成更多的纹理;主要的问题是如何将它们连接在一起,而不产生明显的瑕疵 / 接缝。

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

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

图像拼接算法(Image quilting algorithm)

  1. 选择区块和重叠大小

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

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

    • 在原始纹理中找到一个与此区域最相似的区块,只考虑重叠区域中的像素。
    • 通过沿着重叠误差 (overlap error) 最小的路径切割,无缝地粘贴区块。

图割(Graph cuts)

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

图像拼接后的结果

图像修复(Image inpainting)

使用类似的方法来填补图像中的缺失区域:

  • 在另一张图像中找到一个相似的区块。
  • 用一个最小化误差的方式粘贴这个区块。

参数纹理合成(Parametric texture synthesis)

  • 与拼接方法的另一种替代方案:用若干参数来表示纹理。

  • 为了合成纹理,强制一个噪声图像来匹配所需的参数(通常通过梯度下降法)。

傅里叶纹理合成(Fourier texture synthesis)

通过匹配傅里叶幅度来合成纹理。

对于一些简单的纹理,这种方法可以得到还不错的结果,但通常效果并不理想。

颜色和边缘(Colour and edges)

  • 纹理可以被定义为基于简单特征的分布,如在不同尺度上的颜色和边缘方向。
  • 通过匹配这种分布来合成纹理。

稍微复杂的情况

  • 简单的特征分布是不够的。
  • 还需要表示特征的共同出现。

更复杂的情况

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

特征相关性

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

小结

  • 非参数纹理合成基于复制纹理片段。
    • 对于周期性纹理效果非常好。
    • 缺点:没有纹理参数的模型。
  • 参数纹理合成以一组参数来表示纹理。
    • 大多数方法在随机纹理上效果更好。
    • 缺点:即使是非常复杂的模型(例如,基于神经网络的模型)也可能是不完整的。

纹理转换(Texture transfer)

将一张图像按照另一张图像的风格进行渲染。

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

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

风格转换参数(Style transfer parameters)

  • 损失是内容重建和风格重建的损失之和。
  • 内容(content)风格(style) 的相对权重是一个自由参数:
  • 内容和风格可以在任意组合的层级上进行匹配
  • 通常情况下,我们在较高的层级上匹配内容,并在所有层级上匹配风格。

小结

  • 以另一图像的风格渲染图像
  • 图像内容由神经网络响应表示
  • 纹理由神经网络多层的特征图之间的相关性表示。
相关推荐
威桑37 分钟前
CMake + mingw + opencv
人工智能·opencv·计算机视觉
只怕自己不够好2 小时前
《OpenCV 图像基础操作全解析:从读取到像素处理与 ROI 应用》
人工智能·opencv·计算机视觉
嵌入式大圣2 小时前
嵌入式系统与OpenCV
人工智能·opencv·计算机视觉
GL_Rain5 小时前
【OpenCV】Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
人工智能·opencv·计算机视觉
向阳逐梦6 小时前
ROS机器视觉入门:从基础到人脸识别与目标检测
人工智能·目标检测·计算机视觉
有Li7 小时前
跨视角差异-依赖网络用于体积医学图像分割|文献速递-生成式模型与transformer在医学影像中的应用
人工智能·计算机视觉
xrgs_shz8 小时前
MATLAB读入不同类型图像并显示图像和相关信息
图像处理·计算机视觉·matlab
华清远见IT开放实验室11 小时前
【每天学点AI】实战图像增强技术在人工智能图像处理中的应用
图像处理·人工智能·python·opencv·计算机视觉
只怕自己不够好12 小时前
《OpenCV 图像缩放、翻转与变换全攻略:从基础操作到高级应用实战》
人工智能·opencv·计算机视觉
HPC_fac1305206781615 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力