許雪梅
(浙江理工大學(xué) 信息學(xué)院, 浙江 杭州 310018)
織物智能配色是利用計(jì)算機(jī)配色系統(tǒng)速度快、工作效率高的優(yōu)點(diǎn)進(jìn)行顏色配方的智能預(yù)測[1],并且能夠根據(jù)配方預(yù)測顏色??椢镏悄芘渖暮诵牟糠质桥渖惴?,智能配色算法能夠?qū)崿F(xiàn)又快又準(zhǔn)地配色[2],大大減少打樣的次數(shù)。
目前織物配色應(yīng)用最廣泛的理論基礎(chǔ)是Kubelka-Munk理論[3-4],該理論在色紡紗配色算法中應(yīng)用較多[5-6]。一些研究人員引入人工智能技術(shù)如神經(jīng)網(wǎng)絡(luò)到配色算法中[7],神經(jīng)網(wǎng)絡(luò)在紡織品的染色配色上已有不少成功的應(yīng)用[8-9],例如:肖春華[10]將深度學(xué)習(xí)技術(shù)中的深層神經(jīng)網(wǎng)絡(luò)應(yīng)用到織物智能配色算法中;CHAOUCH Sabrine等[11-12]將蟻群算法應(yīng)用于織物顏色的配方預(yù)測,有效地獲得了織物的顏色配方預(yù)測思想的元啟發(fā)式技術(shù)。配色精度、收斂速度和泛化能力等問題一直都是織物智能配色技術(shù)不斷改進(jìn)優(yōu)化的方向。
本文利用基于BP神經(jīng)網(wǎng)絡(luò)的遺傳算法進(jìn)行織物顏色配方智能預(yù)測,并引入模擬退火算法對遺傳算法配方預(yù)測模型進(jìn)行優(yōu)化。
基于遺傳算法的織物配色智能預(yù)測模型中,初始種群是隨機(jī)生成的,包含了所有可能的配色方案。假設(shè)種群中的每個(gè)個(gè)體都由一條染色體組成,織物智能配色的解決方案用一個(gè)染色體定義,然后用有限長度的字符串來編碼染色體,配色預(yù)測要求算法精度高且搜索范圍大,所以選擇浮點(diǎn)數(shù)編碼方法進(jìn)行編碼,每條染色體上的基因個(gè)數(shù)由所用染料的種類數(shù)決定,每個(gè)基因值代表每種染料的濃度。
1.1.1 遺傳算法適應(yīng)度函數(shù)構(gòu)建
應(yīng)用遺傳算法進(jìn)行織物智能配色的核心問題就是適應(yīng)度函數(shù)的選擇,其對于個(gè)體能否進(jìn)入下一代起著決定性的作用。在實(shí)際應(yīng)用中,要計(jì)算出一個(gè)給定標(biāo)樣的染料的配方濃度,就要不斷縮小給定的標(biāo)樣與所染出的試樣之間的色差值。本文提出用BP神經(jīng)網(wǎng)絡(luò)和最新色差公式CIEDE2000結(jié)合作為遺傳算法的適應(yīng)度函數(shù),由事先訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行色度值L、a和b值的預(yù)測,再根據(jù)色差公式計(jì)算色差值。適應(yīng)度函數(shù)公式為
(1)
式中:ΔE00為本文研究所提出的配色算法預(yù)測的顏色與標(biāo)準(zhǔn)樣本顏色之間的色差值,ΔE00越小,f(x)越大,說明個(gè)體的適應(yīng)能力越強(qiáng);δ是為了避免被0整除而設(shè)置的一個(gè)常數(shù),通常設(shè)為10-6。
1.1.2 遺傳操作
1)選擇。使用的是無回放隨機(jī)選擇,即隨機(jī)選擇運(yùn)算是由每個(gè)代表著配色解決方案的的生存期望值所決定的,該值通過個(gè)體在下一代群體中由式(2)計(jì)算所得。
(2)
2)交叉。由于選擇的基因編碼方法是浮點(diǎn)數(shù)編碼,因此選擇算術(shù)交叉方法,2個(gè)新個(gè)體的產(chǎn)生是依據(jù)進(jìn)行線性組合的2個(gè)包含有配方信息的個(gè)體所得,式(3)為線性組合的計(jì)算公式。
(3)
式中:G1、G2分別代表2個(gè)染色體;k1、k2為乘子,選擇擴(kuò)展中間交叉,即k1,k2∈[-0.5,0.5]。
3)變異。采用非均勻變異的方法,對原有的基因值做一隨機(jī)擾動(dòng),以擾動(dòng)后的結(jié)果作為變異后的新基因值。
在遺傳算法的預(yù)測過程中增加模擬退火算法的判斷,防止遺傳算法在預(yù)測過程中陷入局部最優(yōu)解,導(dǎo)致最終輸出結(jié)果不是全局最優(yōu)配色方案。在遺傳算法進(jìn)行配色智能預(yù)測的過程中,由于變異產(chǎn)生的新配色個(gè)體是完全隨機(jī)的過程,所以在算法爬坡的過程中容易陷入局部最優(yōu)解,導(dǎo)致梯度消失,加入模擬退火算法會(huì)在迭代的過程中修正變異概率,解決梯度消失問題,找到全局最優(yōu)解,變異概率修正函數(shù)如式(4)所示。
(4)
(5)
式中:P為模擬退火過程中突跳概率;T為當(dāng)前溫度值;E(n)為能量,在本文中E(n)=ΔE00;E(n+1)為下個(gè)節(jié)點(diǎn)的能量;ε為[0,1)區(qū)間的隨機(jī)值;T(0)為初始溫度值;t為迭代次數(shù)。
1)設(shè)置基本參數(shù):種群規(guī)模、迭代次數(shù)、交叉與變異概率以及初始溫度等。
2)種群初始化:隨機(jī)產(chǎn)生大規(guī)模種群,依據(jù)所用染料濃度值的范圍對初始化的種群進(jìn)行編碼。
3)利用BP神經(jīng)網(wǎng)絡(luò)預(yù)測顏色,計(jì)算色差,根據(jù)色差計(jì)算遺傳算法預(yù)測出的每個(gè)配方的適應(yīng)度函數(shù)值。
4)模擬退火算法操作。根據(jù)模擬退火算法中的溫度函數(shù)公式計(jì)算突跳概率,并將該概率值作為遺傳算法的變異概率。
5)判斷是否滿足模擬退火終止條件,若不滿足,則縮小變異范圍,繼續(xù)執(zhí)行遺傳操作;若滿足,則直接執(zhí)行遺傳操作。
6)根據(jù)新參數(shù)進(jìn)行遺傳變異、交叉與選擇操作,生成子代種群,再轉(zhuǎn)到步驟3)繼續(xù)迭代運(yùn)行。
7)檢查是否滿足終止條件,即達(dá)到規(guī)定迭代次數(shù),若滿足,則結(jié)束算法;若不滿足,則轉(zhuǎn)步驟4)繼續(xù)迭代運(yùn)行。
實(shí)驗(yàn)采用的基材織物為100%滌綸織物,經(jīng)緯紗線密度分別為5.55、8.33 tex,面密度為75 g/m2,目前滌綸染色的主要染料是結(jié)構(gòu)較簡單、分子質(zhì)量較低的分散染料,因此,實(shí)驗(yàn)選用分散紅3B、分散黃RGFL、分散藍(lán)2BLN三原色染料。
采用母液法配制染液。配制高濃度的分散紅3B、分散黃RGFL、分散藍(lán)2BLN 3種母液,質(zhì)量濃度為5 g/L。在配制樣本液的過程中對母液進(jìn)行稀釋得到實(shí)驗(yàn)樣本的染液,織物質(zhì)量為10 g,浴比為1∶20,采用高溫高壓法對織物進(jìn)行染色。
染色樣品的光譜反射率用X-Rite Ci7800臺(tái)式分光光度儀在D65光源、10°視角下測量,測色孔徑為25 nm,包含紫外光,選擇包含鏡面反射光(SCI),不考慮物體表面的光澤影響,測量的是物體真實(shí)色。測量的樣品光譜反射率在360~750 nm波段內(nèi),間隔為10 nm。每個(gè)樣品折疊2次,呈現(xiàn)總共4層的織物,以獲得足夠的不透明度。隨后在多個(gè)位置進(jìn)行一系列顏色測量,每個(gè)樣品測量3次,以使實(shí)驗(yàn)所用織物的光譜反射率測量誤差最小化。
3種染料質(zhì)量分?jǐn)?shù)選擇范圍為0.05%~3.00%,從而形成了一個(gè)包含大量不同染色樣本的數(shù)據(jù)庫。使用18個(gè)不同的三元混色物作為標(biāo)準(zhǔn)顏色樣本,標(biāo)準(zhǔn)樣本顏色配方及色度參數(shù)如表1所示。
BP神經(jīng)網(wǎng)絡(luò)根據(jù)算法預(yù)測的配方進(jìn)行顏色的預(yù)測需要提前對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,本文采用3層BP神經(jīng)網(wǎng)絡(luò),輸入層為3種染料用量,輸出層為CIELab色度值,以確定最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù),使適應(yīng)度函數(shù)的評價(jià)更為準(zhǔn)確?;谝延械膶?shí)驗(yàn)數(shù)據(jù)對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了訓(xùn)練,并選擇標(biāo)準(zhǔn)樣本數(shù)據(jù)對訓(xùn)練出的網(wǎng)絡(luò)進(jìn)行驗(yàn)證,BP神經(jīng)網(wǎng)絡(luò)根據(jù)標(biāo)樣配方預(yù)測出的顏色與標(biāo)準(zhǔn)樣本顏色之間的色差值為理論色差值,該網(wǎng)絡(luò)預(yù)測的標(biāo)準(zhǔn)樣本的CIELab色度值和理論色差值如表2所示。
表1 標(biāo)準(zhǔn)樣本顏色配方和色度參數(shù)Tab.1 Color formula and chromaticity parameters of standard samples
表2 BP神經(jīng)網(wǎng)絡(luò)驗(yàn)證結(jié)果Tab.2 Validation results by BP neural network
通過分析表2可知,訓(xùn)練出的BP神經(jīng)網(wǎng)絡(luò)能夠根據(jù)算法預(yù)測出的配方值實(shí)現(xiàn)顏色預(yù)測,預(yù)測的理論色差值整體較小,均小于0.300,色差均值為0.165,表明色差預(yù)測效果優(yōu)良,證明該模型適用于織物的顏色預(yù)測,為之后與遺傳算法和模擬退火算法結(jié)合進(jìn)行配方預(yù)測奠定了基礎(chǔ)。
對基于模擬退火算法改進(jìn)遺傳算法的配色預(yù)測算法進(jìn)行了多次實(shí)驗(yàn),修改算法的迭代次數(shù)和種群規(guī)模大小來對算法的收斂性能進(jìn)行分析,實(shí)驗(yàn)結(jié)果如表3所示。
表3 算法訓(xùn)練收斂性分析Tab.3 Convergence analysis of algorithm training
通過分析表3可以看出,種群規(guī)模設(shè)置為500,迭代次數(shù)設(shè)置為1 000時(shí),算法收斂速度最快,迭代80次即可收斂,收斂色差最小(0.152),也即個(gè)體的適應(yīng)度函數(shù)值最大,此時(shí)算法性能最優(yōu),適用于織物顏色配方的智能預(yù)測。
上述算法仿真實(shí)驗(yàn)結(jié)果獲得的配方即預(yù)測配方及其與標(biāo)準(zhǔn)樣本顏色配方之間的絕對誤差Ea如表4所示,絕對誤差公式為
Ea=|Cp-Ca|
(6)
式中,Ca和Cp分別為配方的實(shí)際濃度和預(yù)測濃度。
通過分析表4可發(fā)現(xiàn),由模擬退火算法改進(jìn)基于BP神經(jīng)網(wǎng)絡(luò)的遺傳算法(GA-BP-SA算法)預(yù)測的配方與實(shí)際配方較為接近,絕對誤差值較小,整體小于0.100 0,三原色的絕對誤差平均值分別為0.008 8、0.011 1和0.012 1,證明該模型具有良好的織物顏色配方預(yù)測功能。
表4 GA-BP-SA算法預(yù)測結(jié)果Tab.4 Results predicted by GA-BP-SA algorithm
為了驗(yàn)證本文提出的配色預(yù)測模型的實(shí)用性,使用根據(jù)模擬退火算法改進(jìn)遺傳算法的配色模型預(yù)測的顏色配方進(jìn)行染色實(shí)驗(yàn),根據(jù)測量染色試樣的反射率計(jì)算CIELab色度值及各分量色差值,結(jié)果如表5所示。
表5 染色樣本CIELab色度值和各分量色差值Tab.5 CIELab chromaticity value and color difference value of each component of stained sample
本文采用的CIEDE2000色差公式是基于CIELab 色差公式的基礎(chǔ)上發(fā)展而來的,與CIELab色差公式相對應(yīng)的色彩空間為L*a*b*均勻顏色空間,均勻顏色空間對配色評價(jià)非常重要,其主要是對顏色空間中的彩度差ΔC*、明度差ΔL*、色度差Δa*和Δb*及色相差ΔH*進(jìn)行分析,其中明度差和色度差是對染色試樣和標(biāo)準(zhǔn)樣本測量值的比較,可簡單直接地顯示顏色誤差,如表6所示。彩度差代表染色試樣與標(biāo)準(zhǔn)樣之間顏色鮮艷度差異,色相差代表染色樣本與標(biāo)準(zhǔn)樣之間的色相角度差異,通過這些分量色差能夠反映人眼對顏色差異的真實(shí)感覺,通過偏移規(guī)律可判斷染色樣品與樣本的接近程度,結(jié)合表5可以看出,各分量色差值整體較小,表明染色樣本與標(biāo)準(zhǔn)樣本的顏色具有良好的一致性。
表6 分量色差偏移規(guī)律Tab.6 Shift law of component color difference
根據(jù)本文算法預(yù)測的配方染出的試樣與標(biāo)準(zhǔn)樣本之間的色差值也即實(shí)驗(yàn)色差值,為計(jì)算其值,對不同的色差公式進(jìn)行綜合比較后,選擇了能夠進(jìn)一步改善色差視覺一致性的CIEDE2000色差公式進(jìn)行,結(jié)果如表7所示。
表7 染色樣本與標(biāo)準(zhǔn)樣本之間的實(shí)驗(yàn)色差值Tab.7 Experimental color difference between dyed sample and standard sample
由表7可知,由GA-BP-SA算法預(yù)測的配方進(jìn)行染色實(shí)驗(yàn)獲得的染色試樣和標(biāo)準(zhǔn)樣本之間的實(shí)驗(yàn)色差值整體小于0.500,平均色差值為0.289。通過分析表8所顯示的色差分布來看,ΔE≤0.4的情況已經(jīng)包含了絕大部分,染色獲得混色樣和標(biāo)準(zhǔn)樣的實(shí)驗(yàn)色差均在可接受范圍內(nèi),色差計(jì)算結(jié)果與目視評判具有良好的一致性,表明所建立的織物配方智能預(yù)測模型實(shí)用性優(yōu)良,具有良好的實(shí)際應(yīng)用價(jià)值。
表8 GA-BP-SA算法配色精度分析Tab.8 GA-BP-SA algorithm color matching accuracy analysis
為驗(yàn)證所提出GA-BP-SA算法的泛化能力,隨機(jī)選取了訓(xùn)練樣本之外的18個(gè)樣本進(jìn)行實(shí)驗(yàn)。由色差公式CIEDE2000計(jì)算的18個(gè)染色樣本的理論色差值和實(shí)驗(yàn)色差值如圖1所示。
圖1 驗(yàn)證樣本理論色差值和實(shí)驗(yàn)色差值Fig.1 Theoretical color differences and experimental color differences of verify samples
從圖1可以看出:由GA-BP-SA算法預(yù)測的配方擬合顏色色差不僅集中,而且總體較小,由仿真實(shí)驗(yàn)所得的理論色差主要分布在0.179~0.276之間,中位數(shù)為0.240;由染色實(shí)驗(yàn)獲得的實(shí)驗(yàn)色差主要分布在0.383~0.498之間,中位數(shù)為0.437。顯然,基于GA-BP-SA算法的配色模型預(yù)測的配方所染出的顏色和標(biāo)準(zhǔn)樣顏色不僅高度符合,并且泛化能力也很好。
本文融合遺傳算法和模擬退火算法,結(jié)合BP神經(jīng)網(wǎng)絡(luò)對織物智能配色進(jìn)行研究。分別從理論色差、實(shí)驗(yàn)色差和配方誤差3個(gè)方面驗(yàn)證了本文提出的智能配色算法的合理有效性,并驗(yàn)證了該算法的泛化能力。結(jié)果表明,模擬退火算法改進(jìn)基于BP神經(jīng)網(wǎng)絡(luò)的遺傳算法能夠較好地實(shí)現(xiàn)織物顏色預(yù)測與配方預(yù)測。模擬退火算法改進(jìn)的遺傳算法在求解織物智能配色問題上具有一定的應(yīng)用價(jià)值,不僅能夠提高配色精度、效率以及泛化能力,而且優(yōu)化了配色過程,有著良好的應(yīng)用前景,對推進(jìn)計(jì)算機(jī)智能配色發(fā)展,提高染色生產(chǎn)效率具有一定的意義。