RenderFormer: 三角形メッシュとグローバルイルミネーションに基づくニューラルレンダリング
(microsoft.github.io)- RenderFormerは、三角形メッシュのシーンから画像を直接生成するニューラルレンダリングパイプラインであり、シーンごとの学習なしでグローバルイルミネーションまで扱える点が中核となる
- レンダリングを物理シミュレーション手続きではなく、三角形・反射特性トークンを小さなピクセルパッチトークンへ変換するシーケンス・ツー・シーケンス変換として定義する
- パイプラインはビュー非依存段階とビュー依存段階に分かれ、どちらもTransformerアーキテクチャを用いて最小限の事前制約で学習される
- ビュー非依存段階は三角形間の光輸送をモデル化し、ビュー依存段階は光線バンドルトークンをピクセル値へ変換する
- 公開デモは照明、材質、幾何学的複雑さ、アニメーション、物理シミュレーションを含み、ラスタライズやレイトレーシングなしでレンダリングする
RenderFormerのレンダリング構造
- RenderFormerは、三角形ベースのシーン表現から画像を直接レンダリングするニューラルレンダリングパイプラインである
- シーンごとの学習やファインチューニングを必要とせず、完全なグローバルイルミネーション効果を含む
- レンダリング過程はシーケンス・ツー・シーケンス変換で構成される
- 入力は反射特性を含む三角形トークン列である
- 出力は小さなピクセルパッチを表すトークン列である
- 2段階パイプラインにより、ビューに依存しない光輸送計算と実際のピクセル生成を分離する
- ビュー非依存段階: 三角形間の光輸送をモデル化する
- ビュー依存段階: 光線バンドルトークンをピクセル値へ変換し、ビュー非依存段階の三角形列がこれを導く
- 両段階ともTransformerアーキテクチャベースで、最小限の事前制約で学習される
- レンダリング過程にラスタライズやレイトレーシングを使用しない
公開結果と参考資料
- レンダリングギャラリーは、シーンごとの学習やファインチューニングなしで、多様な照明条件、材質、幾何学的複雑さを示している
- Cornell Box, Stanford Bunny in Cornell Box, Lucy Statue, Utah Teapot
- Composed Scene, Constant Width Bodies, Crystals, Fox in the Wild
- Horse and Heart, RenderFormer Logo, Interior Room, Shader Ball, Tree, Veach MIS
- 詳細比較用の reference images が提供されている
- 追加の映像資料として uncompressed videos と reference videos が提供されている
-
ティーザーシーン
-
アニメーションとシミュレーション
- アニメーションレンダリングの例には、Cascade Cube Animation, Animated Crab, Gyroscope Motion, Animated Character, Marching Cubes Animation, Robot Animation が含まれる
- 物理ベースシミュレーションの例には、Bowling Ball Physics Simulation, Rotating Box Dynamics, Constant Width Body Simulation が含まれる
- 論文は ACM SIGGRAPH 2025 Conference Papers に収録され、BibTeX項目のタイトルは “RenderFormer: Transformer-based Neural Rendering of Triangle Meshes with Global Illumination” である
1件のコメント
Hacker Newsのコメント
ここで一番すごいのは速度かもしれない。同じシーンで RenderFormer は0.0760秒、Blender Cycles は3.97秒(より高い設定では12.05秒)かかりながらも、構造的類似性指標 0.9526(0〜1、1は同一画像)を維持している。論文の表2と表1を見ればよい。
これなら、デバイス上の Transformer モデルで、Webやネイティブアプリ上の3Dデザイナーに、より高品質な即時レンダープレビューを提供できるかもしれない。
上の測定は、A100上で最適化されていない PyTorch 版モデルを使ったもの。一般ユーザーのGPUははるかに弱いが、3Dデザイナー向けのGPUなら、従来のレンダリングに比べてかなり大きな速度向上を見込める程度には十分かもしれない。Webベースのシステムなら、バックエンドのA100につないで画像をブラウザへストリーミングすることもできる。
限界は、シーンの複雑さが増すほど、たとえば複雑な形状の影(粒子や髪の毛の類もそうだと思う)で完全には正確でなくなる点。だから最終レンダーは、現在の多くのAI生成画像・動画に見られる見苦しい視覚的アーティファクトを避けるため、依然として従来方式で行われる可能性が高い。ただ、十分に「悪くない」水準で速度面の利得が大きいなら、音楽やストーリーの確認などに使う長編映画尺のプレビューをレンダリングしなければならない大手アニメーションスタジオが導入する理由にはなり得る。
シーンは複雑度の低いかなり素朴な技術デモ程度で、Blenderをピクセルあたり4,000回反復するよう設定しているように見えるが、あまり筋が通らない。Blenderは数百サイクルも回せば出力にかなり近づき、その後の3,800サイクルは改善なしにGPUサイクルだけを消費する可能性が高い。
全体のレンダリング時間にBlenderの初期化段階を誤って含めた一方で、Transformerの初期化は含めていないように見える。各システムで2フレーム目をレンダリングする時間を見てみたいし、推測ではBlenderのほうがずっと性能が良いはず。論文の結果自体は興味深いが、Blenderの設定と測定方法にはニュアンスがある。
レイトレーシングでは、誤差はサンプル数の平方根に比例して減少する。品質比較用の基準画像には非常に高いサンプル数を使うのが普通だが、実際のオフラインレンダラーのサンプル数はこの論文より1〜2桁低い。
グラフィックス論文で品質比較のために非常に高いサンプル数の基準画像を載せるのはよくあるが、その基準画像と時間比較まですることはない。結果が近似なら、ほかの近似レンダリングアルゴリズムと比較するのが公平だ。最新のリアルタイムパストレーサーとデノイザーは、コンシューマー向けGPUでもはるかに複雑なシーンを16ms未満でレンダリングできる。
重要なのは「はるかに複雑なシーン」だ。Transformerを使うと、三角形数と出力ピクセル数の両方に対して二次的にスケールする。最新の機械学習研究を追えていないので今は改善されているかもしれないが、典型的なパストレーサーの理論的スケーリングである O(log n_triangles) と O(n_pixels) に勝てるとは思えない。実際のピクセル数に対するスケーリングは、隣接ピクセルの高い一貫性のため、サブリニアに近い。
ざっと見たが、どう設定したのか詳しい内容は見つけられなかった。CyclesはA100でCPUを使ったのか、CUDAカーネルを使ったのか気になる。また単一フレームのレンダーなら、3.97秒のうち無視できない割合がレンダラーの起動に使われた可能性がある。シーケンスをレンダリングすれば、フレームあたりの時間は下がるはずだ。
兄弟コメントで言及されている三角形あたりの複雑度スケーリングも痛い。
ディープラーニングはグローバルイルミネーションのレンダー画像のノイズ除去にも非常に成功裏に使われている [1]
このアプローチでは、従来のレイトレーシングアルゴリズムがシーンの粗いグローバルイルミネーションを素早く計算し、ニューラルネットワークが出力のノイズを除去する。
[1] https://www.openimagedenoise.org
追記: ノイズ除去は125% DPI拡大より100%拡大のほうが見栄えがよく、下側のシダも認識しやすくなる。
グラフィックス論文では常に見えていないものを考える必要がある。
ここにはポリゴンがほとんどなく、解像度は低く、テクスチャもなく、モーションブラーもなく、被写界深度もなく、アニメーションには多少アーティファクトがある。
興味深い研究ではあるが、見方を合わせると、現代のGPUを使って、30年前に100万分の1程度の計算量で作っていたような画像を作っていることになる。
例の中にカメラの背後を見せるものが一つもなくて妙だと思った。
アプローチの限界なのか、例の作成上の抜けなのかは分からないが、反射と照明を語るとき、カメラの背後はかなり重要だ。
よく分かっていないので聞きたいのだが、これらのシーンは、シーンがレンダリングされると予想される方法に基づいてレンダリングされているのか? もしそうなら、より直接的な方法の代わりにこれを使う理由が分からない。直接的な方法より速いとは思えないからだ。
たとえばシーンが入力重みの塊だとしたら、そこにノイズを加えたときどんな見た目になるのか? 一般的な方法では不可能な面白い出力を得られるのか?
異なる2つのシーン表現の間を補間したら興味深いのか? といった問いが可能になる。
うわ、それならGPUで輪が閉じたわけだ。レンダリングから計算へ、そして再びレンダリングへ。
悪くはなさそうだが、ぼやけている。ニューラルネットワークレンダラーと古典的レンダラーのレンダリング時間比較を見てみたかった。
アニメーション、とりわけ Animated Crab と Robot Animation では、物体やカメラが動くときにモデルの周囲で不自然に渦を巻く AIアートのアーティファクトがかなり目立つ
https://renderformer.github.io/pdfs/renderformer-paper.pdf
ニューラルネットワークのアプローチを、単純化したジオメトリで 間接照明 だけに使うのが実用的なのか気になる。通常のラスタライザを使い、その上にグローバルイルミネーションを載せるような形だ
映画業界で 物理ベースレンダラー を扱い、関連研究もしていた友人がいる。この業界で物事がどう処理されているのかについての話や説明を聞くのがいつも好きだ
最近、こうした人材を採用している会社はどこなのだろう。AI企業もトレーニング環境を作るためにレンダリングエンジニアを採用しているのだろうか?
経験豊富な研究・産業系レンダリングエンジニアを採用したいところがあれば紹介できる。友人はソーシャルメディアはやっていないが、機会を探している
とても素晴らしい研究だ。テキスト以外の領域に Transformer を適用するこうした事例は本当に良い
入力が逐次的で、その入力トークン同士が関連する領域ならうまく機能しそうだ。この分野でさらに多くの研究が出てくることを期待している
テキスト以外の領域で、Transformer が特に相性の良さそうな興味深い分野は何だろう?
シーン記述である三角形の集合を2Dピクセル配列に変換するよう Transformerを学習 させ、その結果が同じシーンをグローバルイルミネーションレンダラーで出力したピクセルのように見えるようにする、という発想は見事で興味深い
過去5年間の研究を見ていると、これが機能するという事実自体は衝撃的ではないが、それでもかなり深みのある結果に感じる。Transformer構造は本当に多才だ
いずれにせよ非常に速く、Blenderのレンダリング出力に近く、おおよそ 10億パラメータのモデル のように見える。fp16なのかfp32なのかは分からないが、ファイルが2GBというのは特に文句の付けようがない。もっと「現実的な」シーンのデモも見てみたいが、望むならダウンロードしてMacで自分で動かしてみることもできる