视图合成器替代深度点云,第一人称 seen 集 PSNR 提到 20.28

LEGO: A Lifting-Free Approach for Exocentric-to-Egocentric Video Generation

Suhwan Cho, Yonwoo Choi, Soongjin Kim, Jicheol Park, Taegyu Lim

cs.CV

2026-10-09

LEGO 用微调过的视图合成器直接渲染头显画面当作扩散条件,全程不估计深度也不重建点云,在 Ego-Exo4D 的 seen 集把 PSNR 做到 20.28,高于同一套评分下 EgoX 的 15.57。

这篇在解决什么

第一人称录像少,第三人称多。给定一段第三人称视频和头显轨迹,合成头显沿轨迹看到的画面。两台相机重叠很少,手和近处物体经常不在源画面里。

最强基线 EgoX 估深度、抬点云、沿第一人称轨迹重渲染,再拿这张图条件 Wan,训练和推理都加深度导出的注意力偏置。深度一错,物体被锐利地放错位置,且没有不可信标记。去噪擅长把糊变清楚,把物体搬回原位要难一档。

方法

LEGO 不改生成器,只换条件。合成器是 LVSM 式 transformer,24 层、宽 768、12 头、patch 为 8。几何只经 Plücker 射线进入:方向,加相机中心与方向的叉积。位姿放在第三人称坐标系,叉积带上两相机的基线。输入第三人称帧和两张射线图,输出第一人称帧,用 ℓ2 加 0.5 倍 LPIPS 监督,没有深度标签,也没有对应点标签。

公开 LVSM 只会在相近针孔视角之间插值。这里要外推到重叠很小的 Aria 鱼眼,于是逐像素反解鱼眼,在 Ego-Exo4D 上全量微调 1 万步,4 张 H200 约 3.5 小时后冻结。未微调时镜头圆外 95.9% 被填上场景,微调后溢出色 0.1%。

最后 8 层的注意力对头取平均,得到每个目标像素在源图上的分布。分布一散,该像素就是若干候选源的平均,纹理糊掉,位置还在。置信度是概率最高的 16 个源的质量,低于 0.3 涂成中性灰,VAE 编出来接近空条件。点云没有几何就留洞,这种平均却会把没看到的区域也填满,所以靠置信度弃权。

骨干是 Wan2.1-I2V-14B,LoRA 秩 256,画布 49×448×1232,两视角横拼,条件写在第一人称半幅。训练 2 万步,推理 50 步、guidance 为 5,并吃文本提示。渲染和置信度按片段预计算。

采样用 flow matching。布局在高噪声的前段定下。ARC 在前 80% 的步里,按置信度的平方,把干净估计往渲染上拉。高置信拉满,低置信几乎不动,余下的步补渲染里没有的纹理。不用重训。80% 和这个平方选在 unseen 上,因为没有单独验证集。

结果

Ego-Exo4D 分 seen 与 unseen。原表 EgoX 与同一评分代码重跑的 EgoX† 并列,重跑更低:seen 的 PSNR 从 16.05 降到 15.57,unseen 从 14.38 降到 13.53。

划分方法PSNR↑LPIPS↓FVD↓
seenEgoX / EgoX†16.05 / 15.570.498 / 0.466184.47 / 197.95
seenLEGO20.280.310155.56
unseenEgoX / EgoX†14.38 / 13.530.552 / 0.542440.64 / 455.06
unseenLEGO15.910.504404.77

seen 上 SSIM 0.689 对 0.556,CLIP-I 0.925 对原表 0.896。unseen 上 SSIM 0.505 对 0.457,CLIP-I 0.897 对 0.877。闪烁和平滑接近饱和,动态程度也接近。Exo2Ego-V 的 seen PSNR 只有 14.53,TrajectoryCrafter、Wan Fun Control、Wan VACE 更低。

同一配方下,seen 的 PSNR 是空条件 12.30、点云 15.59、未微调合成器 15.71、微调后 18.24。未微调和点云差不多,涨分来自鱼眼适配。门控后 PSNR 18.27,FVD 从 183.40 降到 166.86。加回第三人称 token,PSNR 18.91,FVD 159.04。再叠上几何注意力偏置(GGA),PSNR 降到 18.62,FVD 升到 194.98。ARC 锚在点云上跌到 13.96,锚在合成器上才到 20.28,FVD 155.56。

unseen 上合成器渲染单独的 PSNR 为 14.35,好于点云 13.42,FVD 581.90 却差于点云 549.77。门控、源画面和 ARC 加齐后,FVD 到 404.77。

条件图里,糊的那张更对齐。unseen 上 ZNCC(块边 16/32/64)合成器为 0.169/0.217/0.275,点云为 0.034/0.047/0.059;DINO 相似度 0.586 对 0.476;锐度相对真值 0.28 对 0.97。有效圆内对齐约高 4.2 dB,覆盖率 98.1% 对 53.4%。输出锐度比回到 1.04 和 1.10。颜色没补上:渲染色度比 0.41,生成结果 0.45,点云条件的输出 0.82,门控后 0.62。对应一不确定,颜色就被平均成灰。

阈值 0.3 时,保留窗口对丢弃窗口的亮度误差,seen 为 11.6 对 16.6,unseen 为 25.9 对 30.7。成片误差同样是保留的更低,13.1 对 21.4,以及 26.1 对 32.8。

不重训,EgoHumans 与 Nymeria 各 200 段,对照都是 EgoX†。PSNR 为 15.52 对 13.74、15.23 对 11.64,FVD 为 332.41 对 421.83、210.27 对 296.98。门控大约留下 15%,和 unseen 的 Ego-Exo4D 相近。

物体框几乎没动。unseen 上 LocErr 143.3 对 146.5,框 IoU 0.097 对 0.091。seen 上同一协议,LEGO 107.7,重跑权重 125.3,两边都远于原表 61.8。

做条件从 69.2 秒降到 4.7 秒。单卡 H200 端到端 577.9 秒对 666.7 秒,显存 68.2 GiB 对 69.9 GiB。时间主要耗在去噪。

为什么重要

位姿得已知,头显得是 Aria 这一类鱼眼。深度常把双手和近处物体放歪。换掉的是条件图,Wan 和 LoRA 配方可以不动,合成器以后可以换。

seen 上相对重跑约 4.7 dB。unseen 上相对原表约 1.5 dB,相对重跑约 2.4 dB,属于条件重设计的量级。时间分原先就饱和,拉开的是帧和真值贴得有多紧。点云又锐又歪,ARC 再拉只会更差。

局限与存疑

合成器逐帧,且每帧只看一张第三人称图。照不到的区域条件为空,空区域靠扩散先验去填。视角差得越大,这个洞越挡不住。

陌生场景里颜色往灰掉。unseen 生成结果的色度比是 0.45,点云条件能到 0.82。FVD 对逐帧外观敏感,unseen 上的 FVD 优势里有一块是颜色。

ARC 的 80% 和置信度平方选在 unseen 上。没有验证集,这一行掺着调参。

卡时没有对齐。LEGO 用 4 张 H200 大约四天,EgoX 用 8 张大约一天,每卡批量都是 1。学习率和步数一致,总计算量不一致。评分代码是重写的,和原表并排时应以 EgoX† 为准。

门控大约只留 15% 的渲染,其余是灰,模型还能直接看第三人称 token。合成器贡献了多少结构,实验没有拆开。框级误差几乎不动,观感上的「手回到原位」缺少物体指标支持。

位姿是必需输入,噪声位姿没有测。野外片段没有真值。EgoHumans 和 Nymeria 的提示由 Qwen2.5-VL 所写,两边共用,只能比相对高低,不能跟 EgoX 原文另一套提示的绝对分数比。

术语

原文与代码

相关论文

全部论文解读