颜色直方图:
全局颜色直方图:反映的是图像中颜色的组成分布,即出现了哪些颜色以及各种颜色出现的概率,Swain 和 Ballard最先提出了使用颜色直方图作为图像颜色特征的表示方法。他们还指出:颜色直方图相对于图像的以观察轴为轴心的旋转以及幅度不大的平移和缩放等几何变换是不敏感的,颜色直方图对于图像质量的变化(如模糊)也不甚敏感。颜色直方图的这种特性使得它比较适合于检索图像的全局颜色相似性的场合,即通过比较颜色直方图的差异来衡量两幅图像在颜色全局分布上的差异。
颜色直方图的主要性质有:直方图中的数值都是统计而来,描述了该图像中关于颜色的数量特征,可以反映图像颜色的统计分布和基本色调;直方图只包含了该图像中某一颜色值出现的频数,而丢失了某象素所在的空间位置信息;任一幅图像都能唯一的给出一幅与它对应的直方图,但不同的图像可能有相同的颜色分布,从而就具有相同的直方图,因此直方图与图像是一对多的关系;如将图像划分为若干个子区域,所有子区域的直方图之和等于全图直方图;一般情况下,由于图像上的背景和前景物体颜色分布明显不同,从而在直方图上会出现双峰特性,但背景和前景颜色较为接近的图像不具有这个特性。
累加直方图:当图像中的特征并不能取遍所有可取值时,统计直方图中会出现一些零值。
这些零值的出现会对相似性度量的计算带来影响,从而使得相似性度量并不能正确反映图像之间的颜色差别。为解决这个问题,在全局直方图的基础上,Stricker和Orengo进一步提出了使用“累加颜色直方图”的概念。在累加直方图中,相邻颜色在频数上是相关的。相比一般直方图,虽然累加直方图的存储量和计算量有很小的增加,但是累加直方图消除了一般直方图中常见的零值,也克服了一般直方图量化过细过粗检索效果都会下降的缺陷。一般的颜色直方图由于颜色空间是三维的,具有相同的三通道独立分布,但其联合分布并不为一。这种不考虑联合分布的方法,会导致在结果集中不相似的图像数目增加。因此便产生了1x3D的颜色直方图,设三个通道的量化级数分别是l、m、n,则总的量化级数K=lxmxn。这种方法虽然克服了一维的缺点,但颜色分辨率较低,而特征为数较高。对于一般的直方图特征维数是K=l+m+n,因此1x3D直方图的高维数,给特征处理带来了极大的不便。因此便想到了量化直方图。考虑到不同颜色空间的特性,各通道对人眼的视觉重要程度不同,可以对不同的颜色通道给于不同的量化级数。预先给定量化级数,用联合的方法建立直方图比较简单,但是却存在一下的不足:首先,没有考虑图像本身的特点;其次,没有考虑颜色空间的特点,l、m、n的不同取值,不足以反映不同颜色空间的3D分布情况;最后,颜色集合的代表性差。
主色调直方图方法:考虑到量化直方图的上述问题便产生了主色调直方图的方法。因一幅图像中,往往少数几种颜色就涵盖了图像的大多数像素,而且不同颜色在图像中的出现概率是不同的,因此,可以通过统计图像中各种颜色出现的概率,选出最频繁出现的几种做为主色。使用主色并不会降低颜色匹配的效果,因为颜色直方图中出现频率很低的哪些颜色往往不是图像的主要内容,从某种程度上讲,是对图像内容表示的一种噪声。
颜色矩:
颜色矩是一种简单而有效的颜色特征,是由Stricker和Oreng提出的,这种方法的数学基础是图像中的任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(mean)、二阶矩(Variance)和三阶矩(Skewness)就足以表达图像的颜色分布,与颜色直方图相比,该方法的另一个好处是无须对特征进行量化。
设p(i,j)图像的像素值,N为像素数,则:
Mean=(sum(p(I,j)))/N
Variance=sqrt(sum(p(I,j )-mean)^2/N)
Skewness= Variance= (sum(p(I,j )-mean)^3/N)^1/3
图像的颜色矩一共有九个分量,每个颜色通道均有三个低阶矩。颜色矩仅仅使用少数几个矩,从而导致过多的虚警,因此颜色矩常和其他特征结合使用。
颜色集:
为了提高检索的速度,Smith和Chang提出了用颜色集的方法,首先将RGB颜色空间转换成视觉均衡的颜色空间(HSV),并将颜色空间量化成若干个bin,然后运用颜色自动分割技术将图像分为若干个区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达成一个二进制的颜色索引表。在图像匹配中,比较不同图像颜色集之间的距离和颜色区域的空间关系。因为,颜色集表达为二进制的特征向量,可以构造二分查照树来加快检索速度,对大规模的图象集合十分有力。
图像的颜色聚合向量:
图像的颜色聚合向量是颜色直方图的一种演变,其核心思想是将属于直方图每一个bin的像素分为两部分:如果该bin内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。设a(i)和b(i)分别是第i个bin中聚合像素和非聚合像素的数量,图像的聚合向量可以表示为[(a(1),b(1)), (a(2),b(2), (a(3),b(3)……(a(N),b(N)],而[(a(1),b(1)), (a(2),b(2), (a(3),b(3)……(a(N),b(N)]就是该图像的颜色直方图。并且包含了颜色分布的空间信息,颜色聚合向量相比颜色直方图可以达到更好的检索效果。
颜色聚合向量的最大特点是:克服了颜色直方图和颜色矩的缺点,将颜色在图像中的空间信息与颜色直方图结合了起来。这样既考虑了颜色分布的统计信息,又考虑了颜色的空间分布信息。
颜色相关图
颜色相关图(color correlogram)是图像颜色分布的另一种表达方式[16]。这种特征不但刻画了某一种颜色的像素数量占整个图像的比例,还反映了不同颜色对之间的空间相关性。实验表明,颜色相关图比颜色直方图和颜色聚合向量具有更高的检索效率,特别是查询空
间关系一致的图像。
假设I表示整张图像的全部像素,Ic(i) 则表示颜色为c(i)的所有像素。颜色相关图可以表达为:
其中 i, j ∈ {1, 2, …, N},k∈ {1, 2, …, d},| p1 – p2 | 表示像素p1和p2之间的距离。颜色相关图可以看作是一张用颜色对<i, j>索引的表,其中<i, j>的第k个分量表示颜色为c(i)的像素和颜色为c(j)的像素之间的距离小于k的概率。如果考虑到任何颜色之间的相关性,颜色相关图会变得非常复杂和庞大 (空间复杂度为O(N2d))。一种简化的变种是颜色自动相关图(color auto-correlogram),它仅仅考察具有相同颜色的像素间的空间关系,因此空间复杂度降到O(Nd)。