178、从理论到代码:EDVR的PCD对齐与TSA融合模块手写实现与调优

发布时间:2026/7/17 14:13:31
178、从理论到代码:EDVR的PCD对齐与TSA融合模块手写实现与调优 178、从理论到代码:EDVR的PCD对齐与TSA融合模块手写实现与调优昨晚调EDVR的PCD模块又崩了,loss直接nan。翻了下日志,发现是光流估计那块梯度爆炸,把整个训练炸穿了。这种问题在超分领域太常见了,尤其是视频超分里,对齐模块稍微写飘一点,整个模型就废了。今天干脆把EDVR里最核心的两个模块——PCD(Pyramid, Cascading and Deformable)对齐和TSA(Temporal and Spatial Attention)融合,从理论到手写代码彻底捋一遍,顺便把踩过的坑都标出来。PCD对齐模块:金字塔级联可变形卷积EDVR的PCD设计思路其实很直观:视频帧之间运动复杂,单层光流不够用,那就用金字塔结构从粗到细做对齐。但实现时有个关键点——可变形卷积的偏移量不是直接学出来的,而是靠光流引导的。先看理论骨架。PCD分三步:第一步,对参考帧和相邻帧构建图像金字塔,通常下采样4倍;第二步,在金字塔顶层估计光流,然后用这个光流初始化下一层的可变形卷积偏移量;第三步,级联多个可变形卷积层,每一层都融合上一层的对齐结果。这里有个容易忽略的细节:光流估计网络用的是简单的UNet结构,但输入要拼接参考帧和相邻帧的差,别只送单帧。手写代码时,我习惯从最底层的光流估计网络开始。别用现成的FlowNet,太慢了,EDVR原文用的是轻量级的PWC-Net变体,但实际工程里可以更暴力——直接用一个5层卷积加一个上采样,输出两通道光流图。注意输入尺寸要跟金字塔层级匹配,这里踩过坑:如果金字塔下采样因子是2,光流图尺寸也得跟着缩

相关新闻