黎博文,王 萍,劉玉葉
(東華大學 信息科學與技術學院,上海 201620)
隨著人們生活水平的提高,高品質、個性化的現代時尚需求促進了服裝定制產業的發展,同時,線上購物改變了人們消費模式。在線消費服飾與線下實體店購買方式的最明顯區別是,顧客在線上購買時缺乏服裝試穿的個性化體驗與實時交互,而顧客自身的體驗感與合適程度是促成購買意愿的重要因素。如今,隨著5G通信、人工智能AI、物聯網IOT等信息技術的高速發展,特別是5G高清視頻通信網絡、AR/VR虛擬技術與服裝產業間的緊密結合,促進了服裝虛擬試穿系統的發展,通過提供個性化的虛擬服裝模型貼合在人體身上,實現了便捷試穿的功能,在一定程度上改善了試衣過程的體驗感。
現有的虛擬試穿技術總體上可分為2種:基于二維平面的與基于三維空間的。基于二維平面的方法是以二維服裝圖片進行姿態特征轉換來完成的[1-2],但該方法缺乏試穿的三維立體效果[3]。服裝制造過程采用三維量體掃描儀采集全部的人體尺寸數據,并與三維服裝EDA仿真工具[4-5]結合,展現立體試穿效果,精度高,但設備昂貴、效率低。
三維虛擬試穿系統可分為2類,一種采用基于高精度數據建模的虛擬人體模特進行服裝虛擬試穿,代表性產品諸如:印度Fitiquette公司、美國FaceCake Marketing Technologies公司開發的虛擬試衣鏡,國內摩登大道公司的邁思體感魔鏡等[6]。上述產品將三維服裝模型映射到虛擬模特上。新加坡通信研究院的Yuan等[7]提取真實用戶面部頭像與三維虛擬人體模特結合。然而,虛擬人體模型-服裝模型逐點賦值的跟蹤方法效率低、數據處理量大、真實感較差。
另一種采用微軟Kinect體感攝像頭,通過基于RGB-D(灰度、深度)圖像感知數據實現人體運動跟蹤和三維虛擬服裝建模,具有低成本、實時性的優勢,因此成為國內外研究的熱點。Yousef等[8]基于Kinect人體骨骼點模型和服裝錨點位置迭代估計,修正三維服裝模型實現對真實人體的短裙虛擬試穿,但該文獻沒有展現試衣過程中服裝隨著人體運動姿態變化的動態形變。最近國內薛靜雅[6]、李濤等[9]、萬燕等[10]人,采用Avatar骨骼控制方法實現動態試穿,但該方法跟蹤精度較低,服裝對人體的面料覆蓋率較差。
本文提出利用Kinect骨骼點模型并融合人體特征數據構建了三維服裝骨骼點分層模型,以增強虛擬服裝模型對人體運動姿態跟蹤。同時,設計了分層迭代GL-SVD算法控制人體運動過程中三維服裝模型的整體定位和局部跟蹤,實現三維服裝模型-真實人體之間動態、實時的協同跟蹤與高精度匹配。
人體運動主要通過脊柱和關節帶動軀干運動和四肢聯動,本文首先以脊柱軀干和四肢區分整體與局部骨骼點的運動特征,以便更加精確匹配人體姿態變化的復雜特征,并基于此建立三維服裝骨骼點分層模型。在人體運動過程中,保持服裝骨骼點特征與人體骨骼點特征一一對應的動態匹配關系,就可使服裝模型跟隨人體進行整體定位與局部變化。
基于Kinect體感設備采集的人體骨骼模型數據,定義:人體動態特征點集合X{X1,X2}包括2個子集,如圖1所示。其中,子集X1(紅色)是人體整體動態特征點集,包括:左肩,右肩,脊柱中心,左髖骨,右髖骨,髖骨中心等關節。X2(綠色)是人體局部動態特征點集,包括左肘、右肘、左腕、右腕、左膝蓋、右膝蓋、左踝、右踝等關節。

圖1 Kinect人體骨骼點模型
同理,服裝動態特征點集合Y{Y1,Y2},如圖2所示。其中,子集Y1(紅色)為服裝整體動態特征點集,Y2(綠色)為服裝局部動態特征點集。

圖2 服裝骨骼點模型
同時,依據人體截面橢圓模型[11]以及Kinect體感設備感知的數據可計算擬合出人體圍度尺寸。人體圍度值即橢圓周長的計算公式如下:
式中:L為橢圓周長,cm;a和b分別為橢圓的半長軸和半短軸,cm。基于Kinect采集的人體信息RGB等特征數據,通過遍歷圍度截面的像素點可獲得橢圓的半長軸a和半短軸b。表1示出實驗中男、女模特單人的圍度特征計算數據示例。

表1 個性化人體圍度特征
在人體運動過程中,三維服裝模型的形變控制體現于特征點Y與X的空間位置變化跟蹤,以及特征點間關聯運動矢量的伸縮形變跟蹤,因此,本文動態特征協同跟蹤的思想包括2個方面:其一、整體與局部特征點的定位跟蹤,其二、關聯運動矢量的同步縮放和轉動。
特別地,本文提出基于整體-局部迭代分層擬合的GL-SVD分解算法,以優化運動過程中協同跟蹤精度與實時性。最后,采用四元數[5]和人體深度特征[6]控制關聯矢量的變換。
在三維空間中,2個點集之間的坐標配準可表示成旋轉加平移的變換,即利用旋轉和平移矩陣來實現。在X1和Y1中提取特征點的坐標構建矩陣A和B,分別表示人體和服裝的整體動態特征點坐標,矩陣B到A的轉換可表示成以下變換公式:
A=R×B+T
式中:R為旋轉矩陣;T為平移矩陣。通過上述變換公式,矩陣B和A建立起了對應關系,B可變換成A。
本文通過對矩陣B和A的協方差矩陣H進行奇異值分解(SVD)來求解R和T矩陣,H表示A與B的坐標相關性,即人體與服裝模型位置坐標的相關性矩陣,通過對相關性矩陣進行分解找到矩陣B到A坐標系的映射關系,SVD算法的相關計算公式如下:

通過SVD算法計算局部特征點的預測坐標,針對誤差較大的局部特征點,采用骨骼點間歐式距離的約束和誤差閾值來優化跟蹤精度。以手臂關節為例,手肘與肩部骨骼點的預測間距為dp,計算公式如下:
式中:(x1,y1,z1)與(x2,y2,z2)分別為手肘和肩部骨骼點預測坐標。同理,手肘與肩部骨骼點的真實間距以dt表示,dp與dt的差值公式如下:
d(p,t)=|dp-dt|
式中,d(p,t)表示dp與dt的差值。定義相對跟蹤誤差M,表示骨骼點預測間距和真實間距的差值與骨骼點跟蹤前后間距的比值,計算公式如下:
式中,d(t-1,t)為手肘骨骼點跟蹤前后的間距。設定跟蹤誤差閾值M0,當M大于M0時,迭代計算矩陣R、T來優化相對跟蹤誤差M。
圖3示出基于GL-SVD算法的動態特征協同跟蹤方法。相對于傳統SVD算法,新方法基于分層特征的迭代思想,精度更高。通過優化跟蹤誤差閾值M0可控制算法的迭代次數,在擬合精度和實時性性能之間平衡。

圖3 基于GL-SVD算法的協同跟蹤
根據如圖4所示投影成像原理,三維物體到二維平面的垂直距離與二維平面上成像的大小保持著一定的比例關系。

圖4 投影成像示意圖
圖中:St-1和Et-1分別為前一幀的人體寬度值和深度值;St和Et為當前幀的人體寬度值和深度值。本文以比例關系建立人體深度特征I,如下式所示:
I=St-1×Et-1=St×Et
深度值Et為人體到成像平面的垂直距離,通過Kinect感知可得深度值數據。當人體前后運動視場遠近不同時,利用人體深度特征可對服裝模型進行尺寸縮放。
在人體姿態和位置的改變過程中,通過矩陣旋轉的四元數可表示姿態轉動的變化,而且性能穩定。四元數q可表示為
式中:(x,y,z)=u為單位向量旋轉軸;θ為旋轉角度,表示三維空間中的某個點繞單位向量旋轉軸u旋轉θ角度,如圖5所示。

圖5 四元數旋轉示意圖
實驗環境由PC端和Kinect體感設備構成,PC端硬件配置為:Windows 10操作系統,i7-9700 3.00 GHz處理器,16 GB內存,GTX 1050ti顯卡,軟件配置為:maya三維建模軟件,unity3d交互演示工具。測試視頻的幀率為15幀/s。本文設計的虛擬試穿系統原理圖如圖6所示。

圖6 虛擬試穿系統原理圖
測試過程中,試衣者可任意擺姿勢或者行走移動,由體感設備實時攝錄視頻。動態虛擬試穿過程變換多種場景測試試穿效果,包括連續更換動作、前后左右快速移動、嘗試復雜的姿態變化、遮擋部分身體等等。
基于本文設計的虛擬試穿系統開展了多種場景的個性化虛擬試穿對比實驗,男、女試衣者的個性化人體圍度尺寸數據見表1。
不失一般性,測試嘗試了短袖上衣、無袖上衣、長連衣裙、抹胸裙、長褲、七分褲、五分褲等多種款式和類型的服裝模型,試驗了站立、蹲下、前后抬腿、側向抬腿、T字型姿勢、手臂彎曲姿勢、叉腰姿勢、弓步姿勢等多種姿態。鑒于篇幅有限,本文給出測試場景如表2所示,包括衣、褲、裙3類典型服裝類型和男、女不同試衣者的6種人體姿態。圖7、8和9示出本文算法的視頻虛擬試穿測試效果的截圖。為方便對比測試,表2中的場景1和場景5參考了文獻[6,10]中人體姿態與服裝類型,其采用Avatar(化身)骨骼控制方法進行虛擬試穿所得的測試效果圖如圖10所示。

表2 虛擬試穿場景
對比圖7(b)與圖10(a)以及對比圖9(b)與圖10(b)可見,Avatar方法顯示了較大的服裝位置偏差,而本文提出的基于GL-SVD協同跟蹤方法能夠實時跟隨人體姿態的變化,服裝模型對身體的覆蓋率更高,可適用的服裝類型和人體姿態類型更豐富,動態試穿效果測試表現良好。

圖7 抬腿姿態試穿效果

圖8 弓步姿態試穿效果

圖9 上身姿態試穿效果

圖10 文獻中Avatar方法試穿效果
3.3.1 優化動態跟蹤精度與實時性
跟蹤誤差閾值M0影響動態特征點跟蹤的精度和實時性。以跟蹤手腕動態特征為例,通過對6組情況下的閾值M0開展對比實驗,取10次跟蹤過程的均值誤差和迭代時間作為每組實驗的平均值。圖11示出相對跟蹤誤差和迭代計算時間分別隨閾值M0變化的結果。

圖11 跟蹤精度和實時性分析
根據圖中可知,M隨著M0的增加而增加,T隨著M0的增加而減少,為了保證高精度和更少的迭代時間,取跟蹤誤差閾值M0=15%作為最優值。
3.3.2 人體動態跟蹤精度對比
以人體軀干特征點的動態跟蹤精度為例,將本文提出的基于GL-SVD協同跟蹤方法與文獻[6,9-10]采用的Avatar骨骼控制方法進行對比研究,結果如圖12所示。
研究表明,相較于Avatar方法,本文提出的基于GL-SVD協同跟蹤方法相對跟蹤誤差M減小約10%,跟蹤精度得以明顯提升,具有快速、準確的性能優勢,因此能保證服裝模型動態跟蹤的實時性和精度需求,提升了虛擬試穿的真實體驗。
本文提出了一種面向人體動態特征跟蹤的三維服裝骨骼分層模型來區分人體不同部位的運動特征,并設計了一種基于整體-局部迭代GL-SVD算法的協同跟蹤方法分層控制三維服裝骨骼模型,從而實現對人體姿態的動態跟蹤與擬合。基于Kinect體感視頻交互環境,通過對多種虛擬試穿場景的試驗和性能對比,新的三維動態虛擬試穿技術相對跟蹤誤差降低約10%以上,能夠達到實時、動態的試穿效果,明顯提升了服裝試穿的個性化體驗,可適用于多種服裝類型和連續動態的人體姿態變化,具有一定的泛用性和魯棒性。未來將嘗試研究更多復雜的服裝式樣類型,促進低成本三維虛擬試穿智能系統的應用與發展。
FZXB