Visual Anagrams: 拡散モデルで作る多視点の錯視
(dangeng.github.io)- 1枚の画像が回転・反転・色反転のような変換の後に 別の対象に見えるように なる多視点の錯視を、事前学習済み拡散モデルで ゼロショット生成 する
- 複数の変換視点でそれぞれノイズを推定したあと、逆変換で座標系をそろえ、平均ノイズで次の拡散ステップを進める方式
- 対応する変換は 回転、反転、色反転、傾斜、ジグソーパズル再配置、ランダムパッチ順列、3視点以上まで幅広い
- 変換関数は可逆である必要があり、拡散モデルのノイズ仮定に合わせるには 線形性 と標準正規ノイズの 統計的一貫性 が必要
- 直交行列条件を満たす画素順列や色反転は理論条件に合うため扱いやすいが、視点が増えるほど良い錯視を得るのは難しくなる
変換すると正体が変わる画像
- Visual Anagrams は、1枚の画像が特定の変換を経ると外見や正体が変わって見える 多視点の錯視 を生成する
- 追加学習なしで既存の拡散モデルを使う ゼロショット 手法
- 変換の例は次のように多様
- ジグソーパズル再配置: パズルのピースを分割して並べ替えると別の見た目になり、複数の解を持つジグソーパズルのように振る舞う
- 反転と180度回転: 画像を反転したり180度回転したりすると外見が変わる
- 90度回転: 画像を90度回転すると別の姿として認識される
- 色反転: 色を反転すると画像が変わる
- 傾斜 と “inner circle rotations”: その他の変換例に含まれる
- ランダムパッチ順列: パッチを並べ替えるもので、(64 \times 64) パッチ数まで増やすと品質は下がるが認識可能な結果が得られる
- 2視点だけでなく 3視点 の錯視も作れるが、良い結果を得るのはさらに難しい
- 4視点 の錯視は機能させるのが非常に難しく、半分ほど満足できる結果は1例しか見つからなかった
生成手順と理論条件
- 核心は、複数の変換視点で拡散モデルが推定した ノイズを1つに統合する 手順
- 各視点 (v_i) でノイズを推定する
- 推定値に逆視点変換 (v_i^{-1}) を適用して同じ座標系にそろえる
- 整列したノイズ推定値を平均する
- 平均ノイズ推定値で拡散ステップを実行する
- すべての視点関数がこの方法に適合するわけではなく、まず (v_i) は 可逆 である必要がある
- 拡散モデルは、ノイズが混ざったデータ (\mathbf{x}_t) を純粋な信号 (\mathbf{x}_0) とノイズ (\epsilon) の重み付き和として扱う
- 変換 (v) が信号とノイズの重み関係を保つには 線形変換 でなければならない
- 線形変換は行列 (\mathbf{A}) で表される
- 拡散モデルは、ノイズが独立同分布の標準正規分布から来るという仮定で学習されている
- 変換後のノイズも (\mathbf{A}\epsilon \sim \mathcal{N}(0, I)) を満たす必要がある
- 線形変換では、(\mathbf{A}) が 直交行列 であればこの条件と同値になる
- したがって、この方法で変換が機能するための十分条件は直交変換である
- 任意の直交変換の大半は画像として視覚的な意味を持たないが、順列行列 は直交行列の部分集合であり、画素の並べ替えとして解釈できる
- 回転、反転、傾斜、inner rotations、ジグソー再配置、パッチ順列は特定の画素並べ替えと見なせる
- 色反転は順列ではないが、画素値の符号を反転する変換なので直交変換に当たる
論文と実行資料
- Paper: CVPR 2024 論文PDF
- arXiv: arXivページ
- Code: Visual Anagrams のコード
- Colab: 実行用Colab
- Diffusion Illusions: score distillation sampling で多視点錯視や他の視覚効果を生成する
- Illusion-Diffusion Colab: 類似のアイデアを含む Matthew Tancik の Colab で、Visual Anagrams は錯視品質、変換範囲、理論分析で改善されている
- Factorized Diffusion: Visual Anagrams の後続研究で、複数タイプのハイブリッド錯視を生成する
- Images that Sound: 類似手法で画像のように見えるスペクトログラムを生成する
1件のコメント
Hacker Newsのコメント
男性/女性の反転が本当に気に入った
同じ手法を拡張すると、1枚の画像の中で読める順列をいくつ作れるのか気になる。数学はよく分からないけれど、直交変換を2つ連続で適用してもやはり直交変換なので、うまくいくのだろうか?
昨年初めに似たようなアイデアがあり、チェッカーボード方式も少し触ってみた
ここには有名画家のスタイルの猫の絵9枚で作った猫がある: https://twitter.com/marekgibney/status/1521500594577584141
見るには少し目を細める必要があるかもしれない。いくつか作っているうちに、なぜか興味が薄れてしまった
男性/女性の色反転の例が一番印象的だった。回転なら頭の中で回して別の視点を見ることができるが、色反転は頭の中でやるのが非常に難しい
https://dangeng.github.io/visual_anagrams/static/videos/grid...
一方で回転は本当に驚く。ピクセルが変わっていないことが完全に見て取れる。画面を物理的に回すと、画像が「変わる」。拡散モデルの画像が既存画像のこだまにすぎないわけではないことを、これ以上うまく示す例は思いつきにくい。もちろんそういう面もあるが、本質的には「{プロンプト}の説明に合うピクセル集合を見つけよ」という問題の解なのだ。ここでは「この向きでは{A}に合い、あの向きでは{B}に合うピクセル」を探しているわけだ
この手法と結果は、数か月前に有名になった**「らせん」ControlNet画像**とは別物: https://arstechnica.com/information-technology/2023/09/dream...
コード上はDeepFloyd-IFベースだが、Stable Diffusionの派生版ほど実行しやすくはない
Stable Diffusion周辺のエコシステムは全体として本当に巨大だ
ここに出ているような実物のジグソーパズルは購入できるのだろうか?
例の一つひとつが全部「うん……まあ、そういうことも……ある程度は」みたいな感じ
ペンギン/キリンがおそらく一番ましで、老婦人/ドレスはどちらとしてもほとんど見えない
ペンギン/キリンはこれにかなり近い: https://www.pinterest.com/pin/giraffepenguin--13398215764267...
もう一つはここから直接着想を得たか、似ているものだが、「young lady」というプロンプトのせいでモデルがドレスを選んだようだ。そして目と耳、口とチョーカーを写真のようにリアルに完全に同一にするのは不可能だ: https://www.reddit.com/r/RedditDayOf/comments/35cjn5/the_cla...
並べ替えられるアヒル/ウサギは、スライディングパズルに使うと本当に面白そう。有効な解が2つになる
辺を突起と穴の接続された有向グラフのノードと考えると、可能なペア同士がつながる。入れ替えは2ペアのクラスターで、追加接続は両端が開いた4要素の鎖だ。その接続がさらに多くのペアへ続けば、同一の突起と穴からなるより大きなクラスターができる。グラフの性質上、おそらく大半がそうなるだろう。理由は囚人のパラドックスを見ればよい [0]
そうすると、ほとんどの突起がほとんどの穴にはまるようになり、パズルを解くのがずっと難しくなる。
[0] Matt Parkerの優れた動画 https://www.youtube.com/watch?v=a1DUUnhk3uEも良いが、続くVeritasiumのDerekとの議論の方をよりおすすめする
赤/青の照明の下で別々のものに見える、こういう画像を作れたら面白そう
生成AIがもたらした創造性の爆発は本当に驚くべきものだ