《图像纹理特征提取方法综述》论文笔记

纹理是一种重要的视觉线索,是图像中普遍存在而又难以描述的特征。

纹理特征提取的目标是:提取的特征维数不大、鉴别能力强,稳健性好,提取过程计算量小,能够指导实际应用。

图像纹理的应用如下图1所示:


纹理特征提取方法分类如下:


统计家族

统计家族方法发展至今40多年,其方法思想简单,易于实现。实践证明,GLCM在该家族中一支独秀,具有旺盛的生命力;其次是半方差图方法。以下主要阐述前两种方法。此外,纹理谱方法,比如LBP,因其计算复杂度小,并且具有旋转不变性和多尺度特性,也备受关注。但是像灰度行程长度法、灰度差分统计、交叉对角矩阵等方法由于提取的纹理特征鉴别能力一般,有些甚至很差,加上计算量大,故其应用极为有限。

GLCM(灰度共生矩阵)

GLCM是描述在theta方向上,相隔d像元距离的一对像元分别具有灰度层i和j的出现概率。GLCM具有较好的鉴别能力,但是这个方法的计算非常耗时。因此,不断有研究者对其进行改进。(1)通过减少图像的灰度级,可以减少计算量,但是这种做法会损失一定的灰度的空间依赖信息。(2)方向theta和距离d选择。(3)计算GLCM的窗口选择。(4)研究提取的纹理特征之间的相关性,选择最有鉴别能力的纹理特征。在GLCM的14个特征中,仅有4个特征(对比度、逆差矩、相关性、能量)是不相关的,这4个特征既便于计算又能给出较高的分类精度。

半方差图

该方法是一种基于变差函数的方法,由于变差函数反映图像数据的随机性和结构性,因而能很好地表达纹理图像的特征。


模型家族

该家族的方法对纹理图像建模后,将纹理特征提取归结为参数估计问题,如何采用各种优化参数估计的方法进行参数估计是模型家族研究的主要内容。

随机场模型

随机场模型方法试图以概率模型来描述纹理的随机过程,它们对随机数据或随机特征进行统计运算估计纹理模型的参数,然后对一系列的模型参数进行聚类,形成和纹理类型数一致的数类模型参数;由估计的模型参数对灰度图像进行逐点的最大后验概率估计,确定像素及其领域情况下该像素点最可能归属的概念。随机场模型实质上是描述图像中像素对其领域像素的统计依赖关系,其中最重要的、应用最广泛的是MRF模型。

MRF模型:MRF建模纹理的基本思想是通过任意像素关于其邻域像素的条件概率分布来描述纹理的统计特性。该模型的主要优点是提供了一种一般而自然的用来表达空间上相关随机变量之间的相互作用的模型。

分形模型

1975年,美国数学家Mandelbrot首次提出了分形。分数维作为分形的重要特征和度量,把图像的空间信息和灰度信息简单而又有机地结合起来,因而在图像中备受人们的关注。分数维在图像处理中的应用是以两点为基础的:一是自然界中不同种类的形态物质一般具有不同的分数维;二是由于Pentland的假设,自然界中的分形与图像的灰度表示之间存在着一定的对应关系。研究表明,人类视觉系统对于粗糙度和凸凹性的感受与分形维数有着非常密切的联系,因此可以利用图像区域的分形维数来描述图像区域的纹理特性。分数维的描述纹理的核心问题是如何准确地估计分数维,目前人们已经提出了一些分数维的估计方法,但在估计精度和计算复杂度之间还没有一个很好的折中方法,这也是人们在分数维方面所一直探讨的问题。分数维的常用算法是Keller的盒维数以及Sarkar和Chaudhuri提出的差分计盒法等。最重要的分形模型之一是由Mandelbrot描述的分数布朗运动模型,它把自然的粗糙表面看成随机游走的最终结果。

广义Hurst参数特征用于纹理分类效果能够媲美Gabor方法,明显优于传统Hurst参数。此外,针对针对单一分数维的缺陷,研究者们根据多重分形理论,引入多重分形理论中的广义维数谱作为分类特征,它对于由不同分数维的子集构成的纹理图像有很好的分类效果。


信号处理家族

信号处理家族方法的共同之处在于用某种线性变换、滤波器或滤波器组将纹理转到变换域,然后应用某种能量准则提取纹理特征。信号处理方法也称滤波方法。大多数信号处理方法的提出,基本基于这样一个假设:频域的能量分布能够鉴别纹理。

基于该家族方法的常规的纹理分类流程如图3。


首先对图像进行滤波,各滤波通道的输出即为初始特征,初始特征的方差差异载有纹理信息的差异;接下来的局部能量估计目的是估计局部区域中滤波器输出的能量。然而,精确的边缘保持和精确的能量估计是矛盾的。对边缘定位而言,需要高的空间分辨率,而能量估计要求高的频率分辨率,两者之间需要通过平滑滤波器进行折衷。局部能量估计包括非线性处理和平滑处理。恰当的非线性操作可以优化纹理鉴别的性能,非线性处理方法的选择不是很明确,大多数情况下都是根据经验。关于非线性处理方法作用的详细分析参见Unser M, Eden M. 的文章Nonlinear operation for improving texture segmentation based on features extracted by spatial filtering。常用的平滑滤波器是矩形的和高斯的,经验表明高斯滤波器是较好的选择。平滑滤波器的窗的选择也很值得考虑,通常根据图像的频谱自适应的确定。

数字图像变换方法

图像通常被划分为不重叠的n×n的方形子图像(子图像的大小通常为3×3的纹理单元),将像素排列成n^2维的向量,则图像可以表示为向量的集合,再对这些向量做变换,如图4所示。离散余弦变换方法,傅里叶级数方法,局部傅里叶变换方法以及基于局部沃尔什变换的方法,都属于这一类方法。其差别主要体现在:①提取纹理单元中的局部纹理信息时采用了不同的变换方法;②根据局部纹理信息统计得到全局纹理特征时采用了不同的方法。


小波变换方法

纹理是一种视觉直接感受到的自然特征。人类的知识、生活经验使其在头脑中建立起为数巨大的物体模型和常识供识别使用,但指望计算机能代替人类完成各种复杂工作和识别任务,就必须赋予它有近于人的视觉功能和识别能力。随着对人类视觉机理的研究,人们逐渐认识到统计方法和结构方法均与人类视觉机理相脱节,难以进行更精确的纹理描述,由于大量自然纹理图像可以看作准周期信号,加上基于多通道滤波方法与人类的视觉机理相近,激发研究者研究多分辨纹理分析方法

(1)Gabor滤波方法。该方法利用了Gabor滤波器的良好性质,即具有时域和频域的联合最佳分辨率,并且较好地模拟了人类视觉系统的视觉感受特性,在图像纹理特征提取中备受青睐。如何从Gabor滤波器的输出结果中提取纹理特征——实际纹理图像并非严格意义上周期信号,因此,需要对Gabor滤波后的图像进行非线性操作和能量计算来得到特征图像,并用建立的特征矢量做分类。可以直接利用Gabor滤波结果作为纹理特征,但是纹理特征向量的维数高数据量庞大,因此研究者们集中在如何减少所用的滤波器的个数和对Gabor滤波的结果进行后处理等方面。典型的后处理方法有:基于Gabor滤波器的输出的幅度响应、高斯平滑处理、Gabor能量特征、复矩特征、栅格元特征、独立成分分析法等等。

(2)小波方法。由于图像纹理往往展现出多尺度特征,小波变换为多尺度思想提供了一个清晰的数学框架。多尺度方法应用于纹理分割的基本思想就是要在低分辨率下获得稳定的纹理特征,快速可靠地识别不同纹理区域;在高分辨率下精确定位,以得到纹理边缘的真实位置;再由粗到细进行跟踪,获得图像的实际纹理区域。利用小波变换提取图像的多尺度纹理信息的思想步骤可简述如下:首先借助正交小波,对图像进行小波分解,得到不同分辨率的一系列图像。分辨率越低,具有的是原图像上越低频的信息。与此同时,每种分辨率的图像由代表不同方向信息的一系列高频子带图像组成,使用小波高频子带特征的目的在于它们可以反映图像的纹理特性。


结构家族

结构分析方法认为纹理是由纹理基元的类型和数目以及基元之间的“重复性”的空间组织结构和排列规则来描述,且纹理基元几乎具有规范的关系,假设纹理图像的基元可以分离出来,以基元特征和排列规则进行纹理分割。显然确定与抽取基本的纹理基元以及研究存在于纹理基元之间的“重复性”结构关系是结构方法要解决的问题。由于结构方法强调纹理的规律性,较适用于分析人造纹理,而真实世界的大量自然纹理通常是不规则的,且结构的变化是频繁的,因此对该类方法的应用受到很大程度的限制,相应的研究没有其他三个家族的方法那么广泛和深入。


全文地址





  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
GLCM stands for Gray Level Co-occurrence Matrix, which is a statistical method used to analyze the texture of an image. In Python, the scikit-image library provides functions to compute GLCMs and extract features from them. Here's an example of how to compute a GLCM in Python using scikit-image: ```python from skimage.feature import greycomatrix # Load an image image = ... # Compute a GLCM with a distance of 1 and an angle of 0 degrees glcm = greycomatrix(image, distances=[1], angles=[0], levels=256, symmetric=True, normed=True) ``` This will compute a GLCM for the input image with a distance of 1 pixel and an angle of 0 degrees. The `levels` parameter specifies the number of gray levels in the image (usually 256 for an 8-bit image). The `symmetric` parameter specifies whether the GLCM should be symmetric (i.e., whether the order of the pixel pairs matters). The `normed` parameter specifies whether the GLCM should be normalized (i.e., whether the values in the matrix should sum to 1.0). Once you have a GLCM, you can extract features from it using the `skimage.feature.greycoprops` function. For example, here's how to compute the contrast, energy, and homogeneity of a GLCM: ```python from skimage.feature import greycoprops contrast = greycoprops(glcm, 'contrast') energy = greycoprops(glcm, 'energy') homogeneity = greycoprops(glcm, 'homogeneity') ``` The `greycoprops` function accepts a GLCM and a feature name as input and returns the corresponding feature value. Other features that can be extracted from a GLCM include correlation, entropy, and dissimilarity.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值