139、视频超分与插帧:时域信息复用与光流估计的工程化
📅 2026/7/26 14:44:16
👁️ 阅读次数
📝 编程学习
139、视频超分与插帧:时域信息复用与光流估计的工程化
去年在给某安防厂商做NVR后端视频增强时,遇到一个让人抓狂的bug:1080p的监控录像,用我们自研的VSR(视频超分)模型处理后,画面在某些场景下反而比原始低分辨率还糊。客户那边直接截图发到群里,配了一句“你们这算法是来捣乱的吧”。我盯着那几帧画面看了半天——背景是静止的停车场,但一辆白色轿车快速驶过时,车牌区域出现了严重的鬼影和模糊。问题出在哪儿?时域信息复用错了方向。
时域复用不是简单的帧堆叠
很多人做视频超分,上来就把相邻几帧直接concat进网络,觉得“多帧信息总比单帧强”。这个想法在静态场景下勉强能用,但一旦遇到运动物体,帧间不对齐会导致特征图里出现“双影”甚至“多影”。我们当时那个bug,就是因为模型把前一帧的静止背景和当前帧的运动车辆强行对齐,结果车牌区域的特征被污染了。
正确的做法是:先做运动补偿,再做特征融合。运动补偿的核心是光流估计,但光流本身是个坑。工业级光流模型不能像学术论文那样跑几百毫秒,安防场景要求单帧处理时间不超过30ms(1080p输入)。我们最终选型是PWC-Net的轻量化变体,把特征金字塔层数从6层砍到4层,通道数从128降到64,代价是光流精度下降约15%,但推理时间从120ms压缩到18ms。
这里有个工程化要点:光流估计的输入分辨率不要直接上原始帧。我们试过把1080p帧直接送进光流网络,显存直接爆掉。后来改成先下采样到540p做光流,再双线性插值回原始分辨率。下采样因子选2还是4?我们测试下来,2倍下采样光流精度损失可忽略,4倍下采样在快速运动场景下会出现明显的块效
编程学习
技术分享
实战经验