※本記事は、Yilun Du氏によるカンファレンス講演「[GCV @ CVPR 2026] Yilun Du - 逆生成モデルによる視覚的シーン理解」の内容を基に作成されています。動画は https://www.youtube.com/watch?v=-a7ye5_bHyg でご覧いただけます。本記事では、講演内容を要約・再構成しております。なお、本記事の内容は登壇者の見解を正確に反映するよう努めていますが、要約や解釈による誤りがある可能性もありますので、正確な情報や文脈については、オリジナルの動画をご視聴いただくことをお勧めいたします。
Yilun Du氏は、Harvard大学Kempner InstituteおよびComputer Science学科の助教授です。MIT CSAILにてLeslie Kaelbling氏、Tomas Lozano-Perez氏、Joshua Tenenbaum氏の指導のもと博士号を取得し、生成モデル、コンポジショナリティ(構成性)、身体性を持つエージェント、ロボット学習を専門としています。詳細な情報や関連研究については、氏のホームページ(https://yilundu.github.io/)もご参照ください。
1. イントロダクション:生成モデルを用いた知覚のアプローチ
1.1 知覚の逆生成過程としての捉え方と2つの課題
通常、私たちが生成モデルについて考えるとき、それはテキストプロンプトを与えると、それに対応する概念を含んだ画像を生成する、というプロセスを思い浮かべると思います。私は、知覚、つまり視覚的な世界を理解しようとする際のプロセスは、これとちょうど逆の関係にあるのではないかと考えています。テキストプロンプトを与えて画像を生成するのではなく、知覚においては、何らかの実世界の画像がすでに手元にあり、その画像を本当に理解したり表現したりするために、生成モデルのパラメータを推論したいということになります。
つまり、知覚とは、本質的には実画像を最もよく説明する生成モデルのパラメータを探索することに対応していると私は考えています。そして、生成モデルを知覚のために利用しようとする際には、大きく2つの課題があると思っています。
1つ目の課題は、高次元空間の中で、この画像を表現するための正しい潜在変数を本当に見つけ出す探索が非常に難しいということです。この課題に対処するために、後ほど、この探索を効率的に行うためのアルゴリズムについても少しお話ししたいと思います。これは、生成モデルに渡すべき欠けている部分を特定し、画像を生成できるようにするためのものです。
2つ目の課題は、生成モデルを用いて画像を理解しようとする際、実際に目にする多くの実世界の画像は、その生成モデルが学習した基盤となるマニフォールドの中に実は存在していない場合が多い、ということです。つまり、学習データセットの中には含まれていないような画像がたくさん存在し得るということです。もしそれらが学習データセットに含まれていないのであれば、生成モデルを反転させてその画像を理解することは難しくなってしまいます。この問題を本当に解決するために、生成モデルの中に多くの明示的な構造を組み込むことで、標準的なフィードフォワードモデルよりもいくらか容易な形で、未見のシーンに対してより正確に汎化できるようにする方法についてもお話ししたいと思います。
1.2 発表の構成
この発表は大きく3つの部分に分かれています。まず最初に、生成モデルを用いて2Dのシーンの性質をどのように理解できるかについてお話しします。次に、その同じアプローチを用いて、生成モデルを反転させることで3D構造をどのように理解できるかについてお話しします。そして最後に、生成モデルを用いてシーンの理解と生成を同時に行うための、より統合されたアプローチについてお話ししたいと思います。
まず、生成モデルを用いて2Dの物体やシーンをどのように理解できるかについてお話しします。一般的な考え方としては、私たちが思い浮かべるほとんどの生成モデルは、暗黙的に何らかの確率分布を表現しているということです。つまり、これらのモデルは、Xを画像、そしてある概念やシーン属性の集合が与えられたときの、Xの確率を暗黙的に符号化しています。ここでのシーン属性とは、物体の位置であったり、照明の位置であったり、あるいはシーンに関するその他の記述であったりします。そして本質的には、私たちはこれらの属性が与えられたときの画像のこの条件付き分布をパラメータ化する生成モデルを持っている、ということになります。
2. 生成モデルによる2Dシーン理解
2.1 独立成分への分解と探索手法
知覚、つまり生成モデルを反転させてシーンを理解しようとする際には、実際の画像Xの尤度を最大化するような属性の集合を見つけ出すことが目標になります。ですので、大まかに言えば、実世界の画像Xが与えられたときに、その画像の尤度を最大化するような根底にある概念を推論することによって、私たちはその画像を知覚し理解しようとしているわけです。
ここで属性の具体例をいくつか挙げますと、それぞれの属性が物体の位置である場合があります。例えば、1つ目の物体の位置、2つ目の物体の位置、3つ目の物体の位置といった具合です。あるいは、属性が人物の黒髪の有無、眼鏡の有無、笑っているかどうかといったものである場合もありますし、シーンに含まれる物体のカテゴリそのものである場合もあります。
ここで重要なのは、多くの複雑な実世界のシーンにおいては、これまで見たことのないようなシーンにしばしば遭遇するという点です。例えば、これまで見たことのない概念の新しい組み合わせを持つシーンに遭遇することがあります。笑いながらサングラスをかけている人を見たことがないかもしれませんが、それでもシステムにはそうした組み合わせに汎化してほしいわけです。あるいは、システムが合計3個から5個の物体を持つシーンしか見たことがない場合でも、7個から10個の物体を持つシーンに汎化できるようにしたい、あるいは、これまで見たことのない物体の組み合わせに汎化できるようにしたい、ということもあります。
そのため、単純にある固定された概念と画像の組み合わせで学習された生成モデルでこれを行おうとすると、少し難しい場合があります。というのも、モデルはこの固定された画像の集合で学習されているため、これらの画像に対して過学習してしまいやすいからです。したがって、こうした新しい構成を持つ画像を表す概念を推論することは非常に困難になります。
この問題に対処する1つの方法は、生成モデルにもう少し構造を組み込む、つまり何らかの独立性を仮定することです。具体的には、これらすべての異なる概念に条件づけられて画像を生成するような、単一のニューラルネットワークないし生成モデルによってこの確率分布を一枚岩的に表現するのではなく、この確率分布を個々の分布の積へと分解します。つまり、生成モデルを分解し、それぞれの個々の概念に対して定義された生成モデルの独立した積として表現するということです。
このような構造を生成モデルに組み込むことで、一方では、すべての分布をモデル化できるわけではないという意味で精度は落ちます。それぞれの属性が互いに独立であると仮定してしまうことになるからです。しかし他方で、これによって、これまで見たことのない組み合わせを持つシーンを表現できるようになります。つまり、これはより複雑なシーンを理解するための一種の柔軟性を与えてくれるということです。
実際にはこれはどのように機能するのでしょうか。本質的には、システムは入力画像を受け取ります。この入力画像は顔である場合もあれば、一連の物体である場合もあります。そして、ある概念の集合が与えられたときのこの画像の確率分布を、拡散モデルの合成として表現します。それぞれの拡散モデルは、その概念に応じた何らかのデノイジング推定値を予測し、私たちはこれらの拡散モデルそれぞれを条件づけるための概念の集合を最適化することで、すべての拡散モデルのスコア関数を合成したときに、この画像を正確に表現あるいは再構成できるようにします。このデノイジングのL2距離を用いることが、拡散モデルの尤度、つまりELBOの暗黙的な表現になっています。
実際にこれらの概念を推論しようとする際、大きな問題となるのは、これらの概念が例えば10次元や100次元といった高次元である場合、それらを合成したときに画像をうまく表現できるような概念の集合を見つけ出そうとすると、これは非常に高次元的な探索問題になってしまうという点です。これに対して、私たちは2つの異なる戦略を用いています。
1つ目は、勾配降下法に基づく推論を用いて概念を推論するというものです。これらの概念、例えば物体の位置をランダムな値から初期化し、デノイジング誤差に対する勾配降下を用いて、画像により良く適合するように概念を更新していきます。つまり、ランダムな値から初期化し、何らかの勾配ベースの最適化を用いて、これらのパラメータをより効率的に探索するということです。
もう1つ行っているのは、こうした勾配ベースの最適化だけを行うと、大きな問題として局所解が非常に多く存在してしまうという点への対処です。勾配降下を実行しても、シーンを実際に表す正しい概念の集合を見つけられず、何らかの局所解にはまってしまう可能性があります。例えば、8個の物体を持つシーンがあり、物体の位置に関する勾配降下を実行したときに、すべての位置が最初の物体あるいは最初の数個の物体に収束してしまうことがあります。そうなってしまうと、そこから正しい概念を回復する術がありません。この問題を解決するために、私たちは複数の並列な概念の集合を最適化し、その上でリサンプリングを行うことで、この最適化を局所解から抜け出させるようにしています。
2.2 実験結果と気づき
実際に試してみると、このシステムは物体の2次元位置を非常に信頼性高く理解できることがわかりました。私たちは合計3個から5個の物体でシステムを学習させましたが、この推論手続きを実行することで、3個の物体、4個の物体、あるいは5個の物体の位置を得ることができました。
しかし、それ以上に興味深いのは、この分布を個々の要素の独立した積として分解するという明示的な構成的構造を利用することで、5個から8個の物体を持つシーンを表現できるようになるという点です。ここで示しているシーンは合計8個の物体を含んでいます。私たちは単純に、単一の物体を表す要素の独立な積として全体の分布を表現しているだけですが、この物体をまたいでシステムに推論を実行させると、これら8個すべての物体の位置を推論することができます。これは、モデルに何らかの構造を持たせることによって得られる一種の汎化であると言えます。
もう1つ興味深い点として、これは生成モデルを用いて画像を理解する際に一般的に言えることですが、生成モデルはラベルと物体あるいは画像との相関関係を直接的に表現しているということです。生成的な分類器全般について言えることですが、以前にも「拡散分類器」と呼ばれる関連研究があったと思いますが、一般的に、生成モデルを分類器として用いると、分布外(OOD)のシーンに対してより良く機能する傾向があります。実際、これまで見たことのない異なるテクスチャを持つシーンを見せたところ、この手続きはやはりこれらすべての物体の位置を推論できることがわかりました。
さらに、このような構成的構造を仮定して生成モデルを表現する場合の興味深い点として、シーン内の物体の数自体を推論できるということが挙げられます。例えば、合計4個の物体を持つシーンがあるとすると、そのシーンを4個の要素の積、3個の要素の積、5個の要素の積、さらには8個までの要素の積として表現してみることができます。そして、シーンの尤度を最大化するものが、実際に正しい物体数でシーンを表現しているものであることがわかりました。つまり、合計4個の物体を持つシーンであれば、4つの要素で表現したときに誤差が最も低くなり、5個の物体を持つシーンであれば5つの要素で表現したときに誤差が最も低くなり、6個や7個の場合も同様です。この意味で、この生成的アプローチはシーン内の物体数自体を推論することも可能にしています。
そして、これは位置だけでなく属性についても同様に行うことができます。私たちは人物のさまざまな顔属性についてモデルを学習させましたが、その際、女性の顔のみで学習を行いました。すると、属性の有無、つまり2値的な有無を推論できることがわかりました。そして、これは男性の顔にも汎化することができました。これはモデルが生成的であることに起因していると考えています。つまり、黒髪であること、眼鏡をかけていること、笑っていることが何を意味するかをモデルが識別できるということです。ここでも、新しい組み合わせに対する一種の汎化が見られます。
以上が、2D画像に対してこの生成的アプローチをどのように利用できるかについての簡単な説明になります。ここで1点補足しておきたいのですが、確かに、これまで見たことのないより多くの物体数を持つシーンを理解できるという点は非常に興味深い一方で、ここでお見せしている内容の一部は少しシンプルなものであることも事実です。つまり、多くの実世界のシーンほど複雑ではありません。実際、識別的な2Dアプローチと比較すると、複雑なシーンに適合させるためにははるかに大きな生成モデルが必要になることがわかっています。最近になって、これをKITTIデータセットや、より実世界に近ついた設定でも動作させることができるようになってきましたが、これらのシステムははるかに複雑なものになります。しかし、この種の構成的な反転(コンポジショナル・インバージョン)によって、新しい概念の組み合わせを持つシーンを理解したり汎化したりできるという点で、非常に興味深いと考えています。
3. 逆生成モデルによる3D構造理解
3.1 3D生成モデルの構築と推論手法
次に、3D構造をシーンからどのように推論できるかについてお話ししたいと思います。ここで考える設定は、未見のカメラ視点、未見のカメラセンサー、あるいは未見のテクスチャや照明条件からシーンを見るというものです。私たちの目標は、推論を実行することで、シーンの根底にある3D幾何構造、およびカメラの姿勢やカメラセンサーの歪みを推論できるようにすることです。
これは、先ほどお話しした内容と本質的にはかなり似た性質のものです。ここでも、実際に見ている画像Xを、ある種のパラメータに条件づけて生成する生成モデルを構築します。ただし今回のパラメータは、シーンの3D幾何構造と、シーンに対するレンダリングの姿勢ということになります。
では、この生成モデルをどのように構築するかについてですが、今回は、より多くの3D構造を持つ生成モデルを構築します。考え方としては、まず何らかの潜在コードを受け取り、それを直接ある種の2D画像として生成するような生成モデルを用意します。そして、この生成モデルの一部として、その2D画像を受け取り、そこから直接3D再構成を予測するモデルを用意します。さらに、この3D画像を受け取り、それをレンダリングして予測的な再構成を行う、別のモデルを用意します。つまり、私たちの生成プロセス全体は、2D画像を生成する学習済みの画像生成モデル、それを3Dへ持ち上げるモデル、そしてそれを微分可能な形でレンダリングするモデルという流れになります。そして重要なのは、これらすべてが微分可能であるという点です。
つまり、私たちは本質的に、潜在コードから予測的な再構成へと写像する生成モデルを持っていることになります。そして私たちの目標は、何らかの分布外の入力を受け取り、この分布外の入力の尤度を最大化することです。つまり、この潜在コード、そして図の左側に示されているレンダリングパラメータであるシータやファイを見つけ出し、予測的な再構成が分布外の再構成とできる限り一致するようにしたいということです。
この潜在コードとレンダリングパラメータのシータおよびファイを推論するために、ここでも同じ考え方を用います。つまり、これらの値に対してある種の勾配ベースの最適化を行い、更新していきます。そして、ここでも同様に、ある種のパーティクルのリサンプリングを行います。つまり、多くの異なる可能性を用意し、その中から最も良い再構成が得られるものを選び出すということです。
どのような種類の生成モデルを用いるかについては、潜在コードから予測される2D画像へのパラメータ化のために、さまざまなモデルを利用することができます。例えば、画像を生成する何らかの拡散モデルを用いることもできますし、中間画像を生成する何らかのStyleGAN系のモデルを用いることもできます。いずれの場合も、私たちが行っているのは、3Dレンダリングパイプラインの残りの部分と組み合わせたときに、目的の出力が得られるような画像を生成できる潜在変数を最適化するということです。
ここで一般的にわかったことがあります。既存の標準的な3D再構成手法、例えばここではpixel splatという手法を例にしていますが、これらのモデルをある一連のカメラ姿勢で学習させると、モデルが学習された角度においては非常に高いPSNRで幾何構造の再構成や予測ができることがわかります。しかし、モデルが明示的に学習していない角度から外れていくと、誤差ははるかに大きくなります。つまり、既存のフィードフォワードモデルは、未見の視点に対して信頼性高く汎化することが実はできていないのです。そして、私たちのアプローチはこうした設定により正確に汎化できることがわかりました。
3.2 実験結果
まず、ある分布外の視点についての例をお見せします。ここでの分布外の視点とは、カメラの魚眼画像です。私たちのアプローチは、シーンの正しい3D幾何構造を推論できることがわかりました。つまり、カメラの正しい動きを推論でき、さらに正しいレンズ歪みも復元できるということです。一方で、正解モデル、つまりground truthのモデルはこれを正しく行える一方、pixel splatのような手法ではこの設定で3D再構成を行うことができません。つまり、このような視点はモデルにとって分布外となるため、こうした新しい視点を生成することができないのです。私たちの手法がこれを行えるのは、実際にこの歪みを表すカメラパラメータを推論し、そこから正しいground truth画像を逆算することで、これらの新しい視点をレンダリングできるようにしているからです。
もう1つの例をお見せします。ここでは2つの異なるシーンがあり、いずれもシーンの分布外視点となっています。このモデルはCo3Dで学習されたものだったと記憶しています。Co3Dには、これらの物体をさまざまな視点から見た一連のシーンが含まれています。そして、私たちの分布外の入力は、非常に奇妙な視点からのシーンです。具体的には、この消火栓を真上から見た視点、あるいはこの花瓶を非常に横向きから見た視点です。既存のフィードフォワード型の3D推論手法を直接用いると、シーンの良い3D幾何構造を実際に再構成することができないことがわかります。この幾何構造は非常に奇妙に見えますが、これは正しい幾何構造を再構成できていないためです。特にこの花瓶については、非常に歪んだ結果になっていることがわかります。それに対して、この逆生成モデリングの手続きを用いて2Dから3Dシーンを理解しようとすると、実際に、非常に一貫した形でシーンを異なる視点からレンダリングできるようになります。おおむねground truthと一致していますが、深度に関しては多少の曖昧さがあり、正確な位置がやや異なります。また、この花瓶についても、異なる視点を正確にモデル化できていることがわかります。そして、これをground truthと比較すると、視点の変化がお互いにきちんと対応していることが見て取れます。
最後に、私たちはShapeNet Carsでモデルを学習させ、それを異なる視点からの実際の車の画像に適用してみました。このモデルが学習していたのはよりシンセティックな画像であり、実際の車の画像はそれとはかなり分布が異なるにもかかわらず、私たちのアプローチは生成モデルを反転させることで、これらの車の3D幾何構造を正確に再構成できることがわかりました。一方、他の手法ではこれを正確に行うことができていません。
そして最後に、このアプローチでできるもう1つの面白い応用例をご紹介します。これは私たちのロボティクス研究室での設定なのですが、ロボットのグリッパーで撮影した画像を用いています。ロボットが物体を持ち上げている画像であり、私たちの目標は、このグリッパー視点でのボウルの画像から、そのボウルの根底にある幾何構造を推論することです。この視点は、インターネット上ではあまり見かけないような非常に特殊な視点であるため、既存のフィードフォワード型の3D再構成手法を用いると、実際に非常に奇妙な3D形状が生成されてしまうことがわかりました。それに対して、私たちの手法を用いると、シーンについてはるかに完全な3D再構成を生成できることがわかりました。つまり、この種の構造化された3Dレンダリング手続きによって、物体のおおよその3D幾何構造をはるかに正確に推論できるようになるということです。
以上が2番目の部分、すなわち、この逆生成モデリングのアプローチを用いてシーンの3D構造をどのように理解できるかについてのお話でした。
4. シーン理解と生成の統合的な生成モデル
4.1 統合アーキテクチャと仕組み
最後に、シーンの理解と生成をどのように1つの生成モデルの中で統合できるかについてお話しします。これまでお話ししてきたのは、ある概念の集合が与えられたときに、それに対応する画像を生成できるモデルについてでした。そして、逆にground truthの画像が与えられたときに、その画像を表す概念を推論するというのが知覚の問題でした。画像生成と画像理解の両方を統合する1つのアプローチは、画像と概念の同時分布を一度に捉えられるような生成モデルを持つことです。このようなモデルがあれば、概念が与えられたときの画像の条件付き分布からサンプリングすることも、画像が与えられたときの概念の条件付き分布からサンプリングすることもできるようになります。
ここでの考え方は、さまざまな種類の条件づけを受け取れる生成モデルを用意するということです。具体的には、この生成モデルはテキストプロンプト、単一のRGBフレーム(最初のフレームまたは最後のフレーム)、あるいはRGBのシーケンスといった入力を条件として受け取ることができます。そして、この生成モデルは、この入力条件が与えられたときに、4Dシーンの完全な表現を生成します。つまり、完全なRGBシーケンス、完全な深度シーケンス、そして完全なカメラパラメータの集合を生成するということです。つまり、この生成モデルは、テキストのみ、RGBのみ、深度のみ、あるいはRGB動画の最初と最後のフレームのみといった、世界に関する何らかの部分的な情報を受け取り、その生成過程を利用して、シーンの中で欠けている残りのパラメータを推論するというわけです。
実際にどのように機能するかを説明します。実務上、入力としてRGB画像や深度画像、レイマップを受け取ったとき、私たちがわかっている部分の画像、例えば最初のRGB画像や最初の深度画像がわかっている場合には、そのクリーンなトークンをそのままモデルへの入力として渡します。そして、わかっていない部分については、完全なノイズを入力として渡します。そして、私たちはRGBモダリティ、深度モダリティ、レイマップモダリティのそれぞれに対応するトランスフォーマーを持つ、一種の混合トランスフォーマーアーキテクチャを構築しています。これらすべてのモダリティに対してクロスアテンションを実行し、モデルは本質的に、わかっていないモダリティの部分をインフィリング、つまり補完・完成させます。つまり、完全なRGB、深度、レイマップを生成するということです。
そして、これによって可能になるのは、与える条件づけの種類を変えることで、さまざまなタスクを実行できるという点です。
4.2 応用例とテスト時探索
例えば、テキスト入力のみを与えて生成モデルを実行すると、テキストから4Dを生成することができます。開始画像のみを与えた場合には、画像条件付き生成を行うことができ、残りの画像、深度、レイマップを生成することができます。また、カメラ条件付き生成を行うこともできます。これは、最初の画像と最後の画像、そしてレイマップが与えられた場合に、このカメラ条件付き生成を実行できるというものです。そして最後に、RGBシーケンスのみを与えた場合には、それ以外のすべてをノイズとして扱うことで、モデルは深度マップとカメラ姿勢を補完することができます。つまり、これによってさまざまな種類の幾何学的予測を行うことができるようになります。
いくつか具体例を簡単にお見せします。まず、モデルがカメラ条件付きレンダリングを行えることを示す例です。これも同様に、カメラ条件付きレンダリングの別の例です。ここでは最初のフレーム、最後のフレーム、そしてカメラの軌道のみを与えています。次に、入力として動画を与えると、このアプローチは深度とカメラの位置を逆算することができます。同様の例をもう1つお見せします。そして最後に、テキストのみを与えた場合にも、シーン全体と深度を生成することができます。さらに、深度を与えた場合には、シーン全体を生成することもできます。なお、これらの一部で見られるアーティファクトは、私のMac上でのレンダリングの問題によるものだと思います。ただ、全体としては、かなりシャープな画像が生成されていることがわかると思います。
そして最後に、この上でさらにある種のテスト時探索を行うこともできます。つまり、この生成モデルを手に入れた後は、尤度、あるいは3Dにおける一貫性を最大化するような概念を見つけようとすることができます。つまり、推論時にある種のテスト時探索を実行することで、性能をさらに向上させることができるということです。
全体としてお話ししてきたのは、生成モデルをシーン理解のためのツールとしてどのように利用できるか、ということでした。具体的には、2D空間でパラメータを反転させる方法、3D空間でパラメータを反転させる方法、あるいは生成と予測の両方を可能にする何らかの同時生成モデルを持つ方法、という3つのアプローチについてお話ししました。ご清聴ありがとうございました。質問があれば喜んでお受けします。