胡 群, 張 寧, 潘如如
(生態紡織教育部重點實驗室(江南大學), 江蘇 無錫 214122)
印花面料設計師借助計算機輔助系統(CAD)設計花型,生產人員根據花型顏色分開制版進行打樣。花型設計專業度要求高,分色制版耗時費力,花型顏色變換、生產系列產品困難。通過獲取印花圖像分色來實現面料分色換色的方法,可模擬印花面料打樣效果,快速生成系列產品,為設計人員提供參考,節約時間成本。
當前主要的圖像換色方法可分為顏色遷移法[1]和直接換色法[2]兩大類。二者最本質的區別在于參考圖像的有無,本文側重于使用直接換色法對已有織物的顏色進行調節。基于顏色遷移的換色是通過信息匹配的方法,將參考圖像的顏色轉移到目標圖像上。Reinhard等[1]提出了一種在lαβ顏色空間下,基于亮度匹配的顏色遷移算法。Han等[3]在前人研究的基礎上提出了一種基于參考顏色的顏色遷移方法,對色織物進行實驗可獲得自然的換色結果。以上方法沒有對參考圖像的選擇提出優化方案,難以規避由于目標圖像和參考圖像之間存在匹配度差異而產生的不良結果。直接換色法規避了參考圖像的選擇問題,通過對目標圖像進行區域分割的方法,提取圖像主色,調整待換色區域的顏色并建立映射關系來實現圖像換色。其中主要包括交互式的方法和深度學習的方法,基于交互式的方法主要通過圖像分割的方法提取調色板,通過調節調色板來實現換色,如結合圖像分割與區域生長法的圖像換色[4],調色板自動提取的換色[5-6],考慮顯著顏色的換色[7]。直接對圖像分割的方法難以適應顏色豐富、紋理顯著的面料換色,面料圖像的紋理會對分割結果造成影響。基于深度學習的方法,如Li等[8]結合卷積神經網絡對灰度圖像進行自動著色,著色效果自然逼真。機器學習與深度學習的方法依賴大規模的樣本數據,面料樣本難以收集,上述方法仍需要進行改進。
基于此,本文提出一種基于紋理平滑與圖像分割的交互式印花面料分色換色方法。采用相對總變差模型對面料圖像進行平滑處理,去除面料的紋理信息,再轉換到顏色均勻的CIE1976L*a*b*色彩空間,便于后續分割。采用Mean-shift聚類算法對圖像進行分割并提取面料的分色,建立顏色映射關系,將調節后的顏色映射到原圖像上,實現面料的分色換色。
面料的顏色信息容易受到多種因素的干擾,采用標準的采集環境能夠避免對后續的分割和換色產生影響。DigiEye是用于測量顏色和捕獲高質量可重復圖像的計算機數碼相機系統,采用該系統對收集的印花面料進行圖像采集。系統配置尼康D7000相機和D65標準光源,分辨率為96 dpi。
織物圖像是一種典型的結構紋理圖像,織物的紋理會影響后續的圖像分割以及換色結果,故需對采集得到的圖像進行平滑。采用相對總變差模型[9]對采集得到的面料圖像進行平滑處理,目標函數為
(1)
式中:i,j表示像素點在圖像中的位置;S(i,j)表示輸入圖像;T(i,j)表示結構提取圖;argmin表示使其后式達到最小值時點(i,j)的集合;(T(i,j)-S(i,j))2確保了輸入和輸出的差異最小。式(1)后半部分基于相對總變差模型對圖像矩陣進行了正則化處理,是從圖像中移除紋理的關鍵。其中:λ為可控參數;ε為一個趨向無窮小的正數,用來確保分母不為零;Dx(i,j),Dy(i,j)為總變差,具體表達式如下:
(2)
式中:k,l表示窗口中圖像像素點的位置;?x和?y為2個方向的偏導數;g為根據空間關聯性定義的加權函數,可表示為
(3)
式中,σ為調節窗口空間尺度的參數。為從紋理信息中區分出突出的結構,定義了窗口內變差Lx(i,j),Ly(i,j):
(4)
可通過調節參數λ與σ來控制圖像的平滑程度,其中參數λ控制圖像的光滑程度,參數σ控制式(3)窗口的大小。通過平滑實驗發現,λ取值為0.006,σ取值為4時,平滑效果最優。采用上述參數對圖1(a)中采集并剪裁后的印花面料圖像進行紋理平滑,得到如圖1(b)所示的去紋理面料圖像。

圖1 印花面料及平滑圖像示例Fig.1 Examples of printed fabric image (a) and smoothed image(b)
CIE1976L*a*b*(以下簡稱L*a*b*)顏色空間與人類視覺對顏色的感知十分接近,是一種均勻的顏色空間,不依賴采樣設備與環境,在圖像分割領域表現效果優異。圖像從RGB轉換到L*a*b*顏色空間需先轉換到XYZ顏色空間,轉換公式如下:

(5)
式中,R、G、B與X、Y、Z分別表示RGB與XYZ顏色空間對應的三通道顏色數值。XYZ顏色空間轉換到L*a*b*顏色空間的轉換公式如下:
(6)
(7)
式中:Xn、Yn、Zn默認取值為95.047、100.0、108.883;L*、a*、b*表示L*a*b*顏色空間三通道的值。文獻[10]描述了RGB顏色空間與L*a*b*顏色空間之間的相互轉換。本文將經平滑處理后的圖像轉換到L*a*b*顏色空間進行聚類分割與分色換色操作,將結果從L*a*b*顏色空間轉換到RGB顏色空間輸出。
圖像分割是指將圖像分成若干互不重疊的子區域,使得同一個子區域內的特征具有一定的相似性、不同子區域間的特征有明顯的差異性。本文采用聚類的方法來實現面料的圖像分割。Mean-shift聚類算法是一種基于密度的統計迭代算法,該算法僅依靠樣本空間點進行分析,收斂速度快,被廣泛應用于計算機視覺領域[11]。算法迭代步驟如下:1)以帶寬h做一個漂移窗口,計算中心點x0移動到窗口內周圍點xi所需要的偏移量之和,求取平均值得到平均偏移量M(x0);2)點x0向平均偏移量方向漂移得到新的中心點x0′;3)重復上述步驟直至算法收斂。偏移均值M(x0)可表示為
(8)
式中:sh表示以x0為中心點,半徑為h的高維球區域;k為在sh范圍內點的個數;xi是在sh范圍內的點。通過式(9)可得到新的中心點:
x0′=M(x0)+x0
(9)
引入核函數的偏移均值m(x0),可以將低維的不可分數據變成高維可分數據,具體公式如下:
(10)
式中,函數g表示對核函數的導數求負。
上述算法中,帶寬h是影響算法迭代結果的重要參數。通過實驗優選發現,當h為0.11時,分割效果最好。采用上述分割算法及優選的帶寬h對平滑后的L*a*b*顏色空間下的面料圖像進行分割,得到如圖2所示的印花面料分色結果。

圖2 印花面料分色圖Fig.2 Separated image of printed fabric
圖像換色旨在通過更改圖像中的某一類或某幾類顏色來更改圖像的配色方案。在通過聚類分割的方法獲取圖像的分色后,選擇面料分色,通過交互的方式調節顏色滑塊,對該聚類中心的顏色值進行調整得到新的顏色。建立調整后的顏色與原來顏色的映射關系,將調整后的顏色映射到對應的分割區域,從而得到分色換色結果。
假設大小為M×N的織物圖像為IM×N×3,其中3為圖像的通道數,通過式(11)轉換函數將圖像轉換成大小為(M×N,3)的二維矩陣:
I(M×N,3)=f(IM×N×3)
(11)
式中:f為轉換函數;I(M×N,3)為一個3列的矩陣。其中L*、a*、b*三通道數值各為1列。分色換色公式為
(12)


圖3 印花面料分色換色Fig.3 Separated color replacement of printed fabric
本文采用MatLab編寫圖形用戶界面(Graphical User Interface),實驗在Intel 2.20 GHz處理器和12 GB RAM的筆記本電腦上進行。
為證明平滑算法的有效性,對同一印花面料在帶寬h取值相同的情況下,進行了平滑分色換色以及無平滑分色換色的對比實驗,實驗結果如圖4所示。由于紋理信息的影響,直接對圖像進行分割,會出現許多分散性的細小毛刺,導致后續換色出現換色疵點。而經過平滑處理后的圖像分割結果細致、完整且無分散毛刺,無換色疵點出現。對比換色結果可知,增加平滑算法后,分割結果更為完整,換色結果更為自然真實。

圖4 分色換色對比圖Fig.4 Separated color replacement comparison
3.2.1 平滑參數
基于相對總變差模型的圖像平滑算法中,可調參數λ與σ直接決定平滑結果,其中λ的取值范圍為0.001~0.03,σ的取值范圍為0~8。由于不同種類、不同材料的面料其紋理顯著性存在著明顯的區別,本文選取了不同的印花面料進行平滑參數調節實驗。圖5示出控制平滑程度的參數λ的調節情況。可以看出,隨著λ值的增大,平滑后的面料圖像模糊程度加深。當λ取值為0.01時,3種面料圖像均出現不同程度的模糊;而當取值較小,如當λ取值為0.002時,平滑處理后的圖像又會出現紋理去除不完全的現象。結合本文實驗,λ取值為0.006時可以獲得清晰的去紋理平滑圖像。

圖5 平滑參數λ調節Fig.5 Smoothing parameter λ adjustment
參數σ決定了平滑算法的窗口空間尺度,隨著σ取值的增大,對圖像紋理的抑制效果也更好。如圖6所示,當σ取值大于4時,算法逐漸收斂。對平滑參數進行調試實驗發現,參數σ取值為4時可得到紋理去除完全的平滑圖像。

圖6 平滑參數σ調節Fig.6 Smoothing parameter σ adjustment
3.2.2 帶寬參數
Mean-shift算法中,帶寬h決定了漂移窗口的大小,影響面料分割的細致程度。當h取值較小時,聚類數目較多,面料分割細致,細節保留完整,但迭代時間增加;當h取值較大時,聚類數目減少,面料分割趨向輪廓化,細節殘缺,迭代時間減少。圖7示出帶寬h的調節實例,綜合上述因素,實驗設定帶寬h為0.11,可取得分割細致清晰的結果。

圖7 帶寬參數h調節Fig.7 Bandwidth parameter h adjustment
為證明本文方法的有效性和可行性,基于優選的模型參數,選取不同的印花面料進行單分色換色以及多分色換色的實驗,結果如圖8所示。其中圖8(a)示出僅對印花面料的一個分色進行調節的換色實驗結果;圖8(b)示出對面料的多個分色進行調節的換色實驗結果,換色結果真實。在面料設計前期可為面料花型設計者提供試色參考,也可輔助設計者快速得到系列圖像。本文的方法具有很好的魯棒性,對花型復雜、顏色變化多的印花面料進行單色換色以及多色換色實驗,均能得到細節紋理保留完整,顏色外觀自然真實的結果,可為面料設計工作者提供便利。

圖8 換色實驗結果Fig.8 Color replacement test results. (a)Single separated color replacement; (b) Multiple separated colors replacement
為了證明Mean-shift算法的優越性,實驗比較了顏色量化算法[12]、K均值(K-means)聚類算法[13]和Mean-shift算法的分割效果。在其他條件相同的情況下,對相同的面料圖像進行分割,分割效果對比見圖9。

圖9 分割算法比較Fig.9 Segmentation algorithm comparison
顏色量化算法將圖像轉換到HSV顏色空間進行量化統計,用量化后顏色集的平均值作為聚類中心,實現圖像分割。該方法依賴于量化的區間劃分,容易出現不同種類的顏色合并,從而導致聚類后的顏色與原始圖像存在較大差異,并不適用于面料圖像的分割。K-means聚類算法快速簡單,但需人為辨別聚類的簇數,分割一些同類色繁多且細節明顯的面料時,難以分割邊緣細節部分。對比之下,Mean-shift算法能夠適應不同種類的面料圖像,分割效果優于其他分割算法,尤其是邊緣細節部分的分割效果具有可區分性。
本文提出了一種基于紋理平滑和Mean-shift圖像分割的印花面料分色換色方法,采用相對總變差模型去除面料的紋理,利用Mean-shift聚類算法提取圖像分色,建立待換顏色與目標顏色之間的映射關系,實現分色換色。采用不同的印花面料圖像進行實驗,可得到結構紋理清晰且自然的系列換色結果,驗證了本文方法的可行性和有效性。通過對不同的分割算法進行比較,驗證了方法的優越性。對于顏色繁多的面料,分割得到的顏色數量多,增加了調色的困難度,如何進一步優化算法解決同類色的合并問題是未來研究需要解決的問題。
FZXB