.wp-block-jetpack-rating-star span.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal; }

サイトアイコン NegativeMindException

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

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

Deep Fluids

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

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

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

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


スポンサーリンク

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



ETH Zurichといえば、数年前にRegression Forestベースの流体シミュレーション近似手法Pysics Forestsを発表していましたね↓



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

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で流体計算しているのも何だか不思議。


スポンサーリンク

関連記事

LLM Visualization:大規模言語モデルの可視化

TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク

リメイク版ロボコップスーツのメイキング

UnityプロジェクトをGitHubで管理する

WordPressのサーバ引っ越し方法を考える

『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた

openMVGをWindows10 Visual Studio 2015環境でビルドする

白組による『シン・ゴジラ』CGメイキング映像が公開された!

実写と実写の合成時の色の馴染ませテクニック

Unity ARKitプラグインサンプルのチュートリアルを読む

プロシージャル手法に特化した本が出てるみたい(まだ買わないけど)

UnityのGameObjectの向きをScriptで制御する

ROSの薄い本

昔Mayaでモデリングしたモデルをリファインしてみようか

ZBrushでゴジラ2001を作ってみる 身体のシルエット出し

WordPress on Windows Azure

ZBrushで基本となるブラシ

Structure from Motion (多視点画像からの3次元形状復元)

Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』

VCG Library:C++のポリゴン操作ライブラリ

Rerun:マルチモーダルデータの可視化アプリとSDK

ポリゴン用各種イテレータと関数セット

PureRef:リファレンス画像専用ビューア

ZBrushでアヴァン・ガメラを作ってみる 甲羅の修正・脚の作り込み

SculptrisとBlenderで作ったGodzilla 2014 (Fan Made)

SIGGRAPH ASIAのマスコット

海外ドラマのChromaKey

Iterator

リアルタイム レイトレーシングAPI『DirectX Raytracing (DXR)』

『ローグ・ワン/スター・ウォーズ・ストーリー』"あのキャラクター"のメイキング

Quartus II

CLO:服飾デザインツール

PyDataTokyo主催のDeep Learning勉強会

Boost オープンソースライブラリ

ZBrushでアヴァン・ガメラを作ってみる パーツ分割

ラクガキの立体化 反省

FCN (Fully Convolutional Network):ディープラーニングによるSema...

GAN (Generative Adversarial Networks):敵対的生成ネットワーク

Fast R-CNN:ディープラーニングによる一般物体検出手法

Super Resolution:OpenCVの超解像処理モジュール

ZBrushでアヴァン・ガメラを作ってみる 甲羅のバランス調整

PyTorch3D:3Dコンピュータービジョンライブラリ

モバイルバージョンを終了