Book name : Computer Vision: A Modern Approach

Book URL: https://www.academia.edu/38213969/Computer_Vision_A_Modern_Approach_2nd_Edition


第六章:纹理

  • 纹理容易辨认但较难定义,一个物体在图像中的效果是否被称为纹理是由观察它的尺度来决定的,如一片树叶占据了图像中大部分画面时只能算是一个物体,但是一棵树的树冠是纹理,如下图所示:

  • 纹理很重要,可以用于识别物体,如通过表面纹理是粗糙或光滑识别树皮和金属

6.1 利用滤波器进行局部纹理表征

  • 纹理图像通常由一系列重复的元素构成,该元素被称为纹理基元,如下图所示,纺织品纹理非常广泛,然而石材呈现完全不同的纹理:
  • 纹理基元很难精确实现,可以假设所有的纹理基元是由通用的子元素构成,如斑点、条纹。通过找到滤波器的子元素,然后用该子元素近邻的简易模式来描述图像中的每个点可以得到纹理表征,如下图所示,不同滤波器可以用于表征不同的子元素,滤波器在某一点的响应的向量可以用来描述该像素点近邻的纹理相似程度:

6.1.1 斑点和条纹

  • 采用怎么样的滤波器没有标准答案。类似于人的视觉皮层,一般至少使用了一个点滤波器和一个由不同方向、不同尺寸和相位的带方向的条状滤波器组成的集合,如下图所示:

  • 如果纹理基元是旋转的,希望纹理的鉴别性不受影响。如果采用带方向的滤波器较难完成这个目标,因为这需要与样本方向一至的滤波器,使用方向无关的滤波器(复杂的斑点滤波器)能够得到更佳的响应结果,如下图所示:

    • 大尺度滤波器,小尺度图片:
    • 小尺度滤波器,大尺度图片:

6.1.2 从滤波器输出到纹理表征

  • 对图像的一系列滤波器的输出映射本身还不是纹理的表征,纹理表征应当包括近邻滤波器输出的汇总

    • 汇总方式包括某平均形式,比较公平(如高斯加权平均,即与高斯滤波器卷积)
    • 汇总方式也可选择最大响应,处理该过程之前需要进行归一化处理
  • 半波整流:

    • 背景:如果仅采用平均方式,如果一个亮斑点滤波器在暗背景的亮斑点有正的响应,在亮背景的暗斑点处具有负响应,而包含该亮斑点和暗斑点的图像块可能具有零均值的响应,导致该滤波器在该图像块的响应为0
    • 解决方法:
      • 使用响应的绝对值,但是这并不会区别暗背景上的亮斑点与亮背景上的暗斑点
      • 使用半波整流,每个滤波器产生两个映射,如下所示:

6.2 通过纹理基元的池化纹理表征

  • 通过滤波器输出向量确定纹理基元有两方面困难:

    • 图像表征是连续的,不能简单地计算某特定模式出现的次数来确定纹理模式
    • 表征一般都是很高维的,直接建立直方图是不现实的,因为无法确定网格数
  • 通过滤波器的纹理表征来查找模式的子元素的流程如下:

6.2.1 向量量化和纹理基元

  • 向量量化采用一组固定大小的集合在连续空间表征向量

  • 构建池化处理的步骤分为两步:

    • 采用大数据的纹理块构建用于标识可能的模式元素区域的字典
    • 考虑图像区域内的块,通过最近聚类中心的编号对它进行向量量化,接着进行发生在一定区域内的聚类中心数目的直方图,直方图中的某些频率的元素就像纹理基元
      如下图所示:
  • 常用的向量表示有:

    • 之前介绍的局部汇总的表征
    • 没有经过处理的滤波器输出,采用滤波器估计局部纹理表征,如下图和算法所示:

    • 仅包括从围绕图像像素点构成的固定大小的图像块拉伸的向量,如下图与算法所示:

6.2.2 k均值聚类的向量量化

  • 向量量化可以采用任何聚类的方法,最广泛的是k均值聚类方法
  • k均值聚类的目标就是最小化各点与聚类中心的距离,如下所示:
  • 具体算法如下所示:

6.3 纹理合成和对图像中的空洞进行填充

  • 图像或视频中由于某些原因被移除一些东西时需要利用纹理合成来对图像中的空洞进行填充,好的纹理让图像中的物体看起来更真实

6.3.1 通过局部模型采样进行合成

  • 样本图像可以用来作为纹理合成的概率模型

  • 一种方法是将扣除像素的近邻像素和样本图像进行匹配,每一个进行匹配的近邻都有一个概率对应于感兴趣的像素,这些概率集合是一个感兴趣像素的概率分布直方图,从这个集合随机地和均匀地提取样本,可以得到和样本图像一致的值,如下图所示:

  • 上图所使用的近邻匹配算法如下所示:

  • 匹配近邻的尺寸和形状是很重要的,因为它决定像素可以彼此直接影响的范围

  • 图像近邻相似度的测量准则:相应的像素之差的平方之和(SSD,Sum of Squared Differences),如下所示:

  • 一种更好的选择是计算像素之差平凡和时,对靠近像素点的值赋予较大的权重,如使用高斯权重:

填充图像中的空洞

  • 填充图像中的空洞,可以使用匹配算法查找类似与该空洞边界的图像块,用该图像块替换该空洞区域,然后混合(blending)该图像块与整个图像,如下图所示:

  • 纹理合成算法可以精确地对空洞进行填充,合成像素的顺序需要首先选择接近边缘的图像块,如下图所示:

  • 同时采用纹理合成、一致性平滑可以取得更佳效果:

6.4 图像去噪

  • 高级的传感器,对于低敏感度的数字SLR,数字信号噪声已经很小,但是具有高敏感读的消费级和手机相机仍具有很大噪声
  • 处理不同设备产生的不同类型噪声是非常困难的
  • 在后续图像处理过程中也可能引入不同类型的人工或者空间相关噪声(去马赛克、白平衡等)
  • 高斯核等线性滤波器抑制噪声会导致丢失图像信息
  • 该章节去噪主要依赖自然图像的两个属性:
    • 显著的自相似性:图像中很多小的区域看起来很相似
    • 有效的稀疏线性表示模型:较小的图像块可以通过非常大的基元集合中非常少的元素来得到很好的线性表示

6.4.1 非局部极值

  • 基于自然图像的自相似性的先验

  • 噪声图像中某像素的去噪值为图像中其他所有像素的平均加权,如下所示:

  • 该方法见到有效,但是实现速度较慢

6.4.2 三维块匹配(BM3D)

  • 经典的收缩(shrinkage)是关于图像去噪的非常不同的一种方法
  • 由于图像块是相似的,每组的分解应当非常稀疏,去噪图像块通过对收缩的数字进行检索而获得。一个像素点的最终值为所有经过该点的图像块的平均值

6.4.3 稀疏编码学习

  • 假设干净的信号可以通过一组字典的k列稀疏线性组合表示,并且该字典可能是过完备的,去噪等价于求解稀疏分解问题
  • 联合稀疏共用非零参数集
  • 稀疏编码降噪效果
  • Adobe输出的降噪图像与稀疏编码的降噪图像

6.5 由纹理恢复形状

  • 人类具备从纹理恢复形状信息的能力,如下图所示:

6.5.1 在平面内由纹理恢复形状

  • 平面相对于照相机平面的方向可以由倾斜角和俯仰角给出,如下图所示:
  • 通过滤波器的输出能量,对于一个各项同性的纹理,可以任务对于任何给定的尺寸,在任意方向的能量输出都一样。各项同性的度量是输出能量的标准差与方向的函数关系。可以把不同尺寸上的度量相加,根据度量的大小判断纹理的各向同性情况。利用标准的优化方法,基于这个度量找到使图像看起来更加各向同性的逆视角变换,采用各向同性的假设去恢复一个平面的方向。

从弯曲表面的纹理恢复形状

  • 弯曲表面往往呈现小区域的深度
  • 考虑弯曲平面的一组元素,每个元素都为模型元素的实例,通过将平面元素当做模型的副本,即位于不同位置。每一个都非常小,这样将其建模为依赖与曲面正切平面。每个元素都有不同的倾斜角和倾斜方向。该元素的每个图像实例为该模型元素的实例,已经经过旋转和平移变换,并沿着图像倾斜的方向进行尺度缩放变换。可以从该元素的信息推断模型元素和曲面法线。
  • 效果如下图所示:

Summary

该章节主要对图像的纹理进行了介绍。首先介绍了纹理的基本概念,以及如何通过滤波器对图像中的纹理进行表征,其中基于向量量化和纹理基元的池化纹理表征有较好的效果。通过对纹理的合成可以对图像中的空洞进行填充。作者还介绍了图像去噪的相关知识,包括非局部均值、三维块匹配、稀疏编码学习等方法。通过纹理也能够一定程度物体的形状。


Thoughts

  • 该章节对于图像纹理的介绍与深度卷积网络的底层工作原理较为类似,通过一系列滤波器得到图像的信息表征
  • 通过纹理进行恢复形状应用的效果并不是很好,同时该方法对于输入的图像也有一定的先验要求

Computer Vision: A Modern Approach - 计算机视觉书籍阅读笔记 -第六章 - 纹理相关推荐

  1. Computer Vision: A Modern Approach - 计算机视觉书籍阅读笔记 -第四章 -线性滤波

    Book name : Computer Vision: A Modern Approach Book URL: https://www.academia.edu/38213969/Computer_ ...

  2. Computer Vision: A Modern Approach - 计算机视觉书籍阅读笔记 -第十一章 - 跟踪

    Book name : Computer Vision: A Modern Approach Book URL: https://www.academia.edu/38213969/Computer_ ...

  3. thinking in java 阅读笔记 第六章 类再生

    1.介绍了合成和继承,第一章就介绍过,这里详细的介绍了一下. 2.介绍了继承关系初始化构建方法调用顺序,这些东西建议阅读<<深入理解java虚拟机>>讲得更加透彻. 3.到底选 ...

  4. 深入理解 C 指针阅读笔记 -- 第六章

    Chapter6.h #ifndef __CHAPTER_6_ #define __CHAPTER_6_/*<深入理解C指针>学习笔记 -- 第六章*/typedef struct __p ...

  5. 《Deep Learning Techniques for Music Generation – A Survey》深度学习用于音乐生成——书籍阅读笔记(一)Chapter 1

    <Deep Learning Techniques for Music Generation – A Survey>深度学习用于音乐生成--书籍阅读笔记(一)Chapter 1 关于这本书 ...

  6. 《第一行代码》书籍阅读笔记

    注:书籍阅读笔记,方便查看 第1章 开始启程,你的第一行Android代码 第2章 先从看得到的入手,探究活动 1.隐藏标题栏 在onCreate()方法中添加: requestWindowFeatu ...

  7. 图像处理与计算机视觉-论文阅读笔记

    题 目:Residual Networks for Light Field Image Super-Resolution 作 者:Shuo Zhang, Youfang Lin, Hao Sheng ...

  8. 《领域驱动设计》阅读笔记 第1章 消化知识

    ddd小白,一篇章节便能激起了心中涟漪,感慨之初,记于笔下. 第1章  消化知识 用醍醐灌顶.茅塞顿开来形容此章短短的文字,实不为过. 简单介绍背景:旅游互联网,B2B,初创公司.产品设计-代码开发的 ...

  9. 计算机视觉-论文阅读笔记-基于高性能检测器与表观特征的多目标跟踪

    这篇笔记主要是对今年ECCV2016上的论文:POI:Multiple Object Tracking with High Performance Detection and Appearance F ...

最新文章

  1. lightingJS
  2. 网络编程学习笔记(RES_USE_INET6解析器选项)
  3. 腾讯数十亿广告的基础是精准实时推荐
  4. cisco tftp 操作
  5. AES加密算法256位密钥与128位密钥的不同之处
  6. Java网络编程1---基础
  7. 工业以太网交换机几点常见故障解析
  8. 基于asp.net的网上书店商城设计与实现
  9. 线程Thread类的start()方法和run()方法
  10. 网站登录页面php代码,一个简单的网页密码登陆php代码
  11. python 需要输入多个变量_使用多个变量的Python输入验证…是否简化?
  12. 关于博客园开放API的授权问题解决
  13. 海康威视研究院ImageNet2016竞赛经验分享
  14. 51单片机蜂鸣器播放音乐
  15. 全志F1C100S声卡驱动探究
  16. 根据奖品权重计算中奖概率实现抽奖的方法
  17. python函数的调用方式_Python中函数参数调用方式分析
  18. 项目实战2 | 基于Swarm+Prometheus实现双VIP可监控Web高可用集群
  19. ZCMU 1919: kirito's 星爆气流斩【01背包的二进制优化】
  20. 人脸验证(二)--DeepID

热门文章

  1. 美国网红python微博_网红Python的正确打开方式
  2. 春暖花开,想念面朝大海
  3. 统计各销售小组的总销售额
  4. 用cmd批量修改文件名
  5. vivado原语BUFHCE
  6. 读啄木鸟社区《可爱的python》
  7. 立创EDA仿真入门2 实战全桥整流
  8. windows 删除文件夹 拒绝访问
  9. [通篇转载]调程序的小女孩
  10. 不可抗力/(ㄒoㄒ)/~~ 开始学习node全栈<三>Node-模块化与包