基于多种颜色模型的马赛克瓷砖选色研究
2022-09-02段添耀柯圆圆
段添耀,柯圆圆
(江汉大学 人工智能学院,湖北 武汉 430056)
在绘画时,可以使用红色、绿色和蓝色这三种原色(RGB)生成不同的颜色,这些颜色实际上定义了一个色彩空间。而人眼对色彩空间中的色彩是存在主观感知差异的。在生产生活中,马赛克图像越来越常见。而马赛克瓷砖是一种尺寸较小的正方形瓷砖,这种瓷砖可在非平整的表面铺设,并易拼接组合成各种文字或图案。但是受工艺和成本的限制,瓷砖的颜色只能是有限的几种。用户在拼接图案时,首先要根据原图中的颜色,利用三原色光模式选出颜色相近的瓷砖,才能进行拼接。关于RGB色彩空间模型目前研究丰富,如文献[1]中提出了一种基于多颜色空间卷积神经网络的车辆颜色分类方法;文献[2]基于RGB色彩空间提出了一种新的通用无参考图像质量评价方法;文献[3]根据RGB颜色空间的颜色信息和亮度信息提出计算RGB空间下颜色相似性以实现图像的分割。为了能够根据原始图片的颜色自动找出颜色最接近的瓷砖,以减少客户人工选色的工作量。本文对于2021年第十三届“华中杯”大学生数学建模挑战赛A题中提出的马赛克瓷砖选色问题进行了研究,给出了基于多种颜色模型的瓷砖选色,确定瓷砖原始颜色与待匹配瓷砖颜色的对应关系算法,对于任何一种指定颜色的瓷砖可以利用算法输出颜色最相近的瓷砖的颜色编号。
1 问题提出
本文问题提出基于2021年第十三届“华中杯”大学生数学建模挑战赛[4]中的A题,即某马赛克瓷砖生产厂只能生产22种颜色(下文称已有色)的马赛克瓷砖(表1),在不同的假设条件下,分别解决以下两个问题。
表1 某厂22种现有马赛克瓷砖颜色表Tab.1 The color table of 22 kinds of existing mosaic tiles in a factory
问题1:图1为附件中RGB空间中均匀分布的216种颜色(下文称待匹配色),找出与每种颜色最接近的瓷砖颜色,将选出的瓷砖颜色的编号输出。
图1 216种颜色以锥形层状显示Fig.1 216 colors shown in conical layers
问题2:假设该厂进行技术革新,计划研发新颜色的瓷砖,在不考虑研发难度只考虑拼接图像的表现力时,该优先增加哪些颜色的瓷砖?当同时增加1种颜色、2种颜色、…、10种颜色时,分别给出对应颜色的RGB编码值。
2 基于多种颜色模型的马赛克瓷砖选色
2.1 模型假设
本文拟建立多种颜色模型来解决以上两个问题。在建立模型之前,先提出模型成立的假设条件:假设原始图像为24位真彩格式,即R、G、B三个颜色分量均为8位,共有16 777 216种颜色。假设该工厂采用的是国际通用标准色卡,即色系标准为国际通用RGB,该工厂研发不同颜色瓷砖的工艺技术相同,研发同一种新颜色瓷砖的成本也相同,与颜色本身无关,
在研发新颜色的瓷砖时,不考虑研发难度,只考虑拼接图像的表现力。
2.2 模型建立
RGB彩色模型是一种常用的彩色信息表达模型,其中R(Red)代表红色、G(Green)代表绿色、B(Blue)代表蓝色,该模型使用这3个颜色的亮度来定量表示颜色,并基于三原色光中的互相叠加来实现混色,因此适用于显示器等发光体。目前,基于RGB颜色空间模型可应用于工业上的图像颜色识别[5]、图像检索[6]、计算机辅助设计[7]、图像特征提取[8]、图像优化匹配仿真[9]等多方面。对于所给颜色的RGB编码值,可以将编码值看成一个三维坐标的点,这个三维坐标中的X、Y和Z轴分别代表R、G和B的值。因此,可以建立如下几种颜色模型。
1)RGB欧式距离模型
由于瓷砖颜色的RGB编码值可看成是三维坐标中的点,利用两点之间的欧氏距离,即
其中,x1,y1,z1表示一种颜色对应的RGB编码值;x2,y2,z2表示另外任一种颜色对应的RGB编码值。计算得到d为其欧式距离值,即两种瓷砖颜色的RGB编码值的欧式距离值。从而欧式距离值可作为两种颜色的RGB编码值相似程度的表现方式,值越小则表示颜色越近似。
2)HSV颜色空间模型
由于RGB模型是图像的标准坐标系统,更偏向于计算机表示,故可将RGB模型转换成更符合人类生理特征的颜色空间模型。HSV颜色空间是用色调(H)、饱和度(S)和亮度(V)3个参数来确定颜色的一个空间,其中色调H用来区分颜色,与人眼能感知的颜色相接近,用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算;饱和度S表示颜色接近光谱色的程度,与人眼感知颜色的深浅较为吻合,通常取值范围为0%~100%,值越大,颜色越饱和;亮度V表示颜色明亮的程度,与原始图片中像素的灰度等级相对应,取值范围为0%(黑)到100%(白)。HSV颜色空间模型如图2所示,这种系统也被称为典型的模拟人眼视觉系统。实际应用中RGB模型可与HSV颜色模型进行转换。
图2 HSV颜色空间模型Fig.2 HSV color space model
设给定某一颜色瓷砖的RGB编码值为(r,g,b),其中(r,g,b)∈[0,1,2,…,255],则利用下述公式将RGB编码值转换到对应的HSV颜色空间中,关于HSV颜色转换的研究可参见文献[10],即设v′=max(r,g,b),定义r′,g′,b′为
3 模型的求解与结果分析
3.1 问题1求解
传统颜色匹配问题是以两瓷砖颜色的欧式距离来评价,距离值越小则表示两颜色越接近。然而,对于目标色有限的点的欧式距离,可能存在两点距离最近,却使得两瓷砖颜色分布在不同色系的情况。本问题中所给瓷砖颜色仅22种,利用MATLAB程序编程计算所有待匹配色瓷砖与已有色瓷砖间的欧式距离。即将问题1中的216种待匹配色依次与22种已有色分别计算得到其欧式距离值d(I,J)(I=1,2,…,216;J=1,2,…,22),找出每一个的距离最小值dmin(I,J)。此时第J号已有色即为第I号待匹配色最接近的颜色号。
由于已有色瓷砖个数远少于216种待匹配色,有些待匹配色与已有色的欧式距离值虽然最小(但从数值上说值过大),会出现两种完全不同颜色的瓷砖匹配,以至于瓷砖颜色实际不匹配的情况。所以,仅以欧式距离值的大小作为衡量标准,会导致许多颜色的匹配出现明显差距。而MATLAB程序可将结果可视化,也正好验证颜色出现多次跳跃的不匹配情况(见图3)。因此,为优化匹配算法,在原有的欧式距离上加上适当的限制条件,并通过新的HSV空间匹配方法进行重新匹配,即可得到更佳的匹配结果。
图3 距离值>48时匹配的结果Fig.3 Matching results at a distance>48
本文通过多次MATLAB程序调试,发现当dmin(I,J)<48时,匹配结果如图4所示,可看出瓷砖颜色匹配程度良好。再利用MATLAB程序代码计算,可得到待匹配的216种颜色中有28.7%的瓷砖的颜色匹配度较好,即62种颜色匹配效果良好,其他154种颜色匹配效果一般,会出现颜色跨越的现象。所以,对此154种颜色需要优化算法来解决。
图4 距离值<48时匹配的结果Fig.4 Matching results at a distance<48
首先,将距离dmin(I,J)>48的154个待匹配色与所有已有色的RGB编码按式(2)和式(3)运算转换成为HSV编码值,并分别记为两个集合T i和S i。然后对HSV颜色空间进行划分,将(h,s,v)按照色调h数值的不同采用非等间距的量化方法进行第一步分类。
1)对于v≤0.2的,记A1,黑色系;
2)对于s≤0.14,且v>0.2的颜色,如果v∈(0.2,0.5],记此颜色为A2;如果v∈(0.5,0.8],记此颜色为A3;如果v∈(0.8,1],记此颜色为A4,即灰白色系;
3)对于1)和2)以外的颜色,根据h的数值可区分,具体区分依照已给h范围色值划分,彩色系 划 分 为:A5:h∈ (330°,10°] ,A6:h∈ (10°,45°],A7:h∈ (45°,65°],A8:h∈ (65°,165°],A9:h∈ (165°,200°] ,A10:h∈ (200°,262°],A11:h∈ (262°,330°] 。
根据此方法,将目标色与已有色分为A1,A2,…,A11共11类,每一类代表一种肉眼可辨识的色系。关于HSV颜色空间的量化和划分的研究可参见文献[5]。将T i和S i中的每个点分到符合分类标准的集合A i中,而已有色的22种颜色的瓷砖以色系不同的划分可分为11类,结果见表2。
表2 目标色分类结果表Tab.2 Classification result table of target color
在HSV颜色空间中,H的值主要显示其色调,S代表亮暗。对于转换的彩色系A i(i=5,6,…,11),对已有色和待匹配色进行颜色分类后,再对T i和Si中每个点计算其相似度,关于颜色相似度的研究可见参考文献[11],计算得到的相似度(ρi)表示为
其中,H T i,S T i,VT i分别为T集合中第i个元素的H,S,V值;h S j,s S j,v S j分别为S集合中第j个元素的H,S,V值;δ1,δ2,δ3是3个调节系数。
通过MATLAB程序多次调节计算后发现,当δ3为Δh A i,δ2,δ1分别为0.47~0.53和0.86~0.95时,对亮暗与色调的区分度较好。最后对ρi的值进行筛选,找到与已有色最小的ρi即为最佳匹配值。
按上述步骤分类,通过MATLAB程序可视化,得到彩色色系的匹配结果(左边为待匹配色,右边为22个已有色按圆锥层次与之对应)见图5。
图5 A5~A11色彩分类图Fig.5 Color classification chart of A5-A11
根据欧式最短距离匹配方法,距离作为判断依据太单一。例如该方法下匹配结果见图6,绿色的深浅有非常大的差别;应用HSV匹配法匹配结果见图7,会让颜色的明暗更加相近。图6和图7结果仅选用A8色彩分类图,其他分类图也同样考虑。
图6 A8欧式距离匹配结果Fig.6 The Euclidean distance matching result of A8
图7 A8中的色彩分类图Fig.7 Color classification chart of A8
根据图7匹配后的亮暗色的分布结果可看出,在颜色空间中,深浅颜色的层次更加合理,HSV匹配法能精准匹配到亮暗接近的颜色,同时通过图7中的目标色图发现仅3种已有色来代表所有的待匹配色,其匹配的最后结果可通过人眼看出颜色是不相同的,颜色的表现效果相对之前更加好。若需要更加细致的匹配分布结果,则需要添加新颜色来增强颜色的表现力。
3.2 问题2求解
考虑已有色的颜色表现力,我们认为已有色若能代表尽可能多的颜色则其表现力强。于是将颜色表现力强弱归为下述属性,且关系优先级如下:
1)已有色在划分的11类HSV空间,每个类系的表现力需求为至少有一个已有色。
2)彩色系的颜色表现力要优先考虑。
3)对于每一类系中已存在的已有色,其已有色的颜色在色系的分布空间越平均,则表现力越强。
对于问题1的匹配分布结果及上面优先级关系中的1)~3)对颜色优先级的考虑,本文提出颜色插值流程图如图8所示,采用线性插值的方法,使色域内颜色更均匀。
图8 程序流程Fig.8 Program flow chart
通过图8中程序流程所示的方法得到新增颜色的RGB值结果见表3。
表3 结果分布Tab.3 Result distribution
空间的分布结果如表3所示。对新添加的颜色集使用叠加匹配色可得到添加色结果如图8所示(注:本文仅列出4组对比图,其他对比图也可依次给出,图9中左图均为原始色,右边对比图均为目标色),可发现:
图9 添加色后的结果分布对比图Fig.9 Comparison chart of the result distribution after adding color
1)已有色空间颜色分布均匀。
2)通过新增颜色时的距离匹配的个数减少到114,适合率提高到47.22%。
3)新增的颜色与图5对比可看出,结果叠加模式匹配法后,目标色的颜色层次更加鲜明。
4 模型的评价及优化
在HSV颜色模型中使用分类思想,通过预先对颜色进行划分,对颜色数据进行监督,将符合分类标准的颜色整合成同一类,可以有效地对数据进行预处理。将颜色图像可视化,可以让模型结果表现得更加直观,对比度强,方便看出颜色匹配规律与趋势。
在归类匹配中,对彩色系中不同颜色的划分有比较强的要求。当问题中已有色的数量少,而需要匹配的颜色数量多时,若在HSV颜色空间中多种颜色呈现明显变化,而匹配颜色较为单一,则会很大程度上影响色调值的划分结果。如果在划分部分内存在的颜色较少,则会出现表现力不佳的情况,此时可通过增加已有颜色来提高结果的近似度,或通过细分色调值来提高匹配结果的丰富度。