• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于OptiTrack動(dòng)作捕捉的像素化角色動(dòng)畫系統(tǒng)

      2021-06-03 10:16:10杜平川
      現(xiàn)代計(jì)算機(jī) 2021年9期
      關(guān)鍵詞:重定向體素骨骼

      杜平川

      (四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065)

      0 引言

      隨著角色動(dòng)畫技術(shù)的發(fā)展,基于動(dòng)作捕捉的角色動(dòng)畫被廣泛的應(yīng)用到游戲、電影、藝術(shù)數(shù)字化等多個(gè)領(lǐng)域。如在電影《指環(huán)王》中的“咕?!薄㈦娪啊缎汕蜥绕稹分械摹皠P撒”、游戲《戰(zhàn)神4》中的大量游戲場面等,都是先基于動(dòng)作捕捉設(shè)備捕捉真實(shí)演員的肢體及面部運(yùn)動(dòng)數(shù)據(jù),再通過動(dòng)畫技術(shù)來模擬肢體和面部數(shù)據(jù)等特征,從而使得角色動(dòng)畫更加栩栩如生。而在上述電影級(jí)別要求的動(dòng)畫制作中,所采用的軟件仿真系統(tǒng)很大程度上都比較復(fù)雜,相對(duì)開發(fā)的成本也比較高,因此在一些畫質(zhì)要求相對(duì)較低的動(dòng)畫系統(tǒng)中并不適用。本文針對(duì)上述工業(yè)級(jí)角色動(dòng)畫系統(tǒng)存在的缺點(diǎn),提出并實(shí)現(xiàn)了一種低成本的基于OptiTrack運(yùn)動(dòng)捕捉的像素化角色動(dòng)畫系統(tǒng)。

      1 基于OptiTrack的運(yùn)動(dòng)捕捉

      運(yùn)動(dòng)捕捉(Motion Capture)是指通過跟蹤和記錄真實(shí)的人體運(yùn)動(dòng)過程中,各個(gè)標(biāo)記點(diǎn)在世界空間坐標(biāo)系下的位置變換過程,以運(yùn)動(dòng)數(shù)據(jù)的形式保存下來,再基于得到的運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)虛擬人運(yùn)動(dòng)[1]。目前存在并廣泛應(yīng)用的主流運(yùn)動(dòng)捕捉設(shè)備一般包括傳感器、信號(hào)捕捉設(shè)備、信號(hào)處理設(shè)備以及數(shù)據(jù)傳輸設(shè)備四個(gè)部分。根據(jù)其中傳感器和信號(hào)捕捉設(shè)備的原理不同,又可以被分為機(jī)械式、聲學(xué)式、電磁式和光學(xué)式。但通過對(duì)比捕捉數(shù)據(jù)的靈敏度及精確度,光學(xué)式運(yùn)動(dòng)捕捉設(shè)備要遠(yuǎn)優(yōu)于其他三種。因此在本文提出的系統(tǒng)中,采用了由美國OptiTrack公司所涉及研發(fā)的大空間光學(xué)追蹤系統(tǒng),整套設(shè)備主要由8個(gè)OptiTrack公司生產(chǎn)的Prime 13系列攝像頭(如圖1、表1)、穿戴式光學(xué)定位工具及部分配件組成。見圖1。

      圖1 OptiTrack Prime13攝像機(jī)

      表1 OptiTrack Prime13攝像機(jī)參數(shù)

      本文搭建的動(dòng)作捕捉系統(tǒng)實(shí)驗(yàn)工作地點(diǎn)室內(nèi)場地如圖2所示。由于動(dòng)作捕捉系統(tǒng)設(shè)備環(huán)境要求將攝像頭安裝在300cm以上高度,實(shí)驗(yàn)采用圓形橫截面金屬材料桿搭建了攝像頭平臺(tái),考慮到不同實(shí)驗(yàn)場景下攝像頭的位置調(diào)整需求,攝像頭平臺(tái)安裝在了距離地面和屋頂分別約300cm及50cm的位置。然后將攝像機(jī)安裝在設(shè)備所配置的三維云臺(tái)底座上,再將云臺(tái)固定到攝像頭平臺(tái)的金屬材料桿上。根據(jù)光學(xué)式運(yùn)動(dòng)捕捉原理將云臺(tái)及攝像頭調(diào)整到合適的角度和朝向,并調(diào)節(jié)攝像頭的幀頻、曝光時(shí)間、LED光源亮度等參數(shù),使得攝像機(jī)捕獲區(qū)域內(nèi)不存在過高亮度的干擾點(diǎn)。見圖2(圖中光色光圈為攝像頭LED環(huán))。

      圖2 OptiTrack搭建場景示意圖

      通過均勻布置在場地四周的光學(xué)式攝像頭,記錄穿戴有光學(xué)標(biāo)記點(diǎn)的運(yùn)動(dòng)物體的運(yùn)動(dòng)軌跡,并將運(yùn)動(dòng)數(shù)據(jù)以圖像的形式記錄下來。然后使用計(jì)算機(jī)對(duì)該圖像數(shù)據(jù)進(jìn)行處理,即可以得到并輸出在每一幀圖像的時(shí)間點(diǎn)上每一個(gè)光學(xué)標(biāo)記點(diǎn)的空間三維坐標(biāo)(X,Y,Z)如表2所示,見表2。

      表2 動(dòng)作捕捉光學(xué)點(diǎn)坐標(biāo)數(shù)據(jù)格式

      同時(shí),當(dāng)捕捉的運(yùn)動(dòng)對(duì)象是人體時(shí),OptiTrack官方提供的Motive還可以輸出相應(yīng)的骨骼節(jié)點(diǎn)位置及旋轉(zhuǎn)等數(shù)據(jù)如表2所示,使得所捕獲的運(yùn)動(dòng)數(shù)據(jù)能正確地應(yīng)用在其他平臺(tái)上。見表2。

      2 動(dòng)畫重定向

      為了能使用基于運(yùn)動(dòng)捕捉系統(tǒng)得到的真實(shí)人體運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)虛擬人角色運(yùn)動(dòng),需要通過動(dòng)畫重定向的方式將真實(shí)人體運(yùn)動(dòng)數(shù)據(jù)重新映射到虛擬人角色上。2009年,Poirier等人[2]提出了通過匹配給定的谷歌運(yùn)動(dòng)信息與虛擬角色Mesh之間的拓?fù)潢P(guān)系來使得谷歌適應(yīng)角色模型的方法,但是這種辦法要求輸入的人形模型保持特定的某種姿勢(shì),如T-pose或者A-pose。這種前提條件不滿足普適性。所以在此基礎(chǔ)上Pantuwong等人[3]在2012年提出了一種通過提取輸入3D模型的骨骼解剖學(xué)信息,自動(dòng)生成角色逆運(yùn)動(dòng)學(xué)骨架并與已有的骨骼模板對(duì)應(yīng)綁定的算法。解決了Poirier等人提出的方法中的輸入模型特定姿勢(shì)限制。此外,Abdul-Massih等人[4]在2017年提出一種將角色Mesh分成多個(gè)獨(dú)立的身體組(Group of bodies),再通過身體組映射實(shí)現(xiàn)動(dòng)畫重定向的方法。劃分出的身體組相對(duì)獨(dú)立,因此還需要添加約束并進(jìn)行更多的計(jì)算才能得到較好的重定向結(jié)果。這兩種方法相對(duì)來說效果更好,但與此同時(shí),相應(yīng)的成本開銷也就更大。為了達(dá)到以較小的代價(jià)實(shí)現(xiàn)動(dòng)畫重定向效果,本文提出的系統(tǒng)采用了Unity引擎中提供的特定動(dòng)畫重定向方案。該方案要求用于動(dòng)畫重定向的必須是人形(Humanoid)的骨骼系統(tǒng),它在內(nèi)部定義了一套骨骼模板,并要求所有的角色動(dòng)畫骨骼都必須映射到這套模板上才能由同一個(gè)運(yùn)動(dòng)數(shù)據(jù)來驅(qū)動(dòng)并產(chǎn)生動(dòng)畫。

      表3 OptiTrack輸出骨骼節(jié)點(diǎn)數(shù)據(jù)格式

      人形(Humanoid)骨骼的類似性,滿足了動(dòng)畫從一個(gè)類人骨架映射到另一個(gè)類人骨架的需求。在Unity引擎中,可以選擇Humanoid方式導(dǎo)入類人骨骼系統(tǒng),這種導(dǎo)入方式提供了自動(dòng)綁定功能,自適應(yīng)地將導(dǎo)入的人形骨骼通過關(guān)節(jié)點(diǎn)及關(guān)鍵骨骼數(shù)據(jù)一一對(duì)應(yīng)的方式與所需要復(fù)用到的類人骨骼模型文件相映射。從而達(dá)到運(yùn)動(dòng)數(shù)據(jù)復(fù)用的效果。

      3 體素化及骨骼動(dòng)畫

      在數(shù)字圖形及角色動(dòng)畫表現(xiàn)方法中,像素表現(xiàn)方式是較為基本和常見的一種。如在游戲《我的世界》(Minecraft)中,整體的角色模型以及世界場景構(gòu)建都是由像素組成。本文提出的系統(tǒng)也參考了像素藝術(shù)及其表現(xiàn)手法,選擇了基于動(dòng)作捕捉的運(yùn)動(dòng)數(shù)據(jù)構(gòu)建像素角色動(dòng)畫。相比于傳統(tǒng)如游戲《我的世界》中的像素動(dòng)畫,由動(dòng)作捕捉數(shù)據(jù)驅(qū)動(dòng)的運(yùn)動(dòng)模型更具有真實(shí)性,保留了像素藝術(shù)這一表現(xiàn)手法的基礎(chǔ)上同時(shí)提高了動(dòng)畫質(zhì)量。在本文提出的系統(tǒng)中,主要通過體素化的方式,將普通的Mesh文件進(jìn)行實(shí)體體素化后,再通過骨骼動(dòng)畫的形式由骨骼驅(qū)動(dòng)體素化粒子運(yùn)動(dòng)從而得到像素化的角色動(dòng)畫。

      3.1 體素化

      體素化是將物體的幾何形式表示轉(zhuǎn)換成最接近該物體的體素表示形式,輸出包含體素位置的體素?cái)?shù)據(jù)集合。體素化的主要過程為:首先計(jì)算模型包圍盒,根據(jù)包圍盒決定劃分的網(wǎng)格數(shù)量。然后遍歷每一個(gè)網(wǎng)格,通過遍歷三角形計(jì)算三角形到提速網(wǎng)格中間的距離,再與設(shè)定好的閾值對(duì)比來確定是否被占用。從而得到模型體素化后的數(shù)據(jù)。主要實(shí)現(xiàn)如下:

      3.2 骨骼動(dòng)畫

      骨骼動(dòng)畫,也被稱為骨骼蒙皮動(dòng)畫,主要是指由骨骼運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)的角色動(dòng)畫技術(shù)。Thalmann等人[5]早在1987年就提出了一種針對(duì)局部皮膚運(yùn)動(dòng)進(jìn)行插值計(jì)算的皮膚變形算法(Skeleton Driven Deformation,SDD)。Lander J等人[6]于1998年提出了線性混合蒙皮算法,通過求解每一個(gè)頂點(diǎn)在每一塊骨骼影響下的位置變換,并對(duì)所有的位置變換加權(quán)求平均得到最終結(jié)果。但這種算法其缺陷在于,對(duì)于旋轉(zhuǎn)角度較大的關(guān)節(jié)處,混合后的新頂點(diǎn)丟失了向量長度信息,因此會(huì)產(chǎn)生失真如皮膚塌陷、“糖紙效應(yīng)”等現(xiàn)象。此后為了改善線性混合蒙皮算法的缺陷,Weber等人[7]提出通過在關(guān)節(jié)處增加輔助骨骼來抵消過大的旋轉(zhuǎn)角度的方法。上述方法也是目前工業(yè)界常用的骨骼蒙皮動(dòng)畫技術(shù)。在本文提出的系統(tǒng)中,主要是基于Lander J等人提出的線性混合蒙皮方法,并且由于采用了像素化的表現(xiàn)形式,較好地避免了如皮膚塌陷等現(xiàn)象。主要實(shí)現(xiàn)方式是先采用Dijkstra最短路徑算法將模型的表面體素與經(jīng)過動(dòng)畫重定向后的模型骨骼綁定。再通過IK((Inverse Kinematics)反向動(dòng)力學(xué),基于模型骨骼的運(yùn)動(dòng)數(shù)據(jù)計(jì)算表面體素的每一幀所在位置。

      由于涉及到了大量位置的計(jì)算,所以在實(shí)際的系統(tǒng)開發(fā)過程中,本文將體素位置計(jì)算的過程放在Computer Shader中,通過GPU并行的方式進(jìn)行計(jì)算加速。計(jì)算主要過程如下述代碼:

      4 系統(tǒng)運(yùn)行效果

      完成運(yùn)動(dòng)數(shù)據(jù)捕捉并解決了運(yùn)動(dòng)數(shù)據(jù)復(fù)用的情況下,本文基于Unity引擎開發(fā)了三維角色動(dòng)畫系統(tǒng)。本系統(tǒng)主要分為四個(gè)模塊:動(dòng)作捕捉模塊、動(dòng)畫重定向模塊、體素化模塊、骨骼動(dòng)畫模塊。通過動(dòng)作捕捉模塊捕獲真實(shí)人體運(yùn)動(dòng)數(shù)據(jù),再基于Unity引擎的動(dòng)畫重定向方案將人體運(yùn)動(dòng)數(shù)據(jù)與虛擬角色綁定,最后基于體素化及骨骼蒙皮動(dòng)畫繪制出了像素化的角色動(dòng)畫。所得到的虛擬像素化角色運(yùn)動(dòng)效果如圖3所示。

      圖3 基于OptiTrack動(dòng)作捕捉的像素化角色動(dòng)畫系統(tǒng)效果

      5 結(jié)語

      本文給出了基于動(dòng)作捕捉的像素化角色動(dòng)畫系統(tǒng)中主要算法如體素化、骨骼動(dòng)畫的實(shí)現(xiàn),并基于Opti-Track動(dòng)作捕捉系統(tǒng)設(shè)備搭建和實(shí)現(xiàn)了像素化角色動(dòng)畫系統(tǒng),本系統(tǒng)相對(duì)于普通的像素動(dòng)畫來說能更加方便快捷地實(shí)現(xiàn)更加真實(shí)的像素角色動(dòng)畫,并可以達(dá)到動(dòng)畫自定義的效果,具有一定的實(shí)際意義。

      猜你喜歡
      重定向體素骨骼
      基于多級(jí)細(xì)分的彩色模型表面體素化算法
      做家務(wù)的女性骨骼更強(qiáng)壯
      中老年保健(2021年5期)2021-12-02 15:48:21
      三減三健全民行動(dòng)——健康骨骼
      中老年保健(2021年5期)2021-08-24 07:06:28
      運(yùn)用邊界狀態(tài)約束的表面體素加密細(xì)分算法
      基于體素格尺度不變特征變換的快速點(diǎn)云配準(zhǔn)方法
      解決安卓文件夾亂象
      重復(fù)壓裂裂縫重定向的措施研究
      4G偽基站的監(jiān)測(cè)定位與規(guī)避協(xié)同分析
      骨骼和肌肉
      小布老虎(2017年1期)2017-07-18 10:57:27
      基于馬氏體重定向的鐵磁形狀記憶合金本構(gòu)理論分析
      浦北县| 鸡西市| 潮州市| 兴安县| 临汾市| 赤峰市| 深泽县| 靖西县| 吉安市| 拉萨市| 绥化市| 通州区| 富宁县| 城口县| 丰原市| 丹江口市| 成武县| 墨竹工卡县| 北安市| 江达县| 宁陕县| 彭山县| 江达县| 南陵县| 喀喇沁旗| 瑞安市| 马鞍山市| 蕲春县| 建德市| 桂阳县| 会昌县| 金秀| 龙川县| 宜春市| 雅江县| 麻栗坡县| 呈贡县| 临江市| 屯昌县| 南丹县| 临江市|