北京電影學院發了滿是數學公式的計算機頂會論文,並開源了其代碼

2021-01-15 大數據文摘

大數據文摘出品

來源:知乎專欄

作者:ziyin

大家都知道,視覺特效在現代的影視製作中出現十分頻繁。

而諸如洪水、煙霧、爆炸等特效計算的背後,實際上是用電腦程式在求解已有百年歷史的「納維-斯託克斯方程」

這個方程,對於做流體動力學的讀者一定不陌生,數十年來科學家們為了計算機翼升力,已將其研究了百千萬遍。

然而基於影視製作的特別需求,影視科技工作者們對這個方程的求解提出了新的需求。

我們需要能夠處理更大的時間步長以及不損失精度細節!!這兩者本來是魚與熊掌不可兼得,這就等於是在說:

於是伴隨著特效應用的發展,十數年來,計算機圖形學的科技工作者為了戰勝這個問題不斷地添磚加瓦,這裡面比如就有大家耳熟能詳的科研學府:斯坦福的科學家就曾經提出過使用渦旋力來增加流體的細節。

他們的論文研究的算法,甚至直接和工業光魔合作,使用在當年星球大戰特效鏡頭的製作上

還有很多科研機構也是不斷地在算法上推陳出新,甚至像迪士尼這樣家裡有礦的影視工作室還親自上陣,不斷地革新著美利堅的影視製作技術,帶動起了好萊塢產、研結合的影視工具生態。

而不管是由工業光魔發表的用來補充煙火高精度細節的算法:

還是來源於迪士尼研究院-ETH Zurich的小波湍流論文:

都是不斷在嘗試攻克一個令人頭疼的問題:如何在使用高效穩定的流體特效仿真算法前提下,儘可能地保證流體運動的細節,這最終落在了對於N-S方程中的對流部分的求解上。

在圖形學特別是影視特效製作軟體中,為了追求大時間步長的穩定性,對流方程的求解多採用半拉格朗日方法或其變種。這類方法雖然高效穩定,但有它最大的問題:數值粘性。

所謂數值粘性,顧名思義,就是物理系統中本不存在的粘性,是被人類設計的數值算法在求解方程的過程中帶入系統的,與真實的物理事實相左。我們先領略一下「數值粘性」 會帶來的問題:

比如我要沿著紅線所示的速度和方向「對流」白色的方塊

傳統的對流算法由於數值粘性會使物質模糊掉

我們的算法盡大可能地避免了數值粘性, 保留了清晰地邊界

流體的運動更為複雜,計算機算法保持清晰(守恆)的能力,就顯得尤為重要。

這是一個由傳統算法計算得到的煙霧動畫,由於數值粘性的存在,煙霧的形態被過度地模糊了。

為了對抗這種過度平滑,科技工作者們提出了混合的粒子-網格方法,然而這類方法存在著計算速度慢,計算結果差強人意的缺陷:往往由於粒子的非連續性,流體的湍流運動會在粒子間拉出空隙,最終在視覺上產生噪聲:

我們提出的算法既能最大可能地保持流體的湍流細節,又能維持流體場的連續性,有效地解決特效解算中這一老大難問題。

把三個方法的結果並排放在一起對比如下:

過度平滑的傳統方法
計算耗時,且噪聲過強的粒子方法
計算高效,即不失細節又平滑連續的方法

為了以極高的清晰度來對流流體中的物質場我們給出了以下觀察:

傳統的對流算法直接作用於流體空間中的「物理量」,數值粘性於是會累加在「物理量」上,並最終造成「物理量」的模糊。

如果能構造出一個映射,使得流體場中的每一個空間點在任何時候都能知道自己初始時刻的位置並去初始時刻訪問物理量的信息我們就能夠避免在對流的過程中累加「數值粘性」。

這個哲學像極了愛情:一切若只如初見,是多麼的美好。

這個方法從求解的根本思路上跳出了傳統對流方程求解方式:

以往的方法對流「物理量」我們的方法對流「空間」本身。

為此,我們定義了一個映射,這個映射的目的是將空間中的點映射回它初始時刻的位置

因為流體運動而變化的空間映射的可視化

這個初始位置,滿足如下的數學關係。稱之為後向映射。

在這個基礎上,我們就有機會將原本的對流方程拆為空間的對流和物理量的重構兩個部分

為了便於重構物理量時對於積分項的計算,我們提出了整個算法中最至關重要的部分:前向映射。並給出了前向映射的演化方程:

有了前向映射。積分的過程變為了演化累加的過程(大大減少了計算量)

好了,小編保證,不會再有數學公式了!

我們將我們發明的這樣層級前-後向映射來求解對流方程的形式稱之為「n層級雙向跡徑映射對流求解法」(Bi-Directional Characteristic Mapping of Convective Quantaties of Level n BiMocq)。

雖然不打算在這裡展開討論,這樣的做法使得在保持流體物理量守恆的同時還保證計算極為高效以及並行友好,大大地區別於混合的粒子-網格算法。我們粗暴實現的GPU代碼可以對比相應的CPU的並髮式代碼加速50倍。

那麼,BiMocq好處都有啥?

我們首先是對比了一個數學上有比較確定的答案的問題,「泰勒渦旋」:兩個初始狀態如下的渦旋,在無粘的環境中,能量守恆的數值積分應該可以將其分開。

對此,我們實現並且對比了幾乎所有主流使用的,先前發表於SIGGRAPH論文的算法,並驗證了我們的算法在能量守恆上的優越性。

對比所有的SemiLagrangian類對流算法,bimocqn 勝

Bimocqn特寫

以及難以用Eulerian方法解算的leapfrogging vortex:

更進一步地,用一個簡單的三維煙霧的例子來說明一下能量和質量守恆的好處:

該例子中,左邊的是目前特效計算中常用的算法右邊的是我們的新算法。由於數值粘性。

以往的算法無法保證煙霧運動時的清晰形狀導致了其在之後的效果計算中損失了煙霧的。

湍流細節,那些更能體現煙霧真實感的捲曲細節。

大自然是最好的藝術家,我們想做的,僅僅是用程序在計算機中再現它的美。為此,我們用我們的數值算法在計算機中再現了如下場景,渦環相撞實驗。

兩個相對運動的渦環的實拍視頻,在碰撞後會不斷往直徑方向擴大並最終由於任何微小的擾動在邊緣處射出花瓣狀的小渦

這樣的現象以往的數值算法存在數值粘性就根本不可能重現出來

我們的算法成功地在計算機中再現了這個現象應該也是該領域第一次用高效的純歐拉網格算法完整地再現了這個過程

不知道有沒有細心的朋友注意到過這樣一種自然現象

這種現象被稱為開爾文-亥姆霍茲-瑞利-泰勒不穩定性(Kelvin–Helmholtz-Rayleigh-Taylor instability),這種現象通常由於兩種不同密度的流體在交界面處由於擾動而產生的不穩定現象。

同樣,我們使用我們的算法對這個現象進行了近似的模擬。我們可以看到由於密度本身的對流會對整個流場產生影響,對比以往的數值算法,在同等解析度下由於我們的算法對密度對流有著更準確的估計,因此我們也能更準確地模擬這種不穩定性帶來的渦結構。

作為展示這個算法在更通用的特效環境中的使用我們也增加了使用我們提出的新算法生成的爆炸、以及汽車漂移特效的案例

作者:

@ziyin@張心欣@高明@蔣陳凡夫@陳寶權

代碼Github地址:

https://link.zhihu.com/?target=https%3A//github.com/ziyinq/Bimocq

原文連結:

https://zhuanlan.zhihu.com/p/72916159

相關焦點

  • Python代碼轉Latex公式,這個開源庫用一行代碼幫你搞定
    機器之心報導編輯:小舟你的代碼中有數學公式嗎?數學是數據科學和機器學習的重要基礎,數學運算的結果對於機器學習項目而言是至關重要的。在編寫代碼時,我們常常需要定義數學公式的計算形式。像 S=r^2 這樣簡單的數學公式,大概不會出現拼寫錯誤。但如果是下面這樣的公式呢?
  • 谷歌開源量子計算軟體原始碼,便利科學家利用量子計算機
    開源、開源、開源,重要的事情說三遍。繼開源tensorflow、caffe等深度學習開發框架後,當地時間10月24日,谷歌在自己的官方博客上宣布,開源量子計算軟體OpenFermion,從而讓科學家更方便的使用量子計算機。
  • WAVE SUMMIT+2020:如何打造一個成功的AI開源項目?
    Zilliz 創始人兼執行長星爵受邀,與北京大學助理教授董豪,PreAngel 合伙人李卓梈,以及復旦大學計算機科學技術學院教授、 fastNLP 負責人邱錫鵬一起,共同探討如何打造成功的 AI 開源項目。
  • 怎樣在百度貼吧發帖子!貼吧審查元素頂帖代碼
    怎樣在百度貼吧發帖子!貼吧審查元素頂帖代碼鐵巴開發公司?侵蝕一直是一種流行的技術。許多人過分依賴機器操作。實際規則之前的解釋不存在,手動過帳時,會導致出現第二個L?schens。有很多事嗎?我們中國人的智慧很嗎?好,因此有沒有unl?具體問題。
  • 計算機圖形自動可微:MIT學神微分太極框架開源,論文被ICLR接收
    機器之心報導參與:一鳴、杜偉去年5月,機器之心報導了 MIT 華人學神胡淵鳴等開源的計算機圖形庫——太極。近日,這位作者聯合其他研究者推出了自動微分版本的太極——微分太極。這一框架可以基於太極實現自動微分,在物理模擬優化方面有很高的性能和靈活性。這意味著太極從計算機圖形學進入了機器學習的領域。
  • 頂會最佳論文獎得主:初入科研領域,如何正確做科研?
    3論文經驗:如何閱讀管理、被拒稿後怎麼辦、關心哪些頂會?李夏:當我們專注一個領域,往往會發現這個領域有很多文章,更何況還要閱讀其它領域,這便涉及到一個問題:大家平時閱讀論文時,如何進行管理的?遊凱超:如何閱讀和管理,主要是靠軟體,不可能用腦子記住。我推薦一個非常好用的文件管理軟體Zotero。有了軟體,就可以管理論文了。
  • 用數學公式也能畫漂亮小姐姐!?還可做動畫和音樂!到底是哪位大佬啊?
    人如其名一看「IQ」極高的inigo quilez!「CG界的數學老師」看名字就不是一般人的氣息!向大佬跪了因為你能看到的所有細節畫面都是數學公式代碼,沒有建模,沒有使用任何渲染器和三維製作軟體!!!整個角色和場景「建模」的過程全都是由數學計算得出來的計算機圖形哦,編程動畫,場景畫面特效合成組成!大佬對sdf光線追蹤技術的研發和運用也是程序猿圈教授一般的存在,簡直是「CG渲染裡的數學家」!並且為了讓大家理解,很多時候iq在他的教程裡直接在紙上就手寫起了數學公式講解,不帶打草稿的哦..
  • Facebook開源物體識別工具Detectron,加速計算機視覺研究
    大數據文摘作品作者:龍牧雪 馮曉麗1月22日,Facebook的人工智慧實驗室(FAIR)開源了計算機視覺研究平臺近日,Facebook的人工智慧實驗室(FAIR)開源了計算機視覺研究平臺Detectron。Detectron系統實現了最先進的物體檢測算法,包括Mask R-CNN。 它是用Python編寫的,支持Caffe2深度學習框架。
  • 清華姚班出身,95後博士生陳立傑獲理論計算機頂會最佳學生論文
    獲最佳學生論文獎的陳立傑出生於1995年,在中學時代參加信息競賽並斬獲多項Top獎項,2011年被清華大學交叉信息學院提前錄取,就讀姚班。2013年,陳立傑進入清華大學交叉信息學院,開始了大學生涯。但在進入清華大學之後,跟很多大一新生一樣,陳立傑也陷入了迷茫。「我作為曾經的信息學競賽世界冠軍,頂著光環、壓力進入清華。在我的老本行算法競賽,儘管我取得了一些成績,但是當我站在領獎臺上,我經常會想,這是我想要的生活嗎?
  • 數學公式編輯神器——LaTeX
    Knuth教授研製的計算機排版系統。LaTeX是一種基於TeX的排版系統,由美國Leslie Lamport在20世紀80年代初期研發。使用LaTeX,不必掌握排版和程序設計的專業知識,也可以充分利用TeX提供的強大功能,在幾天或者幾小時內生成高質量的書籍等印刷品。TeX在不同的硬體和作業系統上有不同的實現版本。
  • DeepMind可微分神經計算機DNC開源 內部架構原理首次曝光
    1 新智元報導1   作者:聞菲胡祥傑 劉小芹 零夏  【新智元導讀】DeepMind昨夜宣布,將其 Nature 論文研究成果、2016 年引起熱議的可微分神經計算機 DNC 開源,相關代碼和部署細節已經在 Github 公開。
  • 計算機圖形也能自動可微:MIT學神的微分太極框架開源
    機器之心機器之心報導參與:一鳴、杜偉去年5月,機器之心報導了 MIT 華人學神胡淵鳴等開源的計算機圖形庫——太極。近日,這位作者聯合其他研究者推出了自動微分版本的太極——微分太極。
  • 數學公式太晦澀,不如用代碼寫出來:這是程式設計師學數學的獨特方式
    這通常會將你引向那些描述了各種原理的數量龐大的公開論文集。你對核心數學機制的理解越深入,你就越可能靈光閃現,成為一種新方法的創造者。在讀第一篇論文時,可能一開始一切都還很容易理解,但當你遇到下面這種公式時,你可能就會開始疑惑了: 對於學習過多年的數學或研究過機器學習的數學層面的人來說
  • 1行代碼搞定Latex公式編寫,這個4.6M的Python小插件,寫論文神器
    蕭簫 發自 凹非寺量子位 報導 | 公眾號 QbitAI寫論文時,手敲成堆的計算公式,被虐到頭禿?做講課PPT時,幾十頁的計算推理公式,恨不得直接手寫拍照?現在,解放雙手的時刻來了,只需要掌握一點Python語法,上面的公式只需要4行就能生成,其中3行還是Python的計算公式。
  • 視源股份(CVTE)與中山大學聯合發表論文,入選計算機視覺領域頂會...
    (圖片來源:CVPR 2018)作為計算機視覺領域的全球頂會,CVPR(Computer Vision and Pattern Recognition)至今已經走到了第31個年頭。據統計,本屆大會有超過3309篇大會論文投稿,接收979篇論文。中國本土企業「視源股份(CVTE)」中央研究院聯合中山大學發表論文《Image Blind Denoising With Generative Adversarial Network Based Noise Modeling》,提出了一種新的圖像降噪方法。
  • 論文連中兩大CV頂會,這位博士生分享了自己在谷歌實習的研究心得
    很多時候,論文作者都是來自谷歌的。這就讓我非常好奇谷歌在這個領域都做了些什麼樣的研究。在一個夏令營中,我遇到了 Olivier Bousquet,他做了一個關於谷歌大腦團隊的演講,講得非常棒。他給我介紹了谷歌研究實習生的事情,我就很快發了申請。我的博士導師也很支持我,因為接觸新的觀點、跟別人接觸、跟別人交換意見永遠是好事,尤其是在深度學習這樣的新領域中。
  • 不用3D建模軟體,如何用數學公式創造一個女孩?會眨眼,有光影的那種
    最近,油管上的一項用數學進行3D人物建模的視頻火了,截止目前,已有近8w的播放量。3D人物建模,就是數學公式對人體的描述,目前已經廣泛應用於生活之中。不過,現在直接使用計算機軟體進行的建模,還不足以讓人領略這其中深層次的數學魅力。而這個視頻中,就是純用數學的方法,讓我們看到了:如何用最基礎的數學公式,創造一切。如何創造的?
  • 數學學院教師關啟安的論文被《數學年刊》(Annals of Mathematics...
    近日,北京大學數學科學學院關啟安與人合作的論文《L^2延拓問題的一個最優估計解及其應用》(A Solution of An L^2 Extension Problem with Optimal Estimate and Applications)被世界頂級數學期刊《數學年刊》(Annals of Mathematics)接受。
  • 量子計算機新型糾錯代碼!來自量子物理學家的最新突破
    物理學院的班傑明·布朗博士已經為量子計算機開發了一種糾錯碼,它將釋放更多的硬體來進行有用的計算。它還提供了一種方法,可以讓谷歌和IBM等公司設計出更好的量子微晶片。他通過將已知的三維操作代碼應用於二維框架來做到這一點。
  • 數學學院教師關啟安的論文再次被《數學年刊》接受
    近日,北京大學數學科學學院教師關啟安與中國科學院周向宇院士合作的論文《Demailly強開性猜想的一個證明》(A proof of Demailly’s strong openness conjecture)被世界頂級數學期刊《數學年刊》(Annals of Mathematics)接受。這是關啟安的論文繼2014年在《數學年刊》上發表後,第二次被該頂級數學期刊接受。