流体シミュレーション動画のリアリティ
評価手法の一検討郭富皇 1,a) 竹若和之 1 葛筱トウ 2 飯田全広 3,b)
概要：現在の画像評価アルゴリズムは画像内のオブジェクトのリアルさを評価することはできない。 一方、シミュレーション後に得られる流体の映像のリアルさを評価する手法が求められている。本研究では、人間の感性によるリアリティの評価をラベル値として機械学習させ、流体のリアルさを分類するシステムを提案する。 学習用のデータセットは、細分度が異なる 3 種類の水の流体シミュレーションをblender を用いて実行し、その動画からラベル付きの画像データを生成する。 それを転移学習することで分類器を作成する。 未知のシミュレーションデータセットを用いて評価した結果、リアリティを 3 分類した時の精度は平均 81.7%に達成し、実際の水の動画を用いた評価でもリアルと分類できた。
キーワード：機械学習， 画像分類， シミュレーション・応用計算の実装と評価

A study of reality evaluation methods for fluid
simulation videos
Fuhuang GUO 1,a) Kazuyuki TAKEWAKA1

Shutong GE2

Masahiro IIDA 3,b)

Abstract: In this study, a system for classifying the realism of fluid images is proposed. The classifier istrained on a dataset of labeled images generated from water fluid simulations run using Blender. Transfer
learning is used to build the classifier. The evaluation achieved an average accuracy of 81.667 for three reality
classifications and was able to classify real water videos as realistic. This system provides a new way toevaluate the realism of fluid images in VR applications.

Keywords: Machine Learning, Image Classification, Implementation and Evaluation of Simulation and Applied
Computation

1. はじめに術である。映画や視覚効果などでは長い間利用されているが、リアルタイム VR 環境での流体シミュレーションは膨バーチャルリアリティ（VR）技術の一つとして、流体シ大な計算資源が必要なため困難である。しかし、近年のハミュレーションがある。流体シミュレーションは、水や空ードウェアとソフトウェアの進歩により、リアルタイムの気、気体などの流体をデジタルで再現することが可能な技流体シミュレーションが可能になりつつある。

1 熊本大学大学院自然科学教育部
Graduate School of Natural Science and Technology，Kumamoto
University,2-39-1 Kurokami, Kumamoto, 860-8555 Japan
2 熊本大学工学部情報電気電子工学科
Department of Information and Electrical Engineering, Faculty ofEngineering, Kumamoto University,2-39-1 Kurokami, Kumamoto, 8608555 Japan
3 熊本大学 大学院先端科学研究部
Faculty of Advanced Science and Technology，Kumamoto
University,2-39-1 Kurokami, Kumamoto, 860-8555 Japana) guo@st.cs.kumamoto-u.ac.jpb) iida@cs.kumamoto-u.ac.jp

現在、シミュレーション動画の評価は、画質やノイズに関するアルゴリズムはあるが、人が感じるリアリティを評価する方法はない。そこで本研究では、機械学習を用いて人がラベル付けした判断基準を学習させ、流体シミュレーション動画を自動的に評価するシステムを提案する。このシステムは、人間の主観的評価基準を使って機械的に評価することで、より迅速かつ効率的な評価が可能になる。また、リアルタイムの流体シミュレーションにも応用できる可能性があり、ゲームやバーチャルリアリティなど、流体1

シミュレーションを含むインタラクティブなアプリケーシ
ョンの開発が期待される。

2. 流体シミュレーション
本章では、この章では、特に粒子ベースの流体シミュレーション技術を掘り下げ、2 つの手法の長所と短所を比較する。さらに、粒子状態から液体状態にレンダリングするプロセスについても解説する。最後に、本研究の目的について説明する。
2.1 流体シミュレーションの方法
流体シミュレーションは、デジタル環境で水やガスなどの流体の動作をシミュレートするために使用される手法である。 この技術には、グリッドベースとパーティクルベー

図 １ 時間と粒子数の関係
Figure 1 Relationship between time and number of particles

スの 2 つの主要な方法がある。
グリッドベースの流体シミュレーションは、流体ドメイ

また、粒子数がシミュレーション時間に与える影響に加ンをグリッドセルに分割し、各セルが少量の流体を表すよ

え、シミュレー ション性能に影響を及ぼす可能性のある他うに設計されている。 次に、流体力学の法則に基づいて、の要因についても調査する。たとえば、シミュレー ション各セルの密度、速度、圧力などのプロパティを更新するこ

対象の流体挙動の複雑さは、流体を正確にシミュレー ショとにより、流体の動作をシミュレートする。 この方法は実ンするために必要な計算資源量に影響を与える可能性があ装が簡単だが、計算コストが高くなり、複雑な流体の動作る。また、使用するコンピュータのハードウェアの性能もを正確に捉えることができない場合がある。

考慮し、従来の CPU ではシミュレーションに数時間から数

一方、粒子ベースの流体シミュレーションは、相互に作用し、周囲の環境と相互作用する個別の粒子の集まりとし日を要するため、高い計算能力を持つ実験用プロセッサを使用する必要があることもわかる。て流体をシミュレートする。 この方法は計算量が多いが、流体シミュレーションの研究では、流体の挙動を効率的特に複雑な形状や挙動を持つ流体に対してはより現実的なにシミュレートするアルゴリズムの開発、シミュレーショ結果を生成することができる。

ンの精度を向上させるための機械学習技術の使用、流体シ

粒子ベースの流体シミュレーションの主な利点は、グリッドベースのシミュレーションよりも現実的な結果を生成ミュレーションの統合など、取り組むべき課題が数多くある。

することができる。流体シミュレーションにおける粒子ベースのシミュレーション手法と計測時間の関係をさらに明

2.2 表面再構築方法

ら か に す る た め 、 2,680 、 4,012 、 4,684 、 5,754 、 7,284 、現在、パーティクルを水にレンダリングするには、2 つ

9,072、12,392 個という様々な粒子数の粒子シミュレーショの一般的な方法がある。表面メッシュ再構築と画面空間にンを実施する。シミュレーションで生成された画像を解析基づく再構築である

し、粒子数の違いによってシミュレーションの見た目や性能がどのように変化するかを評価する。

画面空間に基づく流体レンダリング手法は、スクリーン空間で流体表面を復元することに焦点を当てており、2 つ

この評価に用いたコードは、文献[1]の c 言語ソースコーのステップで構成されている。最初のステップでは、流体ドを改変したものである。図１に、ソースコードの粒子数粒子をスクリーン空間にレンダリングし、深度と厚み情報と、粒子数 12392 個を追加したシミュレーション結果を示を得て、テクスチャに格納し、後処理演算を行って、流体す。このシミュレーションは、静止した液体の水の塊が重表面をぼかし、滑らかにする。次のテップでは、深度と厚力の影響を受けて崩壊する様子を示しており、粒子数がシみのテクスチャを使用して、流体のライティング計算を行

ミュレーションの見栄えや性能に影響を与えることを説明

い、最終的な流体表面を生成する。

している。

実験で使った方法は表面メッシュ再構築法である。図２

流体シミュレーションにおけるパーティクル数と実行時のように、粒子を大量のメタボールと見なし、流体メッシ間の関係を図 1 に示す．見ての通り、両者の間には指数関ュを再構築する。このスキームは効果が高く、一般的な映数的な関係があり、粒子数の増加に伴い、粒子数、実行時画・テレビレベルの流体レンダリング効果はこの方法で実間ともに急激な増加を示している。

2

現されており、フレームごとにメッシュを再構築しなければならず、性能コストが高いという欠点がある。

blender では、細分化（粒子数）のレベルが異なる 3 つの映像品質をシミュレートすることができ、次にその映像をスクリーンショットして画像のデータセットを作成する。
水の動きや粒子の数を多様に表現するため、学習用に 15種類の異なる流体シミュレーション動画、推論用に 4 種類の別の流体シミュレーション動画を作成している。これにより、様々な条件下で評価システムの性能をより良く評価することができるようになる。
表 １ データセット
class

Table 1 Dataset
trainset
testsettotal

悪い類

14374001837

普通類

14734001873

良い類

12594001659

図２表面再築法
Figure 2 surface re-building method
2.3 本研究の目的
現在の画像評価アルゴリズムは、画像そのものの品質や元画像との比較による歪みの度合いを評価することはできるが、画像内のオブジェクトのリアルさを評価することはできない。 一方、VR への適応をターゲットとしている流体シミュレーションの研究では、シミュレーション後に得られる流体の映像のリアルさを評価する手法が求められている。本研究の目的は、流体シミュレーション映像の主観評価方法を見出すことである。

このデータセットは、水の動きや粒子の数を幅広く表現しており、流体シミュレーションの有効性を評価する我々の研究にとって、貴重な資料になる。
本研究で使用したデータセットに関しては、いくつかの分類基準がある。我々は、流体シミュレーション後の表面3. 研究手法
本研究では、人間の感性によるリアリティの評価をラベル値として機械学習させ、流体のリアルさを分類するシステムを提案する。 学習用のデータセットは、粒子数などのパラメータが異なる 3 種類の水の流体シミュレーションをblender を用いて実行し、その動画からラベル付きの画像データを生成する。それを転移学習することで分類器を作成する。本章では、本研究で用いた具体的な実験手順や技術など、研究方法を説明する。
3.1 データセットデータセットを作成するため、Blender を使って、照明の位置や水流の初速などを調整し、細分化精度を変えて表面がどのように振る舞うかを広範囲に渡って実験を行う。 流体レンダリングは非常に時間がかかるため、最終的な実験データとして、10、32、96 の細分化精度を選ぶ。8 種類のの粗さによってデータセットを分類する。図 3 に示すように細分度 10 を「悪い」にラベリングし、同様に図 4 の細分度 32 は「普通」に、図 5 の細分度 96 は「良い」にラベリングする。「悪い」類で、流体シミュレーションの最低基準のレンダリングを表す。このクラスは、細分化精度が低いため、流体の表面に特徴があり、はっきりとした三角形の外観を持つようにレンダリングされる。このクラスの流体は、図 3 のように、ポリゴンが流れる溶けるダイヤモンドのようなイメージになるかもしれない。「普通」類で、表面の粗さは他の 2 つの類の中間に位置する。この分類では、流体レンダリングの痕跡がいくつか見られるが、表面は「悪い」類のような三角形にはなっていない。このカテゴリの例は、提供された図 4 に示されている。「良い」類
で、表面に三角形がある非常に細かい、ほとんど見えないレンダリングを表している。これは、提供された画像例図5 で見られるように、表面が滑らかで細かいことが特徴である。

水の動きをシミュレーションし、照明などの環境を細かく調整することで、リアルで視覚的にわかりやすいシミュレーションを実現する。そして、各動画のスクリーンショットを 100 枚ずつ撮影し、学習データセットとする。液面をより適切に分類するために、水の色など他のパラメータも3 つの分類シミュレーションで可能な限り標準化されている。

3

分類基準は、表面の滑らかさに影響を与える要因を特定し、その後の実験でアルゴリズムを改善するために使用することができる。
3.2 学習と転移学習
データセットを作成した後、データセットの規模が小さいため転移学習を採用を用いる。評価に使用する機械学習のモデルは、以下に示す 3 モデル 12 種類である。VggNet[2]は画像分類分野で非常に良い結果を出しているため、実験において VggNet19 を採用する。Vgg19 は、19 層からなるモデルであり、層が多いために精度が高いとされているが、一方で、層数が増えるとモデルが複雑化するため、過学習が起こりやすくなるという問題がある。このため、
図 3 悪い類例

Vgg19bn はバッチ正規化を導入することで、層数を増やし

Figure 3 Bad analogy

つつも過学習を防ぐことができるので同時に Vgg19bn も選択する。ResNet[3]は深いアーキテクチャを効果的に扱い、勾配が消失する問題を軽減できることで知られている。
ResNet が深くなるにつれて学習が難しくなる問題があるため、浅い層から始めて徐々に深い層に向かって学習を行うことが一般的である。このように異なるレイヤーの ResNetを選択することで、より効率的に学習を進めることができると考えられる。また、転移学習が本当に分類精度を向上させるのかを検証するために、事前学習を行わない
resnet34 の実験も追加する。ResNet に加えて、トランスフォーマーアーキテクチャ、より具体的には VisionTransformer[4]の実験も行う。ViT を比較対象として ResNetと比較し、その性能を評価する。しかし、ViT の精度が十分でない場合、事前学習したモデルの最後の層を調整する

図 4 普通類例
Figure 4 General analogy

ために、転移学習を用いることにする。この方法は、ファインチューニングと呼ばれている。
私たちもこのチューニングを行ったが、最後の層のファインチューニングほど精度は高くなかった。このことは、この特定のタスクに対するニューラルネットワークの精度を向上させるために、事前学習済みモデルの最後の層をファインチューニングすることの重要性を示している。全体として、このアプローチは、流体シミュレーションのタスクに対するニューラルネットワークのパフォーマンスを向上させるのに有効である。
全層を調整する戦略をとった ResNet ニューラルネットワークとは異なり、VGG19 は構造が異なるため、別のアプローチが必要である。VGG19 ニューラルネットワークは、畳み込み層とプーリング層を含む VGG19.features と、3 つの線形層とソフトマックス分類器を含む VGG19.classifier の 2

図 5 良い類例つの部分から構成されている。

Figure 5 Good analogy

VGG19 ニューラルネットワークを我々のタスクに適合全体として、この分類システムによって、流体シミュレさせるため、事前にトレーニングされた VGG19 モデルをーション・アルゴリズムの性能を評価し、滑らかで精巧な利用し、VGG19.features の畳み込み層とプーリング層を凍サーフェスを生成する能力を評価することができる。この結させる。そして、最終的な線形層を我々の 3 クラスの要4件に合うように修正する。実験では、マルチクラス損失関数として CrossEntropyLoss を用い、学習率 0.0001、運動量表 2 8 種類時 Resnet34 評価

0.9 の SGD オプティマイザを使用する。

Table 2: Resnet34 ratings at 8 types

4. 評価
本章では、粒子ベースシミュレーションとニューラルネットワークの技術を用いた、流体シミュレーション表面の分類に関する評価方法実験結果を示す。
4.1 評価方法
我々のシステムの性能評価に関しては、画像分類の分野で一般的に使用されているいくつかの指標を使用する。これらは、精度、正確さ、再現性、F1 スコアなどである。
我々のシステムの精度は、予測されたラベルとデータセッ

表 3 精度対比

トの画像の真のラベルを比較することによって測定される。

Table 3 Accuracy Comparison

精度と再現率は、データセット内の特定のクラスを識別する際の我々のシステムのパフォーマンスを評価するために使用される。F1 スコアは、精度とリコールの組み合わせであり、システムの性能の包括的な評価を提供する。

ネットワーク

事前学習処理転移学習処理精度%

VGG19

ImageNet1000

全結合層を調整 76.75

VGG19_bn

ImageNet1000

全結合層を調整 76.583

Resnet18

事前学習処理なし

処理なし

Resnet18

ImageNet1000

全結合層を調整 67.77

Resnet18

ImageNet1000

全層を調整

Resnet34

ImageNet1000

全結合層を調整 68.25

Resnet34

ImageNet1000

全層を調整

Resnet50

ImageNet1000

全結合層を調整 72.667

Resnet50

ImageNet1000全層を調整

Resnet152

ImageNet1000

全結合層を調整 65.917

Resnet152

ImageNet1000

全層を調整

73.167

処理なし

75.0

混同行列を使って、我々の分類システムの性能を評価することができる。混同行列は、分類アルゴリズムの性能を説明するためによく使われる表である。これは、真陽性、真陰性、偽陽性、偽陰性の数を見ることで、アルゴリズム38.417がどの程度の性能を発揮したかを確認することができる。
真陽性は、システムが液面を高品質と正しく認識した場合であり、偽陽性は、システムが液面を高品質と誤って認識した場合である。同様に、真陰性とは、システムが液面を低品質または通常品質と正しく認識した場合であり、偽陰性とは、システムが液面を低品質または通常品質と間違って認識した場合である。

68.41781.667

これらの指標に加え、我々はシステムの性能を評価するために目視検査も行う。これは、我々のシステムが予測したラベルを手作業で分析し、画像の真のラベルと比較するものである。この方法は、定量的な評価基準では見落とさ77.5れる可能性のあるエラーや誤分類を特定するのに特に有効である。
4.2 評価結果

VisionTransformer 事前学習処理なし

表 2 に示すように、8 種類の動画を切り出した初期データセットを用いて、初期実験を行った。各モデルの精度を測定しているが、事前学習を行わない場合の精度は悪く、転移学習後は大幅に精度が向上していることが分かる。評価には、各カテゴリー 100 枚の画像を収録した動画 1 本を検証用のテストセットとして用い、得られた結果を表 3 に示す。よく分類されたカテゴリーの解像度は高いものの、5平均や悪いカテゴリーの分類能力は低く、この結果はデーの分類システムがロバストであり、実際のアプリケーショタサイズが足りない問題なのかと反省している。

ンで使用できることを強く示唆している。図 6 にスクリー

そのため、データ量を大きくし、学習用の動画を 8 本かンショットの一例を示す。

ら 15 本に増やする。 同時に、テストセットも元の 3 倍に全体として、これらの実験は、我々のシステムが実世界拡張する。表 3 に示すように、ネットワークは Resnet の未のシナリオに適用可能であり、ビデオ内の水の画質を正確学習と移行学習の両方を使用することをテストする。 一連に分類できることを示す強力な証拠であり、映画制作、ゲの比較を行った結果、どちらのネットワークでも、転移学ーム開発など様々な産業で有用なツールとなっている。

習後に得られる正解率に大きな差はないことがわかった。
分析の結果、表面に三角形の構造が見える「低品質」と、表面に非常に小さな三角形が見える「良品質」が分類に影響を与えたと判断し、Transformer 実験も追加する。 評価結果は表 4 で、様々な分類をより直感的に理解できるように、分類の精度指標に加えて、表 5 に示すような混合行列も追加する。推論に失敗するケースは、悪い類を普通類と推論する場合がほとんどで、それ以外は少なかった。
表 4 Vit 評価
Table 4 Vit Evaluation
図 6 リアルタイム予測例
Figure 6 Example of real-time forecast

5. 考察
流体シミュレーションは計算負荷が高く、かなりの時間を要する作業である。私たちのチームの実験によると、たった 1 万個のパーティクルを使った比較的単純な流体シミュレーションでさえ、特に流体が壁や障害物に衝突する場合には、実行にかなりの時間がかかることが分かっている。
表 5 Vit 混同行列

そのため、強力なハードウェアを用いても、リアルタイム

Table 5 Vit Mixing Rows性を実現することは困難である。そのため、リアルタイムな流体シミュレーションを実現するためには、人工知能や正解機械学習などの高度な技術の活用が不可欠であると認識し推論ている。
悪い類

普通類

良い類

流体レンダリングに関しては、リアルタイム性とリアル悪い類

28720

さを両立させるためには、適切なサンプル数とノイズ低減

普通類

1981

指数の選択に大きく依存することがわかった。これは複雑

良い類

0199

さらに、実環境における本システムの有効性を検証するで時間のかかる作業であるが、高品質のシミュレーションを作成するためには必要なことと言える。
また、液面シミュレーションの品質分類の精度を向上さため、動画ファイルを読み込んで動画中の水の画質を分類せるために、転移学習を採用する。実験の結果、Visionするウィンドウを構築して追加実験を行う。これにより、

transformer は、Resnet よりも高い精度を達成することがで流体のシミュレーション映像だけでなく、実際に動いていきたが、転移学習を使用した Resnet ほど高くはない。さらる水の映像でシステムの性能を検証することができる。に、システムは画質の良いものと悪いものを区別すること

私たちは、水を注いでいる映像を録画し、それをシステムができたが、画質の悪いものと普通のものの区別は、人間のテストケースとして使用する。その結果、私たちのシスが液面上の多くの三角形を区別することが難しいため、弱テムは実際の水面を高品質と正確に分類できることがわかいことがわかった。また、異なる画質でも交換可能である

り、私たちのシステムが単なるシミュレーション映像にとことが浮き彫りになった。

どまらず、実世界のシーンにも適用できることが証明されこのシステムのもう一つの欠点は、現実的な物理学の常た。また、各フレームの分類精度は 0.8 以上であり、我々識に従わない流体シミュレーションを認識しないことであ6る。現実的な流体では、流れの過程で様々な形態の障害物のための計算量を少なくすることや、この場合の評価システに遭遇することになる。例えば、水の流れが壁を通過するムを作ることで解決できるかもしれない。

可能性があるが、これは明らかに物理的にありえないこと
だが、流体の表面が非常に滑らかであれば、我々のシステムはそれでも非常にリアルなシミュレーションであると判断する。しかし、リアルな商業広告では、夏のビールのCM で水しぶきが浮いていたり、化粧品の CM で水の流れが浮いていたりと、レンダリングを高めるために流体シミュレーションは物理的にリアルでないことが一般的である。
このシステムの大きな特長の一つは、流体シミュレーシ
ョンのリアルタイム解析が可能である。ビデオ検証用の拡張機能を搭載することで、ライブカメラ映像を解析し、行われている流体シミュレーションを素早く予測することができる。これは、ライブストリーミングのように、リアル参考文献[1] 粒子法入門 流体シミュレーションの基礎から並列計算と可視化まで C/C++ソースコード付 単行本（ソフトカバー） – 2014/6/28 越塚 誠一 (著), 柴田 和也 (著), 室谷 浩平(著)[2] Simonyan K, Zisserman A. Very deep convolutional networks
for large-scale image recognition[J]. arXiv preprint
arXiv:1409.1556, 2014.
[3] He K, Zhang X, Ren S, et al. Deep residual learning for image
recognition[C]//Proceedings of the IEEE conference on
computer vision and pattern recognition. 2016: 770-778.
[4] Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth
16x16 words: Transformers for image recognition at scale[J].
arXiv preprint arXiv:2010.11929, 2020.

タイムでの解析が不可欠なアプリケーションで特に有効である。さらに、ローカルカメラの呼び出し機能を搭載することで、他のソフトウェアやハードウェアに簡単に組み込むことができ、幅広い用途に対応できる汎用性の高いツールとなっている。

6. まとめ
本論文では、流体シミュレーションで作成された動画における液面の画質分類システムの開発に焦点を当てた。まず、流体シミュレーションの基本的な手法である格子法、粒子法、および流体シミュレーションで用いられるレンダリング技術について紹介した。また、それぞれの手法の利点と欠点、および実験で使用した手法についても説明した。
試行錯誤の結果、移動学習の手法とソフトウェア Blenderを用いてデータセットを開発した。このデータセットを用いて分類用のニューラルネットワークを学習させたところ、最大で 81.67%の精度を達成することができた。さらに、ネットワークの精度を向上させるために、転移学習法を適用した。
この研究で直面した主な課題の 1 つは、大量のアノテーションデータが必要で、その作成に時間がかかることだった。移行学習は、少ないデータセットで高精度のネットワークを学習できるため、この問題に対する効率的な解決策であることが証明された。
また、実際の水流映像を用いて本システムの実用性を検証した結果、本システムが現実の水流の有無を正確に識別できることを確認した。今回の実験結果は、最新技術である Transformer が視覚分類の分野で有効であることを示すとともに、今後の研究の基礎となった。
最後に、常識的な物理学に適合しない流体シミュレーションを認識する上での本システムの限界についても述べ、ターゲット検出や画像分割の技術を追加するなどの解決策の可能性を示唆した。また、流体シミュレーションにおけるリアルタイム性能と計算量のトレードオフの問題についても、予測7