纹理 (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) 的相对权重是一个自由参数:
  • 内容和风格可以在任意组合的层级上进行匹配
  • 通常情况下,我们在较高的层级上匹配内容,并在所有层级上匹配风格。

小结

  • 以另一图像的风格渲染图像
  • 图像内容由神经网络响应表示
  • 纹理由神经网络多层的特征图之间的相关性表示。
相关推荐
jndingxin3 小时前
OpenCV 图形API(69)图像与通道拼接函数------将一个 GMat 类型的对象转换为另一个具有不同深度GMat对象函数convertTo()
人工智能·opencv·计算机视觉
CoovallyAIHub4 小时前
Vision Transformers与卷积神经网络详细训练对比(附代码)
深度学习·算法·计算机视觉
白熊1884 小时前
【计算机视觉】TorchVision 深度解析:从核心功能到实战应用 ——PyTorch 官方计算机视觉库的全面指南
人工智能·pytorch·计算机视觉
AI视觉网奇5 小时前
python 求内轮廓
python·opencv·计算机视觉
蹦蹦跳跳真可爱5897 小时前
Python----卷积神经网络(卷积为什么能识别图像)
人工智能·python·深度学习·神经网络·计算机视觉·cnn
烟锁池塘柳08 小时前
【计算机视觉】Bayer Pattern与Demosaic算法详解:从传感器原始数据到彩色图像
人工智能·深度学习·计算机视觉
硅谷秋水9 小时前
MANIPTRANS:通过残差学习实现高效的灵巧双手操作迁移
人工智能·深度学习·机器学习·计算机视觉
Light6011 小时前
计算机视觉进化论:YOLOv12、YOLOv11与Darknet系YOLOv7的微调实战对比
人工智能·yolo·计算机视觉·模型压缩·注意力机制·微调策略·实时检测
CoovallyAIHub11 小时前
复杂背景下无人机影像小目标检测:MPE-YOLO抗遮挡与抗背景干扰设计
算法·计算机视觉·无人机
知舟不叙11 小时前
使用OpenCV和dlib库进行人脸关键点定位
人工智能·opencv·计算机视觉