トレンド&テクノロジー / サイエンスCG最前線!
第6回:SimulationとVisualization(前編)

2015.10.05

  • Maya
  • 中級者
  • 建築・製造・広告

こんにちは。サイアメントの瀬尾です。
前回の寄稿からだいぶ間が空いてしまいました。

SIGGRAPH2015 Computer Animation Festival, BEST VISUALIZATION OR SIMULATION受賞!

実は、前々回前回の話で取り上げた、私のところで映像化を担当させて頂いた「マルチスケール・マルチフィジックス心臓シミュレータ UT-Heart」の英語版、「Multi-scale Multi-physics Heart Simulator UT-Heart」が、8月に開催されたSIGGRAPH2015にてComputer Animation FestivalBEST VISUALIZATION OR SIMULATIONを受賞し、アメリカLos Angelesの会場、Electronic Theaterにて上映されました!

※日本語版もあります!

今年は日本の作品でElectronic Theaterに入選したのはこの映像のみで、且つ部門BEST賞まで受賞することが出来ました!!

SIGGRAPHというのは、Special Interest Group on Computer Graphicsの略称でして、「シーグラフ」と読みます。コンピュータグラフィックスに関する世界最大の学会で、毎年世界中からCGの研究者が集まり最新の技術論文の発表をする他、まだ研究段階のデバイスのデモ展示があったり、最新の3DCG映画やVFX技術の解説セッションが行われたり、CG関連のソフトウェア・ハードウェアメーカーが商品展示を行ったりします。今年の参加人数は15,000人弱だったそうです。

そしてSIGGRAPHの目玉企画の1つとして、CG映像の国際コンテストであるComputer Animation Festivalも毎年開催され、世界中から優れたCG映像が集まり、入選作品の中でも特に優れた作品がElectronic Theaterで上映されます。

今年のElectronic Theaterでは、映画Jurassic WorldやTomorrowlandのVFXメイキング、アナ雪の短編続編であるFrozen Fever、Pixarの最新短編アニメーションであるLAVAなど、それはそれは本当に世界トップクラスの映像作品が次々と上映されたわけですが、それに混じってガチ医療&超真面目な可視化映像作品であるUT-Heartの可視化映像も巨大スクリーンに上映されました。

SIGGRAPHのComputer Animation Festivalでは何年か前から「Visualizations and Simulations」という部門が新設され、今回、この部門で応募してみたところ、畏れ多くも部門BEST賞を頂くことが出来た、というわけです。

「授賞式があるからSIGGRAPH来てよ!」という主催者側からの連絡もあり、今年のSIGGRAPHが開催されたLos Angelesまで行って参りました。実は私にとって初めてのSIGGRAPHでもありました。

SIGGRAPH2015の会場となったLos Angeles Convention Center

SIGGRAPH2015の会場となったLos Angeles Convention Center

何千人もの方がいらっしゃる中で、8月10日のElectronic Theaterにて、表彰して頂きました!

假屋太郎氏と瀬尾 拡史氏とJoe Takai氏

photo by John Fujii © 2015 ACM SIGGRAPH

向かって左:Simulation側の代表として、UT-Heart開発メンバーの1人でいらっしゃる、東京大学医学部附属病院麻酔科医師の假屋太郎先生
中央:Visualization側の代表として私
向かって右:SIGGRAPH2015 Computer Animation Festival Co-ChairのJoe Takai氏

普通、授賞式の壇上に上がるのは監督のみか、監督とアートディレクター、みたいなことが多いかと思うのですが、今回はSimulation代表とVisualization代表が1人ずつ、それも2人とも日本の医師免許を持っている、というSIGGRAPHの中でもかなり特殊だったのではないかと思います。

BEST VISUALIZATION AND SIMULATIONのトロフィー

授賞式では各部門のEBST賞の人しか手にすることの出来ない、2kg以上あるとても重いトロフィーを頂きました!余談ですが、公式の発表その他全て”BEST VISUALIZATION OR SIMULATION”となっているのに、写真をご覧頂ければわかるかと思いますが、トロフィーだけは”BEST VISUALIZATION AND SIMULATION”となっているのがとても不思議です。笑。

さて、前置きが長くなりましたが、今回のこの受賞、
“BEST VISUALIZATION”でも”BEST SIMULATION”でもなく、
”BEST VISUALIZATION OR (AND) SIMULATION”
となっていることが重要なポイントだと思っています。 ORとANDとどっちやねん、という話もありますが、いずれにせよ、SimulationとVisualizationとが明確に別物として扱われていることがポイントなのです。

しかし、SimulationとVisualizationとでは、いったい何が異なるのでしょうか?同じ概念ではないのでしょうか??

今回はSimulationとVisualizationの違いと、この2つがぴったり連携出来ることで医学やサイエンスの世界がどう変わり得るか、そんな話をしたいと思います。

コメント・感想から紐解いてみよう。

上記の映像、これまでたくさんの方がコメントや感想を直接聞かせて下さいました。実はコメント・感想を整理してみると、Simulationとvisualizationとの違いが見えてきます。
今まで頂いた感想、意図的に順番を並び替えさせて頂きましたが、例えば下記のようなものがありました。

1. 心臓ってこうやって動いているんですねー!おもしろーい!
2. 見入ってしまって、あっという間に5分間経ってしまいました!
3. ぜひ他の病気とかでもどんどん作って下さい!
4. こういう教材であればみんな興味を持ってくれると思います!
5. シミュレーションの正確さはどのように評価しているの?
6. 他の心臓でも同じシミュレーション計算式で正確なデータが得られるの?
7. そもそもの心臓の形状データはどうやって作ったの?
8. シミュレーションさせるために形のデータ以外に何が必要なの?

上記8つの感想、上4つと下4つとでは、感想を下さった方のバックグラウンドも、映像に対する着目点も全く異なっているのですが、わかりますでしょうか?

まず1. ~4. の上4つ。これは、純粋に3DCG映像を楽しんで下さった一般の方、或いは多少なりとも科学に興味を持って下さっている方が下さる感想です。ご自身、またはご家族や周囲に心臓の病気をお持ちの方もこちらに含まれることが多いかと思います。
この4つは、どれもvisualizationについてのコメント・感想です。
出来上がった映像そのものについて、「わかりやすい」「楽しい」「もっとこういうものがたくさん欲しい」など。
(一般ではない方、つまり専門家がvisualizationについて言及される場合ももちろんありますが、それについては後述します。より専門的なvisualizationになります。)

一方、後半の5. ~ 8. の4つ。このようなコメント・感想を下さるのは、循環器内科や心臓外科などの臓の専門家や、(心臓に限らず)Simulationに携わっていらっしゃる方々です。もちろん、この方たちが映像そのものについて「楽しかったよ!」「映像格好良かったね!」と仰って下さることも多いですが、関心の中心は見た目がどうか、つまりvisualizationの部分、ではなく、そもそも可視化する(visualizeする)データそのものが正しく取得されているのか、データの妥当性がきちんと検証されているのか、計算方法が確立されているのか、というような、Simulationそのものにあります。

なんとなく雰囲気を掴んで頂けましたでしょうか?
SimulationとVisualizationは、本来全く別のものです。

Simulationで得られるのは、たくさんの数値データです。 心臓だとわかりにくいかもしれませんので、天気図で考えてみましょう。天気予報で今から明日の朝までの雲の動き予測が流れますが、「雲の動き」は(スーパー)コンピュータでシミュレーションされています。しかし、シミュレーションの結果出てくるのは「関東地方のこの点には雲が存在する or しない」とか「この点に存在する雲の雨の降らしやすさ」とか、例えばそのようなもので、いずれも数値データとして取得されます(雲のシミュレーションについては私は全然知識が無く、実際にはもっと違うデータを計算している可能性もあります)。

しかしこんな数値データを数値のまま見せられても意味がわかりませんね。
そこで、Visualizationを行います。具体的には、まず日本地図を描いて、緯度・経度の数値データをもとに日本地図上の「関東地方のこの点」に、雲があれば白い点を描き、無ければ何も描かない、など。
他にも、Simulationされたデータをさらに解析して「こういう形・動きをする雲だったらそれは台風と判定して、天気図上に『台風』と書こう」みたいなものもVisualizationの大きな役割の1つです。

Simulationによりデータが得られても、それだけではひたすら数値の羅列ですから、何らかの形で可視化されていなければ、つまりVisualizationされていなければ、我々人間が結果を解釈することは普通は難しいと思います。
(ここで「普通は」と言っているのは、データの解釈を例えば平均値、最大値、最小値、p値を比較して行う、というような場合には必ずしも可視化しない場合もあり得るからです。ただ、統計的手法を用いて解釈する場合も何らかの形でグラフにするなどして可視化する、つまりVisualizationする場合も多いとは思いますが)

今回のUT-Heartのような三次元的なSimulationの場合、可視化、つまりVisualizationはデータの解釈や理解のために切っても切り離せない関係にあります。

但し、当たり前ですが、VisualizationはVisualizeするデータが無ければ出来ません。

偉いのはどっち?

さて、Visualizationは、Simulation結果が正しいかどうかに関わらず、ファイルフォーマットが同じであれば、一度作ってしまえばどのSimulationデータからでも出来てしまいます。
データが正しいか、妥当かどうかは関係ありません。

今回のUT-Heart映像を例にしてみますと、ファイルフォーマットが同じであれば別に心臓でなくても良いわけです。肝臓の形をしていても、動かなくても、血液の流れがメチャクチャであっても、データを入れ替えれば同じクオリティのものを作ることが出来てしまいます(もちろん、カメラワークやライティングなどの調整は必要になりますが、ここでは無視しましょう)。

前述の医療関係者や専門家のコメント・感想は、まさにこの部分、つまり「映像作品としては成り立っているけれども、そもそものデータはこれで本当に大丈夫なの?」ということを指摘しているわけです。
尤も過ぎる指摘ですね。
そしてさらに細かくなりますが、「データはこれで本当に大丈夫なの?」の部分も実は大きく2つに分けることが出来ます。

A. Simulationを行う前の、そもそもの心臓の形状データの取得、生成が正しいか(妥当か)どうか
B. Simulation手法及び得られたデータが本物と比較した際に正しいか(妥当か)どうか

違いがわかりますでしょうか?
A. は、そもそも心臓の形を正しく3DCGデータとして作れなければ、つまり、形状が正しく(妥当で)なければ、Simulation自体の意味が無いのではないか、ということです。商業CG業界用語を用いて例えると、「このキャラクター、このモデリングで本当に大丈夫?リグ付けした後に、やっぱりこのキャラこの部分がおかしかったので直します、とか言われても困るよ?」みたいな、そんな感じでしょうか。

医療関係者や可視化の専門家がA. のような質問をするのにはもう1つ背景がありまして、「CTやMRIなどの医用画像から目的の臓器を認識して抽出するのは結構難しい」という事実があります。

これ、一般の方には驚きかもしれないのですが、CTやMRIには、「ここは心臓」「ここは骨」みたいな情報は何も含まれていません。身体の中のそれぞれの場所がX線をどれくらい吸収(透過)したか、とか、水素原子をゴニョゴニョしたらどう変化したか、とか、その結果の数値が記録されていて、その数値を白黒で色づけすることで白黒写真のように表示させているだけです。 (「白黒写真のように表示させる」のはVisualizationですね!)

私たちが一般的な白黒写真を見て、そこに人が写っていたとして、それが人だと分かるのは、私たちが人の形や特徴を知っているからであって、写真そのものには「ここからここの範囲には人が写っているよー」という情報はありません。
CTやMRIも同じです。「だいたいこの数値だったら高確率でそれは骨です」みたいなものはもちろんありますが、明確にここからここまでが心臓というような情報は一切含まれていません。
医用画像から心臓の形を正確に抽出したければ、「心臓ってどこにあるの?」「どんな形をしているの?」「心臓には何が接しているの?」というようなことを考慮しながら、適切な画像処理を行う必要がありますが、簡単そうに見えて実は結構難しく、これを「医用画像処理」といって、これだけでも一つの研究分野として成り立ちます。最近では機械学習を取り入れてゴニョゴニョといったことも行われていますが、これくらいにしておきます(といいますか、これ以上は私もわかりません…)。

…と、いうような背景があるので、「A. Simulationを行う前の、そもそもの心臓の形状データの取得、生成が正しいか(妥当か)どうか」という指摘が入るのは至極当たり前のことです。
私はSimulation側の人間ではないのでこれも詳しくはわからないのですが、少なくとも、ボタン1つで心臓の3DCGデータが出来上がる、という状態では全くありません。

次、「B. Simulation手法及び得られたデータが本物と比較した際に正しいか(妥当か)どうか」ですが、これはわかりやすいですね。計算された心臓の動きが実際の心臓と遜色ないのか、治療の現場でこのデータを使って諸々判断してしまっても大丈夫なのか、この映像で示されているのはたまたま計算が上手くいったゴールデンデータではないのか、というような、Simulation本丸の部分です。

「それっぽいけれども全然違う!」というのは3DCGの世界ではよくあることです。エンタメに振り切った映像であれば現実からかけ離れていても良いかもしれませんが、「心臓の解説」がメインの映像で心臓の動きがメチャクチャだったら流石にダメでしょう。
ちなみに、世の中に出回っている心臓の3DCG映像は大抵明らかに動きが間違っている印象です。

さて、ここまで来ると、VisualizationよりもSimulationのほうが圧倒的に偉い感じがしますね。 しかし本当にそうでしょうか?

既に書いた通り、Simulationが正しく(妥当に)行われたかどうかを判断するためには、特に3Dに関するSimulationの場合にはVisualizationを行わなければどうにも解釈・判断出来ない場合がほとんどでしょう。

数値データを、人間がどうすれば理解・解釈・判断出来るか、し易くなるか、そこにはVisualizationが不可欠です。とは言え、ただ立体的に表示させれば良いだけであれば、そこまで難しくないことが多いのも事実です。

先ほどの天気図の雲の例と似ていますが、3Dに関するシミュレーションの場合、ある点がある時刻に3D空間上で(x, y, z)の位置にあります、その点の速度はこうで、圧力はこうです、というような情報がずらずらーっと並んでいるのが基本構造ですから、それをその通り3D空間上に表示したり、値を色でマッピングさせたりすれば終わり、といえば終わりです。

なんだ、簡単ではないか!

いやいやそうではありません。どのように可視化したいのか、何を目で見て確認したいのか、それらは何をSimulationしたのかによって千差万別です。

UT-Heartの場合であれば、心臓ですので心臓の内側もきちんと見える表示が出来なければ学術的な価値は半減してしまうでしょう。そして、医者の世界には心エコーと言う心臓の断面を心臓が動いている状態で簡単に見ることが出来る医療機器があり、心エコーによる断面であれば、その解釈の仕方については多くの知見を既に持っています。

となれば、心臓の内側の動きのSimulationデータをわかりやすくVisualizationする方法の1つは、「心エコーと同じような操作方法で心臓断面をリアルタイムに表示すること」になるのはほぼ間違いないでしょう。
普段から見慣れていて、解釈の方法も知っているという可視化方法でVisualization出来なければ、いくら専門家と言えども解釈や判断を行うのが難しい、というのもVisualizationを行う上で重要なポイントの1つになります。

自由度を高くするために、ただ単に「心臓断面をリアルタイムに表示」出来るようにすることもそれはそれでとても価値あることなのですが、それに加えて「『心エコーと同じような操作方法で』心臓断面をリアルタイムに表示する」こともとても大切なはずです。
断面の動かし方1つを取っても、奥が深いのです。

よく「自由になんでも動かせればそれが一番」と思われている方がいらっしゃいますが、それは全然違います。寧ろ「適切な拘束条件を付けること」こそがVisualizationで一番大切な部分だと思っています。

そして、Visualization手法がある程度確立してくると、そこから更なるVisualization手法、もっと言えば治療への新しい応用が生まれる可能性もあります。例えば、「いまこういう感じでデータを見ることが出来ているのだけれども、ここの部分だけ取り出してあの部分と動きと比較できると、手術方法を検討するのに役立つと思うのだけれども、出来る?」みたいな。

Visualization手法次第で、新しい治療戦略や検討が出来るかも、なんて、素敵だと思いませんか!

また、妥当なVisualizationが出来ることによって、「あれ、このSimulation結果、ここがちょっとおかしいかもなぁ」とか「なんか、ここ面白い動きしてるね。ここの部分だけもっと詳しいSimulationを行ってみようか」とか、Simulationそのものの評価や改善にも役立ちます、といいますか、繰り返しになりますが、大抵の場合、Visualizationが出来なければSimulation結果の解釈は出来ません。

と言うわけで、SimulationとVisualizationは表裏一体と言いますか、どちらもとても大切なものなのです。

…で、あるが故にさらなる先入観も生じやすくなるのですが、長くなってきてしまったので続きは 次回で!

Maya Learning Channel
製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。