王奕文,羅戎蕾,康宇哲
(1. 浙江理工大學 服裝學院,浙江 杭州 310018;2. 浙江理工大學 國際教育學院,浙江 杭州 310018; 3. 浙江省絲綢與時尚文化研究中心,浙江 杭州 310018;4. 浙江理工大學 信息學院,浙江 杭州 310018)
古代漢服的結構及形制研究是傳統(tǒng)服飾研究的重要組成部分。博物館為避免風化等問題對文物造成的損害,大部分出土衣物在測量和拍照完成后會保存在庫房里,很少展出,且發(fā)掘報告中給出的數據有限,后續(xù)研究人員無法按照需求進行尺寸測量,不利于傳統(tǒng)服飾文化的繼承與發(fā)展。
尺寸自動測量一般應用于成衣檢驗環(huán)節(jié)。曹麗等[1]提出利用邊緣檢測算法和拐點檢測算法進行尺寸測量;王生偉等[2]利用Shi-Tomasi算法進行角點檢測求得尺寸特征點;董建明等[3]利用SUSAN算子和回光反射標志結合測量比,標定推算尺寸數據;肖祎[4]采用Canny邊緣檢測算法、霍夫(Hough)變換提取輪廓并進行關鍵點分級掃描檢索,最后利用擬合公式求得尺寸數據。以上研究都是基于人工設計的檢測算法,樣本特征提取單一,易受到周圍環(huán)境和服裝形變的干擾。
針對以上分析,本文提出一種基于卷積神經網絡的古代漢服關鍵尺寸自動測量方案,以漢服上衣為例進行實驗,所測關鍵尺寸包括領口寬、袖口寬、通袖長、袖寬、胸圍寬、下擺寬和衣長等。在特征提取上采用深度學習的卷積神經網絡(CNN)進行漢服關鍵點檢測。卷積神經網絡可從大量的原始圖像中進行特征自學習,從而有效避免外界因素的干擾,在目標識別與定位方面具有明顯優(yōu)勢。再利用霍夫變換圓檢測算法結合K-Means聚類算法將無效關鍵點清除,最后通過比例映射即可求得所需的漢服尺寸數據。
在模型設計上,采用自上而下的特征提取方案,以Inception-ResNet-V2[5]作為特征提取的骨干網絡。參照特征金字塔融合網絡(FPN)[6]和單人姿態(tài)識別模型[7]的網絡思想,設計出一個包括全局網絡GlobalNet和精練網絡RefineNet的二階段卷積神經網絡模型,實現(xiàn)高階特征和低階特征的融合作用,其中GlobalNet用于提取關鍵點特征,RefineNet用于提取關鍵點。
骨干網絡Inception-Resnet是由Inception網絡和Resnet網絡結合而來,在加深特征提取深度的同時增加殘差學習單元,對服裝特征的冗余信息進行恒等映射,避免出現(xiàn)因網絡過深而造成的末端梯度消失問題。全局網絡GlobalNet是在Inception-ResNet-V2的網絡結構中引入4種中間特征抽取算法(C2~C5),并構造成類似于FPN的金字塔網絡特征提取結構。其中C2和C3用于提取淺層特征,C4和C5用于提取較深層次的高階語義特征,其結構如圖1所示。

圖1 GlobalNet金字塔網絡結構Fig.1 GlobalNet pyramid network structure
與FPN網絡不同的是,GlobalNet在每一層都加入了1×1卷積核進行上采樣,且基于這種U型特征的金字塔網絡結構可保留空間分辨率和語義信息,從而準確定位到漢服的袖口、下擺等結構較易分辨的部位。對于結構較復雜的領口、裙褶等細節(jié)部位,需要引入更高階的語義信息和背景信息進行識別,因此,在GlobalNet的基礎上又加入了精煉網絡RefineNet。RefineNet是在GlobalNet提取特征的基礎上將特征分成相同的3路,每路都加入了不同數量的1×1卷積核,以擴大輸入和輸出的維度差距形成瓶頸層,以此對特征圖進行非線性壓縮減小計算量,最后將3路特征經過不同維度的線性壓縮后送入concat模塊,實現(xiàn)高低階特征的融合并存。區(qū)別于元素特征相加,concat結構可在特征融合時通過增加特征圖的維度即通道數量,提高精煉網絡的關鍵點識別準確率。最終得到的模型結構如圖2所示。

圖2 二階段卷積神經網絡結構圖Fig.2 Two-stage convolutional neural network structure diagram
此外,GlobalNet和RefineNet均采用損失函數Smooth L2進行關鍵點的回歸預測,計算公式如下:
L=|f(x)-Y|2
(1)
L′=2(f(x)-Y)f′(x)
(2)
式中:L為損失量;f(x)為系統(tǒng)預測的關鍵點坐標;Y為人工標記的關鍵點坐標。
在進行回歸預測時,首先通過式(1)求得損失量L,再對其進行求導即可得到損失量的下降方向L′。
將待測圖片導入GlobalNet-RefineNet后,最終的輸出維度為[1,256,256,24],即24張256像素×256像素的特征圖。利用霍夫變換圓檢測算法對這24幅特征圖進行熱點檢測。首先對圖像進行二值化處理和邊緣檢測,獲取圖像的前景點,將邊緣檢測得到的像素點進行強度累計[8],在二維坐標空間中,對強度值進行0~255的歸一化處理,其中強度最大的點即為熱點的坐標點,最后利用K-Means聚類算法將24幅特征圖中的無效關鍵點去除。
K-means聚類算法是將樣本數據分成K類,設樣本數據點分別為x(1),x(2),x(3),…,x(n),隨機選取K個聚類質點μ1,μ2,μ3,μ4,…,μk,計算聚類質點到每個樣本之間的損失ci:

(3)
其導數為
ci′=2argmin|x(i)-μj|
(4)
按照梯度下降的方向不斷重復以上計算直至損失收斂,此時每個樣本的質心μj為
(5)
式中:i∈(1,2,…,n);j∈(1,2,…,n)。通過公式計算出的質心坐標即為所需關鍵點的二維坐標。此時,只需再結合博物館或發(fā)掘報告中給出的任意一個真實測量數據,即任意2個關鍵點之間的真實距離,通過比例映射即可得出所有關鍵點對應的尺寸數據。
本文的訓練環(huán)境搭建在Ubuntu18.04系統(tǒng)下進行,采用CUDA10.0-cu、DNN7.6.5版本進行GPU加速,keras2.1.3版本庫作為神經網絡的前端,使用Tensorflow-GPU 1.15.0版本庫作為神經網絡的后端,深度學習訓練環(huán)境為:Intel Xeon E3 2603V2型號CPU,128 GB DDR3 ECC服務器內存和11 GB NVIDIA RTX2080TI型號顯卡。測試環(huán)境使用2 GB NVIDIA 940MX顯卡進行實驗,其余實驗條件與上述一致。
作為本文實驗對象的漢服上衣取自漢服結構體系中的“上衣下裳”衣制,包括襦、衫、襖等分裁短衣,其結構變化大都集中于領型和袖型。交領右衽、圓袂收袪作為漢服最典型的結構特征,蘊含著千年華夏文明的精神內涵,本文主要針對具有此類領袖結構的漢服上衣進行實驗。
為解決古代漢服樣本數據和信息稀缺的問題,采用基于模型的遷移學習方法,將在大規(guī)模數據集上訓練完成的卷積神經網絡模型遷移到小規(guī)模目標數據域上[9],利用模型之間的相似性,提高系統(tǒng)泛化能力。在模型訓練時,分別以與古代漢服形制特征相似的現(xiàn)代服裝和現(xiàn)代漢服圖片作為2次遷移學習的數據集進行訓練,具體操作如下。
首先對現(xiàn)有的開源服裝數據集Fashion AI[10]和Deep Fashion[11]進行人工篩選,得到與漢服輪廓特征相似的現(xiàn)代服裝圖片30 000余張,為避免因擺拍造型復雜而產生的數據分布不一致情況[12],所選圖片均為平鋪圖或直立人體模特圖。將收集來的圖片按5∶3∶1的比例分別作為訓練集、驗證集和測試集,輸入卷積神經網絡進行遷移學習,并得到第1次學習后的參數模型。
從淘寶網、漢服薈等電商平臺收集1 000張現(xiàn)代漢服平鋪圖,選取標準為服裝實物是依照傳世文物仿制或遵循傳統(tǒng)形制平裁而成的。通過對收集的圖片進行旋轉、增加適當噪聲等操作,將樣本容量擴充到5 000張,作為第2次遷移學習的數據集。將第1次學習后的參數模型作為預訓練模型輸入網絡,再利用現(xiàn)代漢服數據集進行第2次遷移學習,最終得到一個能夠較好地識別漢服輪廓特征的網絡參數模型,如圖3所示。

圖3 遷移訓練流程圖Fig.3 Flow chart of migration training
經過反復迭代訓練發(fā)現(xiàn),迭代曲線呈收斂趨勢,且當迭代次數達到300 000次,2次遷移學習的loss指數分別下降至0.2和0.18,說明模型收斂程度高,訓練效果好。
為驗證經過2次遷移學習的二階段卷積神經網絡GlobalNet-RefineNet是否可較好地識別古代漢服的關鍵點,以漢服上衣為例,選取現(xiàn)代漢服上衣和古代漢服上衣的平鋪圖各50張,將這100張圖片分別輸入到經過第1次和第2次訓練后的神經網絡模型中進行關鍵點檢測,其結果如表1、2所示。

表1 第1次訓練后的關鍵點檢測結果Tab.1 Key point detection results after first training

表2 第2次訓練后的關鍵點檢測結果Tab.2 Key point detection results after second training
由表1、2中數據可知,經第2次遷移學習后,關鍵點的識別準確率有了大幅提升;2次檢測的結果均是現(xiàn)代漢服稍好于古代漢服,這與服裝的完整性和照片的質量有一定關系。
圖4示出模型經過第1次遷移學習后的關鍵點檢測效果圖。

圖4 第1次訓練后的漢服檢測效果示例Fig.4 Detection effect of Han-style costumes after first training. (a) Modern Han-style costumes ; (b) Ancient Han-style costumes
第1次訓練時采用的是與漢服輪廓特征相似的上萬張現(xiàn)代服裝圖片。從圖中不難發(fā)現(xiàn),訓練后的模型在識別與現(xiàn)代服裝結構相似的漢服衣擺、小袖等部位時表現(xiàn)出較好的識別能力,但對于漢服特有的交領、垂胡等細部結構的識別能力較差,因此,此時模型的泛化能力還達不到準確檢測漢服關鍵點的要求。
圖5示出利用現(xiàn)代漢服進行第2次遷移學習后的檢測效果圖。結合表2中數據可知,此時的神經網絡模型因為有了現(xiàn)代漢服的訓練,模型的泛化能力顯著提高,并可較為準確地識別出漢服特有的造型結構。古代漢服關鍵點識別的單點準確率達到86%,識別準確率達到80%;訓練結果的總體單點準確率為90.5%,總體識別準確率為86%,且坐標點滿足誤差范圍。

圖5 第2次訓練后的古代漢服檢測效果示例Fig.5 Detection effect of Han-style costumes after second training.(a) Modern Han-style costumes; (b) Ancient Han-style costumes
選取實測數據較多的古代漢服上衣鑲幾何邊絹襖[13]、素綢夾衫[14]和藍湖縐麒麟補女短衣[15]進行測量結果分析,以各自通袖長的實測尺寸和機測尺寸之比作為比例映射關系,測量結果如表3~5所示。

表3 鑲幾何邊絹襖尺寸測量表Tab.3 Size measurement table of women′s jacket with geometric patterns
由表3~5可知,利用上述方法測得的尺寸絕對誤差在3~9 mm之間,相對誤差在0.59%~4.17%之間,誤差處于可接受范圍內。誤差主要來源于系統(tǒng)標定、照片質量以及服裝褶皺等因素。系統(tǒng)誤差可通過調整模型參數提高識別準確率,照片及服裝褶皺的影響隨著紡織品保護與修復技術的發(fā)展將會逐年降低。

表4 素綢夾衫尺寸測量表Tab.4 Size measurement table of plain silk shirt

表5 藍湖縐麒麟補女短衣尺寸測量表Tab.5 Size measurement table of blue crepe short women′s Bufu with unicorn pattern
本文將卷積神經網絡在圖像識別上的優(yōu)越性應用于漢服關鍵尺寸的自動測量,得到以下主要結論。
1)通過搭建二階段卷積神經網絡模型GlobalNet-RefineNet,并對其進行反復迭代訓練,得到可實現(xiàn)漢服關鍵點自動檢測與定位的網絡參數模型。
2)應用該模型測得的漢服上衣總體單點準確率達到90.5%,總體識別準確率達到86%。
3)對輸出有效關鍵點的二維坐標進行比例映射,得到的漢服上衣尺寸的絕對誤差在3~9 mm之間,相對誤差在0.59%~4.17%之間。
綜上,本文方案誤差范圍小,操作流程不易受外界因素的干擾,系統(tǒng)設計及測量方案有效。在今后的研究中,可通過調整實驗參數優(yōu)化神經網絡模型,不斷提高系統(tǒng)的魯棒性。利用先進的現(xiàn)代技術探索古代的物質文明,不僅是傳承傳統(tǒng)文化的科學途徑,也是時代發(fā)展與進步的最佳體現(xiàn)。