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