数字图像处理-特征提取
1. 颜色特征
1.1. 颜色直方图
颜色直方图是在许多图像检索系统中被广泛采用的颜色特征。它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体。颜色直方图特别适于描述那些难以进行自动分割的图像。
- 易于表达不同颜色的比例
- 难以描述颜色的布局分布
1.1.1. 基于RGB色彩空间
或者在同一张图像中使用折线图表达
1.1.2. 基于HSV色彩空间
颜色直方图可以是基于不同的颜色空间和坐标系。最常用的颜色空间是RGB颜色空间,原因在于大部分的数字图像都是用这种颜色空间表达的。然而,RGB空间结构并不符合人们对颜色相似性的主观判断。因此,有人提出了基于HSV空间、Luv空间和Lab空间的颜色直方图,因为它们更接近于人们对颜色的主观认识。
1.1.3. 基于灰度图
1.1.4. 颜色量化
计算颜色直方图需要将颜色空间划分成若干个小的颜色区间,每个小区间成为直方图的一个bin。这个过程称为颜色量化(color quantization)。然后,通过计算颜色落在每个小区间内的像素数量可以得到颜色直方图。
颜色量化有许多方法,例如向量量化、聚类方法或者神经网络方法。最为常用的做法是将颜色空间的各个分量(维度)均匀地进行划分。相比之下,聚类算法则会考虑到图像颜色特征在整个空间中的分布情况,从而避免出现某些bin中的像素数量非常稀疏的情况,使量化更为有效。
另外,如果图像是RGB格式而直方图是HSV空间中的,我们可以预先建立从量化的RGB空间到量化的HSV空间之间的查找表(look-up table),从而加快直方图的计算过程。
上述的颜色量化方法会产生一定的问题。设想两幅图像的颜色直方图几乎相同,只是互相错开了一个bin,这时如果我们采用L1距离或者欧式距离计算两者的相似度,会得到很小的相似度值。为了克服这个缺陷,需要考虑到相似但不相同的颜色之间的相似度。
- 一种方法是采用二次式距离。
- 另一种方法是对颜色直方图事先进行平滑过滤,即每个bin中的像素对于相邻的几个bin也有贡献。这样,相似但不相同颜色之间的相似度对直方图的相似度也有所贡献。
1.1.5. bin的选取(忽略数值较小的bin区间)
选择合适的颜色小区间(即直方图的bin)数目和颜色量化方法与具体应用的性能和效率要求有关。一般来说,颜色小区间的数目越多,直方图对颜色的分辨能力就越强。
然而,bin的数目很大的颜色直方图不但会增加计算负担,也不利于在大型图像库中建立索引。而且对于某些应用来说,使用非常精细的颜色空间划分方法不一定能够提高检索效果,特别是对于不能容忍对相关图像错漏的那些应用。
一种有效减少直方图bin的数目的办法是只选用那些数值最大(即像素数目最多)的bin来构造图像特征,因为这些表示主要颜色的bin能够表达图像中大部分像素的颜色。实验证明这种方法并不会降低颜色直方图的检索效果。事实上,由于忽略了那些数值较小的bin,颜色直方图对噪声的敏感程度降低了,有时会使检索效果更好。
1.1.6. 特征匹配
颜色直方图特征匹配方法:
- 直方图相交法
- 距离法
- 中心距法
- 参考颜色表法
- 累加颜色直方图法
1.2. 颜色集
[论文(1995): Single color extraction and image query](数字图像处理-特征提取/Single color extraction and image query.pdf)
为支持大规模图像库中的快速查找,Smith和Chang提出了用颜色集(color sets)作为对颜色直方图的一种近似。他们首先将RGB颜色空间转化成视觉均衡的颜色空间(如HSV空间),并将颜色空间量化成若干个 bin
。然后,他们用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达一个二进制的颜色索引集。
在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系(包括区域的分离、包含、交等,每种对应于不同得评分)。因为颜色集表达为二进制的特征向量,可以构造二分查找树来加快检索速度,这对于大规模的图像集合十分有利。
1.3. 颜色矩
另一种非常简单而有效的颜色特征使由Stricker和Orengo所提出的颜色矩(color moments) [1] 。这种方法的数学基础在于图像中任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此仅采用颜色的一阶矩(mean)、二阶矩(variance)和三阶矩(skewness)就足以表达图像的颜色分布。
与颜色直方图相比,该方法的另一个好处在于无需对特征进行向量化。因此,图像的颜色矩一共只需要9个分量(3个颜色分量,每个分量上3个低阶矩),与其他的颜色特征相比是非常简洁的。在实际应用中为避免低次矩较弱的分辨能力,颜色矩常和其它特征结合使用,而且一般在使用其它特征前起到过滤缩小范围(narrow down)的作用。
同颜色直方图一样,颜色矩无法表达图像色彩的空间位置。
1.4. 颜色聚合向量
针对颜色直方图和颜色矩无法表达图像色彩的空间位置的缺点,Pass提出了图像的颜色聚合向量(color-coherence vector)。它是颜色直方图的一种演变,其核心思想是将属于直方图每一个bin的像素进行分为两部分:如果该bin内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。假设αi与βi分别代表直方图的第i个bin中聚合像素和非聚合像素的数量,图像的颜色聚合向量可以表达为<(α1,β1), (α2,β2),…,(αN,βN)>。而<α1+β1,α2+β2,…,αN+βN>就是该图像的颜色直方图。由于包含了颜色分布的空间信息,颜色聚合向量相比颜色直方图可以达到更好的检索效果。
1.5. *颜色相关图
[论文(1997): Image Indexing Using Color Correlograms](数字图像处理-特征提取/Image Indexing Using Color Correlograms.pdf)
颜色相关图(color correlogram)是图像颜色分布的另一种表达方式 。这种特征不但刻画了某一种颜色的像素数量占整个图像的比例,还反映了不同颜色对之间的空间相关性。
颜色相关图用于图像检索,并被证明在基于内容的图像检索中颜色相关图特征要优于比颜色直方图。传统的颜色直方图只刻画了某一种颜色的像素数目占像素总数目的比例,只是一种全局的统计关系,而颜色相关图则表达了颜色随距离变换的空间关系,也就是颜色相关图不仅包含图像颜色统计信息,同时包括颜色之间的空间关系。
实验表明,颜色相关图比颜色直方图和颜色聚合向量具有更高的检索效率,特别是查询空间关系一致的图像。
如果考虑到任何颜色之间的相关性,颜色相关图会变得非常复杂和庞大(空间复杂度为O(n^2D))。一种简化的变种是颜色自动相关图(color auto-correlogram),它仅仅考察具有相同颜色的像素间的空间关系,因此空间复杂度降到O(nD)。
2. 形状特征
各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,包括:
- 目前基于形状的检索方法还缺乏比较完善的数学模型;
- 如果目标有变形时检索结果往往不太可靠;
- 许多形状特征仅描述了目标局部的性质,要全面描述目标常对计算时间和存储量有较高的要求;
- 许多形状特征所反映的目标形状信息与人的直观感觉不完全一致,或者说,特征空间的相似性与人视觉系统感受到的相似性有差别。
另外,从2D图像中表现的3D物体实际上只是物体在空间某一平面的投影,从2D图像中反映出来的形状常不是3D物体真实的形状,由于视点的变化,可能会产生各种失真。
形状特征有两类表示方法,一类是轮廓特征,一类是区域特征。图像的轮廓特征主要针对物体的外边界;而图像的区域特征则关系到整个形状区域。下面将介绍几种典型的形状特征描述方法:
-
边缘
边缘是组成两个图像区域之间边界(或边缘)的像素。一般一个边缘的形状可以是任意的,还可能包括交叉点。在实践中边缘一般被定义为图像中拥有大的梯度的点组成的子集。一些常用的算法还会把梯度高的点联系起来来构成一个更完善的边缘的描写。这些算法也可能对边缘提出一些限制。局部地看边缘是一维结构。
-
角
角是图像中点似的特征,在局部它有两维结构。早期的算法首先进行边缘检测,然后分析边缘的走向来寻找边缘突然转向(角)。后来发展的算法不再需要边缘检测这个步骤,而是可以直接在图像梯度中寻找高度曲率。后来发现这样有时可以在图像中本来没有角的地方发现具有同角一样的特征的区域。
-
区域
区域描述的是一个图像中的一个区域性的结构,但是区域也可能仅由一个像素组成,因此许多区域检测也可以用来监测角。一个区域监测器检测图像中一个对于角监测器来说太平滑的区域。区域检测可以被想象为把一张图像缩小,然后在缩小的图像上进行角检测。
-
脊
长条形的物体被称为脊。在实践中脊可以被看作是代表对称轴的一维曲线,此外局部针对于每个脊像素有一个脊宽度。从灰梯度图像中提取脊要比提取边缘、角和区域困难。在空中摄影中往往使用脊检测来分辨道路,在医学图像中它被用来分辨血管。
特征被检测后它可以从图像中被抽取出来。这个过程可能需要许多图像处理的计算机。其结果被称为特征描述或者特征向量。
近年来,在形状的表示和匹配方面的工作还包括有限元法(Finite
Element Method 或 FEM)、旋转函数(Turning Function)和小波描述符(Wavelet
Descriptor)等方法。
2.1. 基于小波和相对矩的形状特征提取与匹配
该方法先用小波变换模极大值得到多尺度边缘图像,然后计算每一尺度的 7个不变矩,再转化为10个相对矩,将所有尺度上的相对矩作为图像特征向量,从而统一了区域和封闭、不封闭结构。
3. 区域特征
3.1. 面积法
到目前为止,最简单的区域特征是区域的面积:
由上式可知,区域的面积α就是区域内的点数IRI。如果区域是用一幅二值图像表示的,那么用上式中的第一个求和等式计算区域的面积;如果区域是用行程编码表示的,那么用上式中的第二个求和等式计算区域的面积。区域的行程表示法可使区域面积的计算速度快很多,这个特点对几乎所有的区域特征都适用。
3.2. *矩特征
面积是被称为 区域的矩
的广义特征中的一个特例。
由 矩
推断出的数据(例如重心),属于亚像素精度特征。
可以通过一个椭圆来形象的理解 区域的矩
。
椭圆的这些参数在确定区域的方位和尺寸时极其有用。例如角。能被用来对经过旋转的文本进行校正。例如角度能被用来对经过旋转的文本进行校正。
我们已经使用不同的变换来让基于矩的特征对特定的变换结果保持不变。比如,平移和缩放后的结果。已经提出了一些新的方法,用这些方法建立的基于矩的特征可以在更多类型的变换结果上保持不变,比如平移、旋转、缩放,甚至是仿射变换。这些方法优先被用来对物体进行分类。
除了基于矩的特征外,还存在许多其有用的特征,这些特征都基于为区域找到的一个外接几何基元。
区域的另一个有用特征是区域的轮廓长度。 为计算此特征量,我们必须跟踪区域的边界以获取一个轮廓,此轮廓将边界上的全部点连接在一起。一旦得到了区域的轮廓,我们仅需将全部轮廓线段的欧几里得距离求和即可。水平线段和垂直线段的欧几里得距离都是1,而对角线段的距离是J2。基于区域的轮廓长度i和区域的面积α,我们能定义区域紧性的度量方法: c = l²/(4πa)
。所有圆形区域的紧性特征值都是1,而其他区域的紧性特征值更大。紧性与凸性有着类似的用途。
3.3. 灰度值特征
区域内的最大灰度值和最小灰度值:
区域内灰度值的平均值是另一个明显的灰度值特征:
另一个统计特征是灰度值的方差和标准偏差 。
在一个参考区域内测出的平均值和标准偏差也能被用来建立-个线性灰度值变换,此变换可以补偿亮度的变化。标准偏差能够被用来调整分割阔值。而且,标准偏差可用来测量存在于区域内纹理的多少。
灰度值直方图和累积直方图也属于灰度值特征。
由灰度值矩计算得到的面积和重心更准确。本例中,灰度值矩返回的面积误差总是 小于0.25%,位置误差小于1/200像素。与之相比,区域矩求得的面积误差最高达到13.2%,位置误差高达1月像素。注意两种类型的矩得到的都是亚像素精度的测量结果。我们看到,尽管处理的是很小的物体,使用灰度值矩在理想的数据基础上还是能得到极高准确度的处理结果。
同样应该注意的是灰度值矩的准确度优势主意体现在处理小的物体时。由于灰度值矩必须访问区域内的每个像素,而区域矩仅需要基于 区域的行程编码就可以计算,所以计算区域矩的速度更快。因此,灰度值矩在一般情况下只用于处理相对小的区域。
应用实例:
3.4. 几何参数法
形状的表达和匹配采用更为简单的区域特征描述方法,如采用有关形状定量测量(如矩、面积、周长等)的形状参数法。
需要说明的是:形状参数的提取,必须以图像处理及图像分割为前提,参数的准确性必然受到分割效果的影响,对分割效果很差的图像,形状参数甚至无法提取。
3.5. 形状不变矩法
利用目标所占区域的矩作为形状描述参数。
4. 轮廓特征
轮廓是一系列相连的点组成的曲线,代表了物体的基本外形。
轮廓与边缘的不同:
- 轮廓是连续的,边缘并不全都连续
- 边缘主要作为图像的物体特征;而轮廓主要用来分析物体的形态(如周长和面积)
- 边缘包括轮廓。
一般在二值图像中寻找轮廓,寻找轮廓是针对白色物体,即物体是白色,而背景是黑色。
4.1. 边界特征法
通过对边界特征的描述来获取图像的形状参数。其中Hough变换检测平行直线和边界方向直方图方法是经典方法。
4.1.1. Hough变换
Hough变换是利用图像全局特性而将边缘像素连接起来,组成区域封闭边界的一种方法,其基本思想是点-线的对偶性。
4.1.2. 边界方向直方图
- 首先微分图像求得图像边缘
- 做出关于边缘大小和方向的直方图,通常的方法是构造图像灰度梯度方向矩阵
4.2. 傅里叶形状描述符法
傅里叶形状描述符(Fourier shape deors)基本思想是用物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性,将二维问题转换为一维问题。
由边界点导出三种形状表达:曲率函数、质心距离、复坐标函数。
5. 纹理特征
纹理特征是一种全局特征,反映的是图像中同质现象的视觉特征,体现物体表面的具有缓慢变换或周期性变化的表面组织结构排列属性。图像纹理通过像素及其周围空间邻域的灰度分布来表现,即局部纹理信息。另外,局部纹理信息不同程度上的重复性,就是全局纹理信息。
纹理特征的提取方法可分为:
- 基于结构的方法,将要检测的纹理建模,在图像中搜索重复的模式
- 基于统计数据的方法
纹理特征的提取与匹配主要有:灰度共生矩阵、Tamura 纹理特征、自回归纹理模型、小波变换等。
5.1. 灰度共生矩阵(Gray-level Co-occurrence Matrix, GLCM)
GLCM特征提取与匹配主要依赖于能量、惯量、熵和相关性四个参数。
Tamura纹理特征基于人类对纹理的视觉感知心理学研究,提出6种属性,即:
- 粗糙度
- 对比度
- 方向度
- 线像度
- 规整度
- 粗略度
自回归纹理模型(simultaneous auto-regressive, SAR)是马尔可夫随机场(MRF)模型的一种应用实例。
5.2. 统计特性
灰度共生矩阵虽然提供了图像灰度方向、间隔和变化幅度的信息,但它不能直接提供区别纹理的特性,因此需要在GLCM的基础上计算用来定量描述纹理特征的统计属性——常用的9种纹理特征统计属性为:
5.3. LBP特征
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikäinen, 和D. Harwood 在1994年提出,用于纹理特征提取
LBP算法的核心思想,是以某个像素点为中心,与其邻域像素点共同计算。关于邻域像素点的选择方法,其实并不唯一:
- 原始的LBP算子定义的是在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素点灰度值与其进行比较。
- 后来的LBP算法也将相邻8个像素点的位置改成了环形邻域内8个点(也可能是环形邻域多个点),进行顺时针或逆时针的比较。