沈淑敏,施清清,孫夢(mèng)潔,林 麗,陶 晨
(紹興文理學(xué)院 紡織服裝學(xué)院,浙江 紹興 312000)
紋樣是紡織品的重要構(gòu)成要素之一,紋樣的數(shù)字化和自動(dòng)化生成,是紡織紋樣領(lǐng)域的研究熱點(diǎn)。目前,數(shù)字化紋樣技術(shù)主要源于數(shù)學(xué)模型的可視化,其中最重要的是分形算法,如迭代函數(shù)系統(tǒng)[1-2]、Julia集[3-4]、L系統(tǒng)[5-6],均可產(chǎn)生新穎的、別具一格的圖案;其次是利用弱混沌系統(tǒng)[7],包括準(zhǔn)規(guī)則斑圖[8]、均勻隨機(jī)網(wǎng)[9]、哈密頓函數(shù)[10]等來(lái)生成紋樣圖案;其他生成圖案的方法還包括傅里葉變換[11]、參數(shù)化模型[12]等,這些方法用于紋樣創(chuàng)造(Creation),可以產(chǎn)生新奇、有特色的圖案。但針對(duì)現(xiàn)有紋樣進(jìn)行數(shù)字化改造(Innovation),且在一定程度上保留原紋樣特征的新紋樣,未見系統(tǒng)性方法。紋樣改造和紋樣創(chuàng)造同樣重要,特別是對(duì)于經(jīng)典傳統(tǒng)紋樣,有效地實(shí)施紋樣改造可為其注入新的生命力,是傳統(tǒng)文化保護(hù)和發(fā)揚(yáng)的重要途徑。本文利用神經(jīng)網(wǎng)絡(luò)對(duì)現(xiàn)有紋樣進(jìn)行學(xué)習(xí)和改造的方法,通過(guò)將人工智能方法用于紡織紋樣的學(xué)習(xí)與重構(gòu),為紋樣的數(shù)字化創(chuàng)新開辟新的途徑。
紡織紋樣可視為一個(gè)關(guān)系函數(shù)F,該函數(shù)描述紋樣中位置與顏色之間的關(guān)系,由式(1)表示:
C=F(P)
(1)
式中:P為紋樣在圖像中的位置;C為位置P處的顏色。
如果能掌握紋樣的關(guān)系函數(shù)F,就可以在各種條件下重建紋樣。關(guān)系函數(shù)F通常是非常復(fù)雜的,不能用簡(jiǎn)單的數(shù)學(xué)公式描述,但可以通過(guò)人工神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)和逼近。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)見圖1。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
如圖1所示,該網(wǎng)絡(luò)包括一個(gè)輸入層、一個(gè)輸出層和若干隱含層。輸入層包含2個(gè)神經(jīng)元,分別接受x、y坐標(biāo)值輸入;輸出層包含3個(gè)神經(jīng)元,分別輸出顏色r、g、b(紅、綠、藍(lán))分量值;隱含層用來(lái)容納輸入、輸出層之間的關(guān)系模型F,其規(guī)模為n×m(n為每個(gè)隱含層所含神經(jīng)元個(gè)數(shù),m為隱含層數(shù)量)。由于輸入和輸出層神經(jīng)元個(gè)數(shù)固定,隱含層的規(guī)模實(shí)際上決定了該網(wǎng)絡(luò)的規(guī)模。
該網(wǎng)絡(luò)的規(guī)模(即隱含層規(guī)模)可根據(jù)紋樣的復(fù)雜程度而定,復(fù)雜程度主要取決于紋樣中包含的顏色數(shù)目。如果網(wǎng)絡(luò)不能輸出令人滿意的結(jié)果,則可以擴(kuò)大隱含層的規(guī)模。
另外,此網(wǎng)絡(luò)結(jié)構(gòu)中的輸入和輸出值都應(yīng)被標(biāo)準(zhǔn)化,以保證輸入/輸出數(shù)值落入范圍0~1內(nèi)。坐標(biāo)值x、y分別除以紋樣的寬度和高度進(jìn)行標(biāo)準(zhǔn)化,顏色分量r、g、b則除以最大值255。
紋樣學(xué)習(xí)就是訓(xùn)練神經(jīng)網(wǎng)絡(luò)用來(lái)逼近關(guān)系函數(shù)F。紋樣重構(gòu)是指當(dāng)網(wǎng)絡(luò)完整學(xué)習(xí)關(guān)系函數(shù)F后,利用它的輸出來(lái)重建紋樣。
紋樣圖像中的每個(gè)像素對(duì)應(yīng)一個(gè)輸入樣本,該樣本即為對(duì)應(yīng)像素的坐標(biāo)值,其樣本標(biāo)簽為對(duì)應(yīng)像素的顏色值,如此1個(gè)紋樣構(gòu)成1個(gè)訓(xùn)練樣本集。紋樣圖像構(gòu)成訓(xùn)練樣本集見圖2。
圖2 紋樣圖像構(gòu)成訓(xùn)練樣本集
使用該樣本集反復(fù)訓(xùn)練網(wǎng)絡(luò),采用反向回饋方法使網(wǎng)絡(luò)輸出與樣本標(biāo)簽之間的誤差不斷減小,最終落入可接受的范圍內(nèi),即完成了紋樣學(xué)習(xí)。紋樣學(xué)習(xí)過(guò)程中的誤差變化見圖3。
圖3 紋樣學(xué)習(xí)過(guò)程中的誤差變化
由圖3可以看出,隨著訓(xùn)練次數(shù)的增加,總體誤差不斷減小,逼近0。當(dāng)誤差降低到一定程度,即可認(rèn)為網(wǎng)絡(luò)完整學(xué)習(xí)了紋樣(即關(guān)系函數(shù)F)。一對(duì)坐標(biāo)輸入,就會(huì)得到該坐標(biāo)上的顏色輸出。紋樣重構(gòu)見圖4。將這些顏色輸出重新置于對(duì)應(yīng)的坐標(biāo)上,便完成了紋樣重構(gòu)。
圖4 紋樣重構(gòu)
一般地,訓(xùn)練次數(shù)越多,網(wǎng)絡(luò)輸出誤差越小,重構(gòu)后的紋樣與原紋樣越接近。如果網(wǎng)絡(luò)輸出的誤差足夠小,該網(wǎng)絡(luò)稱為學(xué)習(xí)完善(Well-learnt)的網(wǎng)絡(luò),如圖4(d)對(duì)應(yīng)的網(wǎng)絡(luò);否則稱為學(xué)習(xí)未完善(Poor-learnt)的網(wǎng)絡(luò),如圖4(b)對(duì)應(yīng)的網(wǎng)絡(luò)。這2種網(wǎng)絡(luò)之間沒有絕對(duì)的界限,但紋樣創(chuàng)新應(yīng)該在學(xué)習(xí)完善的網(wǎng)絡(luò)上進(jìn)行,以盡量保留原紋樣在造型或顏色上的一些特征。
當(dāng)神經(jīng)網(wǎng)絡(luò)在一定程度上完整學(xué)習(xí)了關(guān)系函數(shù)F,可在網(wǎng)絡(luò)的輸入/輸出層上插入干擾函數(shù),對(duì)輸入/輸出值進(jìn)行調(diào)制,實(shí)現(xiàn)紋樣的改造和創(chuàng)新。干擾函數(shù)可以是任意函數(shù),唯一的條件是其值域必須在0~1范圍內(nèi),以適應(yīng)網(wǎng)絡(luò)模型對(duì)輸入/輸出值的要求。輸入干擾見圖5。
圖5 輸入干擾
在輸入層上,原輸入值x、y先經(jīng)干擾函數(shù)處理并產(chǎn)生新的輸入值x′、y′,再將新的輸入值傳遞給神經(jīng)網(wǎng)絡(luò)。因此,輸入干擾可定義為:
x′=Ix(x,y,r,g,b)
y′=Iy(x,y,r,g,b)
(2)
式中:Ix、Iy分別為原變量x、y上的干擾函數(shù);x′、y′為相應(yīng)干擾函數(shù)的結(jié)果變量;x、y、r、g、b為干擾函數(shù)中所涉及的變量,即參考變量。
通過(guò)輸入干擾進(jìn)行紋樣改造,見圖6。
圖6 輸入干擾改造后的紋樣
在圖6(a)中,原變量x上的干擾函數(shù)利用正弦算子實(shí)施干擾,產(chǎn)生了具有對(duì)稱特征的新紋樣。該例中原變量y上的干擾函數(shù)實(shí)際為y′=y,如果某個(gè)干擾函數(shù)其結(jié)果變量等于原變量,則省略不寫。圖6(b)中,原變量x上的干擾函數(shù)將另一個(gè)原變量y賦予結(jié)果變量,實(shí)際上是對(duì)原紋樣的對(duì)角線特征進(jìn)行橫向擴(kuò)大。這2個(gè)紋樣都是在圖4(b)所對(duì)應(yīng)的網(wǎng)絡(luò)(即學(xué)習(xí)完善的網(wǎng)絡(luò))上施加干擾和輸出的。同理,可以在輸出層上插入干擾函數(shù)。原輸出值r、g、b經(jīng)干擾函數(shù)處理并產(chǎn)生新的輸出值r′、g′、b′,再根據(jù)新的輸出值進(jìn)行紋樣重構(gòu)。輸出干擾見圖7。
圖7 輸出干擾
輸出干擾可定義為:
r′=Ir(x,y,r,g,b)
g′=Ig(x,y,r,g,b)
b′=Ib(x,y,r,g,b)
(3)
式中Ir、Ig、Ib分別為原變量r、g、b上的干擾函數(shù)。
通過(guò)輸出干擾進(jìn)行紋樣改造,見圖8。
圖8 輸出干擾改造后的紋樣
圖8(a)中,原變量r上的干擾函數(shù)以坐標(biāo)x為其中一個(gè)參考變量實(shí)施干擾,對(duì)紋樣中的紅分量的橫向分布進(jìn)行了調(diào)整。圖8(b)則同時(shí)對(duì)顏色變量r、g進(jìn)行干擾,使得紋樣中的紅、綠分量的橫向和縱向分布發(fā)生了變化。可見,輸入干擾通過(guò)重塑造型進(jìn)行紋樣改造和創(chuàng)新,而輸出干擾則是通過(guò)調(diào)整顏色分布的方式進(jìn)行紋樣改造的。干擾函數(shù)中可以涉及的參考變量包括所有輸入和輸出變量。
在本文研究中,將紋樣看作一個(gè)位置P與顏色C之間的關(guān)系模型,使用人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)該模型,從而能夠重構(gòu)紋樣,以及進(jìn)一步改造紋樣。如前所述,位置P由一對(duì)直角坐標(biāo)(x,y)表示,但也可用其他形式表示,如極坐標(biāo)(由極徑l和極角θ確定)。極坐標(biāo)下的紋樣重構(gòu)與創(chuàng)新見圖9。
圖9 極坐標(biāo)下的紋樣重構(gòu)與創(chuàng)新
圖9(a)為訓(xùn)練8 000次后的輸出結(jié)果。圖9(b)中,原變量θ上的干擾函數(shù)以θ為參考變量,利用正弦算子實(shí)施干擾,產(chǎn)生的紋樣具有對(duì)角線對(duì)稱性質(zhì)。圖9(c)中,原變量l上的干擾函數(shù)將參考變量θ直接賦予結(jié)果變量,其結(jié)果紋樣實(shí)際是原紋樣中所有數(shù)值滿足l=θ的點(diǎn)以左上角為中心的放射性擴(kuò)展。圖9(d)是一個(gè)輸出干擾的例子,以θ為參考變量對(duì)顏色變量r實(shí)施干擾,使得結(jié)果紋樣中的紅分量在不同角度上的分布發(fā)生了變化。
同樣,顏色C除用RGB顏色(“紅/綠/藍(lán)”顏色)表達(dá)外,也可采用其他形式表達(dá),如HSV顏色(“色調(diào)/飽和度/亮度”顏色)。HSV顏色下的紋樣重構(gòu)與創(chuàng)新見圖10。
圖10 HSV顏色下的紋樣重構(gòu)與創(chuàng)新
圖10 (a)是在HSV顏色下訓(xùn)練8 000次后網(wǎng)絡(luò)輸出的結(jié)果。圖10 (b)是借助HSV顏色進(jìn)行輸出干擾的結(jié)果,以坐標(biāo)x、y為參考變量,利用if算子和正弦算子復(fù)合形式對(duì)顏色變量v實(shí)施干擾,使得結(jié)果紋樣出現(xiàn)了因明度變化引起的紋路。if算子的作用是條件選擇,它有3個(gè)參數(shù),第1個(gè)參數(shù)是1個(gè)條件表達(dá)式,當(dāng)該表達(dá)式成立時(shí)取第2個(gè)參數(shù)值,否則取第3個(gè)參數(shù)值。
總之,對(duì)圖1網(wǎng)絡(luò)結(jié)構(gòu),存在2種輸入形式(即直角坐標(biāo)x、y輸入和極坐標(biāo)l、θ輸入)和2種輸出形式(即RGB顏色輸出和HSV顏色輸出)。
如前所述,通過(guò)訓(xùn)練可使神經(jīng)網(wǎng)絡(luò)完整學(xué)習(xí)紋樣關(guān)系模型,然后將網(wǎng)絡(luò)輸出置于對(duì)應(yīng)的位置上,實(shí)現(xiàn)紋樣重構(gòu)。試驗(yàn)發(fā)現(xiàn),極坐標(biāo)形式下紋樣學(xué)習(xí)過(guò)程與直角坐標(biāo)形式類似,即總體誤差隨著訓(xùn)練次數(shù)的增加而下降并逼近0。圖9(a)和圖4(d)同為訓(xùn)練8 000次后的輸出結(jié)果,其圖像質(zhì)量基本相當(dāng)。
顏色表達(dá)方面,在神經(jīng)網(wǎng)絡(luò)中使用HSV顏色進(jìn)行學(xué)習(xí)和重構(gòu),其效率和精度不如使用RGB顏色,圖10 (a)與圖4(d)相比精度較低。數(shù)字圖形設(shè)備(如電腦顯示器)基本上都使用RGB顏色,因此神經(jīng)網(wǎng)絡(luò)中的HSV數(shù)據(jù)需要經(jīng)過(guò)2次轉(zhuǎn)換,第1次是構(gòu)造訓(xùn)練樣本時(shí)將數(shù)字設(shè)備上的RGB數(shù)據(jù)轉(zhuǎn)換成HSV數(shù)據(jù),第2次是在網(wǎng)絡(luò)輸出后要將HSV數(shù)據(jù)轉(zhuǎn)換成RGB顏色以便在顯示器上繪制。由于RGB顏色與HSV顏色并不一一對(duì)應(yīng),2次轉(zhuǎn)換導(dǎo)致的精度損失使得HSV顏色下的紋樣重構(gòu)不能令人十分滿意。
此外,紋樣重構(gòu)的結(jié)果與訓(xùn)練次數(shù)和網(wǎng)絡(luò)規(guī)模有關(guān)。訓(xùn)練次數(shù)對(duì)紋樣重構(gòu)的影響已由圖3、4顯示。給定訓(xùn)練次數(shù)t=8 000,不同網(wǎng)絡(luò)規(guī)模下的紋樣重構(gòu)見圖11。其中時(shí)間耗費(fèi)(s)除以最大值進(jìn)行標(biāo)準(zhǔn)化處理。
圖11 不同網(wǎng)絡(luò)規(guī)模下的紋樣重構(gòu)
由圖11可以看出,在同樣的訓(xùn)練次數(shù)下,網(wǎng)絡(luò)規(guī)模越大,逼近能力越強(qiáng),輸出紋樣與原紋樣越接近,但時(shí)間耗費(fèi)也越多。過(guò)大的規(guī)??赡懿皇潜匾模瑘D11(c)(d)顯示的重構(gòu)紋樣差異非常微小幾乎可以忽略,但耗費(fèi)時(shí)間有顯著不同。經(jīng)驗(yàn)表明,如果網(wǎng)絡(luò)輸出長(zhǎng)時(shí)間內(nèi)不能達(dá)到訓(xùn)練目標(biāo),則應(yīng)擴(kuò)大網(wǎng)絡(luò)規(guī)模。擴(kuò)大網(wǎng)絡(luò)規(guī)模不會(huì)引起所謂“過(guò)擬合”問(wèn)題,因?yàn)樵摼W(wǎng)絡(luò)并不需要應(yīng)用到新的紋樣上,即它不需要適應(yīng)新的樣本。
如前所述,通過(guò)在網(wǎng)絡(luò)的輸入/輸出點(diǎn)上插入干擾函數(shù),對(duì)位置/顏色值進(jìn)行調(diào)制,可實(shí)現(xiàn)紋樣創(chuàng)新。對(duì)位置輸入的干擾帶來(lái)紋樣造型的改造,而對(duì)顏色輸出的干擾帶來(lái)紋樣色彩分布的改造。紋樣改造能夠產(chǎn)生非常豐富、新奇的圖案,再結(jié)合簡(jiǎn)單的鏡像處理,即可得到四方連續(xù)的紡織紋樣。鏡像處理見如圖12。
圖12 鏡像處理
這種利用干擾函數(shù)實(shí)施的紋樣改造不是隨機(jī)、不可控的,其是有規(guī)律、可控的。本文總結(jié)幾種典型的紋樣改造方式及其對(duì)應(yīng)的干擾函數(shù)。
2.3.1 條紋化
條紋化是指提取原紋樣中的直線或曲線特征構(gòu)成新的條紋紋樣,這是通過(guò)輸入干擾實(shí)現(xiàn)的,圖6(b)、圖9(c)都是條紋化改造的例子。條紋化改造的關(guān)鍵是,某個(gè)輸入變量上的干擾函數(shù)以另一個(gè)輸入變量為唯一參考變量。條紋化改造效果見圖13。生成的紋樣已經(jīng)過(guò)鏡像處理。
圖13 條紋化改造效果
圖13(a)、(b)中,輸入變量y上的干擾函數(shù)以另一個(gè)輸入變量x為唯一參考變量。圖13(c)、(d)中,輸入變量θ上的干擾函數(shù)以另一個(gè)輸入變量l為唯一參數(shù)。它們的干擾函數(shù)中都使用了冪指數(shù)算子或三角算子。冪指數(shù)算子和三角算子是干擾函數(shù)中的基本算子,它們能保證計(jì)算結(jié)果在0~1范圍內(nèi),此外三角算子的周期性還能帶來(lái)圖案上的對(duì)稱和重復(fù)。
2.3.2 扭曲化
在輸入干擾中,如果某個(gè)輸入變量上的干擾函數(shù)同時(shí)依賴2個(gè)原輸入變量,結(jié)果紋樣呈現(xiàn)扭曲效果,扭曲化改造效果見圖14。
圖14 扭曲化改造效果
圖14(a)中,輸入變量l上的干擾函數(shù)被指定為2個(gè)原變量l、θ的復(fù)合運(yùn)算形式,其中指數(shù)上的三角運(yùn)算單元的絕對(duì)取值是為了保證其介于0~1內(nèi),從而結(jié)果變量也介于0~1之間。圖14(d)中對(duì)原變量x、y分別實(shí)施干擾,干擾函數(shù)都以2個(gè)原變量為參考變量。
2.3.3 沙 化
沙化是借助rand算子實(shí)現(xiàn)的一種隨機(jī)效果,rand算子的作用是生成0~1之間的均勻分布的隨機(jī)數(shù)。沙化改造效果見圖15。
圖15 沙化改造效果
圖15(a)是在圖14(a)所示紋樣基礎(chǔ)上進(jìn)行的沙化處理,使用rand算子對(duì)輸入變量θ實(shí)施干擾。圖15(b)是對(duì)圖13(b)所示紋樣進(jìn)行沙化,使用if算子有選擇地對(duì)紋樣中的某些區(qū)域進(jìn)行處理。
2.3.4 疊 印
在輸出干擾中,如果干擾函數(shù)以位置變量(x、y、l、θ)為參數(shù)變量,并且使用高頻三角算子進(jìn)行調(diào)制,可以得到帶有彩色紋路的疊印圖案。與條紋化處理得到的紋路不同,這種紋路是色彩因子分布規(guī)律性變化帶來(lái)的。疊印改造效果見圖16。其三角算子的頻率越高,紋路越細(xì),如圖16(a)、(b)所示。疊印處理的另一個(gè)特點(diǎn)是,處理灰度紋樣也能產(chǎn)生豐富的彩色疊印效果,圖16(d)是對(duì)圖16(c)所示灰度紋樣進(jìn)行疊印處理的結(jié)果。
圖16 疊印改造效果
本文研究將紡織紋樣視為位置和顏色之間的關(guān)系函數(shù)。使用人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)該關(guān)系函數(shù),利用網(wǎng)絡(luò)輸出重構(gòu)紋樣,可取得與原紋樣非常接近的效果。通過(guò)在網(wǎng)絡(luò)輸入輸出層上設(shè)置干擾函數(shù)來(lái)進(jìn)行紋樣改造和創(chuàng)新,可獲得非常豐富的紋樣效果。
①在網(wǎng)絡(luò)模型方面,采用1個(gè)輸入層(2個(gè)輸入點(diǎn))、1個(gè)輸出層(3個(gè)輸出點(diǎn))和若干隱含層的反向回饋網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)調(diào)節(jié)隱含層的規(guī)??煽刂凭W(wǎng)絡(luò)容量以適應(yīng)不同的紋樣關(guān)系函數(shù)。
②在紋樣重構(gòu)方面,從紋樣像素構(gòu)造網(wǎng)絡(luò)輸入樣本集,通過(guò)反復(fù)訓(xùn)練將誤差降低到可接受的范圍內(nèi),將網(wǎng)絡(luò)的顏色輸出重新置于對(duì)應(yīng)位置上實(shí)現(xiàn)紋樣重構(gòu)。重構(gòu)的精度受網(wǎng)絡(luò)規(guī)模、訓(xùn)練時(shí)間和樣本集顏色模式的影響,網(wǎng)絡(luò)規(guī)模越大、訓(xùn)練時(shí)間越長(zhǎng),重構(gòu)精度越高;在樣本集中采用RGB顏色比采用其他顏色(如HSV)獲得的重構(gòu)精度高。
③在紋樣創(chuàng)新方面,通過(guò)在網(wǎng)絡(luò)輸入輸出層上設(shè)置干擾函數(shù),對(duì)輸入輸出量進(jìn)行調(diào)制來(lái)實(shí)現(xiàn)紋樣改造和創(chuàng)新。在輸入層上設(shè)置干擾函數(shù),對(duì)輸入位置進(jìn)行調(diào)制,可實(shí)現(xiàn)紋樣造型的改造。在輸出層上設(shè)置干擾函數(shù),對(duì)輸出顏色進(jìn)行調(diào)制,可實(shí)現(xiàn)紋樣顏色分布的改造。通過(guò)在干擾函數(shù)中包含相應(yīng)的結(jié)果變量、原變量、參考變量及某些特殊算子,可以實(shí)現(xiàn)條紋化、扭曲化、沙化和疊印4種主要的紋樣改造創(chuàng)新效果。
總之,基于人工神經(jīng)網(wǎng)絡(luò)的紋樣重構(gòu)與創(chuàng)新方法,可為紡織紋樣的數(shù)字化創(chuàng)新提供一條便捷的途徑。