日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

模拟狗狗的“魔鬼步伐”,比更真还更真

發(fā)布時間:2024/1/8 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 模拟狗狗的“魔鬼步伐”,比更真还更真 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


翻譯 | 林椿眄

編輯 | 阿司匹林

出品 | AI科技大本營(公眾號ID:rgznai100


閉上眼睛,回想一下,自家的狗狗是怎樣走路的?

?

如果這難不倒你,那么再試著回憶下,它是怎樣跑步的?和走路的步伐是一樣的嗎?

?

雖然只比人類多了兩條腿,但是四足動物的“魔鬼步伐”卻足以讓人凌亂。要知道,在動畫領(lǐng)域,想要創(chuàng)作一個四足動物的角色,絕對是勞心勞力的一件苦差事。

?

針對四足運(yùn)動控制的問題,來自愛丁堡大學(xué)的團(tuán)隊研發(fā)了一種被稱為“模式自適應(yīng)神經(jīng)網(wǎng)絡(luò)”的新型神經(jīng)網(wǎng)絡(luò)架構(gòu),它可以通過學(xué)習(xí)實際的非結(jié)構(gòu)化的運(yùn)動數(shù)據(jù),端到端地生成出自然的動畫,整個過程無需用于相位或運(yùn)動步態(tài)的標(biāo)簽,也無需對一組固定的權(quán)重值進(jìn)行優(yōu)化。整個研究使用 Unity3D / Tensorflow 完成開發(fā)。




這樣逼真的模擬效果到底是如何實現(xiàn)的?我們現(xiàn)在就來一起解讀下這篇論文。(論文地址:http://homepages.inf.ed.ac.uk/tkomura/dog.pdf)



摘要


四足動作包括各種步態(tài),如行走,踱步,快步和慢跑,以及跳躍,坐姿,轉(zhuǎn)身和打轉(zhuǎn)等動作。應(yīng)用現(xiàn)有的特性控制框架來解決四足運(yùn)動問題需要大量的數(shù)據(jù)及繁瑣的數(shù)據(jù)預(yù)處理,例如動作的標(biāo)注和對齊等。在本文中,我們提出了一種新型的神經(jīng)網(wǎng)絡(luò)架構(gòu),稱為模式自適應(yīng)神經(jīng)網(wǎng)絡(luò)(Mode-Adaptive Neural Networks),用于控制動物的四足運(yùn)動特性。


該系統(tǒng)由運(yùn)動預(yù)測網(wǎng)絡(luò)(motion prediction network)和門控網(wǎng)絡(luò)(gating network)組成。給定前一幀的運(yùn)動狀態(tài)和用戶提供的控制信號,運(yùn)動預(yù)測網(wǎng)絡(luò)會計算出當(dāng)前每一幀的運(yùn)動特性狀態(tài)。而門控網(wǎng)絡(luò)通過選擇和混合專家權(quán)重(expert weigts)來動態(tài)地更新運(yùn)動預(yù)測網(wǎng)絡(luò)的權(quán)重值,每個專家權(quán)重都對應(yīng)特定的動作。由于靈活性增加,系統(tǒng)可以通過非結(jié)構(gòu)化運(yùn)動捕捉數(shù)據(jù),以端到端的方式,在各種非周期性/周期性操作中學(xué)習(xí)一致的專家權(quán)重。另外,用戶也可以從標(biāo)記不同步態(tài)中的相位這一復(fù)雜任務(wù)種解脫出來。我們證明,這種體系結(jié)構(gòu)適合編碼多模態(tài)的四足運(yùn)動及實時動作響應(yīng)的合成。


圖1.我們的方法所產(chǎn)生的四足動畫結(jié)果。 我們展示了一些不同的四足動作模式,從左往右依次是坐姿,轉(zhuǎn)圈,快步,踱步,慢跑,跳躍和站立。?這些運(yùn)動步態(tài)不是逐一標(biāo)記的,而是由運(yùn)動速度的控制自然產(chǎn)生的。


簡介


四足動畫是計算機(jī)動畫領(lǐng)域中未解決的關(guān)鍵問題之一。它與電腦游戲和電影等應(yīng)用息息相關(guān),同時也是機(jī)器人領(lǐng)域一個具有挑戰(zhàn)性的話題。當(dāng)制作四足動物動畫時,動畫師 (animator) 必須經(jīng)過專門的訓(xùn)練才能設(shè)計各種復(fù)雜的動作。本質(zhì)上,這種復(fù)雜性是來自于四足動物的多種運(yùn)動形式。如圖2所示,一些諸如行走,踱步,快步,慢跑,疾馳等運(yùn)動模式,它們的軀干和四肢部分都隨著運(yùn)動而發(fā)生復(fù)雜的變化。


據(jù)我們所知,先前沒有任何研究工作是基于數(shù)據(jù)驅(qū)動的方式來系統(tǒng)地構(gòu)建四足運(yùn)動控制器。造成這個困難原因是上面提到的復(fù)雜性,以及四足動物的運(yùn)動數(shù)據(jù)采集,畢竟動物不會像人那樣配合。因此,所捕獲的數(shù)據(jù)通常缺乏結(jié)構(gòu)化,所包含的隨機(jī)動作并不是一個接一個地進(jìn)行著。當(dāng)使用這些非結(jié)構(gòu)化數(shù)據(jù)設(shè)計動作特性控制器時,工程師需要手動或半自動地提取步態(tài)周期,通過數(shù)據(jù)轉(zhuǎn)換將不連續(xù)的動作縫合在一起,并調(diào)整運(yùn)動樹及有限狀態(tài)機(jī)的參數(shù)。


最近,基于神經(jīng)網(wǎng)絡(luò)的運(yùn)動控制研究表明,使用明確的周期來為雙足動物運(yùn)動提供高質(zhì)量動畫的方法是可行的 [Holden et al.?2017]。但是,這種框架無法應(yīng)用于四足動物的運(yùn)動控制,因為無法定義單一階段中四條腿在不同的腳步模式間的過渡步態(tài)。這也使得手動對四足運(yùn)動的非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行復(fù)雜的步態(tài)標(biāo)記變得不切實際。


在本文中,我們提出了一種新型網(wǎng)絡(luò)體系結(jié)構(gòu),稱為模式自適應(yīng)神經(jīng)網(wǎng)絡(luò)?(MANN)。它可以從大量的非結(jié)構(gòu)化四足運(yùn)動數(shù)據(jù)中學(xué)習(xí)一個運(yùn)動控制器。該系統(tǒng)由運(yùn)動預(yù)測網(wǎng)絡(luò)和門控網(wǎng)絡(luò)組成。給定前一幀的運(yùn)動狀態(tài)和用戶提供的控制信號,運(yùn)動預(yù)測網(wǎng)絡(luò)會計算出當(dāng)前每一幀的運(yùn)動特性狀態(tài)。而門控網(wǎng)絡(luò)通過選擇和混合專家權(quán)重來動態(tài)地更新運(yùn)動預(yù)測網(wǎng)絡(luò)的權(quán)重值,每個專家權(quán)重都對應(yīng)特定的動作。


這個架構(gòu)具有足夠的靈活性,以便系統(tǒng)能夠?qū)W習(xí)一致的專家權(quán)重值,來捕捉大量的周期/非周期行動動作數(shù)據(jù)。由于所捕獲的非結(jié)構(gòu)化四足運(yùn)動數(shù)據(jù)必須將不同步態(tài)類型沿著時間軸對齊,因此,我們的框架能夠大大緩解開發(fā)者進(jìn)行復(fù)雜而繁瑣的動作數(shù)據(jù)標(biāo)記工作。此外,我們的模型不需要為不同步態(tài)給定單獨標(biāo)簽,從而節(jié)省了數(shù)據(jù)預(yù)處理過程中對步態(tài)錯位的處理時間。

圖2.生成不同四足運(yùn)動模式下的足跡 [Huang et al.?2013]。 橫條表示每條腿站立的階段。?圖像的右邊表示步態(tài)周期中一系列的腳印。


這篇論文的貢獻(xiàn)如下:

  • 我們構(gòu)建了一個基于數(shù)據(jù)驅(qū)動的四足運(yùn)動特性控制器,這種系統(tǒng)可以合成多種運(yùn)動模式及其過渡狀態(tài)的高質(zhì)量動畫。

  • 我們提出了一種新穎的、端到端的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它能夠從非結(jié)構(gòu)化的四足動作中捕捉數(shù)據(jù),而不需要任何階段和運(yùn)動步態(tài)的標(biāo)簽。

  • 我們將所構(gòu)建的四足運(yùn)動特性控制器與現(xiàn)有的方法進(jìn)行了全面地評估對比。

模型系統(tǒng)


我們的系統(tǒng)是一個時間序列模型,給定前一個幀的狀態(tài)?x 和用戶的控制信號,模型可以預(yù)測當(dāng)前每一幀的運(yùn)動特性狀態(tài) y。為了產(chǎn)生各種各樣的周期性和非周期性的四足運(yùn)動特性,我們提出了一種新型的神經(jīng)網(wǎng)絡(luò),稱為模式自適應(yīng)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)?MANN (如下圖3所示,詳見原文章節(jié)6)。當(dāng)前每一幀的運(yùn)動由運(yùn)動預(yù)測網(wǎng)絡(luò)得到 (如下圖3右,詳見原文第6.1節(jié)),其網(wǎng)絡(luò)權(quán)重是通過一個門控結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) (如下圖3左,詳見原文第6.2節(jié)) 來動態(tài)地計算獲取。門控網(wǎng)絡(luò)收到一個動作特征 ?( x 的子集),并計算專家權(quán)重的混合系數(shù)?(圖3),其中每一個權(quán)重都是為特定的動作訓(xùn)練而準(zhǔn)備的。


為了準(zhǔn)備訓(xùn)練所需的數(shù)據(jù)集,我們首先對狗的運(yùn)動數(shù)據(jù)集進(jìn)行預(yù)處理,并為這些數(shù)據(jù)添加標(biāo)簽 (詳見原文第4節(jié)),然后準(zhǔn)備網(wǎng)絡(luò)的輸入和輸出向量?(詳見原文第5節(jié))。在訓(xùn)練期間,整個網(wǎng)絡(luò)以端到端的方式進(jìn)行訓(xùn)練?(詳見原文第7節(jié))。在運(yùn)行期間,系統(tǒng)使用前一幀的運(yùn)動狀態(tài)和用戶提供的控制信號,能夠?qū)崟r地展現(xiàn)當(dāng)前每一幀中運(yùn)動特性的動畫 (詳見原文第8節(jié))。


圖3.由門控網(wǎng)絡(luò)和運(yùn)動預(yù)測網(wǎng)絡(luò)組成的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)體系。門控網(wǎng)絡(luò)以當(dāng)前腳部末端速度,期望速度和動作向量作為輸入。運(yùn)動預(yù)測網(wǎng)絡(luò)將前一幀的動作姿勢和運(yùn)動軌跡作為輸入,并預(yù)測當(dāng)前每一幀更新后的姿勢和軌跡。

數(shù)據(jù)準(zhǔn)備


為了后續(xù)研究的進(jìn)行,這里我們介紹下動作捕捉和動作分類階段所要用到的數(shù)據(jù)。


狗的動作捕捉。我們的動作捕捉數(shù)據(jù)由?30 分鐘的非結(jié)構(gòu)化的狗的動作捕捉數(shù)據(jù)組成,包括各種運(yùn)動模式,如行走,踱步,快步和慢跑等,以及其他類型的動作,如坐著,站立,打轉(zhuǎn),躺著和跳躍。通過鏡像,數(shù)據(jù)的大小增加了一倍。由于捕捉設(shè)施的限制,所有的運(yùn)動數(shù)據(jù)僅在平坦的地形上捕捉。如圖4所示,這是一個由 27 塊骨頭構(gòu)成的骨架模型,它總共有 81 個自由度,非常適用于數(shù)據(jù)采集工作。

?圖4. 實驗用到的構(gòu)模型的骨架結(jié)構(gòu)。它由 27 塊骨頭構(gòu)成,總計 81 個自由度。


動作分類。首先,將動作類型分為運(yùn)動,坐著,站著,打轉(zhuǎn),躺著,跳躍等等。在運(yùn)行階段,用戶可以通過指定相應(yīng)的標(biāo)簽來控制動作特性。這個過程是手動完成的,但想自動化實現(xiàn)這個過程也并不困難,因為這些動作類型中的每一種動作都具有獨特性。關(guān)于動作數(shù)據(jù)的具體比率可以參見表1。



表1. 狗的動作訓(xùn)練數(shù)據(jù)集的細(xì)分。這個數(shù)據(jù)集包含原始的和鏡像得到的狗動作捕捉數(shù)據(jù),這些都是未結(jié)構(gòu)化的數(shù)據(jù)。


運(yùn)動模式。在我們的論文中,我們專門研究四種運(yùn)動模式的類型:行走,踱步,快步和慢跑。盡管我們的系統(tǒng)在運(yùn)行時不需要運(yùn)動模式的標(biāo)簽來控制角色,但我們分析了數(shù)據(jù)集中模式的分布。由于復(fù)雜的運(yùn)動過渡狀態(tài)和一些模棱兩可的情況,將數(shù)據(jù)分類為不同的運(yùn)動模式是一件相對困難的操作。首先,基于速度曲線,我們對運(yùn)動模式進(jìn)行大致的分類,然后手動地將它們歸入相應(yīng)的模式。最終,速度與其運(yùn)動模式的可視化關(guān)系結(jié)果如圖5所示。這種相關(guān)性與 Coros 等人在 2011 年提出的模型完美匹配。


四足動作控制的模式自適應(yīng)神經(jīng)網(wǎng)絡(luò)模型


運(yùn)動預(yù)測網(wǎng)絡(luò)


運(yùn)動預(yù)測網(wǎng)絡(luò)表示為 Θ(·),它是一個簡單的三層神經(jīng)網(wǎng)絡(luò),接收字符?x的前一狀態(tài),并按照如下格式輸出數(shù)據(jù)?y:


?

其中網(wǎng)絡(luò)?α 的參數(shù)由?α= {W0∈R^(h×n),W1∈R^(h×h),W2∈R^(m×h),b0∈R^h,b1∈R^h,b2∈R^m} 定義。此外,這里的 h?表示網(wǎng)絡(luò)中隱藏層所用的單元數(shù),我們的模型把它設(shè)為 512。網(wǎng)絡(luò)的激活函數(shù)采用指數(shù)型的修正線性單元 (ReLU) [Clevert et al. 2015],其數(shù)學(xué)表達(dá)式如下:


?

門控網(wǎng)絡(luò)


門控網(wǎng)絡(luò)表示為?Ω (·),它是一個三層的神經(jīng)網(wǎng)絡(luò)。基于給定的輸入 x,它可以計算混合系數(shù)?ω,其數(shù)學(xué)表達(dá)式如下:



?其中 x(hat) ∈R^19是?x 的子集,x?表示腳部末端速度,當(dāng)前動作標(biāo)量和期望動作速度的特性。σ (?)?是一個 softmax 算子,用于歸一化輸入以使得它們相加的和為1,這是為了進(jìn)一步線性混合所必需的操作。


我們已經(jīng)以多種不同的輸入測試了我們的模型,理想的情況下,網(wǎng)絡(luò)可以從輸入中學(xué)習(xí)信息特征,盡管由于我們的數(shù)據(jù)量相對較少,這可能會導(dǎo)致我們的訓(xùn)練過程變得非常困難。但與此同時,我們觀察到使用動作變量和期望值速度能夠有助于提高動作特性的可控性和響應(yīng)性。


訓(xùn)練


整個網(wǎng)絡(luò)使用處理后的動作捕獲數(shù)據(jù),以端對端的方式進(jìn)行訓(xùn)練。每個幀的輸入 x 和 y 被堆疊成矩陣形式:X = [x1x2 ...],Y = [y1y2 ...]。我們使用它們的均值和標(biāo)準(zhǔn)差,對這些值進(jìn)行平移和縮放操作,以便標(biāo)準(zhǔn)化數(shù)據(jù)。由于快步和慢跑的周期非常短,我們對這些動作的數(shù)據(jù)復(fù)制 11 次,這有助于增強(qiáng)我們模型的魯棒性。


訓(xùn)練網(wǎng)絡(luò)的目標(biāo)是對于給定的一組輸入 X,我們可以產(chǎn)生相應(yīng)的輸出變量 Y。這是一個典型的回歸任務(wù),目的是求取預(yù)測值和真實值之間的均方誤差,該損失函數(shù)的數(shù)學(xué)表達(dá)式如下所示:


?

借助 Tensorflow 深度學(xué)習(xí)框架,我們部署了模型的訓(xùn)練過程。我們使用 AdamWR 技術(shù)中的隨機(jī)梯度下降算法,這是由 Loshchilov 和 Hutter 提出的能夠自動計算損失函數(shù)關(guān)于 β 和 μ 導(dǎo)數(shù)的一種優(yōu)化技術(shù)。正如 AdamWR 算法在優(yōu)化過程中所做的正則化一樣,我們使用兩個參數(shù) Ti 和 Tmult來控制學(xué)習(xí)率 η 和權(quán)重衰減率 λ 的下降和重啟動,其初始值設(shè)置為 η = 1.0×10^-4和 λ = 2.5×10^-3。Ti 表示第i次運(yùn)行/重新啟動時的迭代總數(shù),其初始值設(shè)為10。在每次重啟動時,Ti 都乘上一個因子 Tmult?= 2,即Ti?+ 1?= 2Ti。


我們總共進(jìn)行150次迭代,因此重啟動過程一共發(fā)生3次,分別在第11次,第31次和第71次迭代。在訓(xùn)練期間,我們使用大小為32的小批量數(shù)據(jù)反復(fù)迭代,每個批量中的訓(xùn)練樣本都是隨機(jī)選擇的。我們使用 Dropout 技術(shù),其保留概率設(shè)為0.7。 整個訓(xùn)練過程使用4或8個專家網(wǎng)絡(luò),在 NVIDIA GeForce GTX 970 GPU 上運(yùn)行了 20 或 30 個小時。下圖5顯示了不同方法的學(xué)習(xí)曲線,請注意較高的運(yùn)動質(zhì)量并以一定意味著較低的訓(xùn)練損失和測試損失。

圖5.?Vanilla neural network,PFNN 和?MANN 網(wǎng)絡(luò)的學(xué)習(xí)曲線。

?實驗結(jié)果及展望


在實驗階段,我們設(shè)置了不同的運(yùn)動特性控制方案,在運(yùn)行過程中交互式地查看不同運(yùn)動特性控制的結(jié)果。我們通過與現(xiàn)有方法比較,來評估我們的系統(tǒng)在運(yùn)動質(zhì)量,足部滑動偽影,腿部僵硬度及運(yùn)動響應(yīng)等性能,評估結(jié)果如下表2,表3,表4所示。我們還進(jìn)一步研究了專家的激活權(quán)重,并在運(yùn)動期間抑制它分析專家權(quán)重的功能特性。

?

表2.?使用 vanilla?NN,PFNN 和?MANN 模型,以4或8個專家權(quán)重所得到的所有腿部真實的平均滑行數(shù)據(jù)。


表3.?使用?vanilla NN,PFNN 和 MANN 模型,以4或8個專家權(quán)重所得到的所有腿部每個關(guān)節(jié)真實的平均角度更新數(shù)據(jù)。

表4. 使用?vanilla NN,PFNN 和 MANN 模型,沿著預(yù)定義的不同曲線軌跡所得到的平均位置和角度偏差數(shù)據(jù)。

?

雖然實驗結(jié)果展示了出色的性能及其系統(tǒng)優(yōu)越性,但是我們的系統(tǒng)仍存在一些局限性,如時間序列模型的學(xué)習(xí),稀疏數(shù)據(jù)庫的構(gòu)建以及數(shù)據(jù)庫局限性等,我們將在未來的工作中進(jìn)一步探討這些問題。除了我們提出的方法以外,對于四足運(yùn)動動畫領(lǐng)域,還有幾個有趣的方向值得進(jìn)一步研究,如重定向不同的四足動物大小和形態(tài),計算生成對抗運(yùn)動的損失并用于優(yōu)化,復(fù)雜的動態(tài)障礙環(huán)境下的四足運(yùn)動控制研究等。

?

最后,附上 GitHub 鏈接:https://github.com/sebastianstarke/AI4Animation


——【完】——

關(guān)注AI科技大本營,獲取更多精彩內(nèi)容添。加小助手csdnai,加入讀者群



總結(jié)

以上是生活随笔為你收集整理的模拟狗狗的“魔鬼步伐”,比更真还更真的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。