Deep Fluids:流体シミュレーションをディープラーニングで近似する

チューリッヒ工科大学(ETH Zurich)、ミュンヘン工科大学、Pixarによるディープラーニングで流体シミュレーションを近似する研究 Deep Fluids: A Generative Network for Parameterized Fluid Simulationsプロジェクトページソースコードが公開されている。

Deep Fluids

Deep Fluids: A Generative Network for Parameterized Fluid Simulations (EUROGRAPHICS 2019)

本研究では、削減済みのパラメータセットから流体シミュレーションを合成する新しい生成モデルを提案します。畳み込みニューラルネットワークを離散パラメータ化した流体シミュレーションの速度場(velocity fields)で訓練しました。

訓練データの代表的な特徴を学習するディープラーニングアーキテクチャの特性により、本研究の生成モデルは訓練データセットを正確に近似しつつ、中間値をもっともらしく補間することができます。この生成モデルは、全ての時刻で速度場(velocity fields)の無発散(divergence-free)を保証する新しい損失関数を導入することで流体に最適化されています。

本研究ではさらに、複雑なパラメータを削減した空間で扱えること、潜在空間(latent space)で第2のネットワークと統合することでシミュレーションをリアルタイムに実現できることを示します。
本手法では流体の多種多様な挙動をモデル化しているため、高速なシミュレーション構築、異なるパラメータを持つ流体の補間、タイムリサンプリング、潜在空間(latent space)シミュレーション、シミュレーションデータの圧縮などに応用できます。

本手法による速度場の再構築は、同データをCPUで再シミュレーションするよりも最大で700倍高速に生成でき、圧縮率は最大1300倍となります。


スポンサーリンク

5月に開催されるEurographics 2019で発表されるそうです。


スポンサーリンク


ETH Zurichといえば、数年前にRegression Forestベースの流体シミュレーション近似手法Pysics Forestsを発表していましたね↓
機械学習で流体シミュレーションを近似する『Physics Forests』
CG分野(特にレンダリング)では、現実の物体・現象の性質をモデル化して扱う。計算リソースには限りがあるので、大抵の場合は視覚に大きく影響する要素だけをモデル化して関数などで表現する。実測値や物理法則に基づいた計算を行う「物理モデル」に対...


機械学習による流体シミュレーション近似を突き詰めていくと、やっぱりニューラルネットワークに行き着くということなのだろうか。

GitHubで公開されているDeep Fluidsのソースコードを見ると、TensorFlowベースで実装されているようだ↓
https://github.com/byungsook/deep-fluids

mantaflowという流体シミュレーションのフレームワークを使って訓練用のデータセットを用意するんですね↓

mantaflow

mantaflowは、コンピューターグラフィックスでの流体シミュレーションの研究を対象としたオープンソースのフレームワークです。
並列化されたC++のsolverコア、pythonシーン定義のインターフェイス、プラグインシステムにより、新しいアルゴリズムの迅速なプロトタイピング・テストが可能です。mantaflowには広範囲のNavier-Storkes solverの変種が含まれています。
mantaflowはとても用途が広く、ディープラーニングのフレームワーク(例:numpyを介してTensorFlow)と連携してインポート/エクスポートを可能な他、matlabのプラグインとしてスタンドアローンにコンパイルすることもできます。
最新版のダウンロードはこちら

Physics Forestsで著者の1人にDisney Research所属の人がいたように、Deep Fluidsの著者の中にはPixar所属の人がいますね。

CGで一昔前は物理ベースと言われていたジャンルが、演算コストが頭打ちになってだんだんナレッジ(知識)ベースへと移ってきているということだろうか。
大きな目で見ると、現象をデフォルメして軽い処理で近似していた時代に戻っているような気もする。

多次元パラメータを扱う関数の多いCG分野はディープラーニング(というかニューラルネットワーク)に向いてるのかもな。
畳み込みって、テクスチャマッピングやShading処理そのものだし、GPUとの相性も良い。
https://shiropen.com/seamless/deep-fluids

NVIDIAがGPGPUと言い始めたころ、その使用例は流体計算が多かった気がするけど、時代を経て手を変え品を変え、結局GPUで流体計算しているのも何だか不思議。


スポンサーリンク

関連記事

ZBrushのZScript入門
ブログのデザイン変えました
『パシフィック・リム: アップライジング』のVFXブレイクダウン まとめ
Unityの新しいGUI作成システム『uGUI』
Unityの薄い本
ハリウッド版「GAIKING」パイロット映像
この本読むよ
手を動かしながら学ぶデータマイニング
HD画質の無駄遣い
OpenCVでカメラ画像から自己位置認識 (Visual Odometry)
『PIXARのひみつ展』に行ってきた
布地のシワの法則性
マイケル・ベイの動画の感覚
仮想関数
ディープラーニング
書籍『The Art of Mystical Beasts』を購入
ZBrushで仮面ライダー3号を造る 仮面編 PolyGroup作成に再挑戦
ZBrushと液晶ペンタブレットでドラゴンをモデリングするチュートリアル動画
Phongの表現力パネェ 材質別のPhong Shader用パラメータ一覧
オープンソースのIT資産・ライセンス管理システム『Snipe-IT』
Unity ARKitプラグインサンプルのチュートリアルを読む
TVML (TV program Making language)
C++始めようと思うんだ
OpenCVで動画の手ぶれ補正
Maya LTでFBIK(Full Body IK)
Google App Engine上のWordPressでFlickrの画像を貼る
3Dグラフィックスの入門書
Raspberry Piでセンサーの常時稼働を検討する
ドラマ『ファーストクラス』のモーショングラフィックス
日立のフルパララックス立体ディスプレイ
OpenCV
Maya API Reference
『ピクサー展』へ行ってきた
Blenderでよく使うaddon
AMIMOTO(PVM版)で作成したインスタンスをAMIMOTO (HVM版)へ移行する
『スター・ウォーズ フォースの覚醒』のVFXブレイクダウン まとめ
参考になりそうなサイト
ZBrushでカスタムUIを設定する
白組による『シン・ゴジラ』CGメイキング映像が公開された!
ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエットをリファレンスに合わせる
昔Mayaでモデリングしたモデルをリファインしてみようか
第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』

コメント