视频历史重投影
全库目录221
本文目录9
角色在画面中向右走,逐帧重绘却让衣服花纹留在原地;角色经过柱子,又把柱子的颜色拖到身后。前一种问题来自对应位置错误,后一种来自复用了已经遮挡的历史。固定随机种子不会提供表面对应关系,时间滤波也无法自己判断历史属于谁。
本页采用一条明确的离线教学管线:输入同一镜头的渲染序列,保存颜色、线性深度、对象ID、视空间法线、相机与刚体变换,以及当前到前帧的对应位置。关键帧先完成风格确认;中间帧重投影已生成颜色,通过有效遮罩作为图生图条件,显露区域使用当前结构重新生成。本组专题把历史构造、模型条件、逐步去噪、曝光校正和下一帧历史连成同一条路线。参数是明确的起点,读者可以沿数据检查运动、遮挡、生成和漂移各发生在哪一步。真实视频缺少几何时,需用估计深度和双向光流提供相同字段,并将估计不可靠的位置拒绝。
帧输入与执行顺序
镜头以第0、10帧为批准关键帧。角色在第3帧经过柱子,第4帧露出一部分衣服:对应有效的区域继续采用历史,被柱子挡过的区域以当前渲染初始化。先沿0到10和10到0分别生成,再融合中间帧;第4帧的左右候选如果给出不同花纹,进入对象级选路或人工审核。这个镜头同时用于后文的对应、去噪、曝光和冲突恢复。
每帧保留渲染颜色R_t、以米为单位的正向视深度D_t、稳定对象ID、几何法线和相机参数。颜色先经镜头固定的色调映射,再以sRGB编码交给图像模型;重投影、曝光统计和颜色混合使用解码后的线性RGB。原图宽高取64的倍数,全程保持尺寸,不做自动裁剪。
背景拥有独立ID和有效深度约定。相机采用朝向−Z的右手坐标,天空没有有限深度;对天空像素,将当前相机反投影得到的方向乘当前相机旋转的逆矩阵,再乘历史相机旋转并投影到历史屏幕,只比较背景ID,不执行实体深度比较。天空按无限远处理,因此相机平移不改变查询方向;近处云层需要有限几何或单独运动场。
历史记录H_t包含最终生成颜色、当前帧原始渲染颜色R与几何缓冲、局部历史置信度Q_t、锚点路径置信度A_anchor,t和帧号。几何缓冲来自渲染,不从生成图反推。第一帧没有历史,所有历史遮罩为零,直接以R_0作图生图初始图;确认后的关键帧颜色替换该帧生成结果。第t帧读取H_(t-1),完成以下整条链,输出保存成功后才将历史指针推进到t:
当前渲染与历史几何 → 反向对应与历史拒绝 → 重投影颜色和置信度
→ 当前渲染填满显露区 → 整图编码与加噪 → 深度条件去噪及逐步颜色约束
→ 曝光漂移校正 → 当前几何检查与历史记录 → 下一帧这里“当前输入图”始终是已经存在的R_t,不是尚未产生的当前生成结果。显露区因此有确定来源,不会形成“先需要生成结果才能初始化生成”的循环。保存失败保留旧历史,重试使用同一帧号与随机种子;镜头切换清空历史及曝光状态。第4帧只有消费匹配的第3帧清单后才可推进,未交付任务与恢复次序由视频生成任务恢复中的持久记录决定。
历史位置与可见性
当前像素查询历史
设像素中心采用左上角为原点、向右向下为正的连续坐标。当前像素x的反向光流B以原图像素为单位,历史查询位置为:
物体从前帧横坐标92移动到当前100,当前的B为−8,查询92才能取得同一表面。前向流定义在前帧92处,值为+8;把当前100处的前向流取负不能保证找到92,因为它属于另一份定义域,遮挡处甚至没有一一对应。
颜色和连续属性可在q处插值,对象ID使用离散查询。插值足迹跨越不同对象时拒绝历史;同一对象的自遮挡也可能形成深度断层,因此足迹内每个参与插值的深度都要通过预期深度检查,再插值颜色。局部历史置信度Q也逐个检查:任一非零权重样本Q低于0.8,整次历史查询拒绝,再由当前渲染初始化;零权重样本不参与。只有所有足迹样本通过,才插值历史颜色与Q,并继续检查当前对应置信度乘插值Q的门限。这样双线性采样不会先把前后表面或被内容检查拒绝的颜色混在一起。
锚点路径A_anchor单独按同样的非零足迹检查:任一参与样本不具备0.8以上的锚点支持,本次锚点路径置信度取零,但局部Q有效的颜色仍可用于局部时序复用。锚点支持不能由其他高权重样本稀释补足。若使用UV采样,以原图宽高除B;不能把像素位移直接加到UV。
例如90%权重的颜色0.2对应Q=1,10%权重颜色0.9对应Q=0。先插值Q会得到0.9,通过0.8门限,却把无效颜色混成0.27。本规则在采样前就拒绝第二个非零样本,当前像素进入重新生成。若该无效样本权重恰为零,则查询保留0.2;门控针对实际参与采样的足迹。
深度比较与拒绝分支
位置落在图内并不表示历史可用。先检查当前深度有限且为正,再从像素反投影得到有限视射线r;本例前向为−Z,要求r.z<0,随后以p_view=r*D_t/(-r.z)得到当前视位置。设V是世界到相机矩阵,O是对象到世界矩阵,则历史视位置为p_h=V_(t-1)*O_(t-1)*inverse(O_t)*inverse(V_t)*p_view,expectedDepth=-p_h.z。历史查询位置q也由p_h投影得到;给定的反向流应与这个投影一致。这样先撤销当前相机与对象变换,再施加历史对象与相机变换,才得到前帧同一表面。将它与q处历史深度比较。两者处于同一相机、同一距离单位,才有比较意义;当前相机深度不能直接与前相机深度相减。
位置变换使用列向量和齐次坐标,输入矩阵必须有限且可逆;投影的w无效或为零时拒绝。深度容差必须有限且非负,随后才进行大小比较;NaN与阈值的比较不能用作有效性检查。
天空先走独立分支:只使用旋转查询、图内检查、背景ID与对应置信度,跳过有限深度和表面法线比较。实体像素按以下顺序判定,输出拒绝原因供调试:
镜头切换,或当前深度、expectedDepth非正/非有限:拒绝
q超出图像,或采样足迹混入其他对象:拒绝
历史对象ID与当前表面ID不同:拒绝
每个非零权重足迹的历史深度非正/非有限,或颜色非有限:拒绝
abs(historyDepth - expectedDepth) > max(0.01米, 0.01*expectedDepth):拒绝
对应置信度或历史Q非有限、越出[0,1],或对应置信度小于0.8:拒绝
其余位置接受历史当前墙面预期在前帧深度2米,历史查询处却是1米远的柱子,差1米超过0.02米,应重新生成墙面。若只检查运动向量和图内范围,柱子颜色就会进入墙面。薄物体在同一ID内自遮挡时,深度检查仍能排除错误表面;仅凭ID无法做到这一点。
接受位置取得历史颜色,拒绝位置使用当前渲染颜色R_t作为初始图。遮罩边缘可以在确认同一表面的区域内平滑,但不能跨过深度边界扩大历史权重。否则拒绝逻辑正确,后面的羽化仍会把前景污染带回来。
法线与当前结构
颜色可作为外观参考,法线却有方向空间。当前和历史都保存视空间法线时,相机旋转本身就会改变数值。设C是世界到相机矩阵的旋转部分,U是对象到世界矩阵的刚体旋转部分,均为3×3矩阵。颜色仍记R,避免把渲染图与相机旋转混用。对应表面的历史法线送到当前视空间为:
先撤销前相机旋转,撤销前物体旋转,再施加当前物体和相机旋转。静态物体的两个U相消。比如同一世界法线在前视空间为(1,0,0),当前相机旋转使其变为(0,1,0),输送后再比较,才不会把相机运动误当成表面改变。非均匀缩放需要逆转置;蒙皮需要对应形变,这条刚体公式不能提供它。缺少形变数据的区域降低置信度或拒绝历史。
若几何法线缓冲采用RGB编码,先从[0,1]解码到[−1,1],验证长度并归一化。将输送后的历史法线与当前结构法线做点积,本例低于cos30°就拒绝;这里比较的是同一语义的几何法线,不能将历史着色法线细节与当前几何法线混作同一信号。
接受后取v=(1-w)n_current+w*n_history,再归一化,教学权重取0.75。当前(0,0,1)、历史(0,0.28,0.96)的点积为0.96,通过30度阈值;此时v=(0,0.21,0.97),归一化后约为(0,0.212,0.977)。历史若为(0,0.6,0.8),点积0.8低于cos30°,直接拒绝,不能继续混合。若输入意外相反且w=0.5,v为零,回退当前法线;归一化零向量会产生无效值。正常路径应先由角度判定拒绝该对输入,零长度分支防止退化数据继续传播。
过滤后的法线保存在诊断缓冲中,供法线条件模型的替代路线使用;视频生成的逐步颜色约束选定的深度ControlNet读取当前深度,ID继续用于对应验证。分别生成深度、法线和遮罩再强行对齐,会让同一轮廓拥有不同位置,历史拒绝也会随之失真。
故障定位
验证先看静止相机下的平移,保存B和历史查询位置,确认花纹跟随表面;再加入相机旋转检查法线输送;用柱子遮挡角色,确认有效历史遮罩M在显露处为零,且初始图来自当前渲染R;最后播放关键帧交界,观察冲突选择是否产生跳变。固定几何但让灯光翻倍,可检验光照事件是否撤去历史约束。固定灯光而逐帧人为把生成结果乘0.98,可检验曝光估计是否只追踪漂移。
记录有效区域重投影误差、拒绝比例、同一对象外观偏移和新显露区域细节。全部拒绝能让历史误差消失,却没有时间复用;低帧差也可能来自拖影,必须同时观察当前动作、轮廓和显露区域。视频生成的逐步颜色约束中的逐步投影保留了错误外观时,沿重投影历史色W、有效历史遮罩M、去噪预测图P和最终输出定位,增加投影权重只会进一步锁住该错误。
实现与证据
CPU参考计算验证历史拒绝、潜变量位置换算和法线零向量回退。运行 python -B 知识库/examples/retained_review/video/test_reference.py 可复现;实体分支包含非有限深度、置信度与容差的拒绝检查。相机和刚体输送公式按正文空间约定推导,未运行真实光流、渲染缓冲或GPU重投影。逐步生成与最终融合的实验范围分别见对应专题。
相关主题
参考资料
- TokenFlow,v3:2026-10-23核读摘要;支持按帧间对应传播扩散特征的研究路线,不证明这组教学管线的几何阈值和图生图实现。
本页的相机、刚体、深度及法线关系按所列坐标约定推导。模型接口与关键帧研究的完整索引见视频历史重投影。