?

基于增強現實技術的三維虛擬試衣仿真模擬系統

2023-12-21 12:37陳婷婷
關鍵詞:試衣衣物骨骼

陳婷婷

(安慶職業技術學院 農林與服裝學院,安徽 安慶 246000)

隨著互聯網技術和人機交互技術的迅速發展,虛擬試衣技術逐漸被人們所關注。 雖然基于體感的試衣技術已經可以滿足用戶在不同動作形態下模擬衣物的穿戴效果,但由于無法獲得衣物與人體之間最直觀的感受,從而導致應用效果不理想。 對于虛擬試衣技術,國外比較知名的是試衣網站My Virtual Model。 該網站對人體進行測量確定碼數,同時根據用戶喜好選擇合適的衣物,展示穿戴效果。 國內虛擬試衣技術也取得了一定的成果。 文獻[1]利用服裝CAD 軟件對褶子的面料、紋樣、配飾進行建模,得到2D 樣板圖,同時結合CLO3D 技術對模特的妝容進行仿真,將模特與褶子進行融合,實現虛擬試衣。 文獻[2]對人體數據進行三維測量生成虛擬模特,將預先定制好的三維服裝樣板與模特相結合,經過虛擬縫合,在考慮服裝變形、透視、壓力與接觸4 個因素后,完成虛擬模特的試衣體驗。 但是,上述兩種方法對于衣服褶皺、彎曲以及衣服與人體之間的碰撞響應均沒有進行分析,無法給用戶提供最真實的試衣體驗。 增強現實技術作為一種新興技術,可對衣物與人體之間的碰撞體動作進行分析計算,給用戶最真實的試衣感受,是改變用戶試衣體驗的重要轉折。 因此,本研究在增強現實技術的基礎上,提出了一種三維虛擬試衣仿真模擬系統設計方案,將衣物三維模型與二維人體影像進行虛實融合,結合碰撞體動作仿真,實現了衣服隨人體動作變化而產生褶皺、彎曲等效果。 隨后展開系統性能測試,驗證了所提系統的有效性。

1 三維虛擬試衣仿真模擬系統總體架構

基于增強現實技術的三維虛擬試衣仿真模擬系統總體架構如圖1 所示。 系統由模型生成、場景設置和碰撞體動作仿真三部分組成。 模型生成主要包括三維建模、模型融合和導入模型;場景設置指的是用戶在虛擬試衣時的場景導入和光照選擇[3];碰撞體動作仿真則是通過增強現實技術,將衣物、場景和人體進行融合,并將試衣結果展現在屏幕上。

圖1 三維虛擬試衣仿真模擬系統總體架構Fig.1 Overall architecture of 3D virtual fitting simulation system

2 系統硬件設計

2.1 骨骼綁定模塊

骨骼綁定模塊采用Kinect 體感互動系統的骨骼追蹤技術,對用戶的身體特征點進行追蹤,如圖2 所示。 Kinect 可同時對32 處特征點進行識別和追蹤,首先利用特有的紅外線對用戶特征點計算像素深度值[4],得到景深數據,然后對每一處關節建立坐標系,得到三維坐標點。

圖2 Kinect 骨骼特征點追蹤圖Fig.2 Kinect bone feature point tracking diagram

為保證虛擬試衣系統中衣物可以隨用戶動作改變而做出響應,在利用3DMAX 建模[5]過程中,將人體骨骼添加到每一件衣物中,經過不斷的模型蒙皮和骨骼權重刷試來提高衣物的真實性,隨后將FBX 模型代入虛擬現實開發平臺Unity3D 中。 為保證衣物模型不顯示人體骨骼,在建模時不將骨骼送入管線中。 FBX模型代入Unity3D 中之后,會自動生成Avatar 系統[6],進而生成與帶骨骼的衣物模型相互匹配的人體模型,如圖3 所示。 將人體模型中的關節特征點與Kinect 中的特征點一一對應,在Kinect SDK 的作用下,實現對人體模型中骨骼節點的追蹤。 再將衣物模型與人體模型綁定在一起,即可實現衣物隨人體動作改變而做出相應響應。

圖3 Avatar 系統中的人體三維模型Fig.3 3D human body model in Avatar system

2.2 三維模型與二維影像虛實融合模塊

本研究設計的三維虛擬試衣仿真模擬系統需要將虛擬的衣物三維模型與二維真實人體影像進行虛實融合[7],達到衣物模型能精準覆蓋用戶身體各個關節部位的目的。

在Unity3D 中,衣物模型的任何部位都有各自的三維坐標[8]。 衣物三維模型與二維人體影像虛實融合的基本思想是通過改變衣物三維模型中的坐標,使其對應于二維人體影像。 本研究利用一個長方體(Overlay Object) 來遮擋人體右手(Pos Joint) ,描述三維模型與二維影像虛實融合流程,如圖4 所示。

圖4 三維模型與二維影像虛實融合流程Fig.4 Virtual reality fusion process of 3D model and 2D image

2.3 衣服布料模擬模塊

衣服布料的模擬主要從布料“cloth”屬性設置和衣服交互屬性設置兩方面進行。 布料“cloth”屬性設置可使虛擬試衣系統中衣服布料更具真實性,衣服的交互屬性設置可使衣服的懸垂和下擺更加自然。 同時,衣服與人體發生碰撞后,可展現出正常的碰撞響應和褶皺彎曲。

2.4 手勢識別模塊

手勢識別模塊共添加了5 種手勢狀態:open、lasso、closed、unknown 和untracked。 手勢識別流程如下:先通過Kinect 獲取用戶的手部關節信息,之后讀取手部、肩膀和髖部的位置信息,判斷用戶手勢是否為命令手勢。 在虛擬試衣系統中添加手勢識別模塊,可以提高用戶的交互性和便捷性。

2.5 語音識別模塊

語音識別模塊最重要的就是grxml 語法文件。grxml 語法文件中的語法對象由單詞或者短語構成,不包含“a”“the”等詞語。 語音識別模塊可分辨出不同顏色、不同種類的衣服,如果用戶想要一件紅色衣服,直接說“red”,虛擬試衣系統就會將所有紅色衣服展現在屏幕上。

2.6 光線模擬模塊

光線模擬模塊共設置了3 種光線模式:強光模式、正常光線模式及陰天模式。 用戶可以在選好服裝后,自由選擇不同的光線模式,觀察同一件衣服在不同光線下的視覺效果,這樣可為用戶提供更加真實的觀感。

3 系統軟件設計

3.1 基于增強現實技術的碰撞體動作仿真算法

在虛擬試衣系統中,衣服布料承受的外力主要來自人體活動,這個力在三維模型中體現為布料的幾何約束質點運動,故需要考慮布料質點與人體之間的碰撞響應。

結合骨骼追蹤技術,控制碰撞體模型來模擬人體動作。 Kinect 的骨骼追蹤技術就是通過真實人體骨骼動作來控制虛擬人體執行相同的動作。 虛擬人體模型由蒙皮和骨骼兩部分組成,蒙皮指的是虛擬人體模型網格[9],對網格中的頂點賦予不同的權值,即可將虛擬人體骨骼與真實人體骨骼進行關聯。 隨著真實人體骨骼位置的變化,可通過計算權值的方式對虛擬人體骨骼頂點進行實時更新。 蒙皮從本質上來說屬于形變模型,碰撞體模型則不同,只需要對模型的剛體部分進行實時更新和旋轉,即可獲取骨骼位置信息,實現對碰撞體運動的控制。

人體關節部分通常被看作球形碰撞體,將球心坐標定義為Oi,通過對應關節骨骼的位置Jk進行模擬:

由于球形碰撞體具有特殊的幾何性質,旋轉信息可通過單位矩陣[10]進行描述:

式中:Ri為碰撞體模型的旋轉信息;I為單位矩陣。

對于圓柱體模擬的人體軀干和關節,需要對圓柱體的重心移動位置和旋轉數據進行計算。 圓柱體中的關節有著父子節點的關系,Kinect 通常采用四元數的方式記錄子節點相對于父節點的旋轉。 也可將這種旋轉方式看作角軸對稱,即將父節點作為基點,以父子節點所在的骨骼為軸進行肢體旋轉,旋轉數據可看作該骨骼上的任意一點,而重心只有一個,就是骨骼的中點。 子節點以父節點為基點進行旋轉,得到重心的旋轉信息。 圓柱體碰撞體的位置更新公式如下:

式中:PI、RI分別為圓柱體碰撞體更新前后的位置信息;、分別為子節點和父節點;為碰撞體模型旋轉信息。

通過上述計算,可實時更新任意一個碰撞體動作的位置和旋轉信息,模擬真實的人體動作,并與衣物模型完美融合,從而給用戶提供最真實的試衣體驗。具體流程如圖5 所示。

圖5 碰撞體動作仿真流程Fig.5 Collision body motion simulation process

3.2 三維模型制作軟件

三維模型制作是整個虛擬試衣系統運行的基礎,本研究選擇3DMAX 來完成。 在3DMAX 的操作視窗中,可以使用各種便捷工具完成衣物三維模型的建立。 該軟件最大的優勢就是實現過程簡單,初學者也能很好地操作。 并且,采用3DMAX 建立的三維模型可以完美嵌入Unity3D 中,進行其他項的操作和編輯。

3.3 虛擬現實開發平臺

本研究選擇Unity3D 作為虛擬現實開發平臺。Unity3D 可以幫助用戶在最短的時間內開發出實時三維互動內容。 Unity3D 具有非常強大的兼容性,用戶用其他軟件制作的模型都可嵌入其中。 Unity3D 包含場景窗口、工程窗口、層次結構窗口和游戲窗口。 場景窗口是系統設計的窗口,用戶可在該窗口中進行屬性設置、建模,軟件內置的模型也可在該窗口中進行編輯;工程窗口主要的作用是存儲用戶使用的資源;層次結構窗口服務于場景窗口,用來存儲場景窗口中的物料,與工程窗口不同的是,該窗口可顯示在場景中,顯示的層次關系由窗口元素的父子關系決定;游戲窗口是顯示平臺,對于模型的整體效果、運行流程都可進行展示,對于本研究來說,該窗口主要顯示用戶的試衣效果。

4 系統性能測試

將3DMAX 建立的三維模型置入Unity3D 中,用戶可以在Unity3D 中自由選擇場景與光線條件。 在用戶自定義的場景模式中進行試衣體驗,可以排除其他外界因素的干擾。 為驗證所提系統在實際應用中是否可以給用戶提供最真實的試衣體驗,需要對其進行性能測試。 測試主要從服裝大小的調整和骨骼追蹤技術應用效果兩方面進行。

4.1 服裝大小的調整

由于用戶的身材不同,所以需要對服裝大小的調整功能進行測試。 選取兩位身材相差較大的用戶進行試衣,所提系統取得的測試結果如圖6 所示。 用戶A 的身高、體重分別為168 cm、50 kg,用戶B 的身高、體重分別為174 cm、64 kg。

圖6 所提系統服裝大小調整功能測試結果Fig.6 Test results of the clothing sizing function of the proposed system

對比圖6(a) 、(b) 可以看出,所提系統可根據用戶身材的不同,調節衣物三維模型中的服裝比例,展現出量體裁衣的試衣效果,為用戶提供更加真實的試衣體驗。

4.2 骨骼追蹤技術應用效果

為驗證所提系統是否可以根據用戶肢體動作變化展現出不同形態,對骨骼追蹤技術的應用效果進行測試,結果如圖7 所示。

圖7 所提系統骨骼追蹤技術應用效果Fig.7 Application effect of bone tracking technology of the proposed system

由圖7 可以看出,所提系統可以精準檢測到人體肢體的變化和位置,根據用戶的動作展現出不同的形態,大大增強了用戶的體驗感和真實感。

4.3 系統性能對比

為驗證本方法的可行性,將本方法與文獻[1]、文獻[2]方法以服裝接觸點個數為標準進行對比,服裝接觸點越多,動作跟蹤效果越好,對比結果如表1 所示。

表1 3 種方法服裝接觸點對比結果Tab.1 Comparison results of three methods for clothing contact points

從表1 中可以看出,本方法的服裝接觸點平均為12.6 個,說明本方法可為用戶提供契合度高、速度快且精準的試衣體驗。 文獻[1]方法的服裝接觸點平均為10 個,文獻[2]方法平均為9.6 個,均低于本方法。 由此可知,本方法的動作跟蹤效果更好,更具可行性。

為進一步驗證本方法的實用性,分別以試衣契合度、試衣效率、面料變形率作為指標,采用本方法及文獻[1]、文獻[2]方法進行性能測試,對比結果如表2 所示。

表2 3 種方法用戶試衣效果對比結果Tab.2 Comparison results of user fitting effects of the three methods

從表2 中可以看出,與其他兩種方法相比,本方法的試衣契合度與試衣效率最高,面料變形率最低,更具實用性。

5 結語

本研究在增強現實技術的基礎上,建立了三維虛擬試衣仿真模擬系統,使衣服可隨人體肢體動作改變做出不同的響應,增強了用戶的體驗感和真實感。

猜你喜歡
試衣衣物骨骼
Clothes Donation Box
做家務的女性骨骼更強壯
三減三健全民行動——健康骨骼
零下20℃
基于單片機控制的網購試衣機器人
保暖的衣物
動腦筋,仔細看
骨骼和肌肉
女人衣物寄存公司
3D體感試衣鏡 對著屏幕可試衣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合