段添耀,柯圓圓
(江漢大學(xué) 人工智能學(xué)院,湖北 武漢 430056)
在繪畫時(shí),可以使用紅色、綠色和藍(lán)色這三種原色(RGB)生成不同的顏色,這些顏色實(shí)際上定義了一個(gè)色彩空間。而人眼對(duì)色彩空間中的色彩是存在主觀感知差異的。在生產(chǎn)生活中,馬賽克圖像越來(lái)越常見(jiàn)。而馬賽克瓷磚是一種尺寸較小的正方形瓷磚,這種瓷磚可在非平整的表面鋪設(shè),并易拼接組合成各種文字或圖案。但是受工藝和成本的限制,瓷磚的顏色只能是有限的幾種。用戶在拼接圖案時(shí),首先要根據(jù)原圖中的顏色,利用三原色光模式選出顏色相近的瓷磚,才能進(jìn)行拼接。關(guān)于RGB色彩空間模型目前研究豐富,如文獻(xiàn)[1]中提出了一種基于多顏色空間卷積神經(jīng)網(wǎng)絡(luò)的車輛顏色分類方法;文獻(xiàn)[2]基于RGB色彩空間提出了一種新的通用無(wú)參考圖像質(zhì)量評(píng)價(jià)方法;文獻(xiàn)[3]根據(jù)RGB顏色空間的顏色信息和亮度信息提出計(jì)算RGB空間下顏色相似性以實(shí)現(xiàn)圖像的分割。為了能夠根據(jù)原始圖片的顏色自動(dòng)找出顏色最接近的瓷磚,以減少客戶人工選色的工作量。本文對(duì)于2021年第十三屆“華中杯”大學(xué)生數(shù)學(xué)建模挑戰(zhàn)賽A題中提出的馬賽克瓷磚選色問(wèn)題進(jìn)行了研究,給出了基于多種顏色模型的瓷磚選色,確定瓷磚原始顏色與待匹配瓷磚顏色的對(duì)應(yīng)關(guān)系算法,對(duì)于任何一種指定顏色的瓷磚可以利用算法輸出顏色最相近的瓷磚的顏色編號(hào)。
本文問(wèn)題提出基于2021年第十三屆“華中杯”大學(xué)生數(shù)學(xué)建模挑戰(zhàn)賽[4]中的A題,即某馬賽克瓷磚生產(chǎn)廠只能生產(chǎn)22種顏色(下文稱已有色)的馬賽克瓷磚(表1),在不同的假設(shè)條件下,分別解決以下兩個(gè)問(wèn)題。
表1 某廠22種現(xiàn)有馬賽克瓷磚顏色表Tab.1 The color table of 22 kinds of existing mosaic tiles in a factory
問(wèn)題1:圖1為附件中RGB空間中均勻分布的216種顏色(下文稱待匹配色),找出與每種顏色最接近的瓷磚顏色,將選出的瓷磚顏色的編號(hào)輸出。
圖1 216種顏色以錐形層狀顯示Fig.1 216 colors shown in conical layers
問(wèn)題2:假設(shè)該廠進(jìn)行技術(shù)革新,計(jì)劃研發(fā)新顏色的瓷磚,在不考慮研發(fā)難度只考慮拼接圖像的表現(xiàn)力時(shí),該優(yōu)先增加哪些顏色的瓷磚?當(dāng)同時(shí)增加1種顏色、2種顏色、…、10種顏色時(shí),分別給出對(duì)應(yīng)顏色的RGB編碼值。
本文擬建立多種顏色模型來(lái)解決以上兩個(gè)問(wèn)題。在建立模型之前,先提出模型成立的假設(shè)條件:假設(shè)原始圖像為24位真彩格式,即R、G、B三個(gè)顏色分量均為8位,共有16 777 216種顏色。假設(shè)該工廠采用的是國(guó)際通用標(biāo)準(zhǔn)色卡,即色系標(biāo)準(zhǔn)為國(guó)際通用RGB,該工廠研發(fā)不同顏色瓷磚的工藝技術(shù)相同,研發(fā)同一種新顏色瓷磚的成本也相同,與顏色本身無(wú)關(guān),
在研發(fā)新顏色的瓷磚時(shí),不考慮研發(fā)難度,只考慮拼接圖像的表現(xiàn)力。
RGB彩色模型是一種常用的彩色信息表達(dá)模型,其中R(Red)代表紅色、G(Green)代表綠色、B(Blue)代表藍(lán)色,該模型使用這3個(gè)顏色的亮度來(lái)定量表示顏色,并基于三原色光中的互相疊加來(lái)實(shí)現(xiàn)混色,因此適用于顯示器等發(fā)光體。目前,基于RGB顏色空間模型可應(yīng)用于工業(yè)上的圖像顏色識(shí)別[5]、圖像檢索[6]、計(jì)算機(jī)輔助設(shè)計(jì)[7]、圖像特征提?。?]、圖像優(yōu)化匹配仿真[9]等多方面。對(duì)于所給顏色的RGB編碼值,可以將編碼值看成一個(gè)三維坐標(biāo)的點(diǎn),這個(gè)三維坐標(biāo)中的X、Y和Z軸分別代表R、G和B的值。因此,可以建立如下幾種顏色模型。
1)RGB歐式距離模型
由于瓷磚顏色的RGB編碼值可看成是三維坐標(biāo)中的點(diǎn),利用兩點(diǎn)之間的歐氏距離,即
其中,x1,y1,z1表示一種顏色對(duì)應(yīng)的RGB編碼值;x2,y2,z2表示另外任一種顏色對(duì)應(yīng)的RGB編碼值。計(jì)算得到d為其歐式距離值,即兩種瓷磚顏色的RGB編碼值的歐式距離值。從而歐式距離值可作為兩種顏色的RGB編碼值相似程度的表現(xiàn)方式,值越小則表示顏色越近似。
2)HSV顏色空間模型
由于RGB模型是圖像的標(biāo)準(zhǔn)坐標(biāo)系統(tǒng),更偏向于計(jì)算機(jī)表示,故可將RGB模型轉(zhuǎn)換成更符合人類生理特征的顏色空間模型。HSV顏色空間是用色調(diào)(H)、飽和度(S)和亮度(V)3個(gè)參數(shù)來(lái)確定顏色的一個(gè)空間,其中色調(diào)H用來(lái)區(qū)分顏色,與人眼能感知的顏色相接近,用角度度量,取值范圍為0°~360°,從紅色開始按逆時(shí)針?lè)较蛴?jì)算;飽和度S表示顏色接近光譜色的程度,與人眼感知顏色的深淺較為吻合,通常取值范圍為0%~100%,值越大,顏色越飽和;亮度V表示顏色明亮的程度,與原始圖片中像素的灰度等級(jí)相對(duì)應(yīng),取值范圍為0%(黑)到100%(白)。HSV顏色空間模型如圖2所示,這種系統(tǒng)也被稱為典型的模擬人眼視覺(jué)系統(tǒng)。實(shí)際應(yīng)用中RGB模型可與HSV顏色模型進(jìn)行轉(zhuǎn)換。
圖2 HSV顏色空間模型Fig.2 HSV color space model
設(shè)給定某一顏色瓷磚的RGB編碼值為(r,g,b),其中(r,g,b)∈[0,1,2,…,255],則利用下述公式將RGB編碼值轉(zhuǎn)換到對(duì)應(yīng)的HSV顏色空間中,關(guān)于HSV顏色轉(zhuǎn)換的研究可參見(jiàn)文獻(xiàn)[10],即設(shè)v′=max(r,g,b),定義r′,g′,b′為
傳統(tǒng)顏色匹配問(wèn)題是以兩瓷磚顏色的歐式距離來(lái)評(píng)價(jià),距離值越小則表示兩顏色越接近。然而,對(duì)于目標(biāo)色有限的點(diǎn)的歐式距離,可能存在兩點(diǎn)距離最近,卻使得兩瓷磚顏色分布在不同色系的情況。本問(wèn)題中所給瓷磚顏色僅22種,利用MATLAB程序編程計(jì)算所有待匹配色瓷磚與已有色瓷磚間的歐式距離。即將問(wèn)題1中的216種待匹配色依次與22種已有色分別計(jì)算得到其歐式距離值d(I,J)(I=1,2,…,216;J=1,2,…,22),找出每一個(gè)的距離最小值dmin(I,J)。此時(shí)第J號(hào)已有色即為第I號(hào)待匹配色最接近的顏色號(hào)。
由于已有色瓷磚個(gè)數(shù)遠(yuǎn)少于216種待匹配色,有些待匹配色與已有色的歐式距離值雖然最?。ǖ珡臄?shù)值上說(shuō)值過(guò)大),會(huì)出現(xiàn)兩種完全不同顏色的瓷磚匹配,以至于瓷磚顏色實(shí)際不匹配的情況。所以,僅以歐式距離值的大小作為衡量標(biāo)準(zhǔn),會(huì)導(dǎo)致許多顏色的匹配出現(xiàn)明顯差距。而MATLAB程序可將結(jié)果可視化,也正好驗(yàn)證顏色出現(xiàn)多次跳躍的不匹配情況(見(jiàn)圖3)。因此,為優(yōu)化匹配算法,在原有的歐式距離上加上適當(dāng)?shù)南拗茥l件,并通過(guò)新的HSV空間匹配方法進(jìn)行重新匹配,即可得到更佳的匹配結(jié)果。
圖3 距離值>48時(shí)匹配的結(jié)果Fig.3 Matching results at a distance>48
本文通過(guò)多次MATLAB程序調(diào)試,發(fā)現(xiàn)當(dāng)dmin(I,J)<48時(shí),匹配結(jié)果如圖4所示,可看出瓷磚顏色匹配程度良好。再利用MATLAB程序代碼計(jì)算,可得到待匹配的216種顏色中有28.7%的瓷磚的顏色匹配度較好,即62種顏色匹配效果良好,其他154種顏色匹配效果一般,會(huì)出現(xiàn)顏色跨越的現(xiàn)象。所以,對(duì)此154種顏色需要優(yōu)化算法來(lái)解決。
圖4 距離值<48時(shí)匹配的結(jié)果Fig.4 Matching results at a distance<48
首先,將距離dmin(I,J)>48的154個(gè)待匹配色與所有已有色的RGB編碼按式(2)和式(3)運(yùn)算轉(zhuǎn)換成為HSV編碼值,并分別記為兩個(gè)集合T i和S i。然后對(duì)HSV顏色空間進(jìn)行劃分,將(h,s,v)按照色調(diào)h數(shù)值的不同采用非等間距的量化方法進(jìn)行第一步分類。
1)對(duì)于v≤0.2的,記A1,黑色系;
2)對(duì)于s≤0.14,且v>0.2的顏色,如果v∈(0.2,0.5],記此顏色為A2;如果v∈(0.5,0.8],記此顏色為A3;如果v∈(0.8,1],記此顏色為A4,即灰白色系;
3)對(duì)于1)和2)以外的顏色,根據(jù)h的數(shù)值可區(qū)分,具體區(qū)分依照已給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°] 。
根據(jù)此方法,將目標(biāo)色與已有色分為A1,A2,…,A11共11類,每一類代表一種肉眼可辨識(shí)的色系。關(guān)于HSV顏色空間的量化和劃分的研究可參見(jiàn)文獻(xiàn)[5]。將T i和S i中的每個(gè)點(diǎn)分到符合分類標(biāo)準(zhǔn)的集合A i中,而已有色的22種顏色的瓷磚以色系不同的劃分可分為11類,結(jié)果見(jiàn)表2。
表2 目標(biāo)色分類結(jié)果表Tab.2 Classification result table of target color
在HSV顏色空間中,H的值主要顯示其色調(diào),S代表亮暗。對(duì)于轉(zhuǎn)換的彩色系A(chǔ) i(i=5,6,…,11),對(duì)已有色和待匹配色進(jìn)行顏色分類后,再對(duì)T i和Si中每個(gè)點(diǎn)計(jì)算其相似度,關(guān)于顏色相似度的研究可見(jiàn)參考文獻(xiàn)[11],計(jì)算得到的相似度(ρi)表示為
其中,H T i,S T i,VT i分別為T集合中第i個(gè)元素的H,S,V值;h S j,s S j,v S j分別為S集合中第j個(gè)元素的H,S,V值;δ1,δ2,δ3是3個(gè)調(diào)節(jié)系數(shù)。
通過(guò)MATLAB程序多次調(diào)節(jié)計(jì)算后發(fā)現(xiàn),當(dāng)δ3為Δh A i,δ2,δ1分別為0.47~0.53和0.86~0.95時(shí),對(duì)亮暗與色調(diào)的區(qū)分度較好。最后對(duì)ρi的值進(jìn)行篩選,找到與已有色最小的ρi即為最佳匹配值。
按上述步驟分類,通過(guò)MATLAB程序可視化,得到彩色色系的匹配結(jié)果(左邊為待匹配色,右邊為22個(gè)已有色按圓錐層次與之對(duì)應(yīng))見(jiàn)圖5。
圖5 A5~A11色彩分類圖Fig.5 Color classification chart of A5-A11
根據(jù)歐式最短距離匹配方法,距離作為判斷依據(jù)太單一。例如該方法下匹配結(jié)果見(jiàn)圖6,綠色的深淺有非常大的差別;應(yīng)用HSV匹配法匹配結(jié)果見(jiàn)圖7,會(huì)讓顏色的明暗更加相近。圖6和圖7結(jié)果僅選用A8色彩分類圖,其他分類圖也同樣考慮。
圖6 A8歐式距離匹配結(jié)果Fig.6 The Euclidean distance matching result of A8
圖7 A8中的色彩分類圖Fig.7 Color classification chart of A8
根據(jù)圖7匹配后的亮暗色的分布結(jié)果可看出,在顏色空間中,深淺顏色的層次更加合理,HSV匹配法能精準(zhǔn)匹配到亮暗接近的顏色,同時(shí)通過(guò)圖7中的目標(biāo)色圖發(fā)現(xiàn)僅3種已有色來(lái)代表所有的待匹配色,其匹配的最后結(jié)果可通過(guò)人眼看出顏色是不相同的,顏色的表現(xiàn)效果相對(duì)之前更加好。若需要更加細(xì)致的匹配分布結(jié)果,則需要添加新顏色來(lái)增強(qiáng)顏色的表現(xiàn)力。
考慮已有色的顏色表現(xiàn)力,我們認(rèn)為已有色若能代表盡可能多的顏色則其表現(xiàn)力強(qiáng)。于是將顏色表現(xiàn)力強(qiáng)弱歸為下述屬性,且關(guān)系優(yōu)先級(jí)如下:
1)已有色在劃分的11類HSV空間,每個(gè)類系的表現(xiàn)力需求為至少有一個(gè)已有色。
2)彩色系的顏色表現(xiàn)力要優(yōu)先考慮。
3)對(duì)于每一類系中已存在的已有色,其已有色的顏色在色系的分布空間越平均,則表現(xiàn)力越強(qiáng)。
對(duì)于問(wèn)題1的匹配分布結(jié)果及上面優(yōu)先級(jí)關(guān)系中的1)~3)對(duì)顏色優(yōu)先級(jí)的考慮,本文提出顏色插值流程圖如圖8所示,采用線性插值的方法,使色域內(nèi)顏色更均勻。
圖8 程序流程Fig.8 Program flow chart
通過(guò)圖8中程序流程所示的方法得到新增顏色的RGB值結(jié)果見(jiàn)表3。
表3 結(jié)果分布Tab.3 Result distribution
空間的分布結(jié)果如表3所示。對(duì)新添加的顏色集使用疊加匹配色可得到添加色結(jié)果如圖8所示(注:本文僅列出4組對(duì)比圖,其他對(duì)比圖也可依次給出,圖9中左圖均為原始色,右邊對(duì)比圖均為目標(biāo)色),可發(fā)現(xiàn):
圖9 添加色后的結(jié)果分布對(duì)比圖Fig.9 Comparison chart of the result distribution after adding color
1)已有色空間顏色分布均勻。
2)通過(guò)新增顏色時(shí)的距離匹配的個(gè)數(shù)減少到114,適合率提高到47.22%。
3)新增的顏色與圖5對(duì)比可看出,結(jié)果疊加模式匹配法后,目標(biāo)色的顏色層次更加鮮明。
在HSV顏色模型中使用分類思想,通過(guò)預(yù)先對(duì)顏色進(jìn)行劃分,對(duì)顏色數(shù)據(jù)進(jìn)行監(jiān)督,將符合分類標(biāo)準(zhǔn)的顏色整合成同一類,可以有效地對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。將顏色圖像可視化,可以讓模型結(jié)果表現(xiàn)得更加直觀,對(duì)比度強(qiáng),方便看出顏色匹配規(guī)律與趨勢(shì)。
在歸類匹配中,對(duì)彩色系中不同顏色的劃分有比較強(qiáng)的要求。當(dāng)問(wèn)題中已有色的數(shù)量少,而需要匹配的顏色數(shù)量多時(shí),若在HSV顏色空間中多種顏色呈現(xiàn)明顯變化,而匹配顏色較為單一,則會(huì)很大程度上影響色調(diào)值的劃分結(jié)果。如果在劃分部分內(nèi)存在的顏色較少,則會(huì)出現(xiàn)表現(xiàn)力不佳的情況,此時(shí)可通過(guò)增加已有顏色來(lái)提高結(jié)果的近似度,或通過(guò)細(xì)分色調(diào)值來(lái)提高匹配結(jié)果的豐富度。