基于深度學(xué)習(xí)的流體動畫加速方法研究
發(fā)布時間:2021-11-01 10:12
計算機(jī)流體動畫在生產(chǎn)生活中得到大量應(yīng)用,比如3D游戲、3D動畫、影視、廣告等,基于網(wǎng)格的歐拉方法是基于物理的模擬方法中的一種,但是對計算資源的大量需求限制了它的應(yīng)用。近年來興起的基于多層神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)具有強(qiáng)大的擬合能力和較快的計算速度,因此可以用來對基于物理的流體模擬進(jìn)行加速。由于投影步計算占據(jù)了基于網(wǎng)格的方法大部分計算資源,因此本文研究利用深度學(xué)習(xí)對歐拉流體動畫的投影步進(jìn)行加速。已有的使用深度學(xué)習(xí)對流體動畫進(jìn)行加速的方法,在訓(xùn)練數(shù)據(jù)集、輸入輸出、網(wǎng)絡(luò)類型等方面都有差異,而各方法又聲明取得了一些好的效果,因此加速流體動畫深度學(xué)習(xí)的輸入輸出、網(wǎng)絡(luò)類型等方面如何進(jìn)行配置仍然不清楚。本文對損失函數(shù)和輸入特征向量進(jìn)行分析和實驗,發(fā)現(xiàn)損失函數(shù)應(yīng)該約束壓強(qiáng)、速度散度,可選地也可以約束速度和壓強(qiáng)梯度,輸入特征向量應(yīng)該包括幾何標(biāo)志、上一幀壓強(qiáng)以及速度或速度散度;趯W(wǎng)絡(luò)輸入的分析,本文將幾何標(biāo)志數(shù)據(jù)跳躍連接到網(wǎng)絡(luò)的每一層中,在多方面改善了生成流體的效果;趯ν队安讲此煞匠痰姆治,本文將空洞卷積引入到流體動畫的加速中,以使網(wǎng)絡(luò)輸出層具有更大的感受野,解決了已有神經(jīng)網(wǎng)絡(luò)生成的煙霧向兩側(cè)伸展太少的問...
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:74 頁
【學(xué)位級別】:碩士
【部分圖文】:
離散網(wǎng)格
電子科技大學(xué)碩士學(xué)位論文Mantaflow具有以下特點:可以在Linux,MacOS和Windows上有或沒有GUI的情況下使用;使用MAC網(wǎng)格,PCG壓力求解器和MacCormack對流進(jìn)行歐拉流體模擬;靈活的粒子系統(tǒng);用于液體的FLIP模擬;表面網(wǎng)格跟蹤;使用水平集和快速進(jìn)行算法進(jìn)行自由表面模擬;小波和表面湍流;K-epsilon湍流建模與合成;Maya和Blender導(dǎo)出以進(jìn)行渲染。在本文的實驗中使用了Mantaflow,因為實驗需要將Mantaflow的網(wǎng)格標(biāo)志信息拷貝到numpy,而Mantaflow0.12版本沒有這個功能,因此本實驗在Mantaflow0.12版本中增加了這部分代碼,并按照指定流程在Ubuntu18.04上進(jìn)行了編譯。2.2深度學(xué)習(xí)2.2.1神經(jīng)網(wǎng)絡(luò)簡介機(jī)器學(xué)習(xí)是一種能從數(shù)據(jù)中學(xué)習(xí)的算法,Mitchell對機(jī)器學(xué)習(xí)的定義是,對于某類任務(wù)T和性能度量P,如果一個計算機(jī)程序通過經(jīng)驗E的改進(jìn),能在由性能度量P度量的任務(wù)T上的性能得到提升,那么這個計算機(jī)程序就從經(jīng)驗中得到了學(xué)習(xí)[17]。機(jī)器學(xué)習(xí)算法有決策樹、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)等,而當(dāng)前的深度學(xué)習(xí)通常指的是具有多個隱藏層的神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)通過相對簡單的概念來學(xué)習(xí)復(fù)雜的概念,從而發(fā)現(xiàn)數(shù)據(jù)集中的復(fù)雜結(jié)構(gòu)[18]。圖2-2(a)是一個包含一個輸入層、一個輸出層、一個隱藏層的簡單的全連接神經(jīng)網(wǎng)絡(luò),其中圓圈代表神經(jīng)元(圖2-2(b)),連線表示數(shù)據(jù)流向,所有相鄰的兩層神經(jīng)元之間全部互相連接(全連接網(wǎng)絡(luò)),其中的隱藏層可以有多層,所有網(wǎng)絡(luò)層神經(jīng)元的數(shù)量可以調(diào)整。每個神經(jīng)元是一個數(shù)據(jù)處理單元,包括線性求和與非線性函數(shù)兩個部分。除了全連接網(wǎng)絡(luò),還有卷積網(wǎng)絡(luò)、循環(huán)網(wǎng)絡(luò)、遞歸網(wǎng)絡(luò)、圖神經(jīng)網(wǎng)絡(luò)、深度信念網(wǎng)絡(luò)、生成對抗網(wǎng)絡(luò)、自動編碼器等。(a)神經(jīng)網(wǎng)絡(luò)[19](b)神經(jīng)元[19]圖2-2神經(jīng)網(wǎng)絡(luò)簡介10
第二章基于深度學(xué)習(xí)加速流體動畫研究綜述圖2-3神經(jīng)網(wǎng)絡(luò)發(fā)展[19]2.2.2神經(jīng)網(wǎng)絡(luò)發(fā)展目前為止,深度學(xué)習(xí)或者說神經(jīng)網(wǎng)絡(luò)大致經(jīng)過了一個“三起兩落”的歷程,如圖2-3所示。首先,1958年計算科學(xué)家Rosenblatt提出的具有一個輸入層、一個輸出層的感知器,現(xiàn)場演示了器學(xué)習(xí)識別簡單圖像的過程,在當(dāng)時引起了轟動,神經(jīng)網(wǎng)絡(luò)進(jìn)入了第一個高潮。直到1969年Minsky指出感知器只能做簡單的線性分類任務(wù),甚至不能解決簡單的異或問題;而如果將計算層增加到兩層,計算量就會過大,而且沒有有效的學(xué)習(xí)算法,于是神經(jīng)網(wǎng)絡(luò)陷入低谷。然后,1986年Rumelhar等[20]提出了反向傳播(Backpropagation,BP)算法,解決了兩層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練問題,從而帶動了研究兩層神經(jīng)網(wǎng)絡(luò)的熱潮,與單層神經(jīng)網(wǎng)絡(luò)不同,理論證明兩層神經(jīng)網(wǎng)絡(luò)可以無限逼近任意連續(xù)函數(shù)。但是,訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要大量時間,優(yōu)化困難,隱藏層的節(jié)點數(shù)需要調(diào)參,使用不太方便,而Vapnik等人在1992年發(fā)明的SVM[21](SupportVectorMachines,支持向量機(jī)),由于具有無需調(diào)整參數(shù)、高效、有全局最優(yōu)解的優(yōu)點,迅速取代神經(jīng)網(wǎng)絡(luò)算法成為了主流,神經(jīng)網(wǎng)絡(luò)再次陷入低谷。在2006年Hinton[22]使用神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行降維,其中通過RBM(RestrictedBoltzmannmachine,受限玻爾茲曼機(jī))對神經(jīng)網(wǎng)絡(luò)中的參數(shù)進(jìn)行逐層預(yù)訓(xùn)練,以實現(xiàn)對網(wǎng)絡(luò)中參數(shù)的初始化,最終取得了優(yōu)于傳統(tǒng)降維方法的效果,對促進(jìn)深度學(xué)習(xí)的發(fā)展起到了較大的作用。11
本文編號:3469980
【文章來源】:電子科技大學(xué)四川省 211工程院校 985工程院校 教育部直屬院校
【文章頁數(shù)】:74 頁
【學(xué)位級別】:碩士
【部分圖文】:
離散網(wǎng)格
電子科技大學(xué)碩士學(xué)位論文Mantaflow具有以下特點:可以在Linux,MacOS和Windows上有或沒有GUI的情況下使用;使用MAC網(wǎng)格,PCG壓力求解器和MacCormack對流進(jìn)行歐拉流體模擬;靈活的粒子系統(tǒng);用于液體的FLIP模擬;表面網(wǎng)格跟蹤;使用水平集和快速進(jìn)行算法進(jìn)行自由表面模擬;小波和表面湍流;K-epsilon湍流建模與合成;Maya和Blender導(dǎo)出以進(jìn)行渲染。在本文的實驗中使用了Mantaflow,因為實驗需要將Mantaflow的網(wǎng)格標(biāo)志信息拷貝到numpy,而Mantaflow0.12版本沒有這個功能,因此本實驗在Mantaflow0.12版本中增加了這部分代碼,并按照指定流程在Ubuntu18.04上進(jìn)行了編譯。2.2深度學(xué)習(xí)2.2.1神經(jīng)網(wǎng)絡(luò)簡介機(jī)器學(xué)習(xí)是一種能從數(shù)據(jù)中學(xué)習(xí)的算法,Mitchell對機(jī)器學(xué)習(xí)的定義是,對于某類任務(wù)T和性能度量P,如果一個計算機(jī)程序通過經(jīng)驗E的改進(jìn),能在由性能度量P度量的任務(wù)T上的性能得到提升,那么這個計算機(jī)程序就從經(jīng)驗中得到了學(xué)習(xí)[17]。機(jī)器學(xué)習(xí)算法有決策樹、支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)等,而當(dāng)前的深度學(xué)習(xí)通常指的是具有多個隱藏層的神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)通過相對簡單的概念來學(xué)習(xí)復(fù)雜的概念,從而發(fā)現(xiàn)數(shù)據(jù)集中的復(fù)雜結(jié)構(gòu)[18]。圖2-2(a)是一個包含一個輸入層、一個輸出層、一個隱藏層的簡單的全連接神經(jīng)網(wǎng)絡(luò),其中圓圈代表神經(jīng)元(圖2-2(b)),連線表示數(shù)據(jù)流向,所有相鄰的兩層神經(jīng)元之間全部互相連接(全連接網(wǎng)絡(luò)),其中的隱藏層可以有多層,所有網(wǎng)絡(luò)層神經(jīng)元的數(shù)量可以調(diào)整。每個神經(jīng)元是一個數(shù)據(jù)處理單元,包括線性求和與非線性函數(shù)兩個部分。除了全連接網(wǎng)絡(luò),還有卷積網(wǎng)絡(luò)、循環(huán)網(wǎng)絡(luò)、遞歸網(wǎng)絡(luò)、圖神經(jīng)網(wǎng)絡(luò)、深度信念網(wǎng)絡(luò)、生成對抗網(wǎng)絡(luò)、自動編碼器等。(a)神經(jīng)網(wǎng)絡(luò)[19](b)神經(jīng)元[19]圖2-2神經(jīng)網(wǎng)絡(luò)簡介10
第二章基于深度學(xué)習(xí)加速流體動畫研究綜述圖2-3神經(jīng)網(wǎng)絡(luò)發(fā)展[19]2.2.2神經(jīng)網(wǎng)絡(luò)發(fā)展目前為止,深度學(xué)習(xí)或者說神經(jīng)網(wǎng)絡(luò)大致經(jīng)過了一個“三起兩落”的歷程,如圖2-3所示。首先,1958年計算科學(xué)家Rosenblatt提出的具有一個輸入層、一個輸出層的感知器,現(xiàn)場演示了器學(xué)習(xí)識別簡單圖像的過程,在當(dāng)時引起了轟動,神經(jīng)網(wǎng)絡(luò)進(jìn)入了第一個高潮。直到1969年Minsky指出感知器只能做簡單的線性分類任務(wù),甚至不能解決簡單的異或問題;而如果將計算層增加到兩層,計算量就會過大,而且沒有有效的學(xué)習(xí)算法,于是神經(jīng)網(wǎng)絡(luò)陷入低谷。然后,1986年Rumelhar等[20]提出了反向傳播(Backpropagation,BP)算法,解決了兩層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練問題,從而帶動了研究兩層神經(jīng)網(wǎng)絡(luò)的熱潮,與單層神經(jīng)網(wǎng)絡(luò)不同,理論證明兩層神經(jīng)網(wǎng)絡(luò)可以無限逼近任意連續(xù)函數(shù)。但是,訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要大量時間,優(yōu)化困難,隱藏層的節(jié)點數(shù)需要調(diào)參,使用不太方便,而Vapnik等人在1992年發(fā)明的SVM[21](SupportVectorMachines,支持向量機(jī)),由于具有無需調(diào)整參數(shù)、高效、有全局最優(yōu)解的優(yōu)點,迅速取代神經(jīng)網(wǎng)絡(luò)算法成為了主流,神經(jīng)網(wǎng)絡(luò)再次陷入低谷。在2006年Hinton[22]使用神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行降維,其中通過RBM(RestrictedBoltzmannmachine,受限玻爾茲曼機(jī))對神經(jīng)網(wǎng)絡(luò)中的參數(shù)進(jìn)行逐層預(yù)訓(xùn)練,以實現(xiàn)對網(wǎng)絡(luò)中參數(shù)的初始化,最終取得了優(yōu)于傳統(tǒng)降維方法的效果,對促進(jìn)深度學(xué)習(xí)的發(fā)展起到了較大的作用。11
本文編號:3469980
本文鏈接:http://www.sikaile.net/wenyilunwen/dongmansheji/3469980.html
最近更新
教材專著