一种基于改进K‑means算法的颜色提取方法与流程

文档序号:13983329阅读:429来源:国知局

本发明属于计算机图像处理技术领域,涉及一种颜色提取算法。



背景技术:

近些年来,随着人工智能的飞速发展,人们的生活变得越来越便利,而图像识别技术作为人工智能的重要组成部分,被研究人员倍加重视。图像识别是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。在图像识别技术的研究领域,以图像形状和大小为研究对象的文献较多,而颜色作为图像的重要特征,相关参考文献却相对较少。但在现实生活中,对图像颜色的识别却是至关重要的。

通过对传统k-means算法的研究发现,该算法在颜色提取方面,最需要解决的是聚类精度的问题。造成这一问题的主要原因是聚类初始点的选取和均值迭代造成聚类结果以偏概全,导致最后得到的结果往往不能有效概括图片的特性,或是没有提取出较为醒目的区域颜色。



技术实现要素:

本发明的目的是克服现有技术的上述不足,提供一种基于改进k-means算法的颜色提取方法。本发明基于密度优化最终聚类结果,通过hsv色彩空间模型的颜色相似性来判断最终聚类结果是否能够有效代表其所在簇中所有点的颜色信息。技术方案如下:

一种基于改进k-means算法的颜色提取方法,包括下列步骤:

1)选取rgb颜色空间模型,对图片像素点数据进行归一化处理;

2)利用k-means随机选取初始聚类中心的方法进行聚类;

3)分析hsv空间模型,计算颜色相似度阈值;

4)以颜色相似度阈值为判断条件,分析步骤2)的k-means算法的聚类结果,若步骤二的聚类结果中某一簇中的点与聚类中心在颜色相似度大于阈值的点超过该簇数据总量的25%则认为合格;若没有则认为不合格;

5)在不合格的簇中,找出与其他点的颜色相似度大于阈值最多的点,并将该点作为一个新的聚类中心,与新聚类中心相似度大于阈值的点作为这个新簇的成员点,计算平均值作为最终的聚类中心;

6)在原来的旧簇中去除掉步骤5)所产生新簇的点,剩余的点构成另一个新簇,用均值作为聚类中心,重复步骤2)-5),但阈值保持原有量不随之减少,直至没有新的簇产生,剩余点作为噪声点抛出;

7)输出聚类结果。

本发明的有益效果如下:

1.本发明提出一种通过密度优化聚类结果的方法,取消了均值迭代在聚类结果上的决定地位,提高了k-means聚类在图像颜色提取方面的精度。

2.本发明将基于密度的思想用于处理最终的聚类结果,缩小了密度算法所处理的数据集大小,相较传统的基于密度的改进思想在运行速度上也有很大的优化。

附图说明

图1本发明的流程图。

具体实施方式

传统k-means算法对初始聚类中心比较敏感,因此初始点选取的随机性就直接影响了聚类的准确性和稳定性。本实施例以电影海报为例,电影海报用色丰富,为了得到更好的视觉体验,海报上的颜色之间有着较好的过渡,导致它的rgb数据和传统用于数据挖掘的数据相比,具有低维度且分布较为均匀的特点。所以传统的k-means改进算法在用于提取电影海报主色时无法取得很好的效果,本文就是针对rgb数据的这种特性,提出了基于密度的聚类结果优化算法。

1颜色空间的选择

通常利用k-means对图像颜色进行聚类,使用的空间模型有rgb颜色空间、hsi颜色空间、hsv颜色空间和lab颜色空间等,各颜色空间在聚类方面各有优缺点。

对比rgb,其余三个颜色空间都需要进行相应的空间转换,计算相对复杂,以hsv为例,hsv颜色空间模型由三种属性表示。其中h表示色调,取值为0°~360°;s表示饱和度,指同种颜色的深浅程度;v表示亮度,指颜色的明暗程度,取值为0~1,其中最暗为0,最亮为1。rgb空间到hsv空间的转换的过程为,首先将r,g,b归一化到0到1之间的数,然后按照如下公式进行转化:

max=max(r,g,b);min=min(r,g,b);

mid=v-min;

如果r=max&g=min,h=(5+b')×60;

如果r=max&g≠min,h=(1-g')×60;

如果g=max&b=min,h=(1+r')×60;

如果g=max&b≠min,h=(3-b')×60;

如果b=max&r=min,h=(3+g')×60;

其他情况h=(5-r')×60;

s=mid/v;

v=max;

该模型无法直接使用三个维度的值进行k-means聚类,需要很好的协调三个分量之间的关系,举例来说,当v趋近于0或者1时,无论s和h怎么变化,颜色都基本不会发生改变,所以这一点就限制了欧氏距离的直接计算。

设hsv空间颜色ci=(hi,si,vi)和cj=(hj,sj,vj),则色彩ci和cj的相似性距离可用以下公式计算:

令hi'=sicoshi;si'=sisinhi

dij∈[0,1],dij的数值越趋近于1,说明两个颜色越相似。

hsi的缺陷和hsv的基本一致。虽然这两类颜色空间模型不适合直接用在聚类上,但它对于颜色差异识别能力很强,在聚类结果密度的判定上有着很好的效果。

而lab空间是一种颜色分布均匀的空间。但是它的问题则在于转换过程最为复杂,且最终得到的数据形式只适合用于颜色的分割的判决条件,而不适合直接用于k-means聚类。

rgb颜色空间是最常用的颜色空间。虽然它有独立的三个维度,可由于r、g、b三色是有联系的,导致该颜色空间的三个维度之间有很强的相关性。所以rgb颜色空间不便于通过三个维度值的变化来表达颜色的变化规律。但与此同时rgb颜色空间呈立方体状,能有效直观的反应数据,而且颜色的变化同样和距离远近存在关联。

所以最终选取rgb颜色空间模型进行聚类分析,并用hsv空间弥补rgb空间在颜色差异判断方面的不足,来计算颜色相似度。对图像像素点rgb属性进行归一化处理后直接聚类,而在最后的聚类结果判定时,将数据转化为hsv再进行判定,这样既能获取颜色的差异程度,同时也避免了使用hsv模型3个维度长度不等需要预处理的问题。

2基于密度的聚类结果优化方法

k-means算法是使用簇内的平均值来作为新的聚类中心不断迭代的,在最后迭代稳定之后也是采用平均值来代表整个簇内所有点的特征,但是对于有些图像的颜色信息来说,取平均值的偏移会造成聚类结果得到的颜色不能充分体现其所在簇的特征。为了改进这个缺陷,本发明采用基于密度的聚类结果改进方法,方法如下:

(1)设置用于处理噪声点的阈值,利用k-means算法进行实验,若第一次聚类后某一簇中数据量小于阈值则停止迭代并重新随机选取初始聚类中心,以此避免了初始聚类中心落在离散区域的问题,可得到较为稳定的聚类结果。

(2)计算步骤一最终得到的聚类中心与该簇中其他点的dij值,若满足dij>0.9的点的个数超过该簇数据总量的25%,则判定为合格,若没有直接判定为不合格,跳转到步骤三。

(3)在不合格的簇内,计算簇内与其他点的相似度dij>0.9的个数最多的点,并将该点作为一个新的聚类中心。与新聚类中心相似度大于阈值的点作为这个新簇的成员点,计算平均值作为最终的聚类中心。

(4)在原来的旧簇中去除掉步骤三所产生新簇的点,剩余的点构成另一个新簇,用均值作为聚类中心,重复步骤(2)-(4)但阈值保持原有量不随之减少,直至没有新的簇产生,剩余点作为噪声点抛出。

因为剩余点一般都为离散点,相较密集点而言距离新产生的聚类中心更远,会增加聚类误差,且如果不抛出剩余点,取平均的计算方式会导致最终的聚类中心在一定程度上偏离高密度区域。

本发明与基于密度选取初始聚类点的改进思路都是基于密度的,传统改进方法是用在了初始点选取的方向上,以大量的运算时间为代价,换取了聚类的稳定性和最小的误差值。但这样的优化在处理图像方面用处较小。本发明将密度用于最终聚类结果的处理上,作用范围仅仅限制在了一个簇而不是整体数据中,对于密度的计算量大大减小,节约了算法的运行时间并得到了优秀的聚类结果。

根据不同的图像可以进行图像预处理,降低图像的分辨率可以提高算法的运行速度,在使用本发明算法时如果数据量过大,建议使用分布式并行运算。根据本发明得到的结果可以有效提高根据颜色匹配图像的精度,和在基于密度思想中较快的运算速度。计算结果可以用于颜色方面较高精度的匹配,或用于将颜色作为推荐算法的一个属性时,提供更高精度的颜色信息。

本发明不但能够有效的提取出小面积醒目主色,更为精确的定位图片颜色信息,相比传统的基于密度提取初始聚类初始点的思想,本发明还通过缩小处理数据集的范围有效的降低算法运算时间,解决了传统思想运算满效果差的弊端。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1