世界を動かす技術を、日本語で。

RenderFormer: グローバルイルミネーションを用いた三角メッシュのニューラルレンダリング

概要

  • RenderFormer は三角形メッシュから直接画像を生成するニューラルレンダリングパイプライン
  • グローバルイルミネーション 効果を持ち、各シーンごとの学習やファインチューニングが不要
  • Transformerアーキテクチャ をベースにした2段階構成
  • ラスタライズやレイトレーシング を使わずにレンダリングを実現
  • 多様なシーンや物理シミュレーションにも対応

RenderFormer: Transformerベースのニューラルレンダリング

  • RenderFormer は三角形ベースのシーン表現から直接画像を生成するニューラルレンダリングパイプライン
  • 物理ベースの手法 ではなく、シーケンス変換問題としてレンダリングを再定義
  • 三角形とその反射特性を表すトークン列を、ピクセルパッチを表す出力トークン列へ変換
  • シーンごとの追加学習やファインチューニングが不要 な点が特徴

シンプルなTransformerアーキテクチャ

  • 2段階パイプライン構成
    • ビュー非依存ステージ :三角形間の光輸送をモデル化
    • ビュー依存ステージ :レイ束を表すトークンをピクセル値へ変換
  • 両ステージとも Transformerアーキテクチャ を採用
  • 事前知識や制約を最小限 に抑えた学習設計
  • ラスタライズ処理やレイトレーシングを一切使用しない レンダリング方式

レンダリングギャラリー

  • RenderFormerによる多様なシーンのレンダリング事例
  • 照明条件・マテリアル・幾何学的複雑性 の異なるシーンへの対応
  • 追加学習・ファインチューニング不要 で高品質画像生成
  • 代表的なレンダリング例
    • Cornell Box
    • Stanford Bunny in Cornell Box
    • Lucy Statue
    • Utah Teapot
    • Composed Scene
    • Constant Width Bodies
    • Crystals
    • Fox in the Wild
    • Horse and Heart
    • Interior Room
    • Shader Ball
    • Tree
    • Veach MIS

動画・アニメーションデモ

  • オブジェクト回転・照明変化・マテリアル調整 などのダイナミックなデモ動画
  • 代表的なシーン
    • Cornell Box Roughness Adjustment
    • Bunny Roughness Adjustment
    • Tree Light Change
    • Tree Object Rotation
    • Fancy Scene Rotation
    • Composed Scene View Change
  • アニメーションレンダリング の例
    • 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

論文情報

  • タイトル: RenderFormer: Transformer-based Neural Rendering of Triangle Meshes with Global Illumination
  • 著者: Chong Zeng, Yue Dong, Pieter Peers, Hongzhi Wu, Xin Tong
  • 学会: ACM SIGGRAPH 2025 Conference Papers
  • 発表年: 2025

参考文献(BibTeX)

@inproceedings {zeng2025renderformer,
  title = {RenderFormer: Transformer-based Neural Rendering of Triangle Meshes with Global Illumination},
  author = {Chong Zeng and Yue Dong and Pieter Peers and Hongzhi Wu and Xin Tong},
  booktitle = {ACM SIGGRAPH 2025 Conference Papers},
  year = {2025}
}

Hackerたちの意見

すごい。これでGPUでループが閉じたってことだね。レンダリングから計算、またレンダリングへ。

トランスフォーマーって何ができないの?

高度なマウンテンバイキングかな。たぶん。

レイトレーシング、マトリックス版。なんか変な回り道をしてる感じがする。

まあまあって感じだけど、ちょっとぼやけてるね。ニューラルレンダラーと従来のレンダラーのレンダリング時間の比較が見たかったな。

論文には時間に関する議論もあって、Blender Cycles(パストレーシング)と比較してるんだけど、彼らのhttps://renderformer.github.io/pdfs/renderformer-paper.pdfを見て、間接照明のためだけに簡略化されたジオメトリを使ったニューラルアプローチが実用的かどうか気になるな。従来のラスタライザーを使って、その上にGIを重ねるっていうのはどうかな。

アニメーション(特にアニメーションカニとロボットアニメーション)は、モデルの周りを不自然に渦巻くAIアートのアーティファクトがかなり目立つよ。オブジェクトやカメラが動くときにね。

無知を許してほしいんだけど、これらのシーンはどういう風にレンダリングされることが期待されてるの?もしそうなら、もっと直接的な方法よりこれを使う理由は何なの?(これが直接的な方法より速いとは思えないし)

別のコメントではこれが速いって言ってるね。グローバルイルミネーションは直接的な方法だとすごく遅くなることがあるから。

おそらく、これはクールな研究だからだね(TM)。でも、三角形の数が増えるとコストが二次的に増加するから、実用的ではないんだ。だから、シーンごとに4096個しか使わなかったんだろうね。

これには多分、面白い非直感的な利点があると思う。例えば、シーンが入力ウェイトの塊だとしたら、それにノイズを加えたらどうなるんだろう?普通では得られないようなクールな出力が得られるかもしれないよね。二つの異なるシーン表現を取って、それらの間を補間したら面白い見た目になるかな?とか、色々考えられるよね。

ここで一番クールなのはスピードかもね。あるシーンに対して、RenderFormerは0.0760秒で、Blender Cyclesは3.97秒(設定を上げると12.05秒)かかるけど、構造的類似性指数は0.9526を維持してる(0から1で1が同じ画像)。論文の表2と1を見てみて。これによって、ウェブやネイティブアプリでデバイス上のトランスフォーマーモデルを使った3Dデザイナーのために、高品質なインスタントレンダープレビューが可能になるかもしれない。ちなみに、上の時間はA100で、最適化されてないPyTorchバージョンのモデルを使ったものだから、一般的なユーザーのGPUはもっとパワーがないし、3Dデザイナーにとっては従来のレンダリングよりもかなりのスピードアップが期待できるかも。ウェブベースのシステムなら、バックエンドでA100に接続して画像をブラウザにストリーミングすることもできるかもね。ただ、複雑な形の影があるときに完全に正確ではないっていう制限があって、例えばパーティクルやストランドも考えると、最終的なレンダリングは従来の方法で行われることが多いと思う。AI生成の画像や動画によく見られる嫌なビジュアルアーティファクトを避けるためにね。でも、もしかしたら「十分良い」ってことで、大きなアニメーションスタジオが音楽やストーリーのレビュー用にフルムービーのプレビューをレンダリングするのに使う価値があるかもしれない。

モデルが、従来の方法で小さなテストパッチをレンダリングして、それをLoRAチューニングレイヤーのフィードバックとして使うことで、リアルタイムで洗練される可能性があるのかな。

彼らが見せているシーンに関しては、76msは永遠のように感じるね。確かに、もっと速くなるだろうけど、従来のレンダリングよりもこれが優れているのはまだ先の話だね。

アテンションレイヤーのランタイム複雑度はトークンの数、つまりこの場合は三角形の数に対して二次的にスケールする。その結果、シーン内の三角形の総数を4,096に制限している。

ここで一番クールなのはスピードかもしれないね。あるシーンに対して、RenderFormerは0.0760秒で、Blender Cyclesは3.97秒(高設定だと12.05秒)かかるんだ。それでいて、構造的類似性指数(0-1で1が同一画像)は0.9526を維持してる。論文の表2と1を見てみて。これってかなりすごいと思う。ざっと見たけど、どうやってこれを設定したのかの詳細は見つけられなかった。CyclesではCPUを使ってるのか、それともA100のCudaカーネルを使ってるのかな?それに、これが単一フレームを処理してるなら、3.97秒のかなりの部分がレンダラーを立ち上げるのに使われてるかもしれない。シーケンスをレンダリングすれば、フレームごとの時間は減るだろうし、三角形ごとの複雑さのスケーリングについても他のコメントで言及されてたよね。痛いな!

著者たちが故意に誤解を招くようなことをしているとは思わないけど、あの品質のGPUでBlender Cyclesを使えば、この論文のすべてのシーンを4秒未満でレンダリングできるはずだよ。複雑さが低い非常に控えめな技術デモシーンがあって、Blenderはピクセルごとに4kイテレーションを回すように設定されてるけど、これはあまり意味がないと思う。Blenderは数百回のサイクルで出力に近いものを得られるから、その後の3800サイクルは改善なしにGPUサイクルを消費するだけだと思う。彼らはBlenderのインスタンス化フェーズを全体のレンダリング時間に含めてしまったのに、トランスフォーマーのインスタンス化は含めてないんじゃないかな。各システムの2フレーム目をレンダリングするのにかかる時間を見てみたいな。私の直感では、Blenderの方がずっとパフォーマンスが良いと思う。論文の結果は一般的に興味深いけど、Blenderの設定やタイミングにはいくつかのニュアンスがあると思う。

参照とのタイミング比較はかなり不誠実だと思う。レイトレーシングでは、エラーはサンプル数の平方根に比例してスケールするからね。参照用には非常に高いサンプル数を使うのが一般的だけど、オフラインレンダラーの実際のサンプル数はこの論文よりも約1-2桁低いんだ。これは不誠実だと言えるのは、グラフィックの論文では品質比較のために非常に高いサンプル数の参照画像を含めるのが普通だけど、誰もそれとタイミング比較をしないから。結果が近似的だから、公平な比較は他の近似レンダリングアルゴリズムとの比較になるべきだよ。現代のリアルタイムパストレーサー+デノイザーは、消費者向けGPUで16ms未満でより複雑なシーンをレンダリングできる。ここでの「より複雑なシーン」という部分が重要なんだ。トランスフォーマーを使うと、三角形の数と出力ピクセルの数の両方で二次的なスケーリングが発生するからね。最新のML研究には追いついてないから、もしかしたら今は改善されてるかもしれないけど、典型的なパストレーサーの理論的なスケーリングO(log n_triangles)とO(n_pixels)を超えることはないと思う。(ピクセル数に関する実際のスケーリングは隣接ピクセルの高いコヒーレンシーのために線形未満になる)

これは素晴らしくて面白いアイデアだね。シーンの説明を三角形のセットから2Dのピクセル配列に変換するトランスフォーマーを訓練するっていう。これが、同じシーンからグローバルイルミネーションレンダラーが出力するピクセルに見えるなんて、驚くべきことじゃないけど、やっぱりすごいと思う。トランスフォーマーのアーキテクチャは本当に多才だね。とにかく、すごく速いし、Blenderのレンダリング出力に近い、1Bパラメータのモデルみたいだね。fp16か32かはわからないけど、2GBのファイルだし、何が気に入らないっていうの?もっと「リアルな」シーンのデモも見てみたいけど、まあ、これをダウンロードしてMacでいつでも試せるのはいいね。

ディープラーニングは、グローバルイルミネーションでレンダリングされた画像のデノイジングにも非常に成功して使われてるよ。[1] このアプローチでは、従来のレイトレーシングアルゴリズムがシーンの粗いグローバルイルミネーションを素早く計算して、ニューラルネットワークが出力からノイズを取り除くんだ。[1] https://www.openimagedenoise.org

デモの出力画像は異常に滑らかで、AIのアップスケールみたいだね。エッジは保たれてるけど、テクスチャが失われてる感じがする。画像を拡大しすぎるとこうなるのかな。(編集)デノイジングは100%ズームの方が125% DPIズームよりも比較が良くて、下のシダを認識しやすくしてるね。

すごくクールな研究だね!テキスト以外の分野にトランスフォーマーを応用するのが本当に好きだよ。入力が連続的で、その入力トークン同士が関係しているような分野ではうまく機能しそうだね。この分野でのさらなる研究を楽しみにしてるよ。HNのみんな、トランスフォーマーがうまく適応できそうな面白いテキスト以外の分野は何だと思う?

自己注意の前にクロスアテンションがあるのは、それが良いの?