本發(fā)明涉及計算機視覺領域,特別涉及一種基于碰撞體的虛擬試衣的方法和系統(tǒng)。
背景技術:
試衣設施一般為試衣鏡,只能看到前面和局部鏡像,無法看到身后及行走過程中衣服和體型的適合程度,且無法保留試衣過程的影像。
隨著虛擬現(xiàn)實技術的發(fā)展,已經(jīng)研發(fā)出能夠?qū)崿F(xiàn)虛擬試衣的諸多方案。通過虛擬試衣系統(tǒng),用戶不必真實地穿上衣服,而僅需要將自己的諸如身材等的信息提供給虛擬試衣系統(tǒng),然后對著試衣境就能夠看到試衣的效果。虛擬試衣系統(tǒng)根據(jù)用戶真實的人體體型系數(shù)構造出與用戶一致的三維人體模型,從而在試衣時,展現(xiàn)出更加真實的試衣效果。
基于虛擬現(xiàn)實技術的試衣,為了使虛擬試衣的效果更逼真,需要試衣鏡中衣服與人體模型進行貼合,并且試衣鏡中的人物模型需要隨著人體試衣的姿態(tài)而做出相應的動作,因此在試衣系統(tǒng)中需要對衣服和人體模型進行碰撞檢測?,F(xiàn)有基于虛擬現(xiàn)實技術的碰撞檢測方法有兩種,一種是將人體的碰撞體模型用一個膠囊體進行模擬,膠囊體模擬雖然在試衣系統(tǒng)進行虛擬試衣的物理仿真時效率很高,但是由于人體模型具備四肢和軀干,并非只是一個膠囊的形狀,因此基于此種方法的碰撞檢測,試衣過程中人體模型無法與衣服完全貼合,導致虛擬試衣的視覺體驗不佳。另一種方法是使用三角面片的包絡體對人體和服裝進行物理仿真,這種方式在虛擬試衣時可以很好地將人體模型和衣服進行貼合,但是基于三角面片技術的計算量太大,導致仿真效率很低,因此在虛擬試衣時人體不能做出大幅度的動作(如抬手、轉身等),否則會因為計算量過大而造成試衣系統(tǒng)的時延,無法實時展現(xiàn)出虛擬試衣的效果,從而影響試衣體驗。
技術實現(xiàn)要素:
鑒于上述問題,本發(fā)明提出了一種基于碰撞體的虛擬試衣的方法和系統(tǒng),克服了現(xiàn)有虛擬試衣技術的局限性。本發(fā)明提出了使用多個基本碰撞體(例如球,立方體,圓柱等)拼接為人體碰撞體模型,同時將每個碰撞體綁定到人物的骨骼系統(tǒng)上,每個碰撞體可以隨著骨骼進行運動,這樣在顧客進行試衣時,挑選的衣服可以和試衣鏡中的人體模型緊密貼合,同時也能隨著人體的動作而實時地做出相應的動作,提高了虛擬試衣的逼真性。
附圖說明
圖1為本發(fā)明中基于碰撞體的虛擬試衣的總體流程圖;
圖2為本發(fā)明中識別的人體骨骼點;
圖3為本發(fā)明中碰撞體之間形成連接體的示意圖
圖4為本發(fā)明中附加碰撞體填充人體物理模型主框架的示意圖;
圖5為本發(fā)明中由碰撞體組成的人體物理模型圖;
圖6為本發(fā)明中基于碰撞體的虛擬試衣系統(tǒng)的框架圖;
圖7為虛擬試衣的效果圖。
具體實施方式
如圖1,基于碰撞體的虛擬試衣包括以下步驟:
101.基于人物的骨骼動畫模型標識出人物的關鍵骨骼點。
人體的關鍵骨骼點被動作捕捉器進行捕捉和跟蹤,如按照微軟kinect識別三維人體骨骼點,并進行骨骼追蹤,獲得人體的骨骼點信息,如圖2所示為識別的人體骨骼點。
102.將碰撞球綁定到人物的骨骼系統(tǒng)上的骨骼點,每個單獨的碰撞體可以隨著骨骼點進行運動。
然后在每個骨骼點上設置碰撞球。碰撞球是以骨骼點為中心,半徑為R的一個球體。人體骨骼點移動時,碰撞球也會隨之移動。碰撞球的半徑大小跟人體的骨骼特征保持一致,例如腿部的關節(jié)點中胯關節(jié)的半徑大,膝關節(jié)的關節(jié)適中,踝關節(jié)最小,所設置的碰撞球的大小也隨著關節(jié)半徑的大小變化而相應變化。
在人體碰撞體創(chuàng)建過程中,為了節(jié)省碰撞檢測的時間,根據(jù)衣服與身體的接觸范圍內(nèi)設置相應的碰撞球,在衣服沒有與身體接觸的部分不設置碰撞球,以提高試衣系統(tǒng)的仿真效率。根據(jù)衣服的類型,可以按照以下方式建立碰撞體:對于沒有帽子的衣服,頭部的骨骼點不綁定碰撞球;對于無袖衣服,手臂部分的骨骼點不綁定碰撞球;對于短袖衣服,小臂部分的骨骼點不綁定碰撞球。
103.根據(jù)骨骼點之間的連接關系將骨骼點之間變成填充的碰撞體模型,形成人體物理模型的主框架。
碰撞體的是由兩個碰撞球及碰撞球的外公切線包圍填充而成的連接體,所述碰撞體的填充區(qū)域包括兩個碰撞球,以及外公切線和碰撞球之間的部分。如圖3所示,將所有的碰撞球按照人體的骨骼特征連接起來就形成了碰撞體。每一個碰撞體代表著人體相應的骨骼關節(jié),組成碰撞體的碰撞球可以被多個碰撞體共享,例如膝關節(jié)的碰撞球可以跟胯關節(jié)的碰撞球組成大腿骨,也可以跟踝關節(jié)的碰撞球組成小腿骨。綁定在人體骨骼點的碰撞球可以隨著骨骼點位置的移動而進行相應的移動,因此當試衣者進行運動時,人體的碰撞體模型會根據(jù)試衣者的動作發(fā)生相應的運動。
104.在人體物理模型主框架的基礎上使用附加碰撞體,如膠囊,正方體等,對軀干進行填充,形成完整的人體物理模型。
如圖4所示,使用附加碰撞體進行填充時,首先在人體物理模型的兩個鎖骨處建立兩個碰撞球,并在腹部建立兩個碰撞球,并沿著碰撞球的外公切線進行連接形成碰撞體。
另外,還需使用兩個碰撞球建立人體臀部的碰撞體,使用兩個碰撞球建立小腿腿肚的碰撞體。
針對女性人體物理模型主框架進行填充時,還需使用兩個碰撞球建立女性胸部的碰撞體。
如圖5所示是由碰撞體組成的人體物理模型,每個碰撞球根據(jù)人體的標準模型進行建立,當不同的試衣者進行虛擬試衣時,骨骼關節(jié)的長度和大小會有差異,碰撞體模型的形狀可以隨著被動作捕捉器識別出的骨骼關節(jié)的不同而發(fā)生相應的變化;另外,碰撞體模型的形狀可以根據(jù)試衣者輸入的個人信息,如性別,胸圍,腰圍等信息,進一步進行優(yōu)化。
105.將具有物理模型的衣服附加到人體物理模型上與碰撞體進行碰撞檢測,使衣服隨著人體物理模型的動作而隨之運動。
衣服的物理模型采用代表性的彈簧-質(zhì)點模型,即將密度均勻的面料當作是由排列規(guī)則的質(zhì)點組成,面料的質(zhì)量均勻地分布在各個質(zhì)點上,質(zhì)點與質(zhì)點之間用彈簧連接,用于模擬面料內(nèi)部纖維的相互作用。當碰撞發(fā)生時,發(fā)生碰撞接觸的面料質(zhì)點會停止運動,而沒有接觸的面料質(zhì)點會繼續(xù)運動,同時會受其他質(zhì)點的彈性影響。
在碰撞檢測時,人體物理模型內(nèi)部的碰撞體之間不進行碰撞檢測,僅對服裝和人體碰撞體之間進行碰撞檢測。虛擬試衣時,衣服與人體物理模型貼合或者人體物理模型發(fā)生動作,導致衣服與人體物理模型中的碰撞體發(fā)生碰撞,由于本發(fā)明的人體物理模型中的碰撞體是根據(jù)人體的骨骼關系填充而成,因此衣服展示出被人體物理模型穿起來并隨其動作發(fā)生形變的景象,增加了虛擬試衣的真實感。
如圖6所示為本發(fā)明基于碰撞體的碰撞檢測系統(tǒng),包括:人體碰撞體模型,服裝物理控制器,重力開關,風力控制器,渲染材質(zhì)控制器,物理仿真模塊,三維渲染模塊。
人體碰撞模型包括兩個模塊:人體碰撞模型編輯器和人體碰撞模型開關。人體碰撞物理模型編輯器將碰撞球綁定到人體模型的骨骼系統(tǒng)上的骨骼點上,并根據(jù)骨骼點之間的連接關系將碰撞球之間填充為碰撞體模型,使用附加碰撞體對所述碰撞體模型組成的人體物理模型主框架進行填充,從而生成完整的人體碰撞物理模型,人體碰撞模型開關對人體碰撞模型是否進行碰撞檢測進行打開和關閉的控制。
服裝物理控制器對服裝的物理仿真開關進行控制,物理仿真開關對所有衣服的物理特性進行打開和關閉的控制,其優(yōu)先級高于重力開關和風力控制器,物理特性包括使服裝感受各種物理力的影響,如重力,風力等,使服裝可以與人體碰撞模型進行物理碰撞,以及受重力和風力作用,以提高試衣的真實感。
重力開關對衣服是否受到的重力作用進行打開和關閉的控制。風力控制器調(diào)節(jié)衣服受到風力和風向的控制,以此來模擬衣服隨風擺動的效果。渲染材質(zhì)控制器設置衣服的布料顏色圖以及布料參數(shù),所述布料包括布,麻或者絲綢等。
物理仿真模塊根據(jù)人體碰撞體模型,服裝物理控制器,重力開關,風力控制器,渲染材質(zhì)控制器輸入的仿真參數(shù)實時計算出服裝的位置,旋轉以及柔性變形效果。其對衣服采用彈簧-質(zhì)點模型,并對衣服與人體物理模型中的碰撞體進行碰撞檢測。
三維渲染模塊根據(jù)物理仿真模塊的輸出數(shù)據(jù)結合服裝的材質(zhì)信息最終展示出用戶虛擬試衣的可視化效果。
該虛擬現(xiàn)實的試衣系統(tǒng)在實際應用中的工作過程具體為:
1.試衣者輸入自己的人體參數(shù),并在試衣鏡前選擇一件衣服,所述人體參數(shù)信息包括:身高,胸圍,腰圍,臂長,和腿長;
2.試衣鏡系統(tǒng)的人體碰撞模型編輯器生成對應的人體碰撞模型,并根據(jù)試衣者輸入的人體參數(shù)信息實時改變?nèi)梭w碰撞模型的大??;
3.試衣系統(tǒng)讀入衣服的三維模型,關閉人體碰撞模型開關和服裝物理仿真開關;
4.試衣鏡系統(tǒng)移動衣服到人體模型的三維位置處,使得衣服與人體碰撞模型貼合;
5.試衣鏡系統(tǒng)打開衣服的物理仿真開關,人體碰撞模型開關,重力開關,根據(jù)具體應用場景,調(diào)節(jié)風力控制器,如圖7所示為衣服就貼合在人體模型上展示出試衣效果。
本發(fā)明實施例提供的虛擬現(xiàn)實試衣系統(tǒng)及方法,通過深度攝像機實時獲取人體骨骼信息,并根據(jù)該人體骨骼信息上的骨骼點綁定碰撞球生成與試衣者的體型相符的人體三維模型,從而可以表現(xiàn)出試衣者穿上衣服時,衣服所表現(xiàn)出的與試衣者的身體曲線以及試衣動作相對應的效果,逼真地顯示了試著者的試衣效果。
最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍。