FlowFM: Advancing Dark Optical Flow Estimation with Flow Matching¶
会议: CVPR 2026
论文: CVF Open Access
代码: 待确认
领域: 视频理解 / 光流估计
关键词: 暗光光流估计, 流匹配, 傅里叶去噪, 一步去噪, 噪声鲁棒性
一句话总结¶
FlowFM 把"流匹配(flow matching)"第一次引入暗光光流估计(DOFE),用显式流场回归把"噪声→光流"建模成一条可一步走完的传输路径,再配上一个在频域增强幅度、锚定相位的傅里叶去噪解码器 IFDD,在 FCDN / VBOF 两个暗光基准上把 EPE 大幅刷低(VBOF 比次优方法降 35%),且推理只需一步、速度反而最快。
研究背景与动机¶
领域现状:暗光光流估计(Dark Optical Flow Estimation, DOFE)要在连续两帧低照度图像之间逐像素建立对应、输出一个 \(2\times H\times W\) 的运动向量场。主流做法是判别式模型——给标准光流网络(RAFT 一系)配上暗光专用的特征增强(如轮廓增强、特征相似度度量强化),靠"放大有用特征"来对抗噪声。
现有痛点:判别式增强是"单边"的——只放大某类特征会破坏底层表示分布,而且这些模型缺乏对噪声本身的显式建模,抓不住"噪声→数据"的生成通路,对暗光下被噪声淹没的弱运动模式力不从心。另一条路是把扩散模型(DM)引入光流(FlowDiffuser),它擅长学条件高斯分布下的联合概率、噪声鲁棒,但递归式去噪范式会打断流场连续性,结果出现"裂纹";暗光场景又常有亮度闪烁带来的运动不连续,和递归范式叠加后误差被进一步放大,而且扩散模型推理慢。
核心矛盾:判别式方法没有显式噪声建模、扩散式方法用递归去噪牺牲了连续性和效率——既要噪声鲁棒、又要流场连续、还要算得快,现有两条路线都顾此失彼。
切入角度:流匹配(Flow Matching, FM)是新兴生成范式,它直接回归一个诱导 ODE 的向量场、把噪声分布连续传输到目标分布,比扩散模型更简单、数值更稳。但 FM 在条件生成、尤其暗光光流这种重噪场景几乎没人探索。作者的观察是:光流受物理约束(物体、几何、遮挡),本身有平滑、一致的结构先验,但 FM 原始的目标向量场 \(u_t\) 高度多变、不携带这种完整先验,直接回归它在 DOFE 上很难收敛。
核心 idea:用"显式流场回归"代替"向量场回归"——不学多变的 \(u_t\),而是让网络从含噪流直接预测真值光流 \(f_{gt}\),再证明这种直接监督在期望意义下满足 FM 的边际条件,从而合法地把整条"噪声→数据"路径压成一步去噪,并用傅里叶解码器在频域恢复被暗光破坏的运动幅度。
方法详解¶
整体框架¶
FlowFM 沿用 RAFT 式骨架但重构了解码范式。输入是两帧暗光图像 \(F_1, F_2\):先用双分支编码器抽出基础特征 \((x_1, x_2)\) 和上下文特征 \(C\),再由 \(x_1, x_2\) 点积构造 4D 代价体 \(cv\);接着进入流匹配模块——训练时把高斯噪声 \(\varepsilon\) 与真值 \(f_{gt}\) 线性混合、再叠加到初始流 \(f_0\) 上合成含噪流 \(f\),推理时直接把噪声注入 \(f_0\) 得到 \(f\);最后由隐式傅里叶去噪解码器(IFDD)在 \(xt, cv, C\) 条件下一步把含噪流去噪成光流场,不再像传统方法那样递归更新残差流。整条流水线的三个贡献组件——特征编码、流匹配显式回归、IFDD——自上而下串成下图。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["两帧暗光图像<br/>F1, F2"] --> B["门控注意力特征编码<br/>GAE + MCE"]
B --> C["代价体构建<br/>cv = cosine(x1, x2)"]
C --> D["流匹配与显式流场回归<br/>合成含噪流 f"]
D --> E["IFDD 傅里叶去噪解码器<br/>幅度增强 + 相位锚定"]
E -->|一步去噪| F["光流场输出"]
关键设计¶
1. 流匹配与显式流场回归:把"噪声→光流"压成一步可学的传输路径
针对判别式模型缺噪声建模、扩散模型递归去噪慢且断裂的痛点,FlowFM 把 DOFE 重定义为一个流匹配生成过程。流匹配在任意时刻 \(t\in[0,1]\) 用真值光流 \(f_{gt}\) 与高斯噪声 \(\varepsilon\sim\mathcal{N}(0,I)\) 的线性组合定义一条概率路径:
常规做法是让网络 \(v_\Theta(x_t, cv, C, t)\) 回归目标向量场 \(u_t\)(损失 \(L_v\))。但作者指出在 DOFE 里直接学 \(u_t\) 有问题:噪声 \(\varepsilon\) 叠加到本就退化的特征与不可靠的运动相似度上会引入域偏移,让学到的传输路径偏离理想轨迹;而且 \(u_t\) 本身不携带光流应有的平滑/锐边结构先验,早期训练尤其难收敛(论文 Fig.2 显示 \(L_v\) 收敛慢、EPE 更高)。FlowFM 的解法是直接监督:让网络从含噪流直接预测真值光流,损失换成
作者还给出理论依据:网络定义一个 ODE \(\frac{dx}{dt}=v_\Theta\),从 \(t{=}0\) 积到 \(1\) 得 \(\varepsilon + \int_0^1 v_\Theta\,dt = f_{gt}\);两边取期望,因 \(\mathbb{E}[\varepsilon]=0\) 且 \(\mathbb{E}[u_t]=\mathbb{E}[f_{gt}]\),可得 \(\int_0^1 \mathbb{E}[v_\Theta]\,dt = \mathbb{E}[u_t]\)。也就是说,最小化 \(L_1\) 在期望意义下就让 \(v_\Theta\) 满足了流匹配的边际条件——于是 \(t\) 只用来采样含噪流、不进入解码,模型能从任意噪声直接还原数据,整条噪声-数据通路被一步走完,既保留 FM 的理论一致性又获得强正则化效果(⚠️ 推导细节以原文 Sec.3.2 为准)。这就是"一步去噪"的核心。
2. IFDD 隐式傅里叶去噪解码器:在频域增强幅度、用相位锚住运动位置
光有一步去噪还不够——暗光把弱运动信号埋进重噪里,需要专门的解码器把它捞回来。作者的关键观察是:把光流场做傅里叶变换后,幅度(amplitude)刻画运动的有无与强度,相位(phase)编码运动的空间位置;而暗光(本质是随机强度干扰)对幅度的破坏远大于对相位的破坏——Fig.4 显示暗光下幅度谱剧变、直方图整体平移,相位谱却几乎不变、差分图平滑。因此 FreEnc 的策略是增强幅度、保留原相位:把输入经 FFT 变到频域取出幅度与相位,幅度过一个 \(1\times1\) 卷积 + LeakyReLU 做增强,再用增强后的幅度与原始相位经极坐标变换重建频谱的实部虚部,IFFT 变回空间域——相位当作锚点保证相邻帧同一目标的空间位置一致,幅度增强则恢复退化/无纹理区域被噪声打乱的运动强度。
IFDD 把这个傅里叶重建(FMR, Fourier Motion Refactor)嵌进 GRU 单元来推断隐状态。FMR 由空间注意力模块 SAM 与频域增强器 FreEnc 串成:\(x_{sam}=\mathrm{SAM}(\mathrm{LN}([f_{head}, C]))\),\(x_{fre}=\mathrm{FreEnc}(\mathrm{LN}(x_{sam}))\),其中 SAM 用倒残差块 + 简化空间注意力、以门控代替激活来抽取有意义的空间信息供频域增强。整个 GRU 更新写成 \(z, r=\sigma(\mathrm{FMR}(\cdot))\)、\(q=\tanh(\mathrm{FMR}(\cdot))\)、\(h_i=(1-z)\ast h_{i-1}+z\ast q\),最后 \(v_f=\mathrm{conv}(C[h_i, f_0])\uparrow\) 上采样得到光流;首次计算令上下文特征 \(C=h_0\),迭代 \(i{=}2\)(实验证明 \(i{=}2\) 最优,更大易过拟合、更小抗干扰不足)。它是首个把频域思路用于暗光光流的解码器,超越了纯空间域方法。
3. 门控注意力特征编码:在暗光退化下抽到干净的底层表示
低信噪比帧上常规编码器会被"注意力沉没"(attention sink)和局部退化拖累。FlowFM 在 RAFT 骨架上设计了门控注意力编码器 GAE 与 MLP 上下文编码器 MCE:\(x_1, x_2=\mathrm{GAE}(F_1, F_2)\),\(C=\mathrm{MCE}(F_1)\)。GAE 以门控块为核心,先在查询 \(Q\) 和键 \(K\) 中抓关键信息,再引入多个 top-k 算子和掩码矩阵滤掉 \(Q\) 与 \(K^\top\) 之间易受干扰的无关相似度,从而动态聚焦有意义的特征交互、避免暗光退化导致的注意力沉没;MCE 由 LayerNorm、两个 MLP、深度卷积和可选的随机深度层组成,靠通道维 MLP 变换与空间维深度卷积的交互做跨维上下文抽取与动态增强。两者抽出的特征再经余弦相似度 \(cv=\mathrm{cosine}(x_1, x_2)\) 构成代价体,喂给后续流匹配与 IFDD。消融显示去掉 GAE/MCE 后 EPE 明显回退,说明这套编码对暗光下的鲁棒表示是必要的。
损失函数 / 训练策略¶
最终只用一个直接约束的 L1 损失 \(L_1=\gamma\cdot\lVert v_f-f_{gt}\rVert_1\),权重 \(\gamma=0.8\),让模型探索一条灵活有效的"噪声→真值"传输路径。训练用 AdamW + 梯度裁剪 \([-1,1]\)、one-cycle 学习率、随机初始化,输入 \(368\times496\);在完整 FCDN(35 万次迭代)和完整 Mix(40 万次)上训练,batch size 4,学习率 \(2.5\mathrm{e}{-4}\)。
实验关键数据¶
主实验(在 FCDN 上训练,EPE↓)¶
| 方法 | 出处 | FCDN | VBOF(泛化) |
|---|---|---|---|
| RAFT | ECCV-20 | 1.23 | 21.84 |
| FlowDiffuser | CVPR-24 | 1.09 | 20.77 |
| CEDFlow | AAAI-24 | 1.08 | 20.89 |
| CEDFlow++ | IJCV-25 | 1.01 | 20.56 |
| FlowFM (Ours) | - | 0.87 | 13.28 |
FlowFM 在 FCDN 上 EPE=0.87,比 CEDFlow 降 19.4%(1.08→0.87)、比 CEDFlow++ 降 13.9%(1.01→0.87);在未训练的 VBOF 上 EPE=13.28,比次优的 CEDFlow++ 大幅降 35.4%(20.56→13.28),泛化优势尤为显著。换到更复杂的 Mix 数据集训练时,FlowFM 在 FCDN 仍取 1.06(次优 CEDFlow++ 1.14)、VBOF 取 5.24(次优 6.25),各子集均为最佳。
消融实验(在 FCDN 上训练,EPE↓)¶
| 配置 | 参数(M) | FCDN | VBOF | 说明 |
|---|---|---|---|---|
| Baseline | 5.26 | 1.23 | 21.84 | 裸骨架 |
| w/o GAE & MCE | 7.84 | 1.02 | 15.37 | 去掉门控/上下文编码 |
| w/o IFDD | 9.46 | 1.09 | 16.32 | 去掉傅里叶解码器 |
| w/o FMR | 10.83 | 1.02 | 15.09 | 去掉傅里叶重建核心 |
| w/o FM | 12.22 | 1.23 | 20.47 | 去掉流匹配 |
| w/o Eq.11(用 \(L_v\)) | 12.22 | 1.07 | 16.77 | 隐式约束替显式 |
| \(i=1\) | 10.98 | 0.93 | 13.70 | IFDD 迭代不足 |
| FlowFM (\(i=2\)) | 12.22 | 0.87 | 13.28 | 完整模型 |
| \(i=3\) | 13.38 | 0.89 | 13.25 | 迭代过多易过拟合 |
计算开销(\(736\times480\) 输入)¶
| 方法 | 参数(M) | 时间(ms) | 显存(GB) | FLOPs(G) |
|---|---|---|---|---|
| FlowDiffuser | 16.32 | 133 | 5.1 | 87.1 |
| CEDFlow++ | 6.78 | 57 | 1.9 | 26.3 |
| FlowFM | 12.22 | 28 | 1.3 | 19.6 |
关键发现¶
- 流匹配 + 显式约束是命门:去掉流匹配(w/o FM)EPE 直接退回 baseline 水平(1.23 / 20.47);把显式约束换成隐式 \(L_v\)(w/o Eq.11)也明显变差(1.07 / 16.77),证明"显式流场回归"才是噪声鲁棒与灵活传输路径的来源。
- 傅里叶增强对暗光至关重要:去掉 FMR 后 FCDN 0.87→1.02、VBOF 13.28→15.09,频域幅度增强确实在缓解运动强度退化;消融还显示 FreEnc 比 SAM 更关键,用注意力/MLP 替换 \(1\times1\) 卷积反而增加冗余计算且效果不佳。
- 一步去噪带来效率红利:FlowFM 推理只需 1 步(其余方法多需 12 次迭代),尽管参数比 CEDFlow 多约 4M,但时间 28ms、显存 1.3GB、FLOPs 19.6G 全面最优,"少即是多"。
- IFDD 迭代数甜点在 \(i=2\):\(i=1\) 抗干扰不足、\(i=3\) 易过拟合,\(i=2\) 在精度与稳健间最平衡。
亮点与洞察¶
- 把"判别 vs 生成"的两难转成一条线性传输路径:用流匹配替代扩散的递归去噪,既保住生成范式的噪声鲁棒,又靠显式回归 + 边际条件证明把推理压成一步,连续性和效率一起拿——这是最"啊哈"的设计。
- 频域分工的物理直觉很扎实:"暗光主要毁幅度、几乎不动相位"这一观察有可视化(幅度谱剧变 / 相位谱稳定)支撑,于是"增幅度、锚相位"成了针对暗光的精准手术,而非泛泛的特征增强。
- 可迁移的思路:①"显式预测目标而非向量场 + 期望意义满足边际条件"的技巧可推广到其它需要快速一步生成的回归任务(深度、立体匹配);②"频域幅度增强 + 相位锚定"可直接搬到低照度去噪、去模糊等 low-level 视觉。
局限与展望¶
- 作者展望把 FlowFM 推广到其它视觉任务并进一步优化效率与精度,暗示当前仍专注 DOFE 单任务。
- 评测主要在合成暗光数据集(FCDN / Mix)上做定量,真实场景(FLIR ADAS / SDSD / GOF)缺真值只能定性,真实暗光下的定量泛化仍待验证。
- 一步去噪虽快,但把整条噪声-数据路径压成单步对解码器容量要求高;IFDD 迭代 \(i\) 略增即过拟合,说明对训练配置较敏感,换数据规模时是否仍是 \(i=2\) 需重调(⚠️ 以原文为准)。
- GAE/MCE 的具体结构放在补充材料,正文对"为何门控能避免 attention sink"只给了定性解释。
相关工作与启发¶
- vs FlowDiffuser(CVPR-24,扩散式光流):两者都把光流当条件生成,但 FlowDiffuser 用递归去噪导致流场断裂、推理慢(133ms / 12 步);FlowFM 改用流匹配 + 显式回归一步出结果(28ms / 1 步),EPE 全面更优。
- vs CEDFlow / CEDFlow++(AAAI-24 / IJCV-25,判别式暗光增强):它们靠改图像编码器、放大轮廓等特定特征提升判别力,但忽视重噪抑制、缺显式噪声建模;FlowFM 用生成式范式显式建模噪声-数据通路,VBOF 上比 CEDFlow++ 降 35%。
- vs RAFT(ECCV-20,光流基线):FlowFM 沿用其双分支骨架与代价体,但把递归残差流更新替换成流匹配一步去噪解码,是范式层面的改造而非增量。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首个把流匹配引入暗光光流,显式流场回归 + 频域去噪解码器都是有理论/物理支撑的原创设计
- 实验充分度: ⭐⭐⭐⭐ 双训练集 + 多相机子集 + 真实场景 + 细致消融 + 计算开销齐全,但真实暗光缺定量真值
- 写作质量: ⭐⭐⭐⭐ 动机推导清晰、有理论证明与可视化支撑,部分模块(GAE/MCE)细节下放补充材料
- 价值: ⭐⭐⭐⭐⭐ 在精度与效率上同时刷新 DOFE,且"一步生成 + 频域增强"思路可迁移到更广的暗光 low-level 视觉