張 閣,鄭元林,廖開陽,劉夢瑩,王曉彤
(1.西安理工大學 印刷包裝與數字媒體學院,陜西西安710048; 2.陜西省印刷包裝工程重點實驗室,陜西西安710048)
在科技飛速發展的今天,精美的包裝已逐漸成為大眾消費的重要指標。為了使工業技術與信息化時代的發展步調一致,印刷行業的改革也勢在必行,油墨配色作為印刷的核心已成為各企業競爭的關鍵。自印刷技術發展以來,主要以紐介堡方程[1]、Kubelka-Munk、蒙版方程、三刺激值、人工神經網絡和光譜配色[2]理論為油墨配色[3]的研究對象,其中人工神經網絡因具有處理復雜信息的能力而成為各學者研究的熱點。人工神經網絡是由大量的簡單基本元件即神經元相互聯接而成的自適應非線性動態系統,能夠自身適應環境,總結規律,完成某種運算、識別或過程控制,具有較強的逼近非映射能力,但學習算法還需進一步完善。基于這些理論的缺陷,國內外學者不斷地在提出新方法并加以改進。Zurita等[4]提出了利用Kubelka-Munk理論的二階倒數的方法計算砂漿顏色濃度,平均誤差達到8.80%,但在顏色濃度較高時測量精度降低;Furferi等[5]提出了Kubelka-Munk理論加人工神經網絡的方法對織物進行配色,較Kubelka-Munk理論算法精度提高,平均誤差減小;基于光譜匹配的油墨配色方法[6]減小了油墨厚度與光照的影響,但是該方法受設備影響較大;基于混紡紗線的分光光度顏色匹配算法[7]匹配的平均色差達到1.17%,具有實用性。目前,這些理論已成功應用到生產中。國外已經成功開發了基于Kubelka-Munk理論的配色軟件,例如愛麗色公司的Color iMatch紡織品配色軟件、Datacolor公司的Match-Pigment,這些軟件通用性高,已被很多廠家使用,但是精度還可以進一步提高。基于以上配色算法的優缺點,本文應用遺傳算法優化BP神經網絡的模型來進行油墨配色。遺傳算法是一種全局優化算法,可以優化配色模型中的參數,因此文中主要針對BP神經網絡容易陷入局部最小這一缺點,利用遺傳算法對其結構進行改進,找到最優參數進行網絡訓練,使輸入值可以準確地映射到輸出值,從而得到更精確的光譜配色方法,結果顯示配色精度優于BP神經網絡算法。
本文使用了《新編四色配色印藝圖典》的色譜顏色樣本作為訓練和檢驗數據,色譜由膠印油墨(CMYK)印刷,其中分為四個部分:青品黃黑單色梯尺、二次色樣本、三色樣本、四色樣本。單色梯尺由網點面積率從0到100%,間隔為10%(另外增加5%)的色塊組成;二次色樣本由黃品青黑四色兩兩組合疊印而成,每一色的網點面積率以10%為間隔從10%到100%;三色樣本由CMY三色疊印而成,各色塊網點面積率從10%到100%,間隔10%組成;四色樣本由青品黃以網點面積率為10%的間隔,K以網點面積率為20%的間隔組成(K為90%時,C不包含90%、100%);這四部分色譜分別疊印在銅版紙上,形成不同的色塊,表1為色塊組合。測量過程中使用X-Rite eXact在M1、D50、2°視場條件下測量了色譜的光譜數據和CMYK四色網點面積率,測量波長范圍為400~700 nm,間隔10 nm取其色塊的光譜值與CMYK四色網點面積率,總共測量有6 422組數據。為保證色譜測量的精確度,每個色塊測量3次,然后取平均值作為最終結果。

表1 色塊組合
該實驗以BP神經網絡為基礎的輸入數據通過非線性映射函數映射到高維特征空間,用于預測目標值CMYK的網點面積率。將測量色塊的31維光譜值作為輸入值, 輸出為4維的CMYK網點面積率。實驗測量數據隨機選取5 600組光譜數據進行網絡訓練,822組數據進行驗證。為檢驗網絡的穩定性,實驗進行50次,取平均值作為最終誤差[8]。表2為部分原始光譜數據。
為了使所有數據在同一維度,網絡訓練前首先對原始光譜數據進行歸一化,方便后續的數據處理,并且使網絡訓練速度更快。

表2 部分光譜數據
2.1.1神經網絡
BP神經網絡又稱為誤差反向傳播神經網絡,它是一種多層的前向型神經網絡。在BP網絡中,信號是前向傳播的,而誤差是反向傳播的。
1) 前饋神經網絡是一種非線性函數映射設備,用于確定非線性函數向量,輸入數據向量P通過非線性映射函數f映射到高維特征空間,用于預測A。在這種架構中,P是一組M維輸入向量,A是一組相應的N維輸出向量。其中f為非線性映射函數,輸入層節點的訓練函數為trainlm,隱層節點的傳遞函數為tansing,輸出層節點的傳遞函數為purelin。
P=[p1,p2,…,pM]T
(1)
A=[a1,a2,…,aN]T
(2)
非線性映射可以表示為:
A=f(P;W)+b
(3)
式中,W為權值集合;b為閾值集合。BP神經網絡流程圖如圖1所示。

圖1 BP神經網絡流程圖Fig.1 BP neural network flow chart
2) 反向傳播訓練過程目的在于修正權值,得到最優集合W。計算過程為:評估所有特定節點的輸入加權和,然后使用非線性映射函數f對隱層和輸出層進行轉換,計算輸出節點的輸出值與其目標值的均方誤差,最終更新權重集合W。
2.1.2神經網絡參數確定
1) 神經網絡節點數的確定
輸入層的節點為31,輸出層的節點為4,結合網絡訓練速度和目標精度并經多次驗證,文中選用單隱層結構,隱層節點為30。
2) 神經網絡訓練
訓練參數包含迭代次數、學習速率、目標精度和動量因子這幾個部分。學習速率有不斷調整權值和閾值的作用,根據多次實驗將值設為0.1,為了避免神經網絡陷入局部最小,文中添加了動量因子,設置為0.005。迭代次數為1 000,目標精度為0.000 01,網絡訓練過程[9]中達到目標精度則停止訓練。最終輸出結果循環50次后取平均值。
BP神經網絡訓練流程為:
步驟一 對樣本進行歸一化處理,所有數據歸一化到[-1,1]之間;
步驟二 兩組實驗分別取樣本進行網絡訓練,結果達到目標精度時停止訓練;
步驟三 選取測試樣本進行網絡測試,最后進行誤差分析。
2.1.3BP神經網絡預測結果
根據建立好的BP神經網絡,使用822組測試樣本進行仿真訓練,圖2為測量值與預測值的誤差分布直方圖。

圖2 BP神經網絡的誤差分布直方圖Fig.2 Error distribution histogram of BP neural network
從圖中可以看出,822組測試數據經過BP神經網絡計算,誤差集中分布在[0.04,0.08],平均誤差為8.6%。從該實驗可以看出,僅使用BP神經網絡誤差較大,說明該結構需要進一步優化。
遺傳算法抽象于生物體的進化過程,通過全面模擬自然選擇和遺傳機制,形成一種具有“生成+檢驗”特征的搜索算法,它在整個進化過程中的遺傳操作是隨機性的,但它所呈現出的特性并不是完全隨機搜索,它能有效地利用歷史信息來推測下一代性能有所提高的尋優點集。物種不斷進化,最后收斂到一個最適應環境的個體上,求得問題的最優解。
遺傳算法以編碼空間代替問題的參數空間,以適應度函數為評價依據,以編碼群體為進化基礎進行遺傳操作建立起一個迭代過程。遺傳算法的優越性主要表現在不容易陷入局部最優,即使在所定義的適應度函數不連續、非規則或有噪聲的情況下,也能很大概率地找到整體最優解。遺傳算法所涉及的五大要素包括:參數編碼、初始群體的設定、適應度函數的設計、遺傳操作的設計和參數的設定。
1) 實數編碼
樣本數據輸入后,首先隨機產生權值和閾值并對其編碼產生一定數量的染色體。遺傳算法中常用二進制編碼,因為它的通用性高、使用方便,所以經常被用于編碼。二進制編碼的進化層次是基因,實數編碼的進化層次是個體。在參數變量范圍較大的模型中,若采用二進制編碼,其編碼字符串長度太大,使得染色體的編碼和解碼占用計算機時間較長,另外,二進制編碼的雜交和變異對動力學模型的參數估計問題缺乏明確的物理意義。文中舉例參數A的兩種編碼方式,圖3中左圖為參數A的二進制編碼,右圖為參數A的實數編碼形式)。相比之下,實數編碼[10]不僅無需轉換數制和數據類型便于理解,而且節省遺傳操作時間。另外,實數編碼具有精度高、便于大空間搜索的優點。

圖3 編碼Fig.3 Coding
2) 初始化種群
初始化種群開始階段,生成一定規模的種群并同時開始進化,每個種群都由待優化參數(權值和閾值)編碼而成的染色體組成。遺傳算法進行時隨機產生40個種群并開始進化,進化代數為20,進化開始后每一代染色體和其位置都會被記錄,方便以后的最優染色體雜交變異。
3) 適應度計算
在遺傳算法中[11,12],采用適應度函數來區分群體中個體的好壞,以及評價測試樣本的輸出值和期望值之間的誤差。計算過程為先對染色體進行解碼,然后用設計的模型進行網絡訓練,這時的權值和閾值為優化之后得到的值,輸入向量P(光譜值)將會對應輸出向量A(與光譜值對應的四色網點面積率),最終用適應度函數[13]驗證其性能。在計算當中,MSE充當適應度值,并根據性能目標進行最小化。i表示輸入節點數(I為實驗中用到的光譜數組總數),k表示輸出節點數(K為四色網點面積率輸出數組總數),ti,k和si,k分別表示第i個輸入樣本下第k個輸出樣本的預測值和期望值。
(4)
式中,P、A分別為向量P、A的數值。
4) 雜交與變異
雜交的作用在于將優良的基因傳給下一代個體,并生成包含更復雜基因結構的新個體。這個過程主要是在交配池中隨機選取一對染色體,并隨機選取雜交位置根據雜交概率Pc相互交換各自的部分內容,從而形成一對新的個體。變異是通過變異概率Pm隨機反轉等位基因來實現的。
為提高遺傳算法求解效率,本文將尋找Pc和Pm的最優組合,判斷的準則為找到最優參數所需要的遺傳代數最少。Pc限定在[0.7,1.0]范圍內,Pm限定在[0.003,0.05]范圍內,固定某一Pc值,改變Pm值進行運算,從而找到最優組合(Pc,Pm)。最終確定Pc為0.7,Pm為0.004。
5) 最優種群
在各種群進化過程中會將進化最好的個體選擇出來放在最優種群中,最終以進化代數作為終止的依據。圖4為混合模型訓練流程圖。

圖4 混合模型(GABP)流程圖Fig.4 Framework of the proposed GABP method
本小節對圖5油墨配色流程圖進行說明。
1) 構建模型。對四色墨進行其光譜值與CMYK不同網點百分比的測量,并輸入油墨配色系統建立一個完整的配色系統。這些數據將作為標準值來完成不同客戶的印刷需求。
2) 配方計算。首先測量待配色樣品的光譜值,將光譜值所有的數據輸入配色系統,系統開始計算,所有數據歸一化處理,系統根據輸入數據隨機產生權值和閾值,遺傳算法生成一定數量的種群開始進化,反復繁殖找到最優參數并賦予BP神經網絡訓練,網絡會根據輸入值進行迭代計算,直到找到與之對應的誤差最小的一組四色網點面積率,計算停止。
3) 模型應用。最終按照上一步計算的CMYK四色網點面積率,直接調配四色墨進行印刷[14]。

圖5 油墨配色流程圖Fig.5 Framework of the proposed ink color matching method
傳統印刷工藝主要依靠工人憑借經驗給出印刷配方,該方法對工人技術有太大的依賴性,容易造成油墨、承印物的浪費。GABP模型的應用不僅能夠穩定預測出所需油墨的網點面積率,而且還有效防止了材料的浪費,將為企業提供一種更便利的生產方式。
將樣本數據輸入GABP模型進行計算,重復50次并選取平均誤差作為最終結果。
1) 在遺傳算法計算適應度時,MSE充當適應度值,將目標進行最小化。圖6為樣本訓練后的適應度曲線,在進化代數為5時,適應度達到最佳值為227,說明此時染色體在進化過程中達到最佳狀態。

圖6 適應度曲線圖Fig.6 Fitness curve
2) 最優種群得到后,網絡中各參數確定并同時進行網絡訓練。網絡運行結果如圖7所示,藍綠紅曲線分別為訓練值、驗證值和測試值,圖中綠色圓圈處代表實驗經過97次迭代,最終達到最佳精度并停止工作。在迭代次數為97時,最佳驗證性能為0.004 619 1。

圖7 神經網絡學習曲線圖Fig.7 Neural network learning curve
3) 總結實驗結果可得到實驗誤差直方圖,如圖8所示,其中橫坐標為誤差范圍,縱坐標為誤差頻數。圖中表明了在實驗中每組數據的CMYK四色網點面積率測量值與預測值誤差分布的情況,其中誤差主要分布在[0,0.08]內,822組數據經過BP神經網絡測試平均誤差為4.5%。

圖8 GABP誤差分布直方圖Fig.8 Error distribution histogram of GABP
4) 網絡訓練結束后仿真得到的預測值經過反歸一化處理得到最終結果。文中截取10組隨機取值的輸出數據進行誤差對比分析,表3為CMYK混色的實際測量值與預測值的均方誤差。
通過對表中數據進行誤差分析可以直觀地看到,CMYK四色網點面積率測量值與預測值十分接近,誤差較小。實驗表明,經過遺傳算法優化的BP神經網絡訓練能力較好,較BP神經網絡誤差明顯減小。

表3 預測值與測量值的誤差分析
為了找到最佳配色系統,本文通過創建GABP混合模型來實現光譜配色,利用構建的模型使光譜反射率找到與目標值CMYK最接近的值與之匹配。文中通過樣本數據隨機選取的方式進行實驗,平均誤差為4.5%,在實驗過程中網絡收斂速度較快,計算結果的精度也比較好,說明經過改進的BP神經網絡能夠彌補結構上的不足從而找到最優參數,并能進一步訓練得到準確的目標值。同時也說明經遺傳算法優化改進的BP神經網絡具有良好的非線性映射能力,泛化能力高。在配色系統中模型的建立是至關重要的,它決定了系統是否能夠準確的印刷出滿足客戶需求的樣品。實驗證明,應用GABP油墨配色系統配色精度較高,能為印刷企業提供較為準確的配色方法。