A Difference-in-Difference Approach to Detecting AI-Generated Images¶
会议: CVPR 2026
论文: CVF Open Access
代码: https://github.com/Qixinyi1122lucky/DID (有)
领域: AI 生成图像检测
关键词: 重建误差、二阶差分、扩散模型、伪造检测、泛化性
一句话总结¶
针对"现代扩散模型生成的图像与真图越来越像、一阶重建误差失效"这一痛点,本文把重建做两次、用「重建误差之差」这个二阶差分来抵消重建本身引入的随机扰动、放大真假图之间的微弱信号,再把一阶与二阶误差各训一个分类器联合判定,在跨数据集/跨生成器场景下比最强基线提升约 20%–30%。
研究背景与动机¶
领域现状:当前最有前景的一类 AI 生成图像检测器是"基于重建"的方法(DIRE、LaRE²、FIRE 等)。核心直觉是:用一个预训练扩散模型把待测图像重建一遍,然后看重建误差(原图与重建图之差)。合成图本来就落在该生成模型的流形 \(\mathcal{M}\) 上,重建后误差小;真图落在流形之外,重建时被"拉回"流形会产生较大误差。于是"误差小→判为假"。
现有痛点:这套逻辑成立的前提是真图与假图之间存在一个足够大的可检测间隙。但随着生成模型越来越强,模型流形 \(\mathcal{M}\) 越来越逼近真实图像空间 \(\mathcal{X}\),真图被拉回流形的距离 \(|x-\Pi_{\mathcal{M}}(x)|\) 变得很小;与此同时,重建过程本身带有随机扰动 \(\delta(x)\)。当信号变小,真假图的重建误差都被这个扰动项主导、趋于相同,检测器就失灵了。互联网上的图还常被压缩、缩放或局部 AI 编辑,进一步污染信号。
核心矛盾:重建误差是一个一阶差分,它同时包含"真假信号 \(|x-\Pi_{\mathcal{M}}(x)|\)"和"重建扰动噪声 \(\delta(x)\)"两部分。当信号弱时,噪声把信号淹没了——一阶差分无法把二者拆开。
本文目标:在真假图高度相似的困难场景下,仍能可靠分辨;同时不能牺牲简单场景下已经很好的表现。
切入角度:作者借鉴计量经济学里的差分中的差分(Difference-in-Differences, DID)思想——在面板数据里,处理组的前后一阶差分既含政策效应也含时间效应,于是再对控制组取一次一阶差分、两者相减(二阶差分)把时间这个混杂因子消掉、只留下政策效应。本文把"扰动噪声 \(\delta\)"类比成那个需要消掉的混杂项。
核心 idea:把图像重建做两次,用「第一次重建误差」减「第二次重建误差」构造一个二阶差分;只要扰动在空间上高度相关(\(\delta(x)\approx\delta(x')\)),两次扰动就会相互抵消,留下的只剩真假信号——以此放大被噪声淹没的微弱信号。
方法详解¶
整体框架¶
DID 是一个纯统计/算子层面的检测信号改造,不改网络结构。给定待测图 \(x\) 和一个用于重建的预训练扩散模型 \(\mathcal{R}(\cdot)\),整个流程是:
- 两次连续重建:\(x'=\mathcal{R}(x)\)(重建原图),\(x''=\mathcal{R}(x')\)(重建"重建图")。
- 算两种误差:一阶重建误差 \(\Delta(x)=|x-x'|\)(即旧方法用的那个);二阶重建误差 \(\Delta^2(x)=|x-x'|-|x'-x''|\)。
- 双分类器:把 \(\Delta(x)\) 和 \(\Delta^2(x)\) 分别喂给两个独立的 ResNet-50 分类器,各自训练。
- 联合判定:一张图只有当两个分类器都判它为真,才最终判为真;否则判为假。
为什么要"双路"而不是只用二阶?因为一阶误差在"真假差异大"的简单场景里已经足够好且更直接,二阶误差在"真假高度相似"的困难场景里才显出优势——两者覆盖的是互补的工况,合起来才能在大范围检测任务上稳健泛化。该方法属于单路统计信号改造 + 标准分类器,pipeline 用文字和公式即可讲清,不画框架图。
关键设计¶
1. 二阶差分重建误差:用「误差之差」抵消重建扰动、放大微弱信号
这是全文的核心。把重建算子建模为"投影到生成流形 + 随机扰动":\(\mathcal{R}(x)=\Pi_{\mathcal{M}}(x)+\delta(x)\)。在此模型下,合成图(已在流形上,\(\Pi_{\mathcal{M}}(x)=x\))的一阶误差是 \(\Delta_{\text{fake}}(x)=|\delta(x)|\),真图的一阶误差是 \(\Delta_{\text{real}}(x)=|x-\Pi_{\mathcal{M}}(x)-\delta(x)|\)。当生成模型很强、信号 \(|x-\Pi_{\mathcal{M}}(x)|\) 很小时,两者都被 \(|\delta|\) 主导而趋同,这正是旧方法失效的根因。
DID 的做法是再重建一次并取二阶差分:
代入算子模型可推得,合成图的二阶误差 \(\Delta^2_{\text{fake}}(x)=|\delta(x)|-|\delta(x')|\),真图的 \(\Delta^2_{\text{real}}(x)=|x-\Pi_{\mathcal{M}}(x)-\delta(x)|-|\delta(x')|\)。关键假设:当信号弱时 \(x\) 与 \(x'\) 很接近,若扰动在空间上高度相关则 \(\delta(x)\approx\delta(x')\),两次扰动抵消,于是 \(\Delta^2_{\text{fake}}(x)\approx 0\),而 \(|\Delta^2_{\text{real}}(x)|\approx|x-\Pi_{\mathcal{M}}(x)|\)(因为信号幅度远小于 \(|\delta|\),符号被 \(-\delta(x)\) 主导,绕回后近似只剩信号本身)。对比之下:一阶差分被扰动混杂,二阶差分只依赖信号、与扰动无关——这就是它即便信号微弱也能检测的数学来源(⚠️ 上述简化推导以原文 Section 3.3 为准)。
2. 一阶 + 二阶双分类器联合判决:用"与门"覆盖简单与困难两类工况
只用二阶会在"真假本就差很多"的简单场景里丢掉一阶那份直接而强的判别力(消融里 \(\Delta^2\) 在 LSUN+ADM 这种"重建模型=生成模型"的对齐场景下反而打不过 DIRE)。所以本文不是用二阶替换一阶,而是两者并存:对 \(\Delta(x)\)、\(\Delta^2(x)\) 各训一个分类器,各自输出真的概率分数,分数小于阈值 \(c\) 判为真。
最终用"与"逻辑——两个分类器都说真才算真。这等价于一个更保守的判真规则,会抬高把图判为真的门槛。为了让这种"与门"的整体假阳性率(把假图误判为真)和单分类器在 \(c=0.5\) 下持平、保证公平对比,作者把 DID 每个分类器的阈值设为 \(c=1-\sqrt{0.5}\approx0.29\)(两个独立事件都过关的概率约为 \((1-0.29)^2\approx0.5\))。这个设计让 DID 在简单场景退化得不输纯一阶、在困难场景吃到二阶红利。
3. 跨生成器的重建模型选择:训练/重建解耦带来泛化
实现上用 LSUN-Bedroom 上预训练的 ADM 作为统一的重建模型 \(\mathcal{R}\),无论待测图来自哪个生成器(Kandinsky3、SDXL、Playground、甚至 GAN)。一阶/二阶误差图随后送入 ResNet-50 分类。这一选择把"重建模型"和"被检测的生成器/训练集"解耦——实验表明即使训练只见过扩散图、重建模型与生成器也不一致,DID 仍能泛化到没见过的数据集乃至 GAN 生成图,正是因为二阶差分捕捉的是"是否落在流形上"这一与具体生成器关系不大的几何信号。
损失函数 / 训练策略¶
两个分类器都用标准二分类交叉熵独立训练:
其中 \(y_i\) 是真/假标签,\(y_i'\) 是分类器输出的概率。无额外正则或对比项。训练集分大(ImageNet 40k 真 + 40k 假,ADM 生成)和小(LAION 10k 真 + 10k 假,Kandinsky3 或 SDXL 生成)两档;测试一律在未见过的数据集与更多样的生成器上做,以考察泛化。
实验关键数据¶
评测沿用 DIRE/FIRE/FakeInversion 的 benchmark,主指标为分类准确率 ACC(%),baseline 包括重建系的 DIRE、LaRE²、AEROBLADE 和非重建系的 UniversalFakeDetect(UFD)。
主实验¶
大训练集 + 对齐场景(ImageNet & ADM 训练,重建也用 ADM):此时一阶误差已极具判别力,DID 与 DIRE 几乎打平、都接近满分;体现 DID 在简单场景"不退步"。
| 训练集&生成器 | 测试平均 | DID | DIRE | LaRE² | AERO. | UFD |
|---|---|---|---|---|---|---|
| ImageNet & ADM | LSUN-B 平均 | 99.12 | 99.25 | 62.39 | 51.87 | 82.36 |
| ImageNet & ADM | ImageNet 平均 | 99.64 | 99.44 | 99.60 | 43.99 | 82.80 |
| ImageNet & ADM | LAION 平均 | 99.60 | 99.45 | 65.89 | 60.14 | 75.95 |
| ImageNet & ADM | 总平均 | 99.41 | 99.37 | 70.05 | 54.00 | 79.35 |
小训练集 + 跨生成器场景(LAION 训练,生成器 ≠ 重建模型):这是困难设定,二阶误差开始发力,DID 全面领先。下表为总平均(Imp. 为 DID 相对次优 baseline 的提升):
| 训练集&生成器 | DID | DIRE | LaRE² | AERO. | UFD | Imp. |
|---|---|---|---|---|---|---|
| LAION & Kan.3(总平均) | 94.55 | 92.96 | 83.66 | 51.60 | 69.25 | 22.52% |
| LAION & SDXL(总平均) | 96.42 | 94.83 | 82.78 | 51.60 | 70.11 | 30.66% |
其中跨数据集子项最明显:LAION&SDXL 训练、在 ImageNet 上测试时,DID 对次优 baseline 的提升高达 89.65%(ADM 生成)/ 75.73%(SDv1 生成)。
跨生成机制泛化(只训扩散图,测 GAN 图):训练只见过 Kan.3/SDXL 的扩散图,却能稳健检测 StyleGAN / ProjectedGAN / Diff-ProjectedGAN:
| 训练集&生成器 | DID | DIRE | LaRE² | AERO. | UFD | Imp. |
|---|---|---|---|---|---|---|
| LAION & Kan.3(GAN 平均) | 93.95 | 91.82 | 51.12 | 49.75 | 50.85 | 26.07% |
| LAION & SDXL(GAN 平均) | 94.88 | 94.07 | 52.37 | 49.75 | 50.88 | 13.76% |
| 总平均 | 94.42 | 92.94 | 51.74 | 49.75 | 50.87 | 20.90% |
LaRE²、AEROBLADE、UFD 在 GAN 上基本退化到约 50%(随机猜),说明它们学到的是特定生成器的痕迹;DID 学到的是"是否在流形上"的几何信号,跨机制依然成立。
消融实验¶
只用 10% LAION 数据训轻量模型,对比"完整 DID"、"只用二阶 \(\Delta^2\)"、"只用一阶 DIRE"(ACC %):
| 测试集 | 生成器 | DID | \(\Delta^2\)(仅二阶) | DIRE(仅一阶) |
|---|---|---|---|---|
| LSUN-B | ADM | 86.5 | 69.0 | 84.0 |
| LSUN-B | PNDM | 83.0 | 81.5 | 67.5 |
| LSUN-B | DDPM | 82.0 | 78.0 | 71.5 |
| ImageNet | ADM | 98.9 | 98.4 | 91.0 |
| ImageNet | SDv1 | 98.9 | 98.7 | 93.5 |
| LAION | Kan.3 | 99.9 | 100 | 99.9 |
| LAION | SDXL | 99.9 | 99.9 | 99.2 |
| LAION | Vega | 99.9 | 99.9 | 98.8 |
关键发现¶
- 二阶差分在困难场景普遍强于一阶:大多数设定下 \(\Delta^2\) 超过 DIRE,印证它更能捕捉真假图的微弱差异。
- 一阶在"对齐的简单场景"反而更优:LSUN-B + ADM(重建模型=生成模型)这一行,DIRE(84.0) > \(\Delta^2\)(69.0)——恰好对应理论里"信号大、一阶就够"的简单情形。这解释了为什么不能丢掉一阶。
- 联合判决兜底:DID 在所有设定下都 ≥ 二阶或一阶单独使用,证明"一阶+二阶联合"是稳健的选择,能同时吃到两类工况的好处。
- 跨生成器/跨数据集时增益最大:训练与测试数据不同、或生成器与重建模型不同时,DID 相对 baseline 的提升最大(20%–90%),正是二阶差分消扰动的价值所在。
亮点与洞察¶
- 把计量经济学的 DID 思想迁到伪造检测:核心洞察是"重建扰动 \(\delta\) 像面板数据里的时间混杂项,可以用第二次差分消掉"。这种跨学科的类比把一个看似无从下手的"信号被噪声淹没"问题,转成一个有清晰数学形式的二阶差分,可复用性强。
- 不替换、而是并联:没有用新信号替换旧信号,而是承认一阶在简单场景的价值、用"与门 + 阈值校准(\(1-\sqrt{0.5}\))"把两路无损拼起来,工程上很务实。
- 几何视角带来跨机制泛化:只训扩散图就能检测 GAN 图,说明二阶误差捕捉的是"在不在生成流形上"这种与具体生成器弱相关的信号,这个思路或可迁移到 LLM 生成文本检测(原文也提到文本检测有类似投影解释)。
- 几乎零额外训练成本:只是多做一次重建 + 多训一个同结构分类器,没有引入新损失或新模块。
局限与展望¶
- 关键假设"扰动空间高度相关 \(\delta(x)\approx\delta(x')\)"未被严格验证:整个二阶消噪的成立依赖这个近似,论文以分析+可视化支撑,但何时成立/失效缺乏定量刻画——若扰动近似白噪声,抵消可能不成立。⚠️
- 要做两次重建:扩散重建本身较慢,两次连续重建进一步增加推理开销(论文把计算/显存成本放在附录,正文未细评)。
- "与门"判决偏保守:只要任一分类器判假就判假,可能抬高假图判真的门槛、但也可能压低真图的召回;阈值靠 \(1-\sqrt{0.5}\) 校准成立于"两分类器假阳性独立"的假设。
- 作者展望:二阶可自然推广到三阶乃至更高阶差分,是否带来进一步增益值得探索。
相关工作与启发¶
- vs DIRE:DIRE 用一次重建的一阶误差训练分类器,是本文的直接前身与最强 baseline。本文指出其在强生成器/小样本/跨域时失效,并用二阶差分补强——简单场景持平、困难场景大幅领先。
- vs LaRE² / AEROBLADE:LaRE² 把重建放到隐空间只跑一次以提速,AEROBLADE 免训练靠统计量判定;二者在同分布上尚可,但跨数据集/跨生成器(尤其 GAN)几乎退化到随机,泛化性明显弱于 DID。
- vs SeDID / DRCT:SeDID 额外利用扩散正/逆过程中间步的累积误差,DRCT 改用对比损失训练;它们仍停留在一阶误差的不同利用方式,没有触及"用更高阶差分消扰动"这一维度。
- vs UniversalFakeDetect (UFD):非重建系,靠一个未针对真假训练的特征空间;同分布表现尚可但跨域和对 GAN 泛化差。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 把计量经济学的二阶差分思想迁到重建检测,视角新且有清晰数学动机
- 实验充分度: ⭐⭐⭐⭐ 覆盖多数据集/多生成器/GAN 跨机制 + 消融,但二阶消噪的关键假设缺定量验证
- 写作质量: ⭐⭐⭐⭐ 动机—分析—方法链条清晰,公式推导到位
- 价值: ⭐⭐⭐⭐ 在"真假越来越像"的趋势下提供了一条几乎零成本、可堆叠到现有重建检测器上的增强路径