• 
    

    
    

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

      一種基于關(guān)鍵幀重載的虛擬人運(yùn)動(dòng)控制方法

      2014-06-04 11:15:54孫利谷曉英
      機(jī)床與液壓 2014年13期
      關(guān)鍵詞:平地關(guān)鍵幀臺(tái)階

      孫利,谷曉英

      (燕山大學(xué),河北秦皇島 066004)

      虛擬人運(yùn)動(dòng)是計(jì)算機(jī)動(dòng)畫(huà)研究的前沿,如何使虛擬人運(yùn)動(dòng)得更逼真是研究的重點(diǎn)方向?;谶\(yùn)動(dòng)捕捉的關(guān)鍵幀動(dòng)畫(huà)雖然加快了速度,但是其無(wú)法應(yīng)對(duì)環(huán)境變化而顯得死板僵硬的缺點(diǎn)也很明顯。利用基于物理描述的實(shí)時(shí)計(jì)算方法雖然可以使虛擬人運(yùn)動(dòng)顯得真實(shí),但是其計(jì)算復(fù)雜、占用資源的缺點(diǎn)也限制了應(yīng)用范圍[1]。

      現(xiàn)階段虛擬人動(dòng)畫(huà)基本分為骨骼動(dòng)畫(huà)和頂點(diǎn)動(dòng)畫(huà)兩種。其中制作網(wǎng)格模型活動(dòng)畫(huà)面的最簡(jiǎn)單方法[2]是頂點(diǎn)動(dòng)畫(huà),此種動(dòng)畫(huà)是由關(guān)鍵幀技術(shù)產(chǎn)生的。每個(gè)關(guān)鍵幀都必須存儲(chǔ)所有頂點(diǎn)的位置,因此虛擬人動(dòng)畫(huà)將耗費(fèi)很大的存儲(chǔ)空間。此外頂點(diǎn)動(dòng)畫(huà)的物理逼真度也難以驗(yàn)證,可用骨骼動(dòng)畫(huà)補(bǔ)充。運(yùn)動(dòng)的骨骼帶動(dòng)蒙皮變形[3],相連骨骼的連續(xù)變化和位置改變可形成模型動(dòng)畫(huà)。文中對(duì)骨架控制器進(jìn)行存儲(chǔ),矩陣對(duì)應(yīng)節(jié)點(diǎn),表達(dá)對(duì)初始位置做的旋轉(zhuǎn)和偏移量,通過(guò)此方式存儲(chǔ)空間得到了有效利用[4]。因此利用骨架動(dòng)畫(huà)產(chǎn)生逼真虛擬人動(dòng)畫(huà)的難點(diǎn)就在于對(duì)于骨架的運(yùn)動(dòng)控制[5]。為了更為逼真地模擬人的運(yùn)動(dòng),先后將運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)、生物力學(xué)等多個(gè)學(xué)科的相關(guān)知識(shí)引入虛擬人運(yùn)動(dòng)的仿真中[6-7]。動(dòng)力學(xué)原理是通過(guò)各關(guān)節(jié)上的力和力矩來(lái)計(jì)算運(yùn)動(dòng)的姿態(tài)[8],此方法可得到視覺(jué)上較為真實(shí)的運(yùn)動(dòng)。引入動(dòng)力學(xué)后骨架動(dòng)畫(huà)的物理逼真度有了很大改善,但計(jì)算復(fù)雜度也使得骨架動(dòng)畫(huà)的應(yīng)用受到極大的限制[9]。

      現(xiàn)有的虛擬人運(yùn)動(dòng)研究主要有虛擬人行走[10]、虛擬人跑步、虛擬人游泳[11]和虛擬人行走與跑步之間的運(yùn)動(dòng)融合[12]。但是現(xiàn)有的模型都沒(méi)有考慮過(guò)地面的因素,在建立行走模型時(shí)都默認(rèn)為是水平地面。這樣建立的模型在處理類(lèi)似臺(tái)階這樣的有高度差的地形時(shí)就達(dá)不到逼真的效果。文中在分析現(xiàn)有的虛擬人行走模型的基礎(chǔ)上,對(duì)其面對(duì)有高度差的地形時(shí)的不足進(jìn)行改進(jìn),提出一種基于反向動(dòng)力學(xué)[13]的關(guān)鍵幀重載技術(shù)提高虛擬人運(yùn)動(dòng)的逼真度。

      1 現(xiàn)有行走模型分析

      因?yàn)樾凶呤且环N周期性運(yùn)動(dòng),所以研究虛擬人的行走,可以由一個(gè)周期來(lái)入手。又因?yàn)槿梭w是左右對(duì)稱(chēng)的,所以一個(gè)周期又可以拆分成兩個(gè)單步來(lái)進(jìn)行考慮??梢酝ㄟ^(guò)腿部的骨架 (如圖1(a)所示)來(lái)直觀地演示行走的周期模型 (圖1(b)為從Z軸看去的側(cè)視圖)。

      圖1 虛擬人腿骨簡(jiǎn)圖

      首先來(lái)看現(xiàn)行的虛擬人行走模型:

      步驟0,靜止站立,如圖1(b)所示。

      步驟1,保持身體的重心不動(dòng),先抬右腿,如圖2(a)所示。

      步驟2,如圖2(b)所示,此圖表示在右腳未著地的情況下,為了保持重心力矩的平衡,身體的重心慢慢開(kāi)始向前偏移。此過(guò)程為步驟 (1)和步驟(3)的中間動(dòng)作,因而可以對(duì)這兩個(gè)步驟進(jìn)行插值計(jì)算來(lái)表示。

      步驟3,如圖2(c)所示,此時(shí)左腳還沒(méi)有離開(kāi)地面,而右腳已經(jīng)落地。

      步驟4,左腳抬起,身體前傾,重心準(zhǔn)備向前轉(zhuǎn)移。

      步驟5,在左腳離開(kāi)地面、右腿伸直的情況下,身體重心轉(zhuǎn)移到支撐腿正上方。

      圖2 平地行走過(guò)程

      這一模型將虛擬人行走的整個(gè)過(guò)程拆分成為5個(gè)階段,對(duì)這5個(gè)階段分別進(jìn)行計(jì)算從而得出整個(gè)周期的運(yùn)動(dòng),從而最終完成對(duì)虛擬人運(yùn)動(dòng)的仿真。可以根據(jù)這5個(gè)步驟制作預(yù)設(shè)關(guān)鍵幀來(lái)反映虛擬人的行走過(guò)程,這也是現(xiàn)在常用的方法。但是這一模型是建立在水平地面的基礎(chǔ)上的,因此當(dāng)虛擬人上臺(tái)階時(shí),它的運(yùn)動(dòng)模型與正常行走時(shí)有一定的相似性,其運(yùn)動(dòng)過(guò)程與在平地行走時(shí)基本一致,只有從步驟 (3)開(kāi)始,由于臺(tái)階有高度差,所以關(guān)鍵幀開(kāi)始出現(xiàn)不同,如圖3(a)所示。到了步驟4的時(shí)候雙腳的高度也有了明顯的差異,如圖3(b)所示。

      圖3 臺(tái)階行走模擬圖

      而臺(tái)階運(yùn)動(dòng)進(jìn)行到步驟 (5)的時(shí)候除了根骨H有著明顯的高度變化之外,其結(jié)構(gòu)又與正常步行時(shí)的骨骼結(jié)構(gòu)基本一致 (圖4),只是這時(shí)虛擬人的重心高度上移了,如圖3(c)所示。

      圖4 行走步驟4、5示意圖

      綜上所述,平地步行與上臺(tái)階時(shí)的動(dòng)作之間的差異主要出現(xiàn)在步驟3和步驟4,正是這兩個(gè)步驟的差異使得平地行走與上臺(tái)階的運(yùn)動(dòng)模型有了很大的不同,原有模型未能考慮這一點(diǎn)而使得由原有模型求出的虛擬人行走模型在上臺(tái)階時(shí)產(chǎn)生了一種“平滑上移”的現(xiàn)象,也就是人物的重心是順著臺(tái)階的傾斜平面滑動(dòng)上移的,而不是一步一步隨著腳踩在臺(tái)階表面行走而按階段有規(guī)律地起伏,這大大降低了虛擬人臺(tái)階行走的逼真度。

      2 臺(tái)階行走關(guān)鍵幀重載

      如圖5所示,這是一個(gè)上臺(tái)階單步周期的腿部線骨骼的路線圖。從起始位置F0的腿直立狀態(tài)到在Fn位置完成一個(gè)單步周期時(shí)腿部再次回復(fù)到直立狀態(tài)。在這一過(guò)程中需要計(jì)算并獲取一幅中間幀用以替換掉在平地行走關(guān)鍵幀系統(tǒng)中對(duì)應(yīng)的那幅預(yù)設(shè)關(guān)鍵幀。運(yùn)動(dòng)實(shí)驗(yàn)表明:人體在上臺(tái)階時(shí),在前腳沒(méi)有踩在臺(tái)階上之前,人體的重心基本是不動(dòng)的。只有在腳踩在地面之前很短的時(shí)間內(nèi)才開(kāi)始大幅度移動(dòng)重心,并由前腿發(fā)力開(kāi)始提升重心,因此可以簡(jiǎn)化模型認(rèn)為在腳沒(méi)有落地前重心是不動(dòng)的。

      如圖5中所示,根據(jù)臺(tái)階的高度h和臺(tái)階的寬度s,以及虛擬人的腿長(zhǎng)數(shù)據(jù)l1、l2,得到了端點(diǎn)F的坐標(biāo) (X+s,Y+h,Z)和髖骨坐標(biāo) (X,Y+l1+l2,Z),根據(jù)這兩個(gè)坐標(biāo)以及大腿長(zhǎng)度l1和小腿長(zhǎng)度l2,可以聯(lián)立方程組公式 (1)和公式 (2)來(lái)求解膝關(guān)節(jié)的坐標(biāo):

      圖5 步驟3在臺(tái)階行走時(shí)的變形

      根據(jù)這樣的公式獲取到的坐標(biāo)點(diǎn)有可能不是唯一的,這時(shí)就需要根據(jù)膝關(guān)節(jié)活動(dòng)角度的約束條件來(lái)確定唯一值。

      在分別獲取雙腿膝關(guān)節(jié)、雙腿腳踝和重心 (髖關(guān)節(jié))這5個(gè)點(diǎn)的坐標(biāo)后,可以根據(jù)這5個(gè)點(diǎn)的坐標(biāo)繪制出雙腿在該時(shí)間點(diǎn)上的關(guān)鍵幀,即上臺(tái)階過(guò)程步驟3的對(duì)應(yīng)關(guān)鍵幀;然后再將該關(guān)鍵幀替換掉預(yù)制關(guān)鍵幀中的步驟3,再進(jìn)行插值計(jì)算就得到了與實(shí)際環(huán)境相適應(yīng)的動(dòng)畫(huà)效果。

      算法1:對(duì)于相應(yīng)的步驟3的關(guān)鍵幀進(jìn)行符合實(shí)際環(huán)境的重繪

      輸入:臺(tái)階高度h,臺(tái)階寬度s,大腿長(zhǎng)度l1,小腿長(zhǎng)度l2,該關(guān)鍵幀對(duì)應(yīng)的時(shí)間t,以及該時(shí)間點(diǎn)的坐標(biāo)點(diǎn) (x,y)。

      輸出:該時(shí)間點(diǎn)的對(duì)應(yīng)的重繪過(guò)的關(guān)鍵幀newframe1.model,并將這一model替換掉原有的關(guān)鍵幀組中的該時(shí)間點(diǎn)的關(guān)鍵幀數(shù)據(jù)。

      Redraw(h,s,l1,l2,x,y){//只對(duì)步驟 3 所對(duì)應(yīng)的關(guān)鍵幀進(jìn)行重繪

      算法描述:Math()方法是計(jì)算關(guān)節(jié)點(diǎn)的算法,簡(jiǎn)單的計(jì)算可以采用前文所述的方法,也可以使用反向動(dòng)力學(xué)計(jì)算的方法由時(shí)間點(diǎn)確定該關(guān)鍵幀。將這一方法獨(dú)立出來(lái)可以在使用中取得更靈活的應(yīng)用。Model()方法則是在計(jì)算關(guān)鍵幀完成后將各關(guān)節(jié)點(diǎn)鏈接并生成骨骼的方法,這一方法的模塊化有助于未來(lái)升級(jí)的需要。

      在進(jìn)行關(guān)鍵幀計(jì)算的過(guò)程中,可以利用CCD算法對(duì)于人體的腿部骨骼結(jié)構(gòu)及關(guān)節(jié)進(jìn)行定位計(jì)算,獲取對(duì)應(yīng)的坐標(biāo)點(diǎn)信息。

      3 利用四元數(shù)方法進(jìn)行插值計(jì)算

      僅憑關(guān)鍵幀是無(wú)法生成動(dòng)畫(huà)的。在關(guān)鍵幀生成成功之后,為得到更為流暢的動(dòng)畫(huà)效果,可針對(duì)不同情況對(duì)關(guān)鍵幀采用不同的插值方法。算法2為獲取中間幀的算法,在獲取關(guān)鍵幀數(shù)據(jù)之后,將其加入關(guān)鍵幀組中,通過(guò)迭代的方式,最終可輸出一個(gè)按時(shí)間軸順序排列的關(guān)鍵幀組數(shù)據(jù),其中迭代次數(shù)可由外部進(jìn)行定義。

      算法2:獲取中間幀算法

      輸入:包括每個(gè)關(guān)鍵幀中的關(guān)節(jié)點(diǎn)的位置、角度等一系列關(guān)鍵幀數(shù)據(jù)。

      輸出:包含關(guān)鍵幀序列的組。

      插值方式分兩種:線性插值法和球面插值法。線性插值法擁有計(jì)算簡(jiǎn)單、速度快的優(yōu)點(diǎn),但是在描述旋轉(zhuǎn)的情況時(shí),球面插值法則比線性插值法更具優(yōu)勢(shì)。文中通過(guò)judge(q1,q2)進(jìn)行判斷,如果q1.q2的值大于某固定值采取線性插值法,否則采取球面插值法提高計(jì)算速度。

      4 基于關(guān)鍵幀重載的虛擬人行走控制方法

      如前文所提到的,平地行走與具有高度差的地形行走,兩者之間行走的動(dòng)作是不相同的,因此,在臺(tái)階這樣地形上的行走模式與平地行走不同,所以如果都用平地行走模式建立的模型,遇到有高度差的地形時(shí),就顯得極其不真實(shí),給人很差的視覺(jué)效果,從而導(dǎo)致了動(dòng)畫(huà)效果的逼真度降低。而且大量的資源會(huì)在這種完全采用計(jì)算的形式下被占用,造成整體運(yùn)算速度的下降,在很大程度上限制了其在實(shí)際中的應(yīng)用。而采用動(dòng)作捕捉等一系列技術(shù)的預(yù)設(shè)關(guān)鍵幀的方式,能彌補(bǔ)其在速度和逼真度上的不足。為了充分利用預(yù)設(shè)關(guān)鍵幀的優(yōu)勢(shì)之處,文中針對(duì)平地地形和具有高度差的地形有不同的虛擬人模型行走策略,首先根據(jù)臺(tái)階高度判斷是否需要重繪關(guān)鍵幀,如果為平地行走,則直接使用預(yù)制關(guān)鍵幀,否則調(diào)用關(guān)鍵幀重繪模塊,重新實(shí)時(shí)繪制并替換符合實(shí)際的關(guān)鍵幀。這樣既可以減少系統(tǒng)資源占有率,提高繪制速度,還可以提高動(dòng)畫(huà)的實(shí)時(shí)性與逼真性,能夠達(dá)到實(shí)時(shí)繪制的要求。當(dāng)虛擬人行走時(shí),則調(diào)用虛擬人行走動(dòng)作繪制模塊,如下所描述。

      算法描述:將預(yù)制的關(guān)鍵幀進(jìn)行編組,按時(shí)間順序調(diào)取,進(jìn)行判斷。如果不需要重繪步驟3對(duì)應(yīng)的關(guān)鍵幀,就按照時(shí)間先后順序調(diào)出預(yù)制關(guān)鍵幀,通過(guò)插值計(jì)算的方式獲取完整的過(guò)程動(dòng)畫(huà);如果判斷結(jié)果為重新生成,調(diào)出實(shí)時(shí)生成關(guān)鍵幀的步驟,利用反向動(dòng)力學(xué)方法重新生成第3步數(shù)據(jù),得到另一組關(guān)鍵幀,再通過(guò)插值計(jì)算的方式最終生成虛擬人行走動(dòng)畫(huà)的逼真效果。

      5 實(shí)驗(yàn)及結(jié)果分析

      首先利用MATLAB7對(duì)虛擬人10 cm和20 cm兩種不同高度臺(tái)階的行走進(jìn)行了簡(jiǎn)單的模擬實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖6所示。

      圖6 平地與不同高度臺(tái)階行走模擬

      圖6(a)顯示的是采用不變關(guān)鍵幀的傳統(tǒng)方法的虛擬人上臺(tái)階時(shí)的顯示效果。圖6(b)和圖6(c)顯示的是采用重載關(guān)鍵幀方法的虛擬人在遇到10 cm高度和20 cm高度兩種不同高度的臺(tái)階時(shí)所生成的行走效果。

      如圖6(a)所示,不變關(guān)鍵幀在處理臺(tái)階時(shí)由于地形高度差的緣故而使動(dòng)作產(chǎn)生了嚴(yán)重的脫節(jié),外在表現(xiàn)就是使虛擬人產(chǎn)生了瞬移或彈跳的效果,這降低了虛擬人動(dòng)作的逼真度和連貫性。而采用重載關(guān)鍵幀方法的虛擬人對(duì)應(yīng)不同高度的臺(tái)階繪制了不同的對(duì)應(yīng)關(guān)鍵幀,保持了動(dòng)作的連貫性,生成了更為逼真的運(yùn)動(dòng)動(dòng)畫(huà)。

      圖7為虛擬人在面對(duì)平地、15 cm、25 cm等3種地形時(shí),利用重載關(guān)鍵幀方法獲取新關(guān)鍵幀后的效果圖的對(duì)比演示。

      圖7 平地、15 cm、25 cm 3種地形獲取重載幀的對(duì)比演示

      實(shí)驗(yàn)證明了文中提出的關(guān)鍵幀重載方法的有效性。當(dāng)虛擬人在平地或地形變化不大的情況下不進(jìn)行關(guān)鍵幀重載,這可以充分利用預(yù)制關(guān)鍵幀動(dòng)畫(huà)的計(jì)算快速和相對(duì)逼真的優(yōu)點(diǎn);而當(dāng)面對(duì)顯著的地形變化時(shí),采用關(guān)鍵幀重載技術(shù)又避免了動(dòng)作與環(huán)境不協(xié)調(diào)的缺點(diǎn)。通過(guò)對(duì)關(guān)鍵步驟采用關(guān)鍵幀重載方法,使虛擬人行走模型能夠面對(duì)各種情況,產(chǎn)生快速、逼真、多變的虛擬人行走動(dòng)畫(huà)。

      6 結(jié)論

      將反動(dòng)力學(xué)應(yīng)用到虛擬人運(yùn)動(dòng)中,提出了基于關(guān)鍵幀重載技術(shù)的虛擬人運(yùn)動(dòng)方法,此方法能較好模擬人的運(yùn)動(dòng),提高了虛擬人動(dòng)作的逼真度和連貫性。但研究也存在不足之處,目前在判斷是否需要重載關(guān)鍵幀的環(huán)節(jié)僅僅采用了兩腳所在地面高度差判定的方法,而這一方法在面對(duì)如“門(mén)檻”之類(lèi)的地形時(shí)完全沒(méi)法判斷,從而引發(fā)錯(cuò)誤,而且在計(jì)算臺(tái)階上的關(guān)鍵幀時(shí),也沒(méi)有考慮在符合人體舒適前提下腿部運(yùn)動(dòng)的關(guān)節(jié)角度的問(wèn)題。這些都是下一步研究的方向。

      [1]李石磊,梁加紅,吳冰,等.虛擬人運(yùn)動(dòng)生成與控制技術(shù)綜述[J].系統(tǒng)仿真學(xué)報(bào).2011,23(9):1758-1771.

      [2]STEKETEE Scott N,BADLER Norman I.Parametric Keyframe Interpolation Incorporating Kinetic Adjustment and Phrasing Control[C]//Proceedings of SIGGRAPH'85,1985:255-262.

      [3]KRAVTSOV D,F(xiàn)RYAZINOV O,ADZHIEV V,et al.Real-Time Controlled Metamorphosis of Animated Meshes Using Polygonal-FunctionalHybrids[C]//SIGGRAPH Asia 2010,Seoul,South Korea,2010:15 -18.

      [4]劉賢梅,李冰,吳瓊.基于運(yùn)動(dòng)捕獲數(shù)據(jù)的虛擬人動(dòng)畫(huà)研究[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(8):113 -119.

      [5]杜娟.虛擬試衣中人體骨架運(yùn)動(dòng)協(xié)同的研究[D].上海:東華大學(xué),2012.

      [6]MICHAEL Girard.Computational Modeling for the Computer Animation of Legged Figures[C]//Proceeding of ACM SIGGRAPH'85,1985:263 - 270.

      [7]RAIBERT M H,HODGINS J K.Animation of Dynamic Legged Locomotion[C]//Proceeding of Siggraph'91,CAN SIGGRAPH Computer Graphics,1991:349 -358.

      [8]譚同德,張關(guān)鋒,趙新?tīng)N,等.基于骨骼蒙皮的虛擬人運(yùn)動(dòng)仿真[J].微計(jì)算機(jī)信息,2009(31):30-32.

      [9]何凱,姜昱明.基于逆運(yùn)動(dòng)學(xué)的虛擬人行走[J].系統(tǒng)仿真學(xué)報(bào),2004(16):1343-1345.

      [10]趙超,梁加紅,李猛.基于PCA方法的虛擬人行走引擎研究[J].計(jì)算機(jī)工程,2013,39(8):288 -291.

      [11]陽(yáng)小濤.虛擬人建模及游泳運(yùn)動(dòng)控制技術(shù)的研究[D].武漢:武漢理工大學(xué),2009:40-43.

      [12]YAMANE Katsu,NAKAMURA Yoshihiko.Robot Kinematics and Dynamics for Modeling the Human Body[J].Robotics Research,2011,66:49 -60.

      [13]RIGHETTI L,BUCHLI J,MISTRY M,et al.Inverse Dynamics Control of Floating-Base Robots with External Constraints:A Unified View[C]//Proceedings of the 2011 IEEE International Conference on Robotics and Automation(ICRA 2011),2011:1085-1090.

      猜你喜歡
      平地關(guān)鍵幀臺(tái)階
      高樓萬(wàn)丈平地起
      黃河之聲(2021年6期)2021-06-18 13:57:18
      遇到一條蛇
      文學(xué)港(2018年1期)2018-01-25 12:48:02
      走在除法的臺(tái)階上
      基于改進(jìn)關(guān)鍵幀選擇的RGB-D SLAM算法
      60t長(zhǎng)64m管道橋平地預(yù)制、支架推送架設(shè)施工技術(shù)
      基于相關(guān)系數(shù)的道路監(jiān)控視頻關(guān)鍵幀提取算法
      基于聚散熵及運(yùn)動(dòng)目標(biāo)檢測(cè)的監(jiān)控視頻關(guān)鍵幀提取
      臺(tái)階
      77級(jí)臺(tái)階
      論“關(guān)鍵幀”在動(dòng)畫(huà)制作中的作用
      丹东市| 林芝县| 道真| 凤山县| 衡水市| 宾阳县| 祁连县| 丽水市| 庆城县| 裕民县| 兴仁县| 罗城| 青岛市| 富顺县| 宝兴县| 东兰县| 左云县| 贵溪市| 壤塘县| 桃园县| 平泉县| 通许县| 绍兴县| 大荔县| 略阳县| 石城县| 伊吾县| 谷城县| 耿马| 黄山市| 繁峙县| 贞丰县| 宁晋县| 博兴县| 镇沅| 尚义县| 驻马店市| 蛟河市| 闽侯县| 洛川县| 乐都县|