王奕文,羅戎蕾,康宇哲
(1. 浙江理工大學(xué) 服裝學(xué)院,浙江 杭州 310018;2. 浙江理工大學(xué) 國(guó)際教育學(xué)院,浙江 杭州 310018; 3. 浙江省絲綢與時(shí)尚文化研究中心,浙江 杭州 310018;4. 浙江理工大學(xué) 信息學(xué)院,浙江 杭州 310018)
古代漢服的結(jié)構(gòu)及形制研究是傳統(tǒng)服飾研究的重要組成部分。博物館為避免風(fēng)化等問(wèn)題對(duì)文物造成的損害,大部分出土衣物在測(cè)量和拍照完成后會(huì)保存在庫(kù)房里,很少展出,且發(fā)掘報(bào)告中給出的數(shù)據(jù)有限,后續(xù)研究人員無(wú)法按照需求進(jìn)行尺寸測(cè)量,不利于傳統(tǒng)服飾文化的繼承與發(fā)展。
尺寸自動(dòng)測(cè)量一般應(yīng)用于成衣檢驗(yàn)環(huán)節(jié)。曹麗等[1]提出利用邊緣檢測(cè)算法和拐點(diǎn)檢測(cè)算法進(jìn)行尺寸測(cè)量;王生偉等[2]利用Shi-Tomasi算法進(jìn)行角點(diǎn)檢測(cè)求得尺寸特征點(diǎn);董建明等[3]利用SUSAN算子和回光反射標(biāo)志結(jié)合測(cè)量比,標(biāo)定推算尺寸數(shù)據(jù);肖祎[4]采用Canny邊緣檢測(cè)算法、霍夫(Hough)變換提取輪廓并進(jìn)行關(guān)鍵點(diǎn)分級(jí)掃描檢索,最后利用擬合公式求得尺寸數(shù)據(jù)。以上研究都是基于人工設(shè)計(jì)的檢測(cè)算法,樣本特征提取單一,易受到周?chē)h(huán)境和服裝形變的干擾。
針對(duì)以上分析,本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的古代漢服關(guān)鍵尺寸自動(dòng)測(cè)量方案,以漢服上衣為例進(jìn)行實(shí)驗(yàn),所測(cè)關(guān)鍵尺寸包括領(lǐng)口寬、袖口寬、通袖長(zhǎng)、袖寬、胸圍寬、下擺寬和衣長(zhǎng)等。在特征提取上采用深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)進(jìn)行漢服關(guān)鍵點(diǎn)檢測(cè)。卷積神經(jīng)網(wǎng)絡(luò)可從大量的原始圖像中進(jìn)行特征自學(xué)習(xí),從而有效避免外界因素的干擾,在目標(biāo)識(shí)別與定位方面具有明顯優(yōu)勢(shì)。再利用霍夫變換圓檢測(cè)算法結(jié)合K-Means聚類(lèi)算法將無(wú)效關(guān)鍵點(diǎn)清除,最后通過(guò)比例映射即可求得所需的漢服尺寸數(shù)據(jù)。
在模型設(shè)計(jì)上,采用自上而下的特征提取方案,以Inception-ResNet-V2[5]作為特征提取的骨干網(wǎng)絡(luò)。參照特征金字塔融合網(wǎng)絡(luò)(FPN)[6]和單人姿態(tài)識(shí)別模型[7]的網(wǎng)絡(luò)思想,設(shè)計(jì)出一個(gè)包括全局網(wǎng)絡(luò)GlobalNet和精練網(wǎng)絡(luò)RefineNet的二階段卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)高階特征和低階特征的融合作用,其中GlobalNet用于提取關(guān)鍵點(diǎn)特征,RefineNet用于提取關(guān)鍵點(diǎn)。
骨干網(wǎng)絡(luò)Inception-Resnet是由Inception網(wǎng)絡(luò)和Resnet網(wǎng)絡(luò)結(jié)合而來(lái),在加深特征提取深度的同時(shí)增加殘差學(xué)習(xí)單元,對(duì)服裝特征的冗余信息進(jìn)行恒等映射,避免出現(xiàn)因網(wǎng)絡(luò)過(guò)深而造成的末端梯度消失問(wèn)題。全局網(wǎng)絡(luò)GlobalNet是在Inception-ResNet-V2的網(wǎng)絡(luò)結(jié)構(gòu)中引入4種中間特征抽取算法(C2~C5),并構(gòu)造成類(lèi)似于FPN的金字塔網(wǎng)絡(luò)特征提取結(jié)構(gòu)。其中C2和C3用于提取淺層特征,C4和C5用于提取較深層次的高階語(yǔ)義特征,其結(jié)構(gòu)如圖1所示。
圖1 GlobalNet金字塔網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 GlobalNet pyramid network structure
與FPN網(wǎng)絡(luò)不同的是,GlobalNet在每一層都加入了1×1卷積核進(jìn)行上采樣,且基于這種U型特征的金字塔網(wǎng)絡(luò)結(jié)構(gòu)可保留空間分辨率和語(yǔ)義信息,從而準(zhǔn)確定位到漢服的袖口、下擺等結(jié)構(gòu)較易分辨的部位。對(duì)于結(jié)構(gòu)較復(fù)雜的領(lǐng)口、裙褶等細(xì)節(jié)部位,需要引入更高階的語(yǔ)義信息和背景信息進(jìn)行識(shí)別,因此,在GlobalNet的基礎(chǔ)上又加入了精煉網(wǎng)絡(luò)RefineNet。RefineNet是在GlobalNet提取特征的基礎(chǔ)上將特征分成相同的3路,每路都加入了不同數(shù)量的1×1卷積核,以擴(kuò)大輸入和輸出的維度差距形成瓶頸層,以此對(duì)特征圖進(jìn)行非線性壓縮減小計(jì)算量,最后將3路特征經(jīng)過(guò)不同維度的線性壓縮后送入concat模塊,實(shí)現(xiàn)高低階特征的融合并存。區(qū)別于元素特征相加,concat結(jié)構(gòu)可在特征融合時(shí)通過(guò)增加特征圖的維度即通道數(shù)量,提高精煉網(wǎng)絡(luò)的關(guān)鍵點(diǎn)識(shí)別準(zhǔn)確率。最終得到的模型結(jié)構(gòu)如圖2所示。
圖2 二階段卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Two-stage convolutional neural network structure diagram
此外,GlobalNet和RefineNet均采用損失函數(shù)Smooth L2進(jìn)行關(guān)鍵點(diǎn)的回歸預(yù)測(cè),計(jì)算公式如下:
L=|f(x)-Y|2
(1)
L′=2(f(x)-Y)f′(x)
(2)
式中:L為損失量;f(x)為系統(tǒng)預(yù)測(cè)的關(guān)鍵點(diǎn)坐標(biāo);Y為人工標(biāo)記的關(guān)鍵點(diǎn)坐標(biāo)。
在進(jìn)行回歸預(yù)測(cè)時(shí),首先通過(guò)式(1)求得損失量L,再對(duì)其進(jìn)行求導(dǎo)即可得到損失量的下降方向L′。
將待測(cè)圖片導(dǎo)入GlobalNet-RefineNet后,最終的輸出維度為[1,256,256,24],即24張256像素×256像素的特征圖。利用霍夫變換圓檢測(cè)算法對(duì)這24幅特征圖進(jìn)行熱點(diǎn)檢測(cè)。首先對(duì)圖像進(jìn)行二值化處理和邊緣檢測(cè),獲取圖像的前景點(diǎn),將邊緣檢測(cè)得到的像素點(diǎn)進(jìn)行強(qiáng)度累計(jì)[8],在二維坐標(biāo)空間中,對(duì)強(qiáng)度值進(jìn)行0~255的歸一化處理,其中強(qiáng)度最大的點(diǎn)即為熱點(diǎn)的坐標(biāo)點(diǎn),最后利用K-Means聚類(lèi)算法將24幅特征圖中的無(wú)效關(guān)鍵點(diǎn)去除。
K-means聚類(lèi)算法是將樣本數(shù)據(jù)分成K類(lèi),設(shè)樣本數(shù)據(jù)點(diǎn)分別為x(1),x(2),x(3),…,x(n),隨機(jī)選取K個(gè)聚類(lèi)質(zhì)點(diǎn)μ1,μ2,μ3,μ4,…,μk,計(jì)算聚類(lèi)質(zhì)點(diǎn)到每個(gè)樣本之間的損失ci:
(3)
其導(dǎo)數(shù)為
ci′=2argmin|x(i)-μj|
(4)
按照梯度下降的方向不斷重復(fù)以上計(jì)算直至損失收斂,此時(shí)每個(gè)樣本的質(zhì)心μj為
(5)
式中:i∈(1,2,…,n);j∈(1,2,…,n)。通過(guò)公式計(jì)算出的質(zhì)心坐標(biāo)即為所需關(guān)鍵點(diǎn)的二維坐標(biāo)。此時(shí),只需再結(jié)合博物館或發(fā)掘報(bào)告中給出的任意一個(gè)真實(shí)測(cè)量數(shù)據(jù),即任意2個(gè)關(guān)鍵點(diǎn)之間的真實(shí)距離,通過(guò)比例映射即可得出所有關(guān)鍵點(diǎn)對(duì)應(yīng)的尺寸數(shù)據(jù)。
本文的訓(xùn)練環(huán)境搭建在Ubuntu18.04系統(tǒng)下進(jìn)行,采用CUDA10.0-cu、DNN7.6.5版本進(jìn)行GPU加速,keras2.1.3版本庫(kù)作為神經(jīng)網(wǎng)絡(luò)的前端,使用Tensorflow-GPU 1.15.0版本庫(kù)作為神經(jīng)網(wǎng)絡(luò)的后端,深度學(xué)習(xí)訓(xùn)練環(huán)境為:Intel Xeon E3 2603V2型號(hào)CPU,128 GB DDR3 ECC服務(wù)器內(nèi)存和11 GB NVIDIA RTX2080TI型號(hào)顯卡。測(cè)試環(huán)境使用2 GB NVIDIA 940MX顯卡進(jìn)行實(shí)驗(yàn),其余實(shí)驗(yàn)條件與上述一致。
作為本文實(shí)驗(yàn)對(duì)象的漢服上衣取自漢服結(jié)構(gòu)體系中的“上衣下裳”衣制,包括襦、衫、襖等分裁短衣,其結(jié)構(gòu)變化大都集中于領(lǐng)型和袖型。交領(lǐng)右衽、圓袂收袪作為漢服最典型的結(jié)構(gòu)特征,蘊(yùn)含著千年華夏文明的精神內(nèi)涵,本文主要針對(duì)具有此類(lèi)領(lǐng)袖結(jié)構(gòu)的漢服上衣進(jìn)行實(shí)驗(yàn)。
為解決古代漢服樣本數(shù)據(jù)和信息稀缺的問(wèn)題,采用基于模型的遷移學(xué)習(xí)方法,將在大規(guī)模數(shù)據(jù)集上訓(xùn)練完成的卷積神經(jīng)網(wǎng)絡(luò)模型遷移到小規(guī)模目標(biāo)數(shù)據(jù)域上[9],利用模型之間的相似性,提高系統(tǒng)泛化能力。在模型訓(xùn)練時(shí),分別以與古代漢服形制特征相似的現(xiàn)代服裝和現(xiàn)代漢服圖片作為2次遷移學(xué)習(xí)的數(shù)據(jù)集進(jìn)行訓(xùn)練,具體操作如下。
首先對(duì)現(xiàn)有的開(kāi)源服裝數(shù)據(jù)集Fashion AI[10]和Deep Fashion[11]進(jìn)行人工篩選,得到與漢服輪廓特征相似的現(xiàn)代服裝圖片30 000余張,為避免因擺拍造型復(fù)雜而產(chǎn)生的數(shù)據(jù)分布不一致情況[12],所選圖片均為平鋪圖或直立人體模特圖。將收集來(lái)的圖片按5∶3∶1的比例分別作為訓(xùn)練集、驗(yàn)證集和測(cè)試集,輸入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí),并得到第1次學(xué)習(xí)后的參數(shù)模型。
從淘寶網(wǎng)、漢服薈等電商平臺(tái)收集1 000張現(xiàn)代漢服平鋪圖,選取標(biāo)準(zhǔn)為服裝實(shí)物是依照傳世文物仿制或遵循傳統(tǒng)形制平裁而成的。通過(guò)對(duì)收集的圖片進(jìn)行旋轉(zhuǎn)、增加適當(dāng)噪聲等操作,將樣本容量擴(kuò)充到5 000張,作為第2次遷移學(xué)習(xí)的數(shù)據(jù)集。將第1次學(xué)習(xí)后的參數(shù)模型作為預(yù)訓(xùn)練模型輸入網(wǎng)絡(luò),再利用現(xiàn)代漢服數(shù)據(jù)集進(jìn)行第2次遷移學(xué)習(xí),最終得到一個(gè)能夠較好地識(shí)別漢服輪廓特征的網(wǎng)絡(luò)參數(shù)模型,如圖3所示。
圖3 遷移訓(xùn)練流程圖Fig.3 Flow chart of migration training
經(jīng)過(guò)反復(fù)迭代訓(xùn)練發(fā)現(xiàn),迭代曲線呈收斂趨勢(shì),且當(dāng)?shù)螖?shù)達(dá)到300 000次,2次遷移學(xué)習(xí)的loss指數(shù)分別下降至0.2和0.18,說(shuō)明模型收斂程度高,訓(xùn)練效果好。
為驗(yàn)證經(jīng)過(guò)2次遷移學(xué)習(xí)的二階段卷積神經(jīng)網(wǎng)絡(luò)GlobalNet-RefineNet是否可較好地識(shí)別古代漢服的關(guān)鍵點(diǎn),以漢服上衣為例,選取現(xiàn)代漢服上衣和古代漢服上衣的平鋪圖各50張,將這100張圖片分別輸入到經(jīng)過(guò)第1次和第2次訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行關(guān)鍵點(diǎn)檢測(cè),其結(jié)果如表1、2所示。
表1 第1次訓(xùn)練后的關(guān)鍵點(diǎn)檢測(cè)結(jié)果Tab.1 Key point detection results after first training
表2 第2次訓(xùn)練后的關(guān)鍵點(diǎn)檢測(cè)結(jié)果Tab.2 Key point detection results after second training
由表1、2中數(shù)據(jù)可知,經(jīng)第2次遷移學(xué)習(xí)后,關(guān)鍵點(diǎn)的識(shí)別準(zhǔn)確率有了大幅提升;2次檢測(cè)的結(jié)果均是現(xiàn)代漢服稍好于古代漢服,這與服裝的完整性和照片的質(zhì)量有一定關(guān)系。
圖4示出模型經(jīng)過(guò)第1次遷移學(xué)習(xí)后的關(guān)鍵點(diǎn)檢測(cè)效果圖。
圖4 第1次訓(xùn)練后的漢服檢測(cè)效果示例Fig.4 Detection effect of Han-style costumes after first training. (a) Modern Han-style costumes ; (b) Ancient Han-style costumes
第1次訓(xùn)練時(shí)采用的是與漢服輪廓特征相似的上萬(wàn)張現(xiàn)代服裝圖片。從圖中不難發(fā)現(xiàn),訓(xùn)練后的模型在識(shí)別與現(xiàn)代服裝結(jié)構(gòu)相似的漢服衣擺、小袖等部位時(shí)表現(xiàn)出較好的識(shí)別能力,但對(duì)于漢服特有的交領(lǐng)、垂胡等細(xì)部結(jié)構(gòu)的識(shí)別能力較差,因此,此時(shí)模型的泛化能力還達(dá)不到準(zhǔn)確檢測(cè)漢服關(guān)鍵點(diǎn)的要求。
圖5示出利用現(xiàn)代漢服進(jìn)行第2次遷移學(xué)習(xí)后的檢測(cè)效果圖。結(jié)合表2中數(shù)據(jù)可知,此時(shí)的神經(jīng)網(wǎng)絡(luò)模型因?yàn)橛辛爽F(xiàn)代漢服的訓(xùn)練,模型的泛化能力顯著提高,并可較為準(zhǔn)確地識(shí)別出漢服特有的造型結(jié)構(gòu)。古代漢服關(guān)鍵點(diǎn)識(shí)別的單點(diǎn)準(zhǔn)確率達(dá)到86%,識(shí)別準(zhǔn)確率達(dá)到80%;訓(xùn)練結(jié)果的總體單點(diǎn)準(zhǔn)確率為90.5%,總體識(shí)別準(zhǔn)確率為86%,且坐標(biāo)點(diǎn)滿(mǎn)足誤差范圍。
圖5 第2次訓(xùn)練后的古代漢服檢測(cè)效果示例Fig.5 Detection effect of Han-style costumes after second training.(a) Modern Han-style costumes; (b) Ancient Han-style costumes
選取實(shí)測(cè)數(shù)據(jù)較多的古代漢服上衣鑲幾何邊絹襖[13]、素綢夾衫[14]和藍(lán)湖縐麒麟補(bǔ)女短衣[15]進(jìn)行測(cè)量結(jié)果分析,以各自通袖長(zhǎng)的實(shí)測(cè)尺寸和機(jī)測(cè)尺寸之比作為比例映射關(guān)系,測(cè)量結(jié)果如表3~5所示。
表3 鑲幾何邊絹襖尺寸測(cè)量表Tab.3 Size measurement table of women′s jacket with geometric patterns
由表3~5可知,利用上述方法測(cè)得的尺寸絕對(duì)誤差在3~9 mm之間,相對(duì)誤差在0.59%~4.17%之間,誤差處于可接受范圍內(nèi)。誤差主要來(lái)源于系統(tǒng)標(biāo)定、照片質(zhì)量以及服裝褶皺等因素。系統(tǒng)誤差可通過(guò)調(diào)整模型參數(shù)提高識(shí)別準(zhǔn)確率,照片及服裝褶皺的影響隨著紡織品保護(hù)與修復(fù)技術(shù)的發(fā)展將會(huì)逐年降低。
表4 素綢夾衫尺寸測(cè)量表Tab.4 Size measurement table of plain silk shirt
表5 藍(lán)湖縐麒麟補(bǔ)女短衣尺寸測(cè)量表Tab.5 Size measurement table of blue crepe short women′s Bufu with unicorn pattern
本文將卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別上的優(yōu)越性應(yīng)用于漢服關(guān)鍵尺寸的自動(dòng)測(cè)量,得到以下主要結(jié)論。
1)通過(guò)搭建二階段卷積神經(jīng)網(wǎng)絡(luò)模型GlobalNet-RefineNet,并對(duì)其進(jìn)行反復(fù)迭代訓(xùn)練,得到可實(shí)現(xiàn)漢服關(guān)鍵點(diǎn)自動(dòng)檢測(cè)與定位的網(wǎng)絡(luò)參數(shù)模型。
2)應(yīng)用該模型測(cè)得的漢服上衣總體單點(diǎn)準(zhǔn)確率達(dá)到90.5%,總體識(shí)別準(zhǔn)確率達(dá)到86%。
3)對(duì)輸出有效關(guān)鍵點(diǎn)的二維坐標(biāo)進(jìn)行比例映射,得到的漢服上衣尺寸的絕對(duì)誤差在3~9 mm之間,相對(duì)誤差在0.59%~4.17%之間。
綜上,本文方案誤差范圍小,操作流程不易受外界因素的干擾,系統(tǒng)設(shè)計(jì)及測(cè)量方案有效。在今后的研究中,可通過(guò)調(diào)整實(shí)驗(yàn)參數(shù)優(yōu)化神經(jīng)網(wǎng)絡(luò)模型,不斷提高系統(tǒng)的魯棒性。利用先進(jìn)的現(xiàn)代技術(shù)探索古代的物質(zhì)文明,不僅是傳承傳統(tǒng)文化的科學(xué)途徑,也是時(shí)代發(fā)展與進(jìn)步的最佳體現(xiàn)。