于 龍,肖愛民,邱 迅,秦曉文
(新疆大學(xué) 紡織與服裝學(xué)院, 新疆 烏魯木齊 830046)
隨著人們對時尚和個性化需求的不斷增加,傳統(tǒng)的服裝市場已經(jīng)不能滿足消費者的需求。因此設(shè)計開發(fā)出一款個性化、實用化、便捷化的服裝定制系統(tǒng)不僅可以滿足用戶的個性化需求,同時也可以減輕企業(yè)的個性化設(shè)計壓力,節(jié)省企業(yè)設(shè)計開支。
目前個性化服裝定制系統(tǒng)往往采用隨機組合的方式[1-2]。首先由用戶針對現(xiàn)有服裝款式及風(fēng)格進(jìn)行喜愛度選擇,當(dāng)用戶選出自己喜愛的服裝款式及風(fēng)格后,系統(tǒng)將用戶選擇的服裝款式及風(fēng)格進(jìn)行隨機整合及優(yōu)化,從而為用戶生成新的目標(biāo)服裝[3],但這種整合方式存在不足之處,用戶在面對眾多服裝款式和風(fēng)格時難以長時間保持注意力,其次,該種服裝整合設(shè)計的方法,僅僅在服裝款式及風(fēng)格重組方面進(jìn)行優(yōu)化,無法滿足用戶深層次創(chuàng)新設(shè)計的需求。
本文提出一種基于交互式進(jìn)化計算的服裝設(shè)計方案。針對服裝設(shè)計的重要元素進(jìn)行抽取,對服裝設(shè)計參數(shù)的不同風(fēng)格進(jìn)行羅列,通過二進(jìn)制編碼的方式將服裝設(shè)計元素轉(zhuǎn)換為一串二進(jìn)制數(shù)據(jù)。在設(shè)計過程中結(jié)合交互式遺傳算法,尋找用戶心儀的服裝風(fēng)格參數(shù),通過交叉變異等操作逐漸生成用戶所喜愛的服裝款式二進(jìn)制串。通過解碼算法將用戶所選擇的服裝風(fēng)格款式進(jìn)行二進(jìn)制串解析,生成服裝風(fēng)格款式的可視化圖形,完成整體服裝設(shè)計,以期滿足消費者深層次的個性化需求,提高產(chǎn)品的差異化,為傳統(tǒng)服裝產(chǎn)業(yè)向智能化、定制化提供思路。
遺傳算法(Genetic Algorithm,GA)是基于進(jìn)化理論,并采用遺傳結(jié)合、遺傳變異及自然選擇等設(shè)計方法的優(yōu)化技術(shù)[4]。遺傳算法作為一種隨機全局搜索優(yōu)化算法,模擬了自然選擇和遺傳中發(fā)生的復(fù)制、交叉和變異等現(xiàn)象[5]。從任一初始種群出發(fā),通過隨機選擇、交叉和變異等操作,產(chǎn)生一群更合適環(huán)境的個體,使群體進(jìn)化到搜索空間中越來越好的區(qū)域[6]。經(jīng)過一代代不斷地進(jìn)化,最終收斂到一個最適應(yīng)環(huán)境的個體上,從而得到問題的優(yōu)質(zhì)解[7]。遺傳算法流程如圖1所示。
圖1 遺傳算法流程圖Fig.1 Flow chart of genetic algorithm
由于傳統(tǒng)的遺傳算法在解決問題時自身存在不足之處,交互式遺傳算法(Interactive Genetic Algorithm,IGA)被人們提出,用于擴(kuò)大傳統(tǒng)遺傳算法的應(yīng)用范圍[8]。在IGA中,人的主觀評價被作為進(jìn)化個體適應(yīng)度,以此為特征進(jìn)行優(yōu)化[9]。進(jìn)化個體的適應(yīng)度是由人給出的[10],采用這種方式,可以將人的偏愛、直覺、情感、心理因素等重要隱性因素作為系統(tǒng)優(yōu)化內(nèi)容重要隱性因素嵌入到目標(biāo)系統(tǒng)[11],其余的部分,如種群的復(fù)制、交叉、變異等與傳統(tǒng)遺傳算法一致。交互式遺傳算法流程圖如圖2所示。
圖2 交互式遺傳算法流程圖Fig.2 Flowchart of interactive genetic algorithm
IGA是一種基于人機交互的進(jìn)化優(yōu)化算法[12],在IGA中,能夠通過個人情感等因素實現(xiàn)進(jìn)化干預(yù),從而處理GA算法無法涉及的隱含性能指標(biāo)優(yōu)化問題[13]。目前,IGA在圖像檢索、服裝設(shè)計、音樂創(chuàng)作、產(chǎn)品造型設(shè)計等方面取得了較好發(fā)展。然而,傳統(tǒng)的IGA也有一些不足之處,該算法將思維和情感、知識背景、個人偏好等因素整合到個體評價中,這導(dǎo)致了個體適配度的不確定性和非唯一的選擇結(jié)果。在IGA中,種群的進(jìn)化具有一定程度的隨機性。由于用戶只需要評估個體的適配性,IGA根據(jù)個體的適配性重新組合種群特征,產(chǎn)生下一代。這個進(jìn)化過程并不遵循用戶的想法,所以這樣的過程所產(chǎn)生的下一代并不總是符合用戶的審美。因此,用戶往往需要進(jìn)行多代的進(jìn)化。在小種群進(jìn)化的過程中,傳統(tǒng)的IGA很容易陷入局部最優(yōu)解,又沒有其他的逃逸機制將種群分散到另一個解空間,所以種群很難跳出局部最優(yōu)解。每一次種群進(jìn)化都需要得到用戶的適配度評價,但頻繁的用戶評價會使用戶容易感到疲勞。
在基于交互式遺傳算法的服裝定制系統(tǒng)設(shè)計中,首先對服裝信息進(jìn)行編碼,本文采用二進(jìn)制編碼形式。以男西服為例,將西服整體作為一個染色體,對西服中各個重要元素分別進(jìn)行二進(jìn)制編碼。西裝上衣樣式如圖3所示。
圖3 西裝上衣樣式圖Fig.3 Style diagram of suit jacket
本文采取男西服款式中的鈕扣、領(lǐng)型、衣袋、衣擺、版型5個元素進(jìn)行編碼編碼。形式如下圖所示,A代表西服鈕扣,B代表西服領(lǐng)型,C代表西服衣袋,D代表西服版型,E代表西服衣擺。男款西裝上衣編碼如圖4所示。
圖4 男款西裝上衣編碼Fig.4 Men′s suit jacket code
針對每一個不同的服裝元素,采用不同位數(shù)二進(jìn)制數(shù)對應(yīng)其編碼,具體編碼位數(shù)依據(jù)服裝元素類別設(shè)置,如鈕扣款式(單排扣、雙排扣)采用1位二進(jìn)制編碼[14-15],領(lǐng)型(平駁領(lǐng)、戧駁領(lǐng)、青果領(lǐng))采用2位二進(jìn)制數(shù)編碼[15]。
完整的染色體包含5組編碼,具體每個編碼的組合情況如表1染色體編碼表所示。
表1 染色體編碼表Tab.1 Chromosome coding table
在定制平臺中,用戶對所選擇的服裝款式進(jìn)行評分,用戶評分作為輸入值送人交互式遺傳算法中[16]。系統(tǒng)將6款不同西服款式作為初始種群。
采用傳統(tǒng)GA的方案進(jìn)行交叉和變異操作。交叉指交換2個染色體的某些編碼,變異指反轉(zhuǎn)單個染色體的某幾個編碼。本文采用的交叉方案有單點交叉,雙點交叉和均勻交叉,變異方案只使用簡單變異。圖5所示為單點交叉,圖6所示為雙點交叉,圖7所示為均勻交叉,圖8所示為簡單變異。
圖5 單點交叉Fig.5 Single point crossing
圖7 均勻交叉Fig.7 Uniform crossover
圖8 變異Fig.8 Variation
在具體的算法迭代中,不斷重復(fù)交叉和變異2個遺傳操作。每次所生成的新種群中的個體,將交給用戶進(jìn)行評分,以幫助算法學(xué)習(xí)用戶偏好和情感,從而逐步選擇更偏向用戶喜好的染色體組合。
基于交互式遺傳算法的服裝定制平臺遺傳操作過程中,采用適應(yīng)度函數(shù)作為評價依據(jù)[17]。評價內(nèi)容為服裝種群中風(fēng)格款式受個體的喜愛程度,同時,該評價指標(biāo)將用于系統(tǒng)后續(xù)操作,作為遺傳進(jìn)化的依據(jù)。系統(tǒng)實現(xiàn)過程中,函數(shù)的最終評分與遺傳算法適應(yīng)度的建立相關(guān)聯(lián),其最終目標(biāo)在于實現(xiàn)不同用戶對服裝定制的自身需求。因此,基于交互式遺傳算法的服裝定制平臺的具體程序交互主要包括以下步驟:
①通過解碼算法將服裝風(fēng)格款式二進(jìn)制串編碼進(jìn)行解讀,完成圖像處理,最終自動繪制得出可視化服裝款式風(fēng)格圖。
②用戶根據(jù)系統(tǒng)選定的初始化種群進(jìn)行選定,為所展現(xiàn)的可視化服裝設(shè)計方案打分,計算出對應(yīng)服裝風(fēng)格款式個體的目標(biāo)函數(shù)值。用戶只需要根據(jù)自身喜好,對當(dāng)前服裝進(jìn)行1~10范圍內(nèi)的評分即可。所有的服裝特征(染色體)組合將由IGA自行搜索,逐步與用戶偏好相匹配,即用戶的情感和喜好,不需要用戶從量化的角度進(jìn)行輸入,而是根據(jù)用戶的打分由IGA來猜測。
③對服裝風(fēng)格款式目標(biāo)函數(shù)值進(jìn)行線性擬臺,求出個體的適應(yīng)度。
交互式遺傳算法中不具備顯式適應(yīng)值計算公式。用戶通過自身參與服裝風(fēng)格款式適應(yīng)度評價打分,實現(xiàn)算法與服裝設(shè)計相結(jié)合。通過該方法,將用戶自身情感、喜好等無法量化的模糊評價指標(biāo)進(jìn)行處理,具有較好的實際應(yīng)用意義[18]。
用戶評價過程圖如圖9所示,服裝定制平臺軟件中,系統(tǒng)左側(cè)界面為向用戶展示服裝風(fēng)格款式設(shè)計方案,用戶可在具體服裝風(fēng)格款式下方編輯評價分?jǐn)?shù),通過點擊評價位置輸入0~10評價分?jǐn)?shù),所輸入的評價分?jǐn)?shù)與其喜愛度呈正比,評價分?jǐn)?shù)越高代表其對應(yīng)的圖案效果越美觀。用戶通過不斷根據(jù)個人偏好選擇相應(yīng)分?jǐn)?shù)的方式,實現(xiàn)與系統(tǒng)的交互過程[19]。
圖9 用戶評價過程圖Fig.9 User evaluation process diagram
基于交互式遺傳算法的服裝定制平臺評價流程如圖10所示,在該評價系統(tǒng)中,通過系統(tǒng)對定制服裝中各個參數(shù)進(jìn)行設(shè)定,從而進(jìn)行種群初始化,同時,為滿足無目標(biāo)參數(shù)選定的用戶快速實現(xiàn)定制服裝搭配,系統(tǒng)生成多種經(jīng)典款式參與種群初始化。用戶可以通過評分進(jìn)行定制方案適應(yīng)度修改,為下一代遺傳進(jìn)行選擇。系統(tǒng)通過適應(yīng)度生成新的服裝定制方案,同時系統(tǒng)對新種群中的基因進(jìn)行交叉變異操作。重復(fù)進(jìn)行操作,不滿足約束條件的將再次進(jìn)行變異,經(jīng)過多輪選擇和淘汰后,用戶滿足服裝定制方案時系統(tǒng)結(jié)束進(jìn)化。
圖10 交互式遺傳算法服裝定制流程Fig.10 Interactive genetic algorithm clothing customization process
服裝種群進(jìn)行初始化,將5個不同服裝款式風(fēng)格圖案作為初始化種群。由用戶對該種群進(jìn)行打分,分值范圍為1~10。其中,1分代表非常不喜歡,10分代表非常喜歡,區(qū)間內(nèi)隨著分值的增加代表用戶對該服裝風(fēng)格款式喜愛度增加。當(dāng)用戶對某一子代評價分值為10分時,代表該用戶已經(jīng)獲得其喜愛服裝風(fēng)格款式,程序結(jié)束。當(dāng)用戶評價分值處于1~10分之間時,計算服裝風(fēng)格款式個體適應(yīng)度,并對其進(jìn)行選擇、交叉、變異生成新的種群。循環(huán)供用戶進(jìn)行評價,直至輸出用戶滿意服裝風(fēng)格款式或達(dá)到系統(tǒng)設(shè)置的最大迭代次數(shù),程序終止。
交互遺傳算法表示為:
IGA=(C,E,P0,M,Φ,Γ,Ψ,T)
(1)
式中:C表示個體的編碼方案;E表示個體適應(yīng)度評價函數(shù);P0表示初始種群;M表示種群大小;Φ表示選擇算子;Γ表示交叉算子;Ψ表示變異算子;T表示遺傳算法終止條件[20]。算法中,T是用戶主動終止循環(huán)的事件觸發(fā)。
設(shè)服裝有k個組成部分,令xk為服裝組成部分取值,那么每一個服裝可以用1個列向量表示,如褲子的屬性包含褲長和顏色2個部分,使x1和x2代表褲長和顏色的取值,將這2個值裝入1個向量中:
X=[x1,x2,…,xk]
(2)
式中:X代表生成的1個服裝。
可以采用二進(jìn)制編碼方式,對服裝的每1個屬性的取值進(jìn)行二進(jìn)制編碼:
B=BinaryCode(X)
(3)
式中:BinaryCode代表二進(jìn)制編碼算子;B代表由X生成的二進(jìn)制序列。
可以表示為:
B=[b1,b2,…,bn]
(4)
P0初始種群可以表示為:
P0={B1,B2,…,Bm}
(5)
式中:m為服裝數(shù)量。;P0代表生成的第1代種群,包含m個服裝。
用戶對種群里面的每1個服裝打分,滿分10分,可以得到1個評分序列:
S=[s1,s2,…,sm]
(6)
設(shè)有q個用戶參與了評分,可以得到q個評分序列,存儲到1個q行m列的矩陣中,可以表示為:
(7)
對每1個服裝的用戶評分求均值:
(8)
服裝的共識度函數(shù)為:
(9)
定義適應(yīng)度公式為:
(10)
式中:ω1,ω2為超參數(shù),根據(jù)經(jīng)驗定義的權(quán)重參數(shù)。
采用Java語言程序設(shè)計,對基于交互式遺傳算法服裝定制平臺進(jìn)行功能實現(xiàn),用戶通過平臺完成評分,服裝風(fēng)格款式跟隨用戶評分交叉變異,完成進(jìn)化,最終實現(xiàn)用戶自主定制。過程中的參數(shù)設(shè)置如圖11所示。
圖11 定制參數(shù)設(shè)置Fig.11 Customize parameter settings
從初始化種群開始,用戶進(jìn)入系統(tǒng)對不同服裝風(fēng)格款式進(jìn)行選擇評分,單個用戶和所有用戶的平均滿意度曲線,分別如圖12、13所示。隨著用戶評分的高低差異,系統(tǒng)完成種群進(jìn)化,用戶逐漸趨向心儀服裝風(fēng)格款式,系統(tǒng)可用度較好。
圖12 單個用戶平均滿意度Fig.12 Average satisfaction of individual users
圖13 所有用戶平均滿意度Fig.13 Average satisfaction of all users
基于交互式遺傳算法的服裝定制系統(tǒng),根據(jù)用戶喜好不同,采集不同用戶針對不同風(fēng)格款式的評價,根據(jù)其不同評價分值完成進(jìn)化,逐漸生成最優(yōu)服裝風(fēng)格款式。單個用戶以及所有用戶最大滿意度,分別如圖14、15所示。滿足不同用戶差異化個性定制的需求,系統(tǒng)實用度較好。
圖14 單個用戶最大滿意度Fig.14 Maximum satisfaction of a single user
圖15 所有用戶最大滿意度Fig.15 Maximum satisfaction of all users
本文基于交互式遺傳算法,將人的情感、喜好等基于目標(biāo)的隱性決策因素納入系統(tǒng),實現(xiàn)服裝定制功能。將用戶評分作為目標(biāo)值,實現(xiàn)交互式遺傳算法與適應(yīng)值結(jié)合,逐步對評價機制進(jìn)行改善,減低系統(tǒng)主觀評分機制所帶來的誤差,獲取最優(yōu)服裝設(shè)計方案。本文的實現(xiàn)過程中,系統(tǒng)種群范圍量和進(jìn)化次數(shù)都在適當(dāng)范圍,若后期出現(xiàn)進(jìn)化次數(shù)多或種群數(shù)量大情形時,用戶易產(chǎn)生視覺上和心理上疲勞。為此,后續(xù)的研究過程中,應(yīng)將收斂問題進(jìn)行納入,同時細(xì)化服裝分類,使得服裝定制化系統(tǒng)更具有針對性。