劉為敏, 謝 紅
(上海工程技術(shù)大學 服裝學院, 上海 201620)
服裝的合體度取決于服裝樣板的合體度,如何快速準確地生成符合目標客戶的服裝樣板一直以來都是研究的熱點,也是服裝制版中的關(guān)鍵技術(shù)和難點。量身定制中服裝合體樣板的生成是通過三維掃描儀把人體關(guān)鍵部位尺寸輸入服裝量身定制(MTM)系統(tǒng),系統(tǒng)按照尺寸在板型庫中自動進行搜尋找到與之最接近的版型或自動生成個性化樣板,提高了服裝企業(yè)的效率[1]。
目前服裝合體樣板的生成主要有以下幾種方法:第一,利用款式部件庫里的款式部件間的快速組合得到個性化樣板;第二,基于大量的人體數(shù)據(jù),在其基礎(chǔ)上修正原型,通過放碼生成合體樣板,或者基于大量人體數(shù)據(jù),細分人體體型,不同體型設(shè)置不同的基板,通過放碼生成合體樣板;第三,參數(shù)化設(shè)計樣板,將點、線之間的關(guān)系式通過編程語言實現(xiàn)給定一個客戶尺寸即可生成個性化樣板。前2種方法都離不開放碼,企業(yè)用的最多的是放碼技術(shù),放碼是對樣板整體比例的變化;而人體體型各異,有時并不是成比例的增加,因此得到的樣板還需要修正。服裝的智能生成目前用的大都是參數(shù)化設(shè)計方法。
隨著互聯(lián)網(wǎng)+時代的到來,服裝合體樣板的智能生成,儼然已經(jīng)成了服裝行業(yè)未來的發(fā)展趨勢。美國格柏公司即是基于參數(shù)化設(shè)計方法開發(fā)了變更功能,通過一個基準樣板,調(diào)用既定的變更規(guī)則和尺碼代號自動生成個性化樣板。其中,變更規(guī)則的設(shè)計是服裝合體樣板快速生成的關(guān)鍵技術(shù)。變更規(guī)則的制定參照放縮規(guī)則又不同于放縮規(guī)則,放縮規(guī)則是樣板整體規(guī)格的放大或縮小,而變更規(guī)則可控制單個部位的放大或縮小,提高服裝的合體度。目前存在的問題是變更規(guī)則及樣板各部位的參數(shù)約束式是固定的??蛻魳影宓纳墒且苑b版型庫里與客戶尺寸近似的樣板為基準樣板,根據(jù)個體尺寸與此基準樣板尺寸的二維差異,調(diào)用既定變更規(guī)則進行樣板變更,以求得符合客戶尺寸的服裝樣板[2]。這就需要龐大的板型數(shù)據(jù)庫,但由于人體細部形態(tài)各異,板型庫不足,有時很難找到與之相適應的板型,生成的服裝樣板合體度欠佳,往往需要借助樣板師憑借其技術(shù)和經(jīng)驗重新修改樣板;另外由于變更規(guī)則是固定的,隨著尺寸的增大,生成的樣板必然會造成結(jié)構(gòu)不平衡,使得服裝不合體。
本文基于上述缺陷,以格柏CAD為技術(shù)開發(fā)平臺,提出對于變更規(guī)則的參數(shù)化研究,可根據(jù)人體的尺寸自動生成相應的變更規(guī)則,并采用BP神經(jīng)網(wǎng)絡(luò)算法建立人體尺寸變化量與變更規(guī)則之間的參數(shù)化變更規(guī)則神經(jīng)網(wǎng)絡(luò)模型,從而實現(xiàn)一人一板。以往的研究也有將神經(jīng)網(wǎng)絡(luò)用到服裝上,但大多數(shù)建立的是人體凈尺寸與成衣尺寸之間的關(guān)系,只是實現(xiàn)了繪制樣板時的尺寸依據(jù),并不能實現(xiàn)樣板的自動生成。本文將神經(jīng)網(wǎng)絡(luò)應用于變更規(guī)則的參數(shù)化設(shè)計,直接實現(xiàn)數(shù)據(jù)與數(shù)據(jù)的匹配對檔。目的是使不同的人體尺寸采用不同的變更規(guī)則,從而自動生成樣板,解決了從板型庫中查找近似板型困難這一缺陷,提高了服裝的合體度,減少了對樣板師的依賴。
本文選擇合體男西褲作為基準樣板進行研究,號型為170/82A,即以身高為170 cm、凈腰圍為82 cm的男西褲作為研究對象,首先根據(jù)男西褲制圖公式確立各個控制部位腰圍、臀圍、腳口、立襠長、褲長等部位變更點的基準變更規(guī)則(基準變更規(guī)則是該控制部位各個變更點的移動量與該部位檔差的百分比)??刂撇课划斨杏绊懳餮澓象w性的部位主要是腰腹部和臀部,因此本文主要以腰圍、臀圍規(guī)則為例進行說明,建立人體腰圍、臀圍的尺寸變化量和腰圍、臀圍變更規(guī)則之間的參數(shù)化模型?;鶞蕵影宓囊?guī)格尺寸如表1所示,結(jié)構(gòu)圖如圖1所示(前片單褶、后片雙省),男西褲基準變更規(guī)則如圖2所示。
表1 男西褲規(guī)格尺寸Tab.1 Male trousers size cm
圖1 男西褲結(jié)構(gòu)圖Fig.1 Men′s trousers structure
圖2 男西褲變更規(guī)則Fig.2 Establishment of alteration rule for men′s trousers
格柏系統(tǒng)是以變更點編號來識別樣板需要變化的部位,因此需要首先對樣板變化的部位設(shè)置變更點編號,每個變更點又分為X方向上的變化量、Y方向上的變化量。同一樣板中,點的編號必須是唯一的,由于變更點的數(shù)量比較多,為防重復,點編號的設(shè)置一般以3~4位數(shù)字為宜,如101,1010,102等。本文樣板變更點集中在樣板腰圍、腹圍和臀圍部位,編號如下:前片側(cè)縫線與腰圍線、腹圍線交點編號分別為y105、y1011,前片中線(即前襠線)與腰圍線交點編號為y101,前片褶裥編號為y104、y1040、y1041,后片側(cè)縫線與腰圍線和腹圍線交點編號分別為y201、y216,后片中線(即后襠線)與腰圍線交點編號為y208,后片省道編號為y202、y204、y205、y207。
從上海工程技術(shù)大學人體數(shù)據(jù)庫里采集本次研究對象基準樣板下凈腰圍82 cm所對應的臀圍最大值和最小值分別為102、86 cm;凈臀圍96 cm所對應的腰圍最大值和最小值分別為101、72 cm。求出該最大值和最小值與基準樣板中腰圍、臀圍的差值,得到腰圍和臀圍尺寸變化范圍,分別為-10~19 cm和-10~6 cm。獲得腰圍、臀圍的最大值、最小值是為了盡可能多地包含人體尺寸的變化范圍,為建立人體的尺寸表做準備。
將1.3節(jié)中得到的腰圍、臀圍變化范圍,分別以1 cm為單位在基準樣板腰圍和臀圍的尺寸上逐步增加或減少,即腰圍不變,臀圍在-10~6 cm之間變化,共17個尺寸;臀圍不變,腰圍在-10~19 cm變化,共30個尺寸,交叉組合建立尺寸表,共建立17×30=510組變化尺寸?;鶞蕵影逋ㄟ^調(diào)用圖2所示的基準變更規(guī)則和510組變化尺寸,共得到510組變化樣板。結(jié)合專家經(jīng)驗和人體體型對其中不合體樣板部位的各變更點進行修改,記錄各點的修改量。由于格柏檔案中變更規(guī)則是以百分比的形式呈現(xiàn)的,因此要將修改的量利用公式(變更百分比=點的移動量/整體部位變化量)轉(zhuǎn)換得到各變更點的變化百分比。將原始基準變更規(guī)則中的點變更數(shù)據(jù)加上修改樣板不合體部位得到的對應點的變化數(shù)據(jù),即可得到最終的合體樣板變更數(shù)據(jù),共得到510組合體樣板變更數(shù)據(jù),即合體的樣板變更規(guī)則,為后期使用BP神經(jīng)網(wǎng)絡(luò)建立參數(shù)化合體樣板變更規(guī)則提供數(shù)據(jù)支撐。
所謂不合體樣板即結(jié)構(gòu)方面達不到保量保型,如圖3所示。當腰圍增加或臀圍減小,腰部側(cè)縫出現(xiàn)外凸臀部內(nèi)凹,導致側(cè)縫線不圓順而出現(xiàn)拐點,前片側(cè)縫線的外凸量超過1 cm或后片側(cè)縫線的外凸量超過2 cm時,即可判定為不合理;當腰圍減小或臀圍增加,臀部外凸腰部內(nèi)凹導致前后側(cè)縫過于彎曲,側(cè)縫線曲線峰度超過2 cm或前后中縫臀部出現(xiàn)拐點,即可判定不合理[3];將得到的樣板前片側(cè)縫與后片側(cè)縫拼合、前片前中線拼合、后片后中線拼合,若腰線處出現(xiàn)凹角或凸角現(xiàn)象均可判定為不合理。
圖3 不合體樣板Fig.3 Abnormal trousers pattern. (a) Increase in waistline or decrease in hip circumference;(b) Decrease in waistline or increase in hip circumference
修改樣板主要是以保量保型為原則并結(jié)合專家經(jīng)驗進行修改,通過合理分配省和褶的量以及前后側(cè)縫的困勢、前中劈腰量來達到樣板的結(jié)構(gòu)平衡和規(guī)定尺寸[4-5]。反映到樣板上即是對前片側(cè)縫y105、y1011,前中y101,前褶y104、y1040、y1041,后片側(cè)縫y201、y216,后中y208,后省y202、y204、y205、y207共13個變更點進行修改,點的移動有正負值之分,向上移動量為正值,向下移動量為負值。修樣過程中,當臀腰差減小時,隨之省和褶也要減小。省和褶的變化規(guī)則是:后省每個省的量在減小的過程中不能小于1 cm,小于1 cm則換成后片單省的款式,后片換成單省時,就要在原來的基準樣板上減少1個省的2個變更點y205、y207;前褶的褶量在減小的過程中不能小于2 cm,小于2 cm即可去掉褶。當臀腰差增大時,省和褶也要增大,省和褶的變化規(guī)則是:后省每個省的量在增大過程中不能大于2.5 cm,前褶的量在增大過程中不能大于4.5 cm,大于4.5 cm就要換成前片單褶、單省的款式,前片換成單省單褶時就要在原來的基準樣板上增加前片1個省的3個變更點y122、y123、y124,并且保證修改后的樣板前后側(cè)縫形狀相似,長度近似。隨著省的變化,共得到3種基本款式:前片單褶,后片雙??;前片單褶,后片單??;前片單省單褶,后片雙省。將3種款式分別命名為y0、y1、y2。
將修好的樣板前后側(cè)縫拼合、前中縫拼合、后中縫拼合時,側(cè)縫、前中縫、后中縫與腰線的角度要略大于180°,不能出現(xiàn)凹角或凸角,以保證腰線的平展,否則繼續(xù)修正樣板。
BP神經(jīng)網(wǎng)絡(luò)是前饋神經(jīng)網(wǎng)絡(luò),一般結(jié)構(gòu)為輸入層、隱含層和輸出層,隱含層的層數(shù)和節(jié)點的設(shè)計、各層之間激活函數(shù)的選取以及訓練函數(shù)的選取對于網(wǎng)絡(luò)的性能影響很大,其中隱含層的層數(shù)和節(jié)點的設(shè)計是神經(jīng)網(wǎng)絡(luò)中最重要的,在很大程度上決定了網(wǎng)絡(luò)的訓練速度和泛化能力[6]。
BP神經(jīng)網(wǎng)絡(luò)根據(jù)需要一般已經(jīng)確定輸入層和輸出層,重點是確定隱含層層數(shù)和隱含層節(jié)點,在很大程度上影響著網(wǎng)絡(luò)的質(zhì)量。數(shù)據(jù)擬合的精度會隨著隱含層數(shù)的增加而提高,但同時也會增加訓練時間,因此在設(shè)計神經(jīng)網(wǎng)絡(luò)時一般要綜合考慮訓練精度和擬合時間來設(shè)計隱含層和節(jié)點數(shù)[7]。在設(shè)計BP神經(jīng)網(wǎng)絡(luò)時,一般先考慮設(shè)計一個隱含層,當一個隱含層的隱神經(jīng)元數(shù)很多但仍不能改善網(wǎng)絡(luò)的性能時,才考慮增加隱含層[8]。隱含層節(jié)點的設(shè)置對網(wǎng)絡(luò)的影響也較大,隱含層的節(jié)點數(shù)設(shè)置過少將無法達到學習與逼近的性能,過多又可能使網(wǎng)絡(luò)出現(xiàn)過擬合等不良現(xiàn)象,一般隱含層節(jié)點的設(shè)置參考以下公式確定:
式中:m為輸入層節(jié)點數(shù);n為輸出層節(jié)點數(shù);a為1~10之間的常數(shù)[9]。在實際應用中通常將公式法與經(jīng)驗法相結(jié)合來確定隱含層的節(jié)點數(shù)。
2.2.1傳遞函數(shù)
常用的傳遞函數(shù)即激活函數(shù)有3種:tansig、logsig、purelin。隱含層一般采用S型激活函數(shù),輸出層一般選用線性函數(shù)purelin作為激活函數(shù)。logsig 傳遞函數(shù)輸出范圍是(0,1),tansig傳遞函數(shù)輸出范圍是(-1,-1)。tansig函數(shù)比logsig函數(shù)的輸出范圍大,且含正負區(qū)間。purelin函數(shù)的輸出可以是任意值[10],使用過程中可根據(jù)需要選取。
2.2.2訓練函數(shù)
訓練函數(shù)也是影響神經(jīng)網(wǎng)絡(luò)模型性能好壞的一個重要參數(shù),不同的訓練函數(shù)代表不同的BP算法,MatLab中提供的BP訓練函數(shù)大致有以下幾種。共軛梯度法進行的訓練函數(shù):traincgf(采用Fletcher-Reeves搜索技術(shù))、traincgp(采用Polak-Ribiers搜索技術(shù))、traincgb(采用Powell-Beale搜索技術(shù));基于擬牛頓法的訓練函數(shù)trainbfg;用Levenberg-Marquardt數(shù)值優(yōu)化法來實現(xiàn)誤差反向傳播算法的trainlm,收斂速度最快;最基本的BP算法traingd和附加動量的梯度下降法traingdm,收斂速度較慢;自適應學習步長法traingda和traingdx,它們的學習步長會根據(jù)誤差性能函數(shù)進行調(diào)節(jié),能夠解決標準BP算法中學習步長選擇不當?shù)膯栴}??偟膩碚f,啟發(fā)式算法的traingd、traingdm、traingdx訓練函數(shù)效率要低于共軛梯度法、擬牛頓算法和Levenberg-Marquardt法等數(shù)值優(yōu)化算法的訓練函數(shù)[11]。
將1.3節(jié)得到的510組合體的變更數(shù)據(jù)應用MatLab2014a來建立BP神經(jīng)網(wǎng)絡(luò)模型,選用樣本中的490組數(shù)據(jù)作為訓練樣本,20組數(shù)據(jù)作為測試數(shù)據(jù)。輸入層為腰圍、臀圍的變化量;輸出層為前片側(cè)縫y105、y1011,前中y101,前褶y104、y1040、y1041,前省y122、y123、y124,后片側(cè)縫y201、y216,后中y208,后省y202、y204、y205、y207各變更點的變更數(shù)據(jù),以及款式y(tǒng)0、y1、y2。因此,神經(jīng)網(wǎng)絡(luò)具有2個輸入,17個輸出,根據(jù)BP神經(jīng)網(wǎng)絡(luò)的特點和本次樣本數(shù)據(jù)的特點,經(jīng)過多次訓練測試比較,本文采用5層神經(jīng)網(wǎng)絡(luò),即3個隱含層,各層間的傳遞函數(shù)選取tansig函數(shù),經(jīng)過反復測試確定各隱含層的節(jié)點數(shù)分別為20、65、50,構(gòu)成了一個2×20×65×50×17的BP神經(jīng)網(wǎng)絡(luò)模型。
參數(shù)設(shè)置如下:首先運用MatLab中的mapminmax函數(shù)對數(shù)據(jù)進行歸一化,消除數(shù)據(jù)之間的差異性,然后建立前饋BP神經(jīng)網(wǎng)絡(luò),訓練函數(shù)選擇trainrp彈性BP算法,自適應學習函數(shù)選取MSE(均方差)函數(shù)。最大迭代次數(shù)為5萬步,顯示輪回的數(shù)為100,均方差為0.000 01。在BP網(wǎng)絡(luò)中,學習速率的選取范圍在 0.01~0.8 之間[12]。本次學習速率選為0.01。
然后開始訓練,經(jīng)過5萬步,均方差達到0.000 234,如圖4所示。
圖4 網(wǎng)絡(luò)訓練曲線Fig.4 Curve of network training
對訓練好的模型用20組數(shù)據(jù)進行測試,仿真輸出,將預測輸出和期望輸出(期望輸出即是用來進行測試的20組數(shù)據(jù),是由前面對不合體樣板在格柏CAD中結(jié)合專家經(jīng)驗和人體體型進行修改后得到的合體樣板變更數(shù)據(jù))進行對比,誤差如圖5所示。圖中每條曲線代表1組數(shù)據(jù)各變更點預測輸出和期望輸出的誤差,1組數(shù)據(jù)由17個變更點組成。
由圖5可知,20組測試數(shù)據(jù)中,每組數(shù)據(jù)各變更點的誤差大多數(shù)都在-1%~1%之間,少數(shù)幾個在-2.5%~2%之間,說明本文建立的BP神經(jīng)網(wǎng)絡(luò)模型合理有效。將預測輸出的數(shù)據(jù)導入到格柏系統(tǒng)的腰圍和臀圍的變更規(guī)則里,即可自動生成變更樣片,相當于一人一板,減小了對樣板師的依賴。實驗驗證結(jié)果表明,采用BP神經(jīng)網(wǎng)絡(luò)輸出的樣板變更數(shù)據(jù),可達到理想的男西褲合體效果。
本文將人工神經(jīng)網(wǎng)絡(luò)算法應用于男西褲樣板變更規(guī)則的設(shè)計當中,實現(xiàn)了樣板變更規(guī)則的參數(shù)化設(shè)計,即給定一個腰圍、臀圍的變化量就得到一個相應的變更規(guī)則,通過此變更規(guī)則就會得出符合這個尺寸的樣板。相當于一人一板,改變了傳統(tǒng)的從服裝板型庫里提取出與客戶近似的樣板,通過固定變更規(guī)則進行樣板變更生成客戶樣板,但由于人體細部形態(tài)各異,樣板庫不足,有時很難找到與之相適應的樣板,并且減少了對樣板師的依賴性,為智能化服裝生產(chǎn)提供一條新的思路。本文只針對腰圍和臀圍的變更規(guī)則進行了參數(shù)化設(shè)計,并且款式較單一,今后將對不同款式、不同部位的變更規(guī)則進行研究,進一步完善變更規(guī)則庫。
FZXB