彩色图像颜色量化问题的求解方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

彩色图像颜色量化问题的求解方法
李贺; 江登英; 黄樟灿; 王占占
【期刊名称】《《计算机应用》》
【年(卷),期】2019(039)009
【总页数】6页(P2646-2651)
【关键词】图像量化; 金字塔结构; K均值聚类; 粒子群优化算法; 智能算法
【作者】李贺; 江登英; 黄樟灿; 王占占
【作者单位】武汉理工大学理学院武汉430073
【正文语种】中文
【中图分类】TP317.4
0 引言
彩色图像颜色量化是图像处理领域的一项基本技术,它将图像色彩从一个较大颜色集合映射到另一个较小颜色集合,通过选择最优的K种颜色建立目标调色板,使得根据目标调色板所得到的重建图像失真度最小[1]。

颜色量化在图像处理的很多领域有着重要的作用,特别是彩色图像的应用领域,比如:图像压缩、图像存储、图像分割[2]、图像复原等。

目前颜色量化方法较多,如八叉树[3]、K-means算法[4]、遗传算法(Genetic Algorithm, GA)[5]以及粒子群优化(Particle Swarm Optimization, PSO)算法[6]等。

许永峰等[7]把K-means聚类方法和粒子群优化算法结合起来,对彩色图像进
行聚类量化,该算法在峰值信噪比和均方根误差评判准则下可以得到更好的量化结果。

Alamdar等[8]提出了一种基于遗传算法和粒子群优化算法的模糊C均值聚类(the Fuzzy C-Means clustering, FCM) 混合算法,新算法结合了三种算法的优点,聚类效果优于其他算法。

Omran等[9]提出了一种基于PSO算法的彩色图像颜色量化算法(Color Image Quantization algorithm based on Particle Swarm Optimization, PSO-CIQ),该算法应用PSO来细化从K-means聚类算法中获得
的质心。

苏清华[10]提出了基于差分进化的彩色图像颜色量化算法DE-
CIQ(Differential Evolution based Color Image Quantization algorithm),在DE/best/1策略中小概率的应用K-means聚类策略进行局部调整,提高了
DE/best/1策略的量化效果和收敛速度。

以上所提到的K-means聚类算法是一种收敛速度较快的搜索算法,但它对初始条件依赖性较强,一旦选定了初始聚类中心,则后面的迭代过程是完全确定的,即该算法缺乏探索新解的能力,所以它容易陷入局部最优解,在重建彩色图像时很
可能会严重失真[11],这与梯度下降法相似,初始值的选取决定着能否寻求到全局最优解。

而PSO、DE等智能算法虽然降低了对初始解的依赖,但这些算法将研究重心放在了个体之间的竞争上,主要解决种群内部个体开采与探索的矛盾,而忽略了种群内部个体或者种群之间竞争与协作的矛盾。

谈庆[12]在2018年提出了金字塔结构演化策略(Pyramid Evolution Strategy, PES),它的并行搜索的特点克服了K-means极度依靠初始点的选择的缺陷。

此外,PES有着明确的分工机制与晋升
机制,能够兼顾平衡开采与探索、竞争与协作的矛盾,弥补了传统的演化算法顾此失彼的缺陷,有着很强的跳出局部最优的优点。

因此,本文将彩色图像颜色量化作为一种NP问题,提出了一种基于K-means的PES彩色图像颜色量化算法。

首先,将K-means聚类算法中的聚类损失函数作为新算法的适应度函数;其次,根据金字塔结构演化策略的分层机制将初始化种群分
层,通过个体探索、加速、聚类、传递等过程进行个体更新以及迭代;最后,通过仿真实验验证该算法在类内均方误差评判准则下得到失真度低于其他算法的量化图像。

1 类内均方误差函数
设大小为m×n的彩色图像Y记作:
Y(i, j)={YR(i, j),YG(i, j),YB(i, j)|
1≤i≤m,1≤j≤n}
其中YR(i, j),YG(i, j),YB(i, j)分别表示了图像Y的第i行第j列像素点所包含的红、绿、蓝三种颜色。

设量化后的图像Y′记作:
Y′(i, j)=
1≤i≤m,1≤j≤n}
其中分别表示量化后图像Y′第i行第j列像素点所包含的红、绿、蓝三种颜色。

彩色图像Y与其量化图像Y′之间的颜色失真度一般用类内均方误差函数(Mean Squared Error, MSE)来度量[8],其定义如下:
MSE
(1)
MSE值表示量化图像的平均失真度,从式(1)中可以看出:MSE值越大,原图像Y 与量化后的图像Y′之间的差别越大;MSE值越小,则原图像Y与量化后的图像Y′之间的差别越小,量化效果就越好[10]。

2 K-means聚类算法
K-means聚类算法是聚类算法的典型代表,其基本思想是:设X=(x1,x2,…,xn)是
由n个样本组成的样本集,K(2≤K≤n)为预先设定的类别数目,为第k类样本的中心,根据样本点到某个样本中心的距离最小来判断样本点属于某一类别,其中聚类损失函数为:
(2)
聚类评判标准即聚类损失函数达到最小,经过每次迭代后的聚类中心更新为:
(3)
其中:Xk表示属于第k类的所有样本点,nk表示第k类样本点的数目。

K-means聚类算法的具体流程如下:
1) 给定初始样本点X,分类数目K以及终止条件ε>0(或最大迭代数目MAXGEN)。

2) 初始化聚类中心并计算聚类损失函数f,令gen=0。

3) 计算以及
4)计算fgen+1,如果‖fgen+1-fgen‖<ε(gen>MAXGEN),则停止迭代;否则令gen=gen+1,返回步骤3)。

3 金字塔演化策略
3.1 PES基本思想
将种群分为不同的层次,层内个体相互竞争,层间个体相互协作,分布在底层的个体竞争范围较广,数量较多;分布在上层的个体竞争范围相对较小,数量较少。

每层中的个体之间相互竞争,优秀的个体有上升到更高层的机会。

例如,一家企业公司的组成可以由金字塔结构进行表示:由决策层做出一些重大决策,然后由管理层传递命令,最后由基层进行实现,通过层与层之间的信息交互达到协作的目的。

层与层之间不是固定的,而是存在竞争协作流动的,如果个体业绩做好了,他会在同层之中脱颖而出,会有上升的机会;反之,则有可能被淘汰[13]。

PES整体框架是一个金字塔形状,由探索层、传递层、开采层组成,同层个体之间存在竞争关系,层与层之间存在协作关系。

如图1所示,在PES中,通过对种群进行适应度评估,适应度值较小的个体侧重
于探索工作,被分配到第4层;适应度值中等的个体负责开采、探索与传递工作,被分到2、3层;适应度值最大的个体侧重于开采工作,被分到第1层;由下至上每层个体数逐渐减少。

图1 PES框架Fig. 1 PES framework
3.2 层内竞争
由于不同层分工的不同,竞争策略也不一样。

探索层个体为了探索发现一些潜在优质个体,它们的产生具有较大的不确定性,产生范围较广(即搜索半径大);传递层位于探索层与开采层之间,个体不确定性有所限制,其主要是构建开采与探索之间的桥梁并完成开采初步筛选,同时把潜在的优秀个体传输给上一层;而位于顶层的开采层,它具有足够强的开采能力去开采和深挖,可以把每一个潜在优秀个体所对应的区域开采完全[12]。

3.3 层间协作
层间协作主要由两部分组成:传递过程与孵化过程。

对于不同层之间,通过优秀个体向上传递进行升层操作;对于传递上去的新的潜在优秀个体,需要进行保护培养政策来孵化,充分挖掘他的潜力,而不是直接与该层中的优秀个体竞争[12]。

4 基于K-means的PES彩色图像量化算法
由于K-means聚类算法对初始值敏感、易陷入局部极小值而得不到全局最优解。

本文将具有全局寻优能力且考虑种群之间相互协作的PES和K-means聚类算法结合起来,将K-means聚类算法的聚类损失函数作为新算法的粒子适应度函数,将类内均方误差作为评价准则,对彩色图像进行不同量化级的量化。

4.1 参数设置
给定K作为彩色图像量化后的色彩量化级,本文取K=16、32、64,各层种群个体数量所占比例divide=(0.1,0.2,0.3,0.4)[12],各层搜索邻域半径R=(1,3,6,8),各层传递比例trans=(0.2,0.4,0.6)[12],加速步长lamta=0.3,迭代的最大次数MAXGEN=200[10]。

4.2 种群初始化
由于彩色图像包括R、G、B三种颜色,设self(N,3)是大小为m×n的图像Y所有颜色构成的矩阵,根据下列公式可以将原图像中不同颜色提取出来。

Dif_X0=unique(self ,′rows′)
(4)
其中:Dif_X0为原图像中不同颜色的集合,self表示一幅图像的所有颜色;rows 是一个参数设置,用来获取矩阵self中不同行向量构成的矩阵;N=m×n,unique函数是把self(N,3)的不重复元素提取出来;再选取原图像中不同的K种颜色作为一个个体,记作:X(K,3,i)(i=1,2,…,NIND,NIND表示种群个数)。

则初始种群X可记为X(K,3,NIND),其中每一个个体都被表示成一个K×3的矩阵。

4.3 个体更新
根据式(2)计算每个个体的适应度值,将个体按照适应度值大小顺序以及分层比例进行分层。

在分配过程中:
num(i)=cumsum(length(F)×divided)
(5)
其中:F是经排序后的种群适应度值向量,cumsum是对向量进行累计求和,num(i)是每层所分配的最后一个个体在适应度向量中所占的位置。

根据式(5)中的num(i),将全部种群个体分别分配到探索层、传递层2、传递层1和开采层,具体操作如下:
(6)
(7)
其中:Xi′表示每层个体,Fi表示每层个体的适应值。

通过式(5)~(7),将种群个体根据适应值大小合理地分配给每一层。

为了寻得最优解,每一层的个体都需要进行探索过程、加速过程、传递过程以及聚类过程。

4.3.1 探索过程
由于每一层的任务侧重点不同,分工和探索半径也不同,第四层主要侧重探索,新个体的产生需要较大的随机性,因此该层探索半径较大。

第一层的个体适应性较好,主要侧重于开采,为了把每一个潜在优秀个体所对应的区域开采完全,需要对其设置一个较小的探索半径,搜索半径反映了个体的开采与探索的能力。

在文献[12]中,每一层的搜索半径是依据变量的上界U与下界L而选择,如PES将第1层的搜索半径设置为0.03*(U-L),第2层设置为0.05*(U-L),第3层设置为0.1*(U-L),第4层设置为0.55*(U-L)。

在本文中,所研究的色彩值的每个分量是0~255的一个整数,为了方便起见,本文从第1层~第4层的搜索半径依次设为1、3、6、8。

当然,搜索半径的大小影响着算法的寻优能力,如果设置得过大,则算法的全局搜索能力变强,但局部搜索能力会变弱,反之亦然,它与差分进化算法中的收缩因子F、遗传算法中的交叉概率Pc等有着相似的作用,是影响算法性能的一个人为设
置的参数。

设每层探索半径为Ri(i=1,2,3,4),则:
xnew=x+randperm(2*Ri+1,3)-Ri-1
(8)
其中:xnew表示由原来个体x探索出的新个体。

整个式(8)保证了个体x是在以自身为中心,半径为Ri的邻域内搜索。

4.3.2 加速过程
在探索到新个体之后,为了能够更好地完成初步筛选的功能,对其进行加速操作。

加速规则如下:
(9)
其中: f为适应度函数,xnew-x,x-xnew表明个体加速过程是朝着更优的方向进行的。

步长值设置为小数,是为了避免差值较大而错过最优解,经过调试,本文暂时将其设置为0.3。

4.3.3 传递过程
除了第一层,其他各层的传递过程均是从该层得到的新群体中选取一定比例的个体向上一层进行传递,然后按照规模为2的随机联赛规则选取每一个被传递的个体。

传递过程充分体现了层与层之间的相互协作,优秀的个体得到了晋升的机会,上升到上一层,在新的一层中会与同层个体再次进行竞争以获得上升到更高层的机会。

4.3.4 K-means聚类
对每一个由探索、加速过程得到的新个体都需要进行K-means聚类。

首先根据式(3)得到新的聚类中心,即新的个体;然后根据式(2)计算新个体的适应度值;最后将新旧个体的适应度值进行比较,并选择一定比例的优质个体传递到上一层。

4.4 整合新种群
将每一层探索并聚类后的新个体、加速并聚类后的新个体、以及传递而来的新个体整合在一起,按照轮盘赌规则从中选择同等数量的个体作为该层新个体。

4.5 算法流程
步骤1 确定参数,给定K作为彩色图像的色彩量化级,确定种群规模NIND,以
及各层种群个体所占比例divide,迭代的最大次数MAXGEN;
步骤2 种群初始化,随机选取原图像中的K种不同颜色作为一个个体x,构造初
始种群,记为X(K,3,NIND);
步骤3 种群分层,按照式(2)计算每个个体的适应值,将总的个体按适应值从大到
小的排序,并根据式(5)、(6)、(7)进行分层;
步骤4 对个体进行更新,每层个体通过探索、K-means聚类、加速、K-means
聚类过程进行更新,并从整合后的群体中按比例选取一定数量个体传递到上一层;步骤5 终止条件判断,如果gen>MAXGEN,则终止,并根据得到最优的色彩结
果对原彩色图像Y进行量化,画出量化图像Y′;否则令gen=gen+1,X=NewX,重新回到步骤3。

4.6 时间复杂度分析
设最大迭代次数为MAXGEN,种群规模为NIND,色彩量化级为K,由4.5节知,在一个完整的循环过程,第3步、第4步与第5步为并列操作,语句的执行频度
均为f(n)=NIND·K,则对于算法的全部循环过程,语句的执行频度为f(n)= MAXGEN·NIND·K, 因此本文算法的时间复杂度可表示为
T(n)=O(f(n))=O(MAXGEN·NIND·K),K-means聚类算法与探索等过程是并列的,并没有增加PES的时间复杂度,因此本文算法的时间复杂度与PES算法保持一致。

5 仿真实验
为验证算法的有效性,实验对文献[10]中的大小(分辨率)为512×512的4幅标准
测试图像进行量化,如图2(a)前4幅图像所示,将本文新算法与K-means算法、PSO算法、DE/best/1算法以及基于PES的算法对彩色图像量化结果进行比较。

这里用类内均方误差MSE作为对比量。

根据已有文献参数显示,在PSO算法和DE/best/1算法中,均有以下设置:种群规模为100,最大迭代次数为200,算
法均运行10次,记录10次实验中最小的MSE值。

因此本文算法参数设置为种群规模100,最大迭代次数200,加速步长为0.3,同样运行10次,记录10次实
验中的最小MSE值。

图2 不同算法的量化图像Fig. 2 Quantized images by different algorithms
以16色彩量化级的图像为例,本文展示了5种不同算法的量化图像,如图2前4幅图像中的(b)~(f)所示,同时以Lenna、Baboon图像为例展示了部分细节效果,如图2后2幅图像Detail-L与Detail-B中的(b)~(f)所示。

其中每幅图中的 (b)、(c)、(d)、(e)和(f)分别表示本文算法、PES、DE/best/1、PSO、K-means聚类算法的量化图像。

需要指出的是,DE/best/1、PSO、K-means这三种算法的量化
图像效果来源于文献[10]。

表1为PES、DE/best/1、PSO、K-means以及本文
算法分别对Pepper、Airplane、Lenna、Baboon这四幅图像10次量化后的最
小MSE值比较。

表2为本文算法与其他算法在3个量化级、3幅图像的MSE值
的平均差值比。

表1 5种算法的10次量化图像最小MSE值比较Tab. 1 Minimum MSE comparison of 10 quantitative images of five algorithms颜色数k算法PepperAirplaneLennaBaboon163264本文算法
17.13158.304611.684021.5495PES17.49389.513612.391821.8468DE/best/1 17.59368.426913.033322.8510PSO36.343621.354029.664435.8892K-means18.10869.114115.640122.9532本文算法
13.22586.61888.499616.5196PES14.00327.75979.291517.2471DE/best/114. 19976.673410.650517.9704PSO31.221618.387926.245429.8687K-
means14.32637.193311.328418.1240本文算法
10.20985.27546.04836.1441PES11.27456.94977.962513.7982DE/best/113.4 7326.26869.275314.9003PSO25.233014.302721.759324.6169K-
means11.58295.79696.268614.0429
图2前4幅图像分别展示了不同算法在色彩量化级为16时的量化图像;图2后两幅图像分别展示了图2(a)中Lenna与Baboon两幅图像黑框部位不同算法的细节效果,通过图像对比可以看出,本文算法得到的量化图像与原图像更加贴近。

通过表1数据可以看出:
1) 对于图像Pepper、Baboon,无论色彩量化级为k=16、k=32或k=64,基于PES的算法的MSE值都低于PSO 算法、DE/best/1算法以及K-means的MSE 值,且色彩量化级越少,两者差别越大。

2) 对于图像Lenna,无论色彩量化级为k=16或k=32,基于PES的算法的MSE 值都低于PSO 算法、DE/best/1算法以及K-means的MSE值。

但当k=64时,K-means算法的MSE值低于PES算法的MSE值。

3) 对于图像Airplane,在3个色彩量化级,基于PES的算法的MSE值仅低于PSO算法的MSE值。

与DE/best/1算法和K-means算法相比,其MSE值都比
较大,量化结果较差。

以上结果分析表明,基于PES的算法总体比PSO 算法和DE/best/1算法的量化
效果好,这也体现了作为智能算法,以往智能算法只把问题的核心放在个体的竞争上,而忽略了种群层间相互协作的不足,以及PES算法通过人才培养机制综合考
虑种群层内竞争、层间合作的优势之处。

但K-means作为经典的聚类算法,具有较强的局部搜索能力,其聚类效果以及收敛速度是极好的。

从表1数据可以看出,随着色彩量化级的增加, K-means量化效果也逐渐增强,当k=64时,其量化效果优于PES的量化效果。

本文新算法综合考虑PES和K-means的优缺点,首先通过具有全局寻优能力的PES智能算法避免了K-means聚类算法易陷入局部最优的缺点,然后结合K-means聚类算法聚类效果好的优点,最后对原图像进行量化。

从表1可以看出,
在k=16、32、64时,新算法所得MSE值均比其他算法小,这说明了该算法在克服了K-means聚类算法对初始点敏感和易陷入局部最优的问题后展现出的优越性。

从表2可以看出,新算法对于Pepper、Airplane、Lenna三幅图像量化后的MSE平均差值比为:比PES低12.25%,比DE/best/1低15.52%,比PSO低
58.33%,比K-means低15.06%。

以上分析均表明,新算法的量化效果优于其他智能算法以及K-means聚类算法。

表2 新算法与其他四种算法的MSE值的平均差值比Tab. 2 Average difference rates between MSE values of new algorithm and other four algorithms算法平均差值比/%算法平均差值比/%PES12.25DE/best/115.52PSO58.33K-means15.06
6 结语
本文把将PES用于彩色图像颜色量化中,将K-means聚类算法中的聚类损失函数作为个体适应度函数,提出了一种基于K-means的PES彩色图像量化方法。

本方法充分利用了PES的特点,较好地解决了彩色图像颜色量化中K-means聚类算法对初值选择很敏感的问题,同时考虑了种群个体在优化过程中层内个体相互竞争与层间个体相互协作的问题,平衡了算法开采与探索、协作与竞争的矛盾,让协作和竞争变得高效。

仿真实验表明,新算法对彩色图像的量化效果优于粒子群等智能算法以及K-means聚类算法的量化效果,并且可以产生较好的视觉效果。

参考文献(References)
【相关文献】
[1] 徐速,胡健,周元.基于微粒群优化算法的颜色量化[J].数字通信,2011,38(2):61-63.(XU S, HU J, ZHOU Y. Color quantization based on particle swarm optimization algorithm[J]. Digital Communication, 2011, 38(2): 61-63.)
[2] 谢江宁,王磊.基于层级分割的颜色恒常性算法[J].山东大学学报 (理学版),2016,51(1):101-105.(XIE J N, WANG L. Color constancy using hierarchical segments [J]. Journal of Shandong University (Natural Science), 2016, 51(1): 101-105.)
[3] 耿国华,周明全.基于八叉树结构的色彩量化算法[J].小型微型计算机系统,1997,18(1):24-
29.(GENG G H, ZHOU M Q. Color quantization algorithm based on octree structure [J].
Mini-Micro Systems, 1997, 18(1): 24-29.)
[4] FRACKIEWICZ M, PALUS H. K-means color image quantization with deterministic initialization: new image quality metrics [C]// Proceedings of the 2018 International Conference on Image Analysis and Recognition, LNCS 10882. Berlin:Springer, 2018: 56-61.
[5] ZHANG Y, XU T, GAO W. Image retrieval based on GA integrated color vector quantization and curvelettransform [C]// Proceedings of the 2012 International Conference in Swarm Intelligence, LNCS 7331. Berlin: Springer, 2012: 406-413.
[6] 沙秋夫,刘向东,何希勤,等.一种基于粒子群算法的色彩量化方案[J].中国图象图形学
报,2007,12(9):1544-1548.(SHA Q F, LIU X D, HE X Q, et al. Color image quantization using particle swarm optimization [J]. Journal of Image and Graphics, 2007, 12(9): 1544-1548.)
[7] 许永峰,姜振益.一种基于粒子群优化的K-均值彩色图像量化算法[J].西北大学学报(自然科学版),2012,42(3):351-354.(XU Y F, JIANG Z Y. A K-means color image quantization method based on particle swarm optimization [J]. Journal of Northwest University (Natural Science Edition), 2012, 42(3): 351-354.)
[8] ALAMDAR F, BAHMANI Z, HARATIZADEH S. Color quantization with clustering by F-PSO-GA[C]// Proceedings of the 2010 IEEE International Conference on Intelligent Computing and Intelligent Systems. Piscataway, NJ: IEEE, 2010: 233-238.
[9] OMRAN M G, ENGELBRECHT A P, SALMAN A. A color image quantization algorithm based on particle swarm optimization [J]. Informatica, 2005, 29(3): 261-270.
[10] 苏清华.图像颜色量化模型优化方法及其在裂纹图像中的应用[D].武汉:武汉理工大学,2013:11-57.(SU Q H. Optimization methods of image color quantization model and its application in crack images [D]. Wuhan: Wuhan University of Technology, 2013: 11-57.)
[11] FREISLEBEN B, SCHRADER A. An evolutionary approach to color image quantization
[C]// Proceedings of the 1997 IEEE International Conference on Evolutionary Computation. Piscataway, NJ: IEEE, 1997:459-464.
[12] 谈庆.基于金字塔结构的群智能演化策略[D].武汉:武汉理工大学,2018:13-21.(TAN Q. Group intelligence evolution strategy based on pyramid structure [D]. Wuhan: Wuhan University of Technology, 2008: 13-21.)
[13] DURKHEIM É. The Division of Labour in Socie ty [M]. London: Macmillan Education UK, 2013: 5-10.。

相关文档
最新文档