論文解説 4DAnyone — 手持ちの動画1本から「誰でも」4Dにする
スマホで正面から撮った動画1本から、自由視点で見られる4D人物を作る手法 4DAnyone を前提知識ゼロから解説。鍵は「注意の器に入りきらない」問題を解く RCP と TCR の2つの工夫。
要点
- 4DAnyoneは、キャリブレーションされていない単眼動画から多視点一貫動画を生成し、4D Gaussian Splattingへ持ち上げる枠組みである。
- 既存のカメラ制御手法は数十視点で見た目の不一致と構造のずれが出る。原因は1回のDiTフォワードパスの注意の文脈長に上限があること。
- Reference Context Packingは混合解像度の参照文脈で、参照側の計算量をO(N)からO(1)にする。
- Target Context Routingは高ノイズ期に視点の並びを巡回シフトしてグループを切り直し、低ノイズ期は隣接視点で固定グループを作る。
- DNA-RenderingのPSNRは生成動画の一貫性で4DAnyoneが24.33、MV-Performerが21.25、ReCamMaster†が21.47だった。
4DAnyone: Create Anyone in 4D from a Casual Monocular Video
一次資料 — この記事の根拠
論文の発表 2026-08-20→この解説の公開 2026-08-24同月
4DAnyone: Create Anyone in 4D from a Casual Monocular VideoYudong Jin, Tao Xie, Qihang Zhang ほか · 2026-08-20 · v1arXiv:2608.20335論文ページ·PDF原文の要旨(Abstract)を読む
We present 4DAnyone, a framework for reconstructing 4D humans from an uncalibrated monocular video by generating reconstruction-grade multiview-consistent videos and lifting them into 4D Gaussian Splatting (4DGS). Existing camera-controlled video diffusion models synthesize plausible novel-view videos but fail to maintain consistency when scaled to the tens of target views required for 4DGS reconstruction. We identify this failure as a bounded-attention-context problem: when target views exceed the capacity of a single DiT forward pass, they must be split into groups, exposing two coupled bottlenecks. On the reference-context side, conditioning on all previously generated views grows as $O(N)$, weakening cross-view appearance guidance. On the target-context side, disjoint groups cannot directly exchange information, causing global structural drift. 4DAnyone addresses both bottlenecks with two complementary designs: Reference Context Packing (RCP) compresses growing reference views into a fixed-length mixed-resolution context with $O(1)$ reference-context complexity, while Target Context Routing (TCR) rotates target-view groupings during denoising to share context across groups at high-noise steps and stabilize details at low-noise steps. We further build the MVGameHuman dataset using our in-house game engine and combine it with light-stage and in-the-wild video datasets for training. Experiments on DNA-Rendering and DyMVHumans show that 4DAnyone outperforms prior methods in both novel-view video quality and downstream 4DGS reconstruction, with robust in-the-wild generalization. See our project page for video results and source code: https://4danyone.github.io.
撮っていない角度から、その人を見たい
ライブハウスでベースを弾く友人を、スマホで正面から撮ったとする。あとで「背中側のフォームが見たい」と思っても、撮っていない角度は映っていない。当たり前の話です。
この当たり前を崩そうとするのが 4DAnyone です。論文の言い方をすると、キャリブレーションされていない単眼動画(焦点距離もカメラ位置も分からない、手持ちの普通の1台撮り動画)から、再構成に耐える品質の多視点一貫動画を生成し、それを 4D Gaussian Splatting へ持ち上げる枠組みです(Abstract)。面白いのは、論文が生成の見栄えより「数十視点をまたいで矛盾させないこと」が本丸だと言い切っている点です。
4Dとは「3D+時間」
言葉を揃えます。3Dはぐるりと回り込める立体、4Dは動いたまま回り込める立体です。彫像が3D、踊っている人が4D。
それを表す現在の主流が Gaussian Splatting です。三角形のポリゴンで形を組む代わりに、空間に半透明の小さな楕円のシミ(ガウシアン)を何十万個も浮かべ、色と大きさと向きを持たせて画面に重ね塗りします。世界を「霧の粒」で描く、と思ってください。粒が時間とともに動けるよう拡張したのが 4D Gaussian Splatting(4DGS)で、本論文は下流の再構成器に FreeTimeGS を使います(§3.1)。
問題は、4DGSが贅沢な入力を要求することです。論文が引く DNA-Rendering は48台のカメラを組んだリグで、キャリブレーション済みの静止カメラ群から同期多視点動画を撮ります(§1)。スタジオがないと始まらない。ならば単眼動画からその多視点動画を作ってしまえ、という発想になります。
素直にやると壊れる
素直な方針はこうです。カメラ制御つきの動画拡散モデルに「この人を右斜め後ろから見たらどうか」を生成させ、16視点ぶん並べて4DGSに渡す。
ところが既存のカメラ制御手法はこの規模で破綻する、と論文は報告します(§1)。単発なら「もっともらしい」映像が出るのに、4DGSに必要な数十視点まで増やすと、視点ごとに服の柄が変わり、体型が微妙に太ったり痩せたりする。人の目には気づきにくい程度でも、4DGSは複数視点の幾何的な辻褄で形を決めるので、ズレはそのまま再構成の破綻になります。論文はこれを appearance inconsistency(見た目の不一致) と structural drift(構造のずれ) と呼び、「ボトルネックは視点制御ではなく、再構成スケールで一貫性をどう保つかだ」と述べます。
犯人は「注意の器」に上限があること
なぜスケールすると壊れるのか。論文の診断は、モデルの賢さではなくアーキテクチャの制約だというものです。すなわち、1回の DiT フォワードパスで扱える注意(attention)の文脈長は、メモリと計算の予算で上限が決まっている(§1)。
注意機構の復習を一言だけ。注意とは「全部の要素が全部の要素を見比べ、似ている相手の情報を強く取り込む」仕組みで、似ている度合いは内積で測ります(詳しくはAttention機構を1から理解する)。4DAnyone では、同じ時刻の別視点のトークン同士が直接見比べられるようトークンを並べ替える multiview self-attention が入っており、これは基盤モデル Wan2.2 の時間方向self-attentionと同じ構造・同じ重みを流用しています(Supp. A)。
つまり 同じ器に入っている視点同士だけが直接すり合わせできる。ところが16視点×121フレームぶんのトークンは器に入りきらないので、視点をグループに割るしかない。ここから2つのボトルネックが生まれます(§1)。
ひとつは参照側です。理想を言えば、各グループはそれまでに生成した全視点を見ながら描きたい。しかし参照の文脈長は視点数 に比例して で伸び、すぐ器から溢れる。溢れないよう間引けば、今度は見た目の手がかりが痩せます。
もうひとつはターゲット側です。分割されたグループ同士は文脈が交わらないので、「この人はいまこういう体型・姿勢で描かれている」という情報を直接やり取りできません。結果、グループ間で構造がじわじわずれます。既存手法はこの2つを同時に解いていない、というのが論文の主張です。CAT3D は疎なアンカー視点を文脈に選ぶが選外の見た目情報を捨てる。CAT4D や Diffuman4D はスライディングウィンドウで重ねるが、視点数が増えるとウィンドウ間のドリフトが残る(§2)。
打ち手1: Reference Context Packing — 参照を に畳む
Reference Context Packing(RCP) は参照側の を潰します。着眼点は「近い視点の参照は情報が重複している」こと。全部をフル解像度で持つのは無駄で、混合解像度の参照文脈で十分だという観察です(§3.3)。
やり方は拍子抜けするほど素直です。動画拡散モデルは画像を小さなパッチに切ってトークンにしますが(この層を patchify と呼びます)、基盤の Wan2.2 は kernel/stride が 。RCP はこれを に替えた層 を用意します。1辺を 倍粗く切るのでトークン数は 。実装上は が 、 が です(Supp. A)。実際に使う参照文脈はこの形です。
読み下すと「元動画 はフル解像度、生成済み参照のうち3本は 圧縮、別の4本は 圧縮で持つ」。トークン数に直すと 、フル解像度換算でわずか2本ぶんの席に8本の参照が座っている計算です。席の数は固定なので、参照側の計算量は から になります。
推論は段階的です。まず参照視点を生成し(§3.3では2ラウンド、評価実験では4本を1ラウンド — Supp. F)、視点は farthest-point sampling、つまり既選択視点からの最小角度距離が最大の候補を貪欲に足す方法で選んで被りを避けます。参照が揃ったら を固定し、以降は全グループがこの同じ参照を共有します。学習時は に確率0.1ずつの dropout をかけ、参照がまだ無い最初のラウンドでも動くようにしています(§3.3)。
打ち手2: Target Context Routing — グループを回す
ターゲット側(グループ間で構造をやり取りできない問題)は Target Context Routing(TCR) が、追加のメモリなしで解きます。
鍵は拡散モデルの時間構造です。論文いわく、高ノイズのステップは全体構造を決め、低ノイズのステップは細部を詰める(§3.3)。逆過程がノイズから絵を立ち上げる話は拡散モデル入門を参照してください。だとすれば、グループ分けを時間によって変えればいい。TCR は切り替え時刻 を境に、高ノイズ期は視点の並びを巡回シフトしてから4視点ずつに切り直し(同居する相手が毎ステップ変わるので構造が伝わる)、低ノイズ期は隣接視点で固定グループを作ります(近い視点で細部を詰めるほうが安定する)。
views = list(range(16)) # 方位角順に並べた16視点
for n in range(T, 0, -1): # T = 20 ステップの逆拡散
if t[n] > t_s: # 高ノイズ期: 並びを1つずつ回す
s = n % 16
order = views[s:] + views[:s]
else: # 低ノイズ期: 隣接固定
order = views
for g in [order[i:i+4] for i in range(0, 16, 4)]:
z[g] = denoise(z[g], ref=C_R, skel=S[g], t=t[n])
グループごとの計算予算は変わらないまま、情報の通り道だけが増えている点がポイントです。
幾何のヒントは「密度より正確さ」
もうひとつの設計判断は、何を幾何の手がかりにするかです。既存の明示的手法は深度マップなど密な幾何を使いますが、論文は「野生の動画から密な深度を信頼できる精度で推定するのは難しく、誤差が矛盾した幾何拘束になって多視点生成が発散する」と指摘します(§3.2)。
そこで採るのが accuracy over density(密度より正確さ)。密な深度でなく3D骨格を使います。骨格なら現代の人体メッシュ復元(HMR)が単眼から安定して取れるからです。実装では GVHMR で地面に整合した SMPL-X 列を推定し、疎な頂点→キーポイント回帰器で Goliath 語彙の70点を取り出します。この回帰器の保留シーンでの平均誤差は 3.5 mm、最近傍頂点ベースラインの 14.0 mm より小さいと報告されています(Supp. D)。
描画にも一工夫あります。素朴な2D骨格描画は前後が曖昧で、腕が胴の手前でも奥でも同じ絵になり、視点を変えると矛盾する。そこで3D骨格をピクセル単位のzバッファ付きでラスタライズし、手前の部位が奥を隠すようにします(§3.2)。入力チャンネルを増やさず遮蔽を表現できるのがうまいところです。使うキーポイントは308点の Goliath 語彙から選んだ40点(体17・足6・手のひら10・補助7)で、顔の238点と指関節30点はあえて外しています。表情や指先は骨格で指示せず元動画の見た目から学ばせる、ノイズの多い細かい検出がアーティファクトを生むのを避けるためです。骨格は残差としてノイズ潜在に足されます。
は視点 のタイムステップ のノイズ潜在、 はその視点のzバッファ付き骨格動画、 が骨格エンコーダです。 の最終射影層はゼロ初期化なので、学習開始時は残差が0、つまり事前学習済みDiTの挙動がそのまま保たれます。
学習
学習データは自社ゲームエンジン製の MVGameHuman(38k本・24カメラ・318人)、SynCamVideo、実写ライトステージの DNA-Rendering(51k本・48カメラ)に、単眼の TedTalk と Pexels を足した5つです(Table 1)。3段階のカリキュラムで、第1段階は前景のみのDNA-Renderingで骨格条件つきカメラ制御を学び(確率20%でソースとターゲットを別の時間窓から取り、「姿勢は骨格に従い見た目はソースから借りる」を強制)、第2段階でマスクを外して全多視点データに拡大、第3段階で単眼データを足し指のキーポイントを落とします(§3.4)。損失は潜在空間のフローマッチング損失(フローマッチング入門の枠組み)に、 の LPIPS を足したものです。基盤は Wan2.2-TI2V-5B、704×1280 解像度・128台のH20-3E GPUで3段階あわせて約3日、推論は20ステップ・4視点グループ・ が既定です(§4.1)。
結果はどうだったか
評価は学習に使っていない DNA-Rendering 10シーンと DyMVHumans 3シーン、各16カメラ・98フレーム。正面1視点から16視点を生成します(§4.1)。DNA-Rendering の PSNR(高いほど良い)は次の通りです(Table 2)。
| 評価軸 | MV-Performer | TrajectoryCrafter | ReCamMaster† | 4DAnyone |
|---|---|---|---|---|
| 生成動画の一貫性 | 21.25 | 13.56 | 21.47 | 24.33 |
| 4DGS再構成 | 20.38 | 14.81 | 20.55 | 24.15 |
| 生成動画の再構成 | 19.33 | 13.68 | 20.74 | 23.69 |
「生成動画の一貫性」は、4視点を伏せて残り12視点で4DGSを組み、伏せた視点のレンダリングを生成動画と比べる軸で、生成物同士の3D整合性を測ります。全手法にとって分布外の DyMVHumans でも 24.48/23.28/21.03 で最良です。† は著者らが同じデータ・同じ設定で微調整し、RCPとTCRも同じように載せた ReCamMaster であることに注意してください。この比較は暗黙的なカメラパラメータ条件づけと明示的な骨格幾何条件づけの対決になっています。
切り分け実験(Table 3、生成動画の一貫性で評価)も明快です。
| 構成 | PSNR | SSIM | LPIPS |
|---|---|---|---|
| RCPもTCRも無し | 21.09 | 0.766 | 0.216 |
| RCP無し | 22.03 | 0.780 | 0.203 |
| TCR無し | 22.21 | 0.788 | 0.196 |
| Full(Random) | 22.20 | 0.788 | 0.197 |
| Full(Strided) | 22.06 | 0.786 | 0.198 |
| Full(Sliding) | 22.63 | 0.796 | 0.191 |
読みどころは下3行です。TCRの回し方として、ランダムな置換は固定グループに対して測定できる改善を与えず、strideを変える方式はむしろ悪化しました。全指標を改善したのは並びを1つずつ巡回させる Sliding だけで、論文は「ルーティングでは局所的な視点の隣接関係を保つことが重要」と結論しています(§4.3)。ただ回せばいいのではない、というのは実装者への教訓です。切り替え時刻の掃引(Table 7)も、(全ステップ固定)の 22.2079 から の 22.6294 まで改善し、以降は 0.00 の 22.6414 まで頭打ちでした。既定値0.2はこの飽和の入り口です。推論コストは、前処理が RTX 4090 で約2分、多視点生成が H20 1枚で約7分、4DGS学習が RTX 4090 で約30分と報告されています(Supp. E)。
どこまでできて、どこができないか
論文は限界を正面から書いています(Supp. H)。第1にゆったりした衣装。骨格は体から遠く離れて動く布の情報を持たないので、大きく翻る布は視点ごとにばらばらに生成され、再構成が劣化します。骨格条件づけという選択がそのまま弱点になっている形です。第2にHMRの姿勢推定誤り。生成は与えられた骨格に忠実なので、骨格が間違えば全視点がその間違いを継承します。論文の例では、つま先立ちのダンサーを HMR がベタ足と推定し、全視点がその誤りを引き継ぎました。下流の4DGSはこれを直せません。ただし論文は、遮蔽やモーションブラーの下でも HMR は「完全でもっともらしい」骨格を返しがちなので、姿勢誤差は破綻ではなく「少しずれた整合的な人」になるとも述べています。
読み手として補足すると、評価は人物中心で背景も比較的単純なベンチマークです。複数人が絡む場面や、被写体と一緒に大きく動く小道具については本論文に数値がなく、未検証と考えるのが妥当でしょう。Table 6 は16/32/48カメラの構成を挙げていますが、定量評価はすべて16視点です。倫理面についても独立した節があり、ディープフェイク悪用・肖像プライバシー侵害・著作権侵害のリスクを認めた上で、生成物であることの明示と被写体の同意を求めています(Ethics and Impact)。
現場ではこう使う
触るのは、バーチャルプロダクションやXRコンテンツの制作担当、スポーツやダンスの映像解析、そしてECやアバターの3D化パイプラインの担当者です。効くのは「多カメラのスタジオを押さえられないが自由視点の素材が要る」瞬間、たとえば既に1台撮りで上がっている素材から視点を作り直す案件です。
実務で触るツマミは、ターゲット視点数(16/32/48。論文は1層16で俯角の狭い自由視点、2層32で大半の用途、3層48は複雑な衣装や激しい動き向けと整理)、TCRの切り替え時刻 (既定0.2、上げると固定グループ寄りで一貫性が落ちる)、デノイズステップ数(20、品質を少し譲れば10)、RCPの圧縮率 、下流 FreeTimeGS の反復50k・学習率 。前段のHMRは GVHMR、2Dキーポイント検出は Sapiens2-1B です。
落とし穴は3つ。1つ目、上流の姿勢推定が全視点に波及すること。最初に確認すべきは生成画質ではなく骨格です。つま先立ち・しゃがみ込み・床に手をつく——非定型ポーズはHMRが外しやすく、外した瞬間に16視点ぶん同じ間違いが焼き付きます。生成前に骨格レンダリングを目視する工程を挟むだけで無駄なGPU時間をかなり削れます。2つ目、衣装の選定が歩留まりを決めること。ロングスカートやケープは論文が明示する失敗モードで、撮影を自分でコントロールできるなら体のラインに沿った衣装を選ぶだけで結果が変わります。3つ目、「密な深度を使えばもっと正確になるはず」という直感が裏目に出ること。深度ワープに依存する TrajectoryCrafter は前後が入れ替わる大きな視点変化で崩れ、PSNRが大きく劣りました(Table 2)。野生の入力では、密だが誤差のある信号より疎でも正確な信号が強い——他の生成パイプラインの設計にも持ち帰れる判断基準です。
設計レビューで問われるとすれば「なぜ視点を増やすと一貫性が壊れるのか」でしょう。答えの筋道は、モデルの表現力ではなく1パスの注意文脈が有限であること、そこからグループ分割が強制され、参照側の とターゲット側の分断という2つの症状が出ること、対処が「参照を畳んで定数にする(RCP)」「グループを時間で回す(TCR)」の2本立てになること、と説明できれば要点は押さえられています。
まとめ
4DAnyone の貢献は新しい生成モデルではなく、既存の動画拡散モデルを再構成に使える精度まで持っていくための文脈設計です。注意の器が有限という当たり前の制約を正面から扱い、参照側は混合解像度で畳んで に、ターゲット側はグループを時間で回して情報を通す。幾何の手がかりは密な深度でなく疎で正確な3D骨格を選ぶ。派手さはありませんが、2つのベンチマークの3評価軸すべてで既存手法を上回りました。
コメント
コメントにはログインが必要です