Preferred Networks

Vol.46 AIがCGの世界を変える - RenderFormerのアプローチと応用可能性

今日は、RenderFormerについての紹介をします。これは、CGで使うようなグローバルイルミネーションと呼ばれるレンダリングを、ニューラルネットワークで直接計算するモデルが成功したよ、という話です。

◆AIによるシミュレーションの高速化とRenderFormer

AIですごく成功している分野に、シミュレーション結果をAIで高速に近似するというのがあります。

例えば原子レベルシミュレーターを提供するMatlantisの事業の肝は、「量子化学計算の方程式をすごく長い時間で解いて求める」というのを、原子座標の入力と原子の物理法則を支配するエネルギーのペアを覚えていて、原子座標を与えたらバンっと、いきなりエネルギーを短い時間で出せるっていうモデルを作っているのが価値になっています。

シミュレータを模倣するものなので、こういうモデルを一般的にエミュレータと呼んでいます。

この、エミュレーションが、いろんな分野で成功してきていて、今回紹介するのがCG(コンピュータグラフィックス)です。

CGがやってるのは光輸送問題という、光源から光がバーっと出て、それが物体に反射してカメラに入ってくる光をシミュレーションできたら、コンピュータグラフィックスできるよねっていうことです。光輸送方程式をものすごい長い時間解いてるのが普通のグローバルイルミネーションベースのレンダリングだとされてるんですが、あくまで「入力を与えて答えをパンって出すことができるんだったら、できるでしょう」って昔から言われていたんですが、まあ難しくてできていませんでした。

◆RenderFormerの概要とアーキテクチャ

これに対してRenderFormerは、グローバルイルミネーション、つまりちゃんと光が物体に当たって、物体の材質とかいろんなパラメータがある中で、コンピュータグラフィックスのレンダリングを高速化できるようになっています。

特に特徴的なのが、入力がメッシュで良いところです。普通コンピュータグラフィックスはメッシュなんですが、メッシュが入力になってるところが使いやすいと。

メッシュがずらっと並んでいるトークン列に対して、あとは「こういうところにカメラがあります」っていうのもトークン列で与えて、これらのトークンから、カメラのところにどういう光が入るのかっていうトークンを予測するSequence-to-Sequenceの問題としてTransformerで解きます。

こんな単純な方法で解けるのかっていう話なんですが、まあ解けたと。

◆技術的工夫:2段階のレンダリングステージ

とはいえ、ブラックボックスでいきなりは解けなかったので、工夫は色々していて、一番大きい工夫が三角メッシュレベルでの光輸送。

つまり、三角メッシュから三角メッシュの間で光が輸送される問題をまず解くのに併せたモデルを用意します。

例えば、カメラから鏡のメッシュに行って、鏡で反射して壁に当たって、壁でまた反射して物体に入って、物体からカメラに入ってくるという経路は、全部メッシュからメッシュへの光輸送と考えられるので、そこの問題をまず解けるようなアーキテクチャを入れておきます。これは視点非依存で、カメラ情報なしで光輸送を解けるようにします。

次に視点依存ステージで、これはカメラが「ここの位置にこういうのありますよ」っていうのを入れた上で、そのカメラに入ってくる光線を推定します。

アーキテクチャ的にはそういう構造をしていて、こういう入力の場合には、長い時間、他のグローバルレンダリング(今回はCycles)を使ってレンダリングした結果の画素値をターゲットにして、エンドツーエンドで学習する。

◆性能と応用可能性

この結果、グローバルレンダリングがニューラルネットワークで近似できるようになります。だいたい50倍高速に計算できています。完全に一致するわけではもちろんなくてズレるんですが、少なくとも人目にはまあまあ一致していて、ビデオもできるし、レンダリングもできるし、シミュレーションもできると。

あとは、微分可能レンダリングができて、観測とこのレンダリングがズレているのであれば、そこからバックプロップしてメッシュを生やすとか、メッシュの材質を変えるといった使い方もできる可能性があります。期待できる研究だと思います。

PFNは新しい仲間を
募集しています

未掲載事例、プロダクト・ソリューション、研究開発についてお気軽にお問い合わせください