Flow Mismatching: Unsupervised Anomaly Detection via Velocity Discrepancies in Flow Matching Models¶
会议: NeurIPS 2026
arXiv: 2605.23070
OpenReview: https://openreview.net/forum?id=uo8TtP3G5g
代码: https://github.com/chen-shengzhe/FlowMismatching
领域: 异常检测
关键词: 异常检测、流匹配、速度差异、无监督学习、无重构范式
一句话总结¶
Flow Mismatching 摆脱了传统重构与特征记忆库范式,将流匹配视为几何动力学,利用仅在正常样本上学得的模型速度与指向测试目标的几何速度之间的局部不一致性检测异常,结合时间步方差加权与多路径最小聚合实现高效、即插即用且具备可调推理计算预算的高精度工业缺陷检测与定位。
研究背景与动机¶
工业视觉异常检测旨在从生产线上精准定位罕见、细微且多样的制造缺陷。在实际落地中,可用训练数据通常仅由无缺陷的正常图像构成,这要求算法必须在无监督设定下建立对正常流形的刻画并在测试时灵敏识别偏差。长期以来,主流方法主要依赖重构范式(如基于 GAN、自编码器、扩散模型的重构残差)或特征匹配范式(如基于预训练 ViT/DINO 特征与 PatchCore 类记忆库检索)。然而,重构模型往往面临“过度泛化”陷阱——生成器不可避免地将原本异常的瑕疵也合理重构成伪缺陷,从而削弱了残差信号;而特征比对方法则严重受制于庞大的内存记忆库、耗时的近邻检索以及对外部预训练特征抽取器的依赖。
随着生成动力学的发展,连续时间扩散模型与流匹配(Flow Matching)为样本分布的传输建立了确定性常微分方程(ODE)轨迹。但既有的流匹配异常检测方案多将流模型用作逆向概率密度估计(如 WT-Flow 对逆向高斯端点做能量打分)或测试时潜在编码修正与逆问题优化(如 Reflect、D-Flow),不仅推断过程伴随着昂贵的多步数值积分与反向传播优化,在复杂工业图像上也容易引入数值不稳定与高延迟。
这引发了一个本质思考:既然仅在正常样本上训练的流匹配模型本质上刻画了从高斯先验流向正常数据流形的速度场动力学,那么是否可以直接用这个速度矢量场作为判别探针,而根本无需将其积分求解出整张重构图?当测试样本包含未知异常时,指向该样本的几何轨迹速度必然会强行穿过非正常区域,从而与模型内在的“偏向正常流形”的生成速度产生方向和大小的显著冲突。本文的核心 idea 是:完全抛弃重构过程,将流匹配视为几何特征动力学,直接检测从高斯噪声到测试图像的仿射路径上模型预测速度与几何传输速度的局部速度不一致(Velocity Discrepancy),通过时间步反方差加权与多路径保守聚合得到确定性前向异常热图。
方法详解¶
整体框架¶
Flow Mismatching 的测试期检测完全由前向推理构成,无需任何测试时反向传播、梯度优化或外挂特征检索库。对于待测目标图像 \(y\),系统首先从高斯先验独立采样 \(K\) 个随机噪声种子 \(x_0^k \sim \mathcal{N}(0, I)\),针对每个种子构建从噪声到测试图像的仿射插值路径 \(x_t^k = (1-t)x_0^k + ty\)。几何输运速度 \(g^k = y - x_0^k\) 代表强行生成目标图像所需的速度矢量,而流匹配模型前向输出的 \(v_\theta(x_t^k, t)\) 则由正常数据分布诱导,代表拉回正常流形的矢量。
在离散时间点集合 \(\mathcal{T}\) 上,模型逐像素计算两者的残差平方模长;在同一时刻 \(t\) 跨 \(K\) 条独立路径执行最小聚合(Minimum Aggregation)以剔除偶然伪警;最后在时间轴上引入 \(w(t)=t^2\) 的逆方差权重进行线性加权求和,得到最终的像素级异常热图 \(H\),并结合全局极值与顶部 1% 像素均值得到图像级异常分数 \(S\)。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
In["输入待测图像 y"] --> Paths["构建仿射插值路径与几何速度<br/>采样 K 个噪声种子构建 x_t 与 g=y-x_0"]
Paths --> Model["流匹配速度场前向推断<br/>U-Net 输出正常特征动力学速度 v_θ(x_t, t)"]
Model --> Mismatch["单路径逐像素速度残差度量<br/>计算 Z_t = ||v_θ(x_t, t) - g||²"]
Mismatch --> MinAgg["路径保守聚合<br/>跨 K 条路径取逐像素最小值抑制伪警"]
MinAgg --> TimeAgg["时间步方差加权融合<br/>引入 w(t)=t² 权重对时间集合 T 加权累加"]
TimeAgg --> Out["输出像素级定位热图 H(i)<br/>与图像级异常分数 S"]
关键设计¶
1. 仿射路径速度差异度量:建立速度残差与后验均值偏差的确定性联系
常规基于扩散/流模型的异常检测强制执行数十步数值 ODE/SDE 求解以得到逆映射图像 \(\hat{y}\),再计算 \(\|y - \hat{y}\|\)。Flow Mismatching 证明了这种繁琐的重构完全可以通过单步速度残差解析等价。对于固定时间 \(t \in (0,1)\),定义插值点 \(x_t = (1-t)x_0 + ty\) 以及几何路径速度 \(g(x_0, y, t) = \frac{d}{dt}x_t = y - x_0\)。若模型学习到了正常数据的真实边缘边际速度 \(v_p(t,x) = \mathbb{E}_p[y - x_0 \mid x_t = x]\),根据 Tweedie 恒等式与条件期望分解,可以推导出确定性等式:
其中 \(\mu_p(x_t) = \mathbb{E}_p[y \mid x_t]\) 为正常分布下的后验均值。两边取平方欧氏模长可得 \(\|y - \mu_p(x_t)\|^2 = (1-t)^2 \|v_p(t, x_t) - (y - x_0)\|^2\)。这表明速度残差 \(\|v_\theta(x_t, t) - (y - x_0)\|^2\) 本质上就是无偏的端点重构残差缩放版。当待测像素属于正常流形时,\(v_\theta\) 与 \(y - x_0\) 保持高度同向与模长一致;而当像素包含异常缺陷时,\(y - x_0\) 试图强制生成缺陷,而 \(v_\theta\) 极力向正常流形靠拢,导致两者产生强烈的矢量分裂。在 RGB 三通道上平均该残差模长,即可直接获得像素维度的即时判别信号。
2. 总体失配的理论分解:去噪误差与 Fisher 散度的解耦
为了从数学本质上阐明速度不一致信号为何具备强大的异常辨别力,作者对加权总体期望失配给出了精确的理论分解。设 \(p\) 为正常数据分布,\(q\) 为包含异常的测试数据分布,\(s_{p_t} = \nabla \log p_t\) 与 \(s_{q_t} = \nabla \log q_t\) 分别为对应边缘路径分布的 Score 函数。在加权系数 \(t^2\) 下,测试分布上的期望速度残差精确展开为:
其中 \(D_q(t) = \mathbb{E}_q\|Y - \mu_q(X_t)\|_2^2\) 为最小均方误差意义下的内在去噪不确定性,而 \(J(q_t \parallel p_t) = \mathbb{E}_{X \sim q_t}\big[\|s_{q_t}(X) - s_{p_t}(X)\|_2^2\big]\) 为测试边缘分布与正常边缘分布之间的 Fisher 散度。该分解揭示了异常分离的内在驱动力:在正常测试样本上,第二项 Fisher 散度退化为 0,失配量仅由有界且平滑的去噪误差支配;而在异常样本上,非零的 Fisher 散度项剧烈抬升异常区域的分数。该定理从统计动力学上严格论证了速度失配指标的根本合理性。
3. 时间维度方差加权融合与端点稳定性
时间参数 \(t \in (0,1)\) 控制着探测时注入的噪声尺度。将状态重标定为 \(z_t = x_t / t = y + \frac{1-t}{t}x_0\),可见其相当于向目标 \(y\) 叠加了协方差为 \(\sigma_t^2 I = (\frac{1-t}{t})^2 I\) 的高斯噪声。由此可知,在 \(t \to 0\) 附近,有效噪声方差极大、信噪比极低,此时模型预测平滑但存在全局偏置;而在 \(t \to 1\) 附近,噪声方差极小,几何定位高度锐利但局部曲率易受 Monte Carlo 噪声干扰。依据 Gauss-Markov 广义最小二乘(GLS)中的逆方差加权原理,端点空间的最优加权系数为 \(w_y(t) \propto \frac{1}{\sigma_t^2} = \frac{t^2}{(1-t)^2}\)。
将该权重作用于速度残差 \(\|v_\theta - (y-x_0)\|^2\) 时,前述尺度因子 \((1-t)^2\) 恰好被完美对消,在速度残差空间导出了自然的时间权重:
并且在理论分析中,由于后验收缩性质 \(D_q(t) \le d \frac{(1-t)^2}{t^2}\),乘积 \(\frac{t^2}{(1-t)^2} D_q(t) \le d\) 在整个区间内一致有界,确保加权总体在 \(t \to 1\) 时完全收敛。在数值实现中,离散时间集合选为 \(\mathcal{T} = \{\frac{j}{T+1}\}_{j=1}^T\),合理排除了 \(t=0\) 与 \(t=1\) 的数值奇异端点。
4. 跨路径保守最小聚合与置信下界保障
由于单次采样的初始高斯种子 \(x_0^k\) 具有随机性,单个路径在某些局部背景区域可能因噪声扰动引起偶发的速度失配,产生虚假缺陷响应(False Positives)。为了消除单路径方差并提供统计鲁棒性,Flow Mismatching 对 \(K\) 个独立高斯种子路径执行最小聚合算子:
数学分析表明,若单条随机路径上某正常像素因随机涨落超过阈值 \(\tau\) 的误报概率为 \(r < 1\),由独立同分布抽样性质,跨 \(K\) 条路径同时误报的概率以指数级衰减至 \(r^K\)。相比简单的期望均值聚合 \(\delta_t^{\mathrm{avg}}\),最小聚合实现了“一致性投票”机制——只有当像素在所有独立噪声路径的几何传输中均表现出显著的速度冲突时,该处才会最终保留高异常分。这在几何上相当于提取了速度残差在随机种子条件下的保守下分位数,极大压制了工业检测中的背景误报率。
损失函数 / 训练策略¶
Flow Mismatching 的训练阶段完全遵从标准连续条件流匹配(CFM)准则,只在无缺陷的正常训练图像上学习:
网络主干采用轻量化时间条件注意力 U-Net(Base Channels = 64,下采样阶段通道数为 64, 64, 128, 128, 256, 256,并在低分辨率特征图上配合多头自注意力机制)。使用 StableAdamW 与 AMSGrad 优化器,学习率设为 \(1\times 10^{-4}\),权重衰减为 \(1\times 10^{-4}\),batch size 为 32,更新梯度 RMS 阈值设为 1.0。所有输入图像分辨率统一预处理为 \(128 \times 128\),进行标准均值与方差归一化,训练 2000 个 epoch。
在测试期,默认超参数设置为 \(K=10\) 条路径与 \(T=10\) 个离散时间步(单图总计 \(K \times T = 100\) 次模型前向调用),单张图像级异常分数定义为全局最高分与热图 Top 1% 像素均值的组合:\(S = \max_{i \in \Omega} H(i) + \frac{1}{|\Omega_{\text{top1\%}}|} \sum_{i \in \Omega_{\text{top1\%}}} H(i)\)。
实验关键数据¶
主实验¶
在工业异常检测权威基准 MVTec-AD(15 个类别)和 VisA(12 个复杂元件类别)上,Flow Mismatching 与主流 SOTA 重构模型、扩散模型及流匹配模型进行了全面对比。测试涵盖图像级(Image-level)与像素级(Pixel-level)的 AUROC、AP、F1-max 以及 AUPRO 指标。
表 1:MVTec-AD 与 VisA 基准上与 SOTA 重构类及扩散类异常检测方法的性能对比
| 方法类别 | 方法名称 | MVTec I-AUROC | MVTec I-AP | MVTec P-AUROC | MVTec P-AP | MVTec P-PRO | VisA I-AUROC | VisA I-AP | VisA P-AUROC | VisA P-AP | VisA P-PRO |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 特征/蒸馏 | RD4AD (CVPR'22) | 94.6 | 96.5 | 96.1 | 48.6 | 91.1 | 92.4 | 92.4 | 98.1 | 38.0 | 91.8 |
| 规范化流 | CFLOW-AD (WACV'22) | 92.7 | 97.2 | 95.8 | 46.8 | 89.0 | 87.2 | 89.5 | 97.8 | 34.2 | 87.3 |
| 重构/记忆 | UniAD (NeurIPS'22) | 96.5 | 98.8 | 96.8 | 43.4 | 90.7 | 88.8 | 90.8 | 98.3 | 33.7 | 85.5 |
| 判别/自监督 | SimpleNet (CVPR'23) | 95.3 | 98.4 | 96.9 | 45.9 | 86.5 | 87.2 | 87.0 | 96.8 | 34.7 | 81.4 |
| 扩散生成 | DiAD (AAAI'24) | 97.2 | 99.0 | 96.8 | 52.6 | 90.7 | 86.8 | 88.3 | 96.0 | 26.1 | 75.2 |
| 状态空间 | MambaAD (NeurIPS'24) | 98.5 | 99.5 | 97.7 | 56.1 | 93.6 | 94.3 | 94.5 | 98.5 | 39.4 | 91.0 |
| Transformer | ViTAD (CVIU'25) | 98.3 | 99.4 | 97.7 | 55.3 | 91.4 | 90.5 | 91.7 | 98.2 | 36.6 | 85.1 |
| 蒸馏扩散 | AMDM / OmiAD (ICML'25) | 98.4 | 99.0 | 97.5 | 51.5 | 92.6 | 94.8 | 95.6 | 98.8 | 39.8 | 88.4 |
| 动力学速度 | Ours (Flow Mismatching) | 98.7 | 99.5 | 97.7 | 67.5 | 91.9 | 98.0 | 98.4 | 97.5 | 40.2 | 90.6 |
表 2:MVTec-AD 基准上与流匹配(FM)体系基线的受控同主干对比
| 范式分类 | 方法名称 | I-AUROC | I-AP | I-F1-max | P-AUROC | P-AP | P-F1-max | P-PRO |
|---|---|---|---|---|---|---|---|---|
| 训练目标修改 | Reflect (MICCAI'25) | 66.4 | 86.3 | 84.6 | 60.2 | 19.5 | 24.9 | 31.6 |
| 训练目标修改 | TCCM (NeurIPS'25) | 53.6 | 77.7 | 85.1 | 73.0 | 23.1 | 28.8 | 49.9 |
| 训练目标修改 | WT-Flow (arXiv'25) | 85.0 | 92.3 | 90.7 | 85.4 | 46.5 | 50.6 | 70.2 |
| 测试期推断 | D-Flow (ICML'24) | 75.3 | 88.1 | 88.3 | 87.1 | 37.6 | 41.8 | 62.3 |
| 测试期推断 | ReconFlow (同主干重构基线) | 91.8 | 97.2 | 94.3 | 92.4 | 53.8 | 56.1 | 72.7 |
| 测试期推断 | Ours (Flow Mismatching) | 98.7 | 99.5 | 97.7 | 97.7 | 67.5 | 64.8 | 91.9 |
消融实验¶
表 3:MVTec-AD 上的测试时计算预算(路径数 \(K\) 与时间步数 \(T\))权衡消融
| 消融配置 | 设置值 | 计算量 \(K \times T\) | I-AUROC (%) | I-AP (%) | P-AUROC (%) | P-AP (%) | P-PRO (%) | 推理帧率 (FPS) |
|---|---|---|---|---|---|---|---|---|
| 固定 \(K=5\), 调整 \(T\) | \(T=2\) | 10 | 97.9 | 99.3 | 96.2 | 63.4 | 89.9 | 37.48 |
| 固定 \(K=5\), 调整 \(T\) | \(T=4\) | 20 | 98.1 | 99.3 | 96.9 | 65.5 | 90.3 | 18.85 |
| 固定 \(K=5\), 调整 \(T\) | \(T=8\) | 40 | 98.2 | 99.3 | 97.2 | 66.3 | 91.0 | 9.42 |
| 固定 \(K=5\), 调整 \(T\) | \(T=10\) | 50 | 98.2 | 99.3 | 97.2 | 66.4 | 91.5 | 7.56 |
| 固定 \(T=5\), 调整 \(K\) | \(K=2\) | 10 | 96.2 | 98.5 | 96.1 | 62.8 | 88.9 | 34.96 |
| 固定 \(T=5\), 调整 \(K\) | \(K=6\) | 30 | 98.4 | 99.4 | 97.1 | 66.2 | 91.0 | 12.61 |
| 固定 \(T=5\), 调整 \(K\) | \(K=10\) | 50 | 98.6 | 99.5 | 97.4 | 66.7 | 91.3 | 7.73 |
| 固定 \(T=5\), 调整 \(K\) | \(K=16\) | 80 | 98.7 | 99.5 | 97.6 | 67.0 | 91.6 | 4.88 |
| 极低预算配置 | \(K=2, T=2\) | 4 | 96.0 | 98.4 | 95.9 | 61.2 | 88.1 | 86.40 |
| 默认配置 | \(K=10, T=10\) | 100 | 98.7 | 99.5 | 97.7 | 67.5 | 91.9 | 3.87 |
关键发现¶
- 像素级细粒度缺陷定位优势极其突出:在 MVTec-AD 上,Flow Mismatching 的像素级平均精度(P-AP)达到 67.5%,大幅超越此前依靠大规模特征提取或复杂重构的顶级基线(如 MambaAD 56.1%、ViTAD 55.3%、DiAD 52.6%),相对增益超过 11.4 个百分点;在 VisA 上的图像级 AUROC 达到 98.0%,相较于此前最好的 AMDM(94.8%)提升了 3.2 个百分点。
- 同主干受控对比彻底碾压既有流匹配方案:在相同的轻量 U-Net 主干与相同训练设定下,测试时逆优化求解的 D-Flow 图像 AUROC 仅 75.3% 且 FPS 低至 0.07,收缩场 TCCM 仅 53.6%,直接进行重构的 ReconFlow 为 91.8%;而 Flow Mismatching 飙升至 98.7%,像素级 AP(67.5%)更达到 ReconFlow(53.8%)和 D-Flow(37.6%)难以企及的水准,证实了速度残差相较于显式重构残差的巨大优越性。
- 计算预算高度可伸缩且下限极高:通过调节 \((K, T)\),该方法可以在高吞吐检测(\(K=T=2\), FPS 达 86.4,性能依然优于大部分既有流匹配方法)与超高精度检测(\(K=T=10\), FPS 3.87)之间无缝切换,单步之间相互独立,极具硬件并行扩展潜力。
亮点与洞察¶
- 概念范式转变(No-Reconstruction Paradigm):将生成模型从被动生成伪缺陷的“重构机器”转变为主动探测流形切向动力学的“矢量场雷达”,从根本上解决了生成重构模型在异常区域“过度忠实”而导致残差淹没的痼疾。
- 理论推导完备严密:利用 Tweedie 恒等式建立了速度残差与重构后验均值误差的等价桥梁,更将总体期望失配严格分解为去噪下限项与流形边界的 Fisher 散度项,赋予了速度失配清晰的信息几何与统计物理解释。
- 逆方差时间权重与最小聚合的绝妙搭配:时间维度上采用由高斯观测方差严格导出的 \(w(t)=t^2\) 优雅中和了发散前因子;空间多路径上采用保守的逐像素最小值算子,利用独立同分布假设将偶发伪警发生率压缩至指数级下界。
局限与展望¶
- 大尺寸语义级/逻辑型缺陷易发生“中空”现象:作者在失败案例分析中诚实指出,对于占据大面积语义区域的异常物体(如缺失整体部件或大结构异物),基于像素级 U-Net 的速度场往往只能在异常物体的几何边缘处激发出强烈的速度跳变,而内部平滑区域失配较弱,导致热图呈现边缘环状分布。
- 高分辨率下的前向计算吞吐瓶颈:尽管无需反向传播梯度,但每次测试需调用 \(K \times T\) 次神经网络前向传播。当工业检测图像拓展至 \(1024 \times 1024\) 等超大尺寸时,内存开销与计算延迟会显著上升。
- 潜在演进方向:未来可将速度失配思想拓展至多尺度隐空间流匹配(Latent Flow Matching),借助预训练语义表征弥补对大范围逻辑异常的捕捉能力,并设计自适应时间步采样(Adaptive Timestep Pruning)进一步压缩前向评估次数。
相关工作与启发¶
- vs ReconFlow / 传统重构模型 (AE/GAN/DiffusionAD):重构模型必须从噪声一路逆向积分恢复到图像 \(y\),若生成器能力过强,容易直接把异常重建出来导致漏检。Flow Mismatching 无需完成积分生成全过程,而是直接在中间状态探查速度矢量的离群切向分量。
- vs D-Flow / Reflect (既有流匹配异常检测):D-Flow 需要在测试期通过梯度回传求解潜变量逆问题,耗时极长(FPS 0.07);Reflect 依赖人工构造伪缺陷分布训练整流。Flow Mismatching 维持标准 CFM 纯正训练,推断期全前向、纯解析、零优化。
- vs PatchCore / SimpleNet (特征记忆库方法):PatchCore 等强依赖大型特征提取器(如 WideResNet / DINO)以及巨大的内存特征检索库。Flow Mismatching 采用纯轻量 U-Net 端到端训练,完全不依赖任何外部预训练权重或特征存储。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ (将流匹配模型解构为几何速度场探针,摒弃重构范式,理论洞见深刻)
- 实验充分度: ⭐⭐⭐⭐⭐ (包含严格理论证明、两个主流基准全面评测、同主干流模型受控实验及详尽的计算复杂度消融)
- 写作质量: ⭐⭐⭐⭐⭐ (数学论证严谨流畅,从直觉假说到引理定理、再到工程化离散实现一气呵成)
- 价值: ⭐⭐⭐⭐⭐ (为基于物理生成动力学的工业缺陷检测开辟了极具前景的非重构新研究航道)