131、BasicVSR框架深度剖析:视频超分中的双向传播与时空融合

📅2026/7/13 15:46:58 👁️次浏览
131、BasicVSR框架深度剖析:视频超分中的双向传播与时空融合
131、BasicVSR框架深度剖析:视频超分中的双向传播与时空融合去年在做一个监控视频超分项目时,我遇到了一个让人抓狂的问题——用EDVR做4倍超分,单帧质量还行,但一旦视频里有快速运动,比如行人转身或者车辆加速,输出结果就开始“鬼影重重”,帧与帧之间闪烁得像老电视信号不好。折腾了两周,换了几种时序融合策略都不理想,直到我重新读了BasicVSR那篇论文,才意识到问题出在“单向传播”这个根子上。为什么单向传播会翻车先说说我当时犯的错。EDVR用的是前向传播——当前帧只参考前面几帧的信息。这在慢速运动场景下没问题,但一旦运动剧烈,前一帧丢失的细节(比如被遮挡的区域)就再也找不回来了。BasicVSR的思路很直接:既然前向传播会丢失信息,那为什么不让信息从两个方向流过来?双向传播的本质,就是让每一帧既能从过去“借”信息,也能从未来“借”信息。具体实现上,BasicVSR用了两个光流估计模块:一个做前向光流(从t帧到t+1帧),一个做反向光流(从t帧到t-1帧)。这里有个细节容易踩坑——光流估计的精度直接影响后续融合效果。我一开始图省事,直接用了预训练的FlowNet2,结果在低分辨率视频上光流全是噪声。后来换成PWC-Net,并在训练时对光流网络做了微调,效果才上来。别这样写:直接加载预训练光流模型就开干,一定要根据你的超分倍数调整光流估计的输入分辨率。双向传播的“接力棒”机制BasicVSR的传播过程可以理解成两条并行的流水线。前向传播从第一帧开始,逐帧往后传递隐状态;反向传播从最后一帧开始,逐帧往前传递。每条流水线内部,每一帧都会接收上