国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Kinect的虛擬試衣相關(guān)技術(shù)的研究

2018-09-29 02:38萬(wàn)燕陳林下
關(guān)鍵詞:三維

萬(wàn)燕 陳林下

摘 要:針對(duì)當(dāng)前虛擬試衣技術(shù)普遍存在的一些問(wèn)題,本文提出一套基于Kinect的3D實(shí)時(shí)虛擬試衣系統(tǒng)。本系統(tǒng)設(shè)備成本較低,設(shè)備體積小,操作簡(jiǎn)單,適用于家庭或是個(gè)人使用。不需要任何的穿戴就可以完成虛擬試衣的流程,并且試衣效果相對(duì)真實(shí),能夠?qū)崿F(xiàn)基于即時(shí)演算并且能夠反映人衣交互效果的虛擬試衣系統(tǒng)。

關(guān)鍵詞:虛擬試衣; 三維; 布料仿真; 人衣交互

Abstract: Focusing on the problems of the existing virtual fitting systems, a real-time virtual fitting system based on the Kinect camera is proposed. The system has lower cost, small size and simple operation, which is suitable to family or personal use. This system could achieve real-time interactivity between the customer and the clothes, real-time cloth simulation and could provide real-time results without severe dependence of the equipment or environment.

Key words: virtual fitting; three-dimensional; cloth simulation; interactivity

引言

隨著人們生活水平的逐漸提高和網(wǎng)上購(gòu)物的興起,生活在都市的人們對(duì)于線上選購(gòu)衣物的需求變得更加深入和實(shí)際。有數(shù)據(jù)顯示,年輕的上班族和學(xué)生是網(wǎng)購(gòu)服裝的主流群體。但是,同樣有數(shù)據(jù)顯示,在有關(guān)網(wǎng)購(gòu)服裝的消費(fèi)滿意度方面,有一個(gè)很大的影響因素就是網(wǎng)購(gòu)服裝自身難以避免的一大缺陷——沒(méi)有試穿的體驗(yàn)。為了解決這一問(wèn)題,虛擬試衣技術(shù)也就應(yīng)運(yùn)而生了。

現(xiàn)存的虛擬試衣系統(tǒng)所采用的技術(shù)從框架和展現(xiàn)形式上來(lái)講主要可以分為三維和二維兩種;就服裝的建模方式上,二維技術(shù)路線試衣所用的服裝使用圖片完成服裝的構(gòu)造,三維路線中采用三維模型實(shí)現(xiàn)[1]。使用圖片很難將布料仿真的效果加入到系統(tǒng)中,因?yàn)椴剂系姆结樞Ч嗟氖腔阡秩?。相?duì)的,利用三維模型,想要添加布料效果就會(huì)容易的多[3]。三維虛擬試衣系統(tǒng)對(duì)應(yīng)的工作量和數(shù)據(jù)量會(huì)比較大,不利于網(wǎng)絡(luò)的傳輸,網(wǎng)絡(luò)協(xié)議傳輸?shù)臄?shù)據(jù)可能使用字節(jié)來(lái)表示的,所以只能去做資源的更新,而不能做運(yùn)行時(shí)的同步。而二維利用圖片來(lái)完成的虛擬試衣技術(shù)在網(wǎng)絡(luò)傳輸上會(huì)顯得更有優(yōu)勢(shì),因?yàn)閭鬏數(shù)臄?shù)據(jù)量會(huì)大幅度的減少。

系統(tǒng)實(shí)現(xiàn)和數(shù)據(jù)維護(hù)的思路一般可以分為“構(gòu)建”和“變形”兩種[10]。前者是指根據(jù)數(shù)據(jù)去“畫(huà)”服裝模型,這一思路對(duì)于二維和三維的模型都是通用的,但是使用這種思想來(lái)完成的虛擬試衣系統(tǒng)往往非常復(fù)雜。利用“變形”思想實(shí)現(xiàn)的虛擬試衣系統(tǒng),需要預(yù)先設(shè)置好標(biāo)準(zhǔn)模型,然后根據(jù)數(shù)據(jù)對(duì)于模型的網(wǎng)格或者是預(yù)先設(shè)置的骨骼組進(jìn)行調(diào)整和變形。這樣實(shí)現(xiàn)虛擬試衣不但在效率上會(huì)有非常大的改進(jìn),而且也能夠更大程度實(shí)現(xiàn)對(duì)于變形效果的控制。

Xitong Han提出的基于二維數(shù)字圖像的網(wǎng)絡(luò)虛擬試衣系統(tǒng),主要是利用二維圖像分割融合,將服裝圖片融合到已有的圖片上,從而實(shí)現(xiàn)虛擬試衣[7]。Glasses.com網(wǎng)站上也推出了基于WebGL的眼鏡虛擬試戴系統(tǒng),該系統(tǒng)通過(guò)攝像頭獲取人的頭像,然后根據(jù)頭像上獲得的數(shù)據(jù)來(lái)實(shí)現(xiàn)眼鏡三維虛擬試穿效果。優(yōu)衣庫(kù)網(wǎng)站上也實(shí)現(xiàn)了虛擬試衣系統(tǒng),讓客戶能夠根據(jù)自己的體型利用參數(shù)來(lái)調(diào)整三維模型的體型,然后再進(jìn)行服裝的試穿,該系統(tǒng)在用戶體驗(yàn)上獲了一定的好評(píng),能夠較為直觀地展現(xiàn)出服裝試穿的效果。同樣也有網(wǎng)站曾經(jīng)展示出虛擬試衣鏡系統(tǒng),這一類(lèi)系統(tǒng)利用了二維圖片,貼在通過(guò)攝像頭獲取的用戶和用戶所處環(huán)境的影像上,并且根據(jù)序列幀來(lái)調(diào)整圖片的信息,產(chǎn)生例如動(dòng)作改變和形變等效果。也有一部分系統(tǒng)是預(yù)存了大量的圖片,這些圖片量非常的大,能覆蓋絕大多數(shù)用戶動(dòng)作改變的需求[8]。Salin Boonbrahm提出過(guò)針對(duì)女性的三維實(shí)時(shí)虛擬試衣系統(tǒng),該系統(tǒng)使用三維模型,與人體的骨骼點(diǎn)進(jìn)行匹配和調(diào)整,但對(duì)于布料的實(shí)時(shí)仿真和物理效果實(shí)現(xiàn)上還有很大的改進(jìn)空間[11]。Dimitris 和Protosaltou針對(duì)這一領(lǐng)域提出了布料構(gòu)建的方法[5]。Takao Furukawa在文章中提出了基于圖片克隆的三維服裝建模方法[8]。該方法通過(guò)提取人物正面和背面照片的骨骼點(diǎn)和外輪廓,然后對(duì)服裝進(jìn)行分割,將服裝部分和人體的頭部進(jìn)行分離。Shiyi Huang和Won-Sook Lee提出了基于雙Kinect攝像頭的三維服裝重構(gòu)技術(shù)[9]。

綜上所述,目前的虛擬試衣技術(shù)主要存在兩大問(wèn)題:

一是實(shí)時(shí)的三維試衣效果不夠真實(shí),對(duì)于用戶來(lái)說(shuō)最佳的效果是實(shí)時(shí)的交互效果;其二是大多數(shù)不適合家用,設(shè)備較為昂貴,設(shè)備體積也較為龐大,甚至有一部分虛擬試衣系統(tǒng)需要通過(guò)用戶穿戴一定數(shù)量的傳感器才能實(shí)現(xiàn)較好的實(shí)時(shí)虛擬試效果。值得一提的是,可穿戴設(shè)備一般是指穿戴傳感器,這種方法實(shí)現(xiàn)的動(dòng)作同步是目前存在的動(dòng)作捕捉技術(shù)當(dāng)中效果最好的。但如果試衣過(guò)程需要穿戴一系列的設(shè)備,那么虛擬試衣就沒(méi)有什么存在的必要了。

因此能夠滿足實(shí)時(shí)的、輕量級(jí)、設(shè)備體積較小、無(wú)需任何穿戴設(shè)備、符合家用需求的3D實(shí)時(shí)虛擬試衣系統(tǒng),具有非常重要的研究意義和研究?jī)r(jià)值。

基于此,本文提出了一套基于Kinect的實(shí)時(shí)虛擬試衣系統(tǒng),該系統(tǒng)利用Kinect作為用戶的信息獲取設(shè)備,同時(shí)采用Unity3D作為開(kāi)發(fā)環(huán)境來(lái)實(shí)現(xiàn)。系統(tǒng)能夠?qū)崟r(shí)的完成布料仿真,并且能夠?qū)崿F(xiàn)實(shí)時(shí)的試衣動(dòng)作捕捉和人衣交互,對(duì)于布料仿真的效率和效果方面也有一定的改進(jìn)。系統(tǒng)最后成像部分加入了去遮擋效果的改進(jìn),能夠?qū)崿F(xiàn)較好的實(shí)時(shí)人衣交互效果。

1 總體設(shè)計(jì)

現(xiàn)存的虛擬試衣系統(tǒng)普遍來(lái)說(shuō)對(duì)試衣環(huán)境有著一定的要求,為了能夠降低虛擬試衣系統(tǒng)對(duì)于環(huán)境的依賴,還要避免虛擬試衣的過(guò)程中需要穿戴設(shè)備或是傳感器。本文采用Kinect深度攝像頭作為用戶信息的輸入設(shè)備,Kinect攝像頭可以獲取用戶的深度圖和彩色圖,并且利用對(duì)于深度圖和彩色圖進(jìn)行分析來(lái)提取用戶的骨骼點(diǎn)和特征信息。這種方法可降低系統(tǒng)本身對(duì)于環(huán)境的依賴,而且Kinect攝像頭體積小、重量輕、使用方便,成本低、使用方便快捷,只需用戶站在攝像頭前就可以完成骨骼點(diǎn)信息的獲取,滿足了家庭以及大小商場(chǎng)的需求。

本文提出的技術(shù)方案主要針對(duì)兩個(gè)方面:一是三維與二維的選擇。因此,使用二維的圖像方法來(lái)實(shí)現(xiàn)虛擬試衣時(shí),在試衣的實(shí)時(shí)動(dòng)態(tài)效果和布料的仿真上會(huì)有一定的局限。第二點(diǎn)是實(shí)現(xiàn)的總體思路。本文所采用的方法是在三維世界中先預(yù)先放置所需要的資源(人體模型,服裝模型),再根據(jù)所獲取的數(shù)據(jù)對(duì)已有的人體模型和服裝模型進(jìn)行變形,也就是更加偏向一種“異步”的思想,能夠?qū)崿F(xiàn)較為高效的虛擬試衣效果。總體設(shè)計(jì)路線如圖1所示。

系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的三個(gè)階段:

(1)目標(biāo)信息的獲取。該階段包括對(duì)于目標(biāo)深度圖、彩色圖、圖像骨骼點(diǎn)、身體參數(shù)、位置等信息的獲取,并接入到Unity3D當(dāng)中,主要用來(lái)實(shí)現(xiàn)試衣動(dòng)作的同步。

(2)布料仿真。虛擬試衣系統(tǒng)得到較為真實(shí)的動(dòng)態(tài)布料效果的方法有多種,可用建模軟件在構(gòu)建模型時(shí)實(shí)現(xiàn)動(dòng)畫(huà)效果,然后將動(dòng)畫(huà)作為模型的緩存接入到Unity3D當(dāng)中。這種方法雖然能夠?qū)崿F(xiàn)布料的效果,甚至是交互。但如果需要更為真實(shí)的實(shí)時(shí)布料仿真效果,就需在Unity3D當(dāng)中對(duì)于布料效果進(jìn)行優(yōu)化處理。

(3)復(fù)合輸出。對(duì)于任何三維的虛擬試衣系統(tǒng)來(lái)說(shuō),最后的三維真實(shí)試衣效果展示都是不可忽視的一部分,因?yàn)檫@一部分的效果和效率直接影響了用戶的體驗(yàn)。針對(duì)這一點(diǎn),本文采用復(fù)合輸出的方式來(lái)實(shí)現(xiàn)。

2 布料仿真

布料仿真主要需實(shí)現(xiàn)兩點(diǎn):首先將“彈簧質(zhì)點(diǎn)模型”應(yīng)用到布料網(wǎng)格的模型上,實(shí)現(xiàn)布料中質(zhì)點(diǎn)的相互作用;另外,則需要物理系統(tǒng)的支持,這里所提到的物理系統(tǒng)是指重力和碰撞檢測(cè)。本文主要介紹其中優(yōu)化部分;最后還有對(duì)于實(shí)時(shí)布料仿真效果的優(yōu)化方案進(jìn)行詳細(xì)的闡述。

2.1 彈簧質(zhì)點(diǎn)模型

彈簧質(zhì)點(diǎn)模型是利用牛頓定律完成對(duì)物體變形模擬的方法,如今這一模型逐漸在布料仿真等研究領(lǐng)域被廣泛的應(yīng)用。該模型的理念是將物體的質(zhì)量分布在各個(gè)質(zhì)點(diǎn)上,質(zhì)點(diǎn)之間的連接由彈簧完成,質(zhì)點(diǎn)間的彈簧又是無(wú)質(zhì)量而且自然長(zhǎng)度不為零的;這些彈簧主要用來(lái)模擬內(nèi)外力對(duì)于彈簧質(zhì)點(diǎn)運(yùn)動(dòng)時(shí)的影響。彈簧質(zhì)點(diǎn)模型如圖2所示。

彈簧質(zhì)點(diǎn)運(yùn)動(dòng)時(shí)會(huì)受到內(nèi)力和外力的影響,其中內(nèi)力是指彈性力和阻尼力,外力主要是指重力和空氣阻力。由于彈簧質(zhì)點(diǎn)模型的應(yīng)用已經(jīng)比較成熟,在很多文獻(xiàn)上都能找到非常詳細(xì)的資料,所以有關(guān)這一部分本文僅做簡(jiǎn)述。

需要解釋的是彈簧的彈性力之間遵守胡克定律,而且不同材質(zhì)的布料之間,不同的部分可以通過(guò)彈簧質(zhì)點(diǎn)模型的力學(xué)參數(shù)來(lái)實(shí)現(xiàn),而彈簧質(zhì)點(diǎn)模型的應(yīng)用并沒(méi)有實(shí)質(zhì)上的變動(dòng)。

2.2 物理效果的實(shí)現(xiàn)

單純的實(shí)現(xiàn)布料的仿真效果,能夠?qū)崿F(xiàn)的只是布料質(zhì)點(diǎn)之間的互動(dòng),反映到效果上也只是布料的波動(dòng)效果。而實(shí)際應(yīng)用中的布料仿真還需要讓布料受到重力的影響,以及要讓布料中的質(zhì)點(diǎn)能夠?qū)崿F(xiàn)碰撞的檢測(cè)。

2.2.1 重力的實(shí)現(xiàn)

基于圖形學(xué)API所構(gòu)建的三維世界中,是不存在“力”這一概念的,與其對(duì)應(yīng)的是“速度”,而速度在實(shí)現(xiàn)的過(guò)程中將以單位時(shí)間內(nèi)的位移來(lái)表示。

計(jì)算公式如下:

不僅在此系統(tǒng)中是利用此方法實(shí)現(xiàn)重力,游戲引擎及利用到三維世界的軟件中,都是利用此原理完成重力系統(tǒng)的實(shí)現(xiàn)。利用彈簧質(zhì)點(diǎn)模型中的彈簧的拉伸,可以保證布料只是下垂而不是無(wú)限的拉伸,而且可以根據(jù)系數(shù)的調(diào)整來(lái)完成不同種布料效果的模擬仿真。

2.2.2 碰撞和剛體檢測(cè)的實(shí)現(xiàn)

與重力系統(tǒng)相同,碰撞系統(tǒng)同樣是三維世界的環(huán)境中不可或缺的一部分。無(wú)論是物體與物體之間的碰撞,還是物體與場(chǎng)景之間的碰撞,都需要實(shí)現(xiàn)這樣一套檢測(cè)系統(tǒng)?,F(xiàn)實(shí)中人們不能穿墻而過(guò)是因?yàn)橛袎ψ鳛榕鲎搀w阻擋,然而在三維世界中,和重力一樣,這些都是不存在的,需要后期自行實(shí)現(xiàn)。

以物體和場(chǎng)景之間的碰撞檢測(cè)為例。目前,幾乎所有的3D場(chǎng)景和物體都是由三角面片構(gòu)成的。在圖形庫(kù)文檔中也都是以三角面片為例來(lái)進(jìn)行圖形繪制的。還有一點(diǎn)需要完成的就是要記錄每一幀物體的位置。

首先要根據(jù)物體的運(yùn)動(dòng)規(guī)律或用戶指定的位置來(lái)計(jì)算當(dāng)前幀的位置,然后遍歷場(chǎng)景中的每一個(gè)三角面片。然后先找到當(dāng)前三角形所在的平面,稱之為平面S。沿著平面發(fā)現(xiàn)的方向?qū)λ鲆粋€(gè)平移d,以此來(lái)表示物體和平面之間接近的距離。之后再判斷當(dāng)前幀的位置和下一幀的位置與平面S的關(guān)系,如果當(dāng)前幀物體在平面之前,而下一幀物體在平面后,則表明物體已經(jīng)“穿透”了平面。如圖3所示。

但此時(shí)并不能斷定物體和三角形之間發(fā)生了碰撞,因?yàn)槠矫媸菦](méi)有邊界的,還需進(jìn)一步判斷物體是否在三角形的范圍內(nèi)穿透了平面S。因此,在三角形的三邊做垂直于S的三個(gè)平面,并令這三個(gè)平面法線都指向三角形內(nèi)部。為了體現(xiàn)物體和三角形所能接近的最短距離,這三個(gè)平面也需要沿著法線的反方向做一個(gè)平移,依靠以上提供的三個(gè)平面來(lái)檢測(cè)物體與平面之間發(fā)生的穿透是否發(fā)生在三角形的邊界范圍內(nèi)。但是根據(jù)三角面片形狀的不同,很容易產(chǎn)生過(guò)大的邊界,對(duì)此人們還應(yīng)該加以修正。如圖4所示。圖4中占線了碰撞檢測(cè)的過(guò)程中對(duì)于超過(guò)邊界檢測(cè)方范圍的控制和優(yōu)化,通過(guò)裁剪冗余的邊界,來(lái)完成性能上的優(yōu)化,并去除不必要的判斷。

判斷物體的位置是否在這6個(gè)平面之內(nèi),如果是則修正當(dāng)前幀的位置,進(jìn)行下一步的操作;否則繼續(xù)遍歷其余的三角形并進(jìn)行最開(kāi)始的操作。

以上介紹的就是利用DirectX實(shí)現(xiàn)的碰撞檢測(cè)系統(tǒng)。不難看出,如果在場(chǎng)景或者物體的網(wǎng)格特別復(fù)雜的情況下,進(jìn)行這樣的遍歷,對(duì)于資源的消耗會(huì)非常的巨大。為了應(yīng)對(duì)這種情況,如今很多游戲引擎已經(jīng)將網(wǎng)格碰撞檢測(cè)移除,并用一些相對(duì)簡(jiǎn)單的形狀來(lái)制作碰撞框,并且以此作為計(jì)算的標(biāo)準(zhǔn)。

圖5顯示的是利用圖形API模擬出的受重力影響的彈簧質(zhì)點(diǎn)模型的效果圖。

2.3 布料仿真效果優(yōu)化

實(shí)時(shí)布料效果需要根據(jù)彈簧質(zhì)點(diǎn)模型進(jìn)行實(shí)時(shí)的演算,并且在質(zhì)點(diǎn)模型之中不斷的迭代。而圖5中所實(shí)現(xiàn)的效果并沒(méi)有使用到碰撞檢測(cè),如果加入碰撞,布料仿真的效率將會(huì)成為一個(gè)非常嚴(yán)重的問(wèn)題。仿真過(guò)程中不僅要對(duì)布料網(wǎng)格中的各個(gè)頂點(diǎn)進(jìn)行不斷迭代的計(jì)算,計(jì)算過(guò)程中還需要考慮到碰撞體的網(wǎng)格頂點(diǎn),這樣一來(lái)計(jì)算量就更為龐大?;诖吮疚脑赨nity3D中對(duì)于布料的仿真效果進(jìn)行了一定的優(yōu)化處理。

優(yōu)化處理主要分為兩部分,首先是效率上的優(yōu)化處理,因?yàn)樘幚聿剂闲Ч麑?shí)際上就是在處理頂點(diǎn)和頂點(diǎn)之間的關(guān)系,而模型的頂點(diǎn)數(shù)量可以達(dá)到上百萬(wàn)甚至是上千萬(wàn),這種模型在實(shí)時(shí)驗(yàn)算過(guò)程中是難以使用的;不僅如此,市面上的三維引擎對(duì)于頂點(diǎn)的讀入數(shù)量有著很多的限制。所以,在效率上的優(yōu)化方案是將網(wǎng)格分開(kāi),分開(kāi)后的網(wǎng)格再輸入時(shí)效率上會(huì)有比較好的提升。這也就產(chǎn)生了進(jìn)一步效果上的優(yōu)化。

效果上的優(yōu)化方案是重新實(shí)現(xiàn)一套基于彈簧質(zhì)點(diǎn)模型的布料仿真系統(tǒng)。這里需要對(duì)于讀入的網(wǎng)格定點(diǎn)進(jìn)行反復(fù)的迭代處理,所以對(duì)于網(wǎng)格也有一定的要求,如果讀入的網(wǎng)格定點(diǎn)數(shù)量過(guò)大,會(huì)造成卡頓。

圖6顯示的是Unity中的布料仿真效果,本文對(duì)于這件衣服的頂點(diǎn)權(quán)重的設(shè)置和仿真后的效果,在圖6中的右上方的小圖片中可以看到,已經(jīng)產(chǎn)生了明顯的撕裂效果。

圖7所展示的是調(diào)整后的碰撞體機(jī)構(gòu)圖。并且基于這些碰撞體和布料頂點(diǎn)的權(quán)重設(shè)置進(jìn)行計(jì)算,這些計(jì)算是脫離Unity3D本身的布料仿真。圖片中所展現(xiàn)的階段已經(jīng)能夠較好地實(shí)現(xiàn)各種材質(zhì)布料的模擬仿真以及有關(guān)碰撞檢測(cè)和重力的交互效果了。

如圖8所示,布料仿真需要實(shí)現(xiàn)的效果包括沒(méi)有撕裂,能夠自然下垂等等;為了保證效率和完整性,想要絕對(duì)的全身布料目前來(lái)說(shuō)技術(shù)和設(shè)備上還很難達(dá)到本文的需求,所以只能使用分段的思想,將服裝的一部分作為布料質(zhì)點(diǎn)來(lái)進(jìn)行實(shí)時(shí)驗(yàn)算,并且與人體進(jìn)行交互的碰撞檢測(cè)也是在這一段布料上完成的。

3 復(fù)合輸出

對(duì)于虛擬試衣系統(tǒng)來(lái)說(shuō),最后的成像輸出效果和效率是十分重要并且不可忽視的一部分。最后 的效果是現(xiàn)實(shí)中的用戶“身穿”三維服飾,這一階段需要解決的最重要問(wèn)題已經(jīng)不是虛擬試衣的實(shí)時(shí)效果或是布料仿真效果,而是“遮擋”。本文所使用的設(shè)計(jì)思路需先對(duì)于渲染的部分進(jìn)行介紹。渲染是指將三維世界的物體作為二維的像素點(diǎn)投射到屏幕上的過(guò)程。如今已有許多廠商更加側(cè)重于可編程渲染管線的部分,利用可編程渲染管線可以優(yōu)化渲染效果。

3.1 渲染管線

實(shí)時(shí)渲染管線分為三個(gè)階段,每個(gè)階段實(shí)際上是并行運(yùn)行的,但是數(shù)據(jù)流又是從一個(gè)階段到另一個(gè)階段的。渲染管線的效率并不是取決于最快的流程,而是由最慢的流程決定的。如圖9所示。

實(shí)際上每個(gè)階段又可以劃分為幾個(gè)階段,這三個(gè)階段本身也是管線;其中的每個(gè)階段之間是并行處理的。如前所述,效率是由最慢的部分決定。首先來(lái)看程序階段,此階段開(kāi)發(fā)者對(duì)于程序可完全控制,此部分沒(méi)有利用圖形處理單元緩存,僅利用了CPU進(jìn)行運(yùn)算。盡管如此,本階段依舊會(huì)對(duì)余下的流程產(chǎn)生一定的影響。因?yàn)榇颂幍乃惴赡苤苯記Q定了將會(huì)進(jìn)行渲染的三角形面片數(shù)量。本階段結(jié)束之后將會(huì)把需要渲染的圖元發(fā)送給幾何階段。圖元包括三角形、點(diǎn)和線,這些也將是未來(lái)構(gòu)成復(fù)雜圖形最為基本的要素。

幾何階段主要是對(duì)每個(gè)頂點(diǎn)和多邊形進(jìn)行集中的處理。此階段分為:模型和視角轉(zhuǎn)換變形、頂點(diǎn)著色、投射、裁剪和屏幕映射等。由于可編程流水線的發(fā)展,頂點(diǎn)著色也將作為實(shí)現(xiàn)后續(xù)步驟的主要部分。光柵化階段根據(jù)之前處理過(guò)的數(shù)據(jù)將需要渲染的頂線顯示在屏幕的像素點(diǎn)上。這個(gè)階段又分成構(gòu)建三角形、三角遍歷、像素著色、融合等過(guò)程。詳細(xì)流程如圖10所示。

渲染管線如今的應(yīng)用已經(jīng)非常的廣泛,在任何應(yīng)用到圖形的程序當(dāng)中,渲染管線都不可或缺。圖11中是本文系統(tǒng)中對(duì)于去遮擋顯示部分的流程設(shè)計(jì)。

3.2 頂點(diǎn)著色及像素著色

上述所提到的管線流程中,并非所有的部分都是可編程的。其中的頂點(diǎn)著色器,幾何著色器、像素著色器都是可編程控制。其它的部分有的完全固定,有的是部分可編程。本系統(tǒng)主要使用的是頂點(diǎn)著色器,對(duì)于模型的頂點(diǎn)以及覆蓋在模型上的材質(zhì)進(jìn)行改寫(xiě),以達(dá)到所需的效果。

頂點(diǎn)著色主要是用來(lái)針對(duì)物體的頂點(diǎn)以及材質(zhì)進(jìn)行調(diào)整。本文中并沒(méi)有應(yīng)用到頂點(diǎn)的變形部分,主要是針對(duì)材質(zhì)部分進(jìn)行編程。需要將人物的表面材質(zhì)對(duì)于調(diào)整成只能反射一種顏色光照的材質(zhì),并且毫無(wú)金屬質(zhì)感,這樣表面看起來(lái)就會(huì)是不自然的單一顏色。這利用這種方法,可以進(jìn)一步的進(jìn)行操作,以便得到更好的效果。接下來(lái)進(jìn)行像素著色的處理。

在此需要遍歷攝像機(jī)獲得的像素,并且剔除像素之前賦給人體模型表面的顏色。之后將這些處理過(guò)后的像素點(diǎn)重新顯示在屏幕上,再結(jié)合之前獲取的人體影像,就基本完成了虛擬試衣的部分。

4 實(shí)驗(yàn)結(jié)果

圖12展示了服裝和外部目標(biāo)動(dòng)作的同步以及服裝的布料效果的實(shí)現(xiàn),以及不同體型目標(biāo)的適配等效果,可以看出,本系統(tǒng)所實(shí)現(xiàn)的試衣與外界試衣對(duì)象的交互效果已經(jīng)基本實(shí)現(xiàn),對(duì)外界環(huán)境沒(méi)有特別的依賴。

該系統(tǒng)同樣也存在著一定的局限,對(duì)于3D的建模工作有著相當(dāng)大的需求,一旦投入到了實(shí)際應(yīng)用當(dāng)中,商家每增添新款,就需要專人來(lái)進(jìn)行建模工作。而且由于Kinect本身不支持轉(zhuǎn)身的局限,也一定程度上限制了系統(tǒng)效果的展示。在外部條件允許的情況下本系統(tǒng)能夠較好地完成布料的效果仿真和動(dòng)作同步,實(shí)現(xiàn)實(shí)時(shí)3D虛擬試衣效果。

5 結(jié)束語(yǔ)

本文所提出的是基于Kinect的3D虛擬試衣系統(tǒng)。對(duì)于其中的3D布料效果實(shí)現(xiàn)和3D物理系統(tǒng)的實(shí)現(xiàn)都進(jìn)行了深入的討論和分析。利用Kinect來(lái)獲取人體的骨骼點(diǎn)信息,并通過(guò)相應(yīng)的骨骼點(diǎn)數(shù)據(jù)來(lái)完成試衣目標(biāo)和服裝的動(dòng)作同步。最后再利用實(shí)時(shí)渲染思想,通過(guò)調(diào)整人物模型材質(zhì)來(lái)完成像素的輸出,得到3D虛擬試衣效果。

[LL]

參考文獻(xiàn)

[1] HAUSWIESNER S, STRAKA M, REITMAYR G. Free viewpoint virtual try-on with commodity depth cameras[C]// Proceedings of the 10th International Conference on Virtual Reality Continuum and Its Applications in Industry.Hong Kong, China:ACM, 2011:23-30.

[2] 何瑋. 虛擬試衣系統(tǒng)的研究與實(shí)現(xiàn)[D]. 杭州:浙江大學(xué), 2012.

[3] 徐康熙, 郝泳濤. 基于物理引擎PhysX的3D試衣系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù), 2014,10(8):1826-1829,1837.

[4] LIU Xiaohu, JIANG Congfeng, SZE K Y, et al. Online cloth virtual fitting room based on a local cluster[C]// International Conference on New Trends in Information and Service Science. Beijing, China:IEEE, 2009:139-144.

[5] 況鷹. 基于Kinect運(yùn)動(dòng)捕獲的三維虛擬試衣[D]. 廣州:華南理工大學(xué), 2012.

[6] 楊建東. 虛擬試衣系統(tǒng)的研究[D]. 北京服裝學(xué)院, 2012.

[7] 李俊, 張明敏, 潘志庚. 人物替換模式的虛擬試衣[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2015, 27(9):1694-1700.

[8] 孟蕊. 虛擬試衣系統(tǒng)關(guān)鍵算法研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2015.

[9] 丁路. 基于深度圖像的人體輪廓識(shí)別技術(shù)[D]. 南京:東南大學(xué), 2015.

[10]丁玉蘭. 人體工程學(xué)[M]. 4版. 北京:北京理工大學(xué)出版社,2011.

[11]李紅勤, 王建萍. 虛擬試衣系統(tǒng)原理與相關(guān)技術(shù)的探析[J]. 紡織科技進(jìn)展, 2012(1):93-96.

[12][JP3]HAUSWIESNER S, STRAKA M, REITMAYR G. Free viewpoint virtual try-on with commodity depth cameras[C]// Proceedings of the 10th International Conference on Virtual Reality Continuum and Its Applications in Industry.Hong Kong, China:ACM, 2011:23-30.

[13]KANAMORI Y, YAMADA H, HIROSE M, et al. Image-based virtual try-on system with Garment reshaping and color correction[M]// GAVRILOVA M, TAN C, IGLESIAS A., et al. Transactions on Computational Science XXVI. Lecture Notes in Computer Science. Berlin/Heidelberg:Springer . 2016,9550:1-16.

猜你喜歡
三維
初中作文“練筆·日記·作文”三維寫(xiě)作教學(xué)初探
“三維”視角的民生資金跟蹤審計(jì)重點(diǎn)探析
談小學(xué)語(yǔ)文課堂如何落實(shí)“三維”目標(biāo)
基于After Effects中Form濾鏡下的三維粒子特效研究與應(yīng)用
三維數(shù)字化移交技術(shù)在化工項(xiàng)目工程設(shè)計(jì)中的應(yīng)用剖析
網(wǎng)絡(luò)組織風(fēng)險(xiǎn)分析的三維框架
三維動(dòng)畫(huà)制作新技術(shù)及其展望
淺析路面三維檢測(cè)技術(shù)
高校音樂(lè)教育專業(yè)“三維”實(shí)踐教學(xué)模式研究
關(guān)于三維虛擬圖像技術(shù)與攝影藝術(shù)相融合的研究
桃园县| 宝丰县| 景泰县| 双江| 凯里市| 凤台县| 靖边县| 泸溪县| 滁州市| 五华县| 凯里市| 榆中县| 台北市| 井冈山市| 遵化市| 龙南县| 三明市| 敦化市| 西城区| 吐鲁番市| 疏附县| 安岳县| 芦山县| 祁东县| 灌南县| 高碑店市| 甘孜县| 安义县| 台南市| 万宁市| 鞍山市| 丹江口市| 黄大仙区| 红安县| 富宁县| 乾安县| 衡南县| 桐梓县| 合川市| 信丰县| 东光县|