文章目录
video interp:Sparse Global Matching for Video Frame Interpolation with Large Motion
1.原理介绍
主要分为两个大模块:(结合论文阅读)
local feature branch 和 sparse global matching branch
- local feature branch 主要包括 local feature extractor, flow estimation, refine net三个小模块:
- local feature extractor 是CNN and Transformer hybrid structure, 用于特征提取
- flow estimation 估计t->0的flow,t->1的flow, fusion map, 然后可以得到目标插帧图:
- refine net是一个unet,用于优化插帧的效果。
以上就是local feature branch ,其实已经可以得到插帧结果,但是在面对大位移的时候可能效果没那么好,因此作者有引入了 sparse global matching branch , 这个分支通过稀疏匹配的方法解决大位移的匹配问题。
-
由于local feature branch的感受野受限,其得到的flow以及插帧结果都可能存在缺陷,尤其是面对大位移的场景。
-
定位flow的缺陷:I0 warp到 It,再warp到I1, 判断与真实I1的差异也就是不一致性
不一致的原因可能有2个,一个是flow预测的不准,另一个是空洞问题(I1的像素对应空间位置不一定都在I0上)
我们想要优化flow的缺陷,因此需要排除第二种原因引入的不一致问题:引入mask,0表示是空洞,相乘后排除空洞,因为后续会选择topK差异的像素点进行系数匹配
最终还需要一个转换:D0->1是对应I1_warp的缺陷图,D0是对应I0的缺陷图。
同理D1经过以上的环节也可以得到。D0表示I0上的哪些点经过warp后与I1不一致。D1表示I1上的哪些点经过warp后与I0不一致。
-
稀疏匹配环节
global feature extractor提取全局特征A
根据D的差异图topK 得到稀疏特征a。 这些位置的特征flow有缺陷需要优化
然后全局匹配 a0与A1 或者a1与A0计算相似度。
然后根据相似度找到最相似的位置(比如a0是K个像素的位置特征,通过相似度找到A1上最相似的位置,其实就得到了flow)
-
flow shifting 就是我们通过全局匹配得到一些稀疏位置的flow,这些flow是 I0,I1的flow, 不是中间帧It的flow,因此通过公式8,9得到中间帧flow, 理论上就相当于对flow的插值
-
flow merge:通过以上环节我们得到我们认为可能误差的点的全局稀疏匹配,那么是不是直接替换到local branch 得到的flow就行了呢?不行,考虑到flow的平滑性,需要更好的融合方法:
2.主要结果指标
其实只用local branch 已经得到差不多的结果了