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

小结

  • 以另一图像的风格渲染图像
  • 图像内容由神经网络响应表示
  • 纹理由神经网络多层的特征图之间的相关性表示。
相关推荐
拜小白10 小时前
【论文解读】《DeepPanoContext:用全局场景关系图 + 可微关系优做全景 3D 场景理解
深度学习·计算机视觉·全景图
山顶夕景10 小时前
【VLM】AdaCodec:用“预测视觉码”替代逐帧RGB输入
计算机视觉·视频问答·多模态理解·视觉token压缩
深圳市快瞳科技有限公司11 小时前
野外鸟类AI识别落地实录:输入适配、结构化输出、去重聚合与置信度分流的工程实践
算法·计算机视觉·鸟类识别·鸟类ai识别·野外鸟类观测·林业调查
zwc321043205520 小时前
Day 2:图像内存、数据类型与stride
c++·人工智能·opencv·算法·计算机视觉
誰能久伴不乏20 小时前
OpenCV 入门(二):像素访问、ROI 与深浅拷贝
人工智能·opencv·计算机视觉
zwc32104320551 天前
第四周第五天——重构成类
c++·人工智能·opencv·算法·计算机视觉
椒颜皮皮虾྅1 天前
模型部署不再卡在环境上:DeploySharp 四大推理引擎与 Windows/Linux 离线交付实战
linux·运维·开发语言·人工智能·windows·计算机视觉·cuda
zwc32104320551 天前
Day 5:threshold与inRange阈值分割
c++·图像处理·人工智能·opencv·算法·计算机视觉
拜小白1 天前
【论文解读】ZInD:带标注平面图、360° 全景与 3D 房间布局的 Zillow 室内数据集
深度学习·计算机视觉·全景图
美狐美颜sdk2 天前
视频美颜SDK中的YUV与RGBA格式有什么区别?直播APP开发解析
人工智能·计算机视觉·音视频·美颜sdk·直播美颜sdk·视频美颜sdk