一種根據(jù)人體動(dòng)作驅(qū)動(dòng)的雕塑三維模型生成方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種根據(jù)人體動(dòng)作驅(qū)動(dòng)的雕塑三維模型生成方法,對(duì)任意給定的虛擬雕塑,該方法利用改進(jìn)的Kinect動(dòng)作識(shí)別技術(shù)識(shí)別用戶關(guān)節(jié)點(diǎn)信息并捕獲其運(yùn)動(dòng)參數(shù),通過(guò)關(guān)節(jié)點(diǎn)與用戶選擇的控制點(diǎn)之間的關(guān)聯(lián)方式,引導(dǎo)虛擬雕塑調(diào)整姿態(tài)實(shí)現(xiàn)雕塑三維模型創(chuàng)意設(shè)計(jì),其中虛擬雕塑姿態(tài)的改變通過(guò)虛擬雕塑編輯算法實(shí)現(xiàn),能夠?qū)μ摂M雕塑實(shí)時(shí)操作。該方法充分考慮到虛擬雕塑與一般三維模型在生成時(shí)的不同約束,能夠很好保存雕塑的風(fēng)格特征。
【專(zhuān)利說(shuō)明】一種根據(jù)人體動(dòng)作驅(qū)動(dòng)的雕塑三維模型生成方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種根據(jù)人體動(dòng)作驅(qū)動(dòng)的雕塑三維模型生成方法,特別是將改進(jìn)的Kinect動(dòng)作識(shí)別技術(shù)與能夠保存虛擬雕塑三維模型風(fēng)格特征的網(wǎng)格編輯方法相結(jié)合實(shí)現(xiàn)雕塑三維模型創(chuàng)意生成方法。
【背景技術(shù)】
[0002]隨著數(shù)字雕塑軟件迅猛的發(fā)展,不但在軟件的數(shù)量和功能上有突飛猛進(jìn)的提高,在行業(yè)的應(yīng)用上也有很大的拓展,從游戲行業(yè)到影視動(dòng)畫(huà)再到玩具手辦制作,我們都越來(lái)越多的看到數(shù)字雕塑軟件的身影。并且,數(shù)字雕塑軟件的出現(xiàn)也改變了很多設(shè)計(jì)師的工作流程,強(qiáng)大的雕塑建模功能和顏色繪制功能解放了藝術(shù)家的靈感,可以讓設(shè)計(jì)師把更多的精力關(guān)注在設(shè)計(jì)和創(chuàng)作上,將軟件的操作難度降到最低。
[0003]到目前為止,數(shù)字雕塑軟件主要有三個(gè)類(lèi)別,第一類(lèi)是以ZBrush為代表的數(shù)字雕塑軟件,這類(lèi)軟件的主要功能是雕塑建模,它制作模型的功能強(qiáng)大,并且對(duì)多邊形面數(shù)的支持高。第二類(lèi)是帶有數(shù)字雕塑功能的三維軟件。例如M0d0、Sil0等,這類(lèi)軟件的功能更多,由于雕塑模型并不是它們的主要功能,所以在雕塑功能和面數(shù)支持上都比不上前一類(lèi)軟件,但使用這類(lèi)軟件可以避免在不同的軟件中頻繁切換。另外現(xiàn)在也有越來(lái)越多的三維軟件集成了數(shù)字雕塑功能,例如3D Max和Maya。第三類(lèi)是一些工業(yè)設(shè)計(jì)方面的軟件,比較著名的有FreeForm等,一些浮雕軟件也可以歸在這個(gè)類(lèi)別里,這些軟件相對(duì)于前兩類(lèi)軟件應(yīng)用的范圍更專(zhuān)一,使用的用戶也少很多。
[0004]我們應(yīng)該看到,雖然這些軟件為專(zhuān)業(yè)用戶(雕塑工作者)和非專(zhuān)業(yè)用戶提供了強(qiáng)大建模功能,但沒(méi)有提供用于藝術(shù)創(chuàng)新的平臺(tái)和合理便捷的交互方式,這讓許多傳統(tǒng)雕塑家對(duì)這些優(yōu)秀的軟件不屑一顧。
【發(fā)明內(nèi)容】
[0005]發(fā)明目的:本發(fā)明所要解決的問(wèn)題是針對(duì)雕塑創(chuàng)作過(guò)程當(dāng)中實(shí)體雕塑后期修改費(fèi)時(shí)費(fèi)力以及雕塑創(chuàng)新過(guò)程中創(chuàng)新思想難以具體呈現(xiàn)的問(wèn)題,提供一種新穎的利用Kinect動(dòng)作識(shí)別技術(shù)和網(wǎng)格編輯技術(shù),為雕塑姿態(tài)調(diào)整提供可視化方法并能保存雕塑的風(fēng)格特征。
[0006]為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種根據(jù)人體動(dòng)作驅(qū)動(dòng)的雕塑三維模型生成方法,包括以下步驟:
[0007]步驟1:輸入虛擬雕塑三維模型,該雕塑模型由一組三角面片構(gòu)成(虛擬雕塑文件只需滿足能夠提取頂點(diǎn)信息和三角面片信息,類(lèi)型可以任意給定);
[0008]步驟2:分析虛擬雕塑三維模型,保存其頂點(diǎn)信息V,邊信息E以及三角面片信息Triangle,然后計(jì)算頂點(diǎn),邊和三角面片之間的拓?fù)潢P(guān)系,包括每個(gè)頂點(diǎn)的鄰接頂點(diǎn),鄰接面,鄰接邊,每個(gè)三角面片的鄰接面以及每條邊的鄰接面;
[0009]步驟3:根據(jù)步驟2中得到的頂點(diǎn),邊和三角面片信息以及它們之間的拓?fù)潢P(guān)系,構(gòu)造虛擬雕塑中頂點(diǎn)之間的測(cè)地距離矩陣Dnverxn.;
[0010]步驟4:選擇驅(qū)動(dòng)虛擬雕塑三維模型的控制點(diǎn),所選擇的控制點(diǎn)分為兩類(lèi):視覺(jué)引導(dǎo)點(diǎn)IvgUidJ和雕塑骨架點(diǎn)(vSkelcton1I vskclcton2>-1vSkelctonnskeL這兩類(lèi)控制點(diǎn)在雕塑姿態(tài)
調(diào)整的過(guò)程中所起的作用不同,視覺(jué)引導(dǎo)點(diǎn)用來(lái)引導(dǎo)雕塑姿態(tài)改變,雕塑骨架點(diǎn)根據(jù)用戶的需要用來(lái)約束雕塑姿態(tài)的改變,保存形態(tài)特征。
[0011]其中n ske表示 雕塑 骨架 點(diǎn)的 數(shù)目,
1≤ guide, Skeleton1, skeleton^,…Skeletontlske < nvcr且 ncontrol=nske+l,ncontrol 表示兩類(lèi)控制
點(diǎn)的總數(shù)目,;
[0012]步驟5:計(jì)算由控制點(diǎn)形成的特征空間,特征空間由視覺(jué)引導(dǎo)點(diǎn)生成,同時(shí)受到雕塑骨架點(diǎn)的影響,在最終的特征空間中,每個(gè)頂點(diǎn)的特征值與該頂點(diǎn)到視覺(jué)引導(dǎo)點(diǎn)的距離成正比,與該頂點(diǎn)到雕塑骨架點(diǎn)的距離成反比,在極端情況下,視覺(jué)引導(dǎo)點(diǎn)位置處的特征值為I,雕塑骨架點(diǎn)位置處的特征值為O ;
[0013]步驟6:啟動(dòng)Kinect攝像頭,用戶處于攝像頭能夠識(shí)別的區(qū)域,利用Kinect提供的骨架追蹤技術(shù),獲取用戶的骨架圖像和深度圖像;
[0014]步驟7:保存用戶關(guān)節(jié)點(diǎn)信息J,由于存在Kinect攝像頭受到遮擋或用戶沒(méi)有完全處于攝像頭所能識(shí)別的區(qū)域這種情況,用戶關(guān)節(jié)點(diǎn)有時(shí)并不能全部被識(shí)別出來(lái),保存已識(shí)別的關(guān)節(jié)點(diǎn)信息對(duì)后續(xù)步驟有參考價(jià)值;
[0015]步驟8:選擇引導(dǎo)虛擬雕塑姿態(tài)調(diào)整的關(guān)節(jié)點(diǎn)并計(jì)算關(guān)節(jié)點(diǎn)與控制點(diǎn)的關(guān)聯(lián)矩陣M,在選擇關(guān)節(jié)點(diǎn)的時(shí)候,對(duì)于跟雕塑骨架點(diǎn)關(guān)聯(lián)的關(guān)節(jié)點(diǎn)可以滿足一個(gè)關(guān)節(jié)點(diǎn)對(duì)應(yīng)多個(gè)雕塑骨架點(diǎn)的關(guān)系;
[0016]步驟9:上述步驟完成之后,該步驟利用Kinect持續(xù)捕獲的用戶關(guān)節(jié)點(diǎn)位置信息,計(jì)算關(guān)節(jié)點(diǎn)位置的改變并將關(guān)節(jié)點(diǎn)位置的改變信息傳遞給相應(yīng)的控制點(diǎn)。由于Kinect能夠捕捉關(guān)節(jié)點(diǎn)在空間中的位置改變,將三維空間中關(guān)節(jié)點(diǎn)位置的改變傳送給對(duì)應(yīng)的控制點(diǎn),這樣可以為用戶提供更加自然的交互方式,這也是選擇Kinect作為交互工具的主要原因。但直接捕獲到的位置信息,會(huì)存在突變或丟失的情況,因此加入關(guān)節(jié)點(diǎn)位置的修正操作是很有必要的,可以提高整個(gè)系統(tǒng)的魯棒性;
[0017]步驟10:根據(jù)步驟9控制點(diǎn)收到的三維空間中關(guān)節(jié)點(diǎn)位置的改變信息計(jì)算相應(yīng)的視覺(jué)引導(dǎo)點(diǎn)的變化信息并根據(jù)變化信息構(gòu)造變換矩陣T ;
[0018]步驟11:根據(jù)步驟5計(jì)算得到的特征空間和步驟10得到的視覺(jué)引導(dǎo)點(diǎn)變換矩陣,計(jì)算每個(gè)頂點(diǎn)的轉(zhuǎn)換矩陣Tj;
[0019]步驟12:根據(jù)步驟11計(jì)算得到的每個(gè)頂點(diǎn)的轉(zhuǎn)換矩陣,計(jì)算更新后的頂點(diǎn)坐標(biāo)
V ;
[0020]步驟13:更新顯示虛擬雕塑三維模型;
[0021]本發(fā)明步驟3中,計(jì)算任意兩個(gè)頂點(diǎn)V1, Vj的測(cè)地距離&包括以下步驟:
[0022]計(jì)算頂點(diǎn)Vi到頂點(diǎn)Vj的單位向量I:
【權(quán)利要求】
1.一種根據(jù)人體動(dòng)作驅(qū)動(dòng)的雕塑三維模型生成方法,其特征在于,包括以下步驟: 步驟1:輸入虛擬雕塑三維模型,該虛擬雕塑三維模型由一組三角面片構(gòu)成; 步驟2:分析虛擬雕塑三維模型,保存其頂點(diǎn)信息、邊信息和三角面片信息,計(jì)算頂點(diǎn)、邊和三角面片之間的拓?fù)潢P(guān)系,包括每個(gè)頂點(diǎn)的鄰接頂點(diǎn)、鄰接面、鄰接邊,每個(gè)三角面片的鄰接面以及每條邊的鄰接面; 步驟3:根據(jù)步驟2中得到的頂點(diǎn)、邊和三角面片信息以及它們之間的拓?fù)潢P(guān)系,構(gòu)造虛擬雕塑三維模型中頂點(diǎn)之間的測(cè)地距離矩陣; 步驟4:選擇控制虛擬雕塑三維模型的控制點(diǎn),所選擇的控制點(diǎn)分為兩類(lèi):人工設(shè)置視覺(jué)引導(dǎo)點(diǎn) IvgUidfJ 和雕塑骨架點(diǎn)(vSkeletonlIvSkeleton2M^vSkeletonnske),其中I < guide, Skeleton1, skeleton^,…Skeletonnske < nvcr,nske 表示雕塑骨架點(diǎn)的數(shù)目,nver 表示虛擬雕塑三維模型頂點(diǎn)的數(shù)目,視覺(jué)引導(dǎo)點(diǎn)用來(lái)引導(dǎo)虛擬雕塑姿態(tài)的改變,雕塑骨架點(diǎn)用來(lái)約束虛擬雕塑姿態(tài)的改變; 步驟5:計(jì)算由控制點(diǎn)形成的特征空間:特征空間由視覺(jué)引導(dǎo)點(diǎn)生成,同時(shí)受到雕塑骨架點(diǎn)的影響,在最終的特征空間中,每個(gè)頂點(diǎn)的特征值與頂點(diǎn)到視覺(jué)引導(dǎo)點(diǎn)的距離成正比,與頂點(diǎn)到雕塑骨架點(diǎn)的距離成反比; 步驟6:啟動(dòng)Kinect攝像頭,用戶處于攝像頭能夠識(shí)別的區(qū)域,根據(jù)Kinect提供的骨架識(shí)別技術(shù),獲取用戶的骨架圖像和深度圖像; 步驟7:保存用戶關(guān)節(jié)點(diǎn)信息; 步驟8:選擇引導(dǎo)虛擬雕塑三維模型姿態(tài)調(diào)整的關(guān)節(jié)點(diǎn)并計(jì)算關(guān)節(jié)點(diǎn)與控制點(diǎn)的關(guān)聯(lián)矩陣; 步驟9:利用Kinect持續(xù)捕獲用戶關(guān)節(jié)點(diǎn)的位置信息,計(jì)算關(guān)節(jié)點(diǎn)位置的改變并將三維空間中關(guān)節(jié)點(diǎn)位置的改變信息傳送給對(duì)應(yīng)的控制點(diǎn); 步驟10:根據(jù)步驟9控制點(diǎn)收到的三維空間中關(guān)節(jié)點(diǎn)位置的改變信息計(jì)算相應(yīng)的視覺(jué)引導(dǎo)點(diǎn)的變化信息,并根據(jù)視覺(jué)引導(dǎo)點(diǎn)的變化信息構(gòu)造視覺(jué)引導(dǎo)點(diǎn)的變換矩陣; 步驟11:根據(jù)步驟5計(jì)算得到的特征空間和步驟10得到的視覺(jué)引導(dǎo)點(diǎn)變換矩陣,計(jì)算每個(gè)頂點(diǎn)的轉(zhuǎn)換矩陣; 步驟12:根據(jù)步驟11計(jì)算得到的每個(gè)頂點(diǎn)的轉(zhuǎn)換矩陣,迭代更新每個(gè)頂點(diǎn)的坐標(biāo); 步驟13:更新顯示虛擬雕塑三維模型。
2.根據(jù)權(quán)利要求1所述的一種根據(jù)人體動(dòng)作驅(qū)動(dòng)的雕塑三維模型生成方法,其特征在于,步驟2和步驟3中, 步驟2中,計(jì)算頂點(diǎn)Vi的鄰接面集合[fu.fiy Λ'}和對(duì)應(yīng)的鄰接面向外法向量集合ihl' fii,2fii,nfi},其中nfi表示頂點(diǎn)Vi的鄰接面?zhèn)€數(shù)。 步驟3中,計(jì)算任意兩個(gè)頂點(diǎn)Vi, Vj的測(cè)地距離di,J包括以下步驟: 計(jì)算頂點(diǎn)Vi到頂點(diǎn)Vj的單位向量r1::
3.根據(jù)權(quán)利要求1所述的一種根據(jù)人體動(dòng)作驅(qū)動(dòng)的雕塑三維模型生成方法,其特征在于,步驟5包括以下步驟: 計(jì)算由視覺(jué)引導(dǎo)點(diǎn)產(chǎn)生的特征空間下,頂點(diǎn)Vi的特征值A(chǔ)(C^guide):
fi(di,guide) = e-^guwe, 其中,屯,81^表示頂點(diǎn)Vi到視覺(jué)引導(dǎo)點(diǎn)Vsuide的測(cè)地距離,且I ( guide ( nver, μ是參數(shù),用來(lái)控制特征值隨測(cè)地距離改變的速率,設(shè)置μ等于其他頂點(diǎn)到視覺(jué)引導(dǎo)點(diǎn)的最大距離: μ μ Hiaxj U, 其中,dj,guide表示頂點(diǎn)Vj到視覺(jué)引導(dǎo)點(diǎn)Vguide的測(cè)地距離且nver ;計(jì)算雕塑骨架點(diǎn)Vskeletoni對(duì)由視覺(jué)引導(dǎo)點(diǎn)產(chǎn)生的特征空間中頂點(diǎn)Vi的特征值的影響Si(C^skeletoni):
【文檔編號(hào)】G06T19/00GK103914873SQ201410093523
【公開(kāi)日】2014年7月9日 申請(qǐng)日期:2014年3月13日 優(yōu)先權(quán)日:2014年3月13日
【發(fā)明者】路通, 秦龍飛, 邢潤(rùn), 王昊, 巫義銳, 胡煒 申請(qǐng)人:南京大學(xué)