跳转至

REVEAL: Reasoning-Enhanced Forensic Evidence Analysis for Explainable AI-Generated Image Detection

会议: ECCV 2026
论文: ECCV 原文
代码: https://github.com/TrustMedia-zju/REVEAL
领域: 多模态VLM
关键词: AI生成图像检测、链式证据推理、GRPO强化学习、可解释取证、跨生成器泛化

一句话总结

REVEAL 先用 8 个轻量专家模型抽取结构化的伪造证据、由大模型整合成"链式证据"(Chain-of-Evidence, CoE)标注并蒸馏出 6 万条的 REVEAL-Bench,再用"CoE 微调 + 证据锚定复合奖励的 R-GRPO"两阶段训练多模态大模型,在域内 95.31%、GenImage 跨域 94.96% 的准确率上同时给出可被低层证据核验的取证解释。

研究背景与动机

AI 生成图像的视觉真实感已经足以骗过人的眼睛,FLUX、SDv3.5 一类扩散模型还在持续拉高这道门槛,可靠检测因此成了紧迫需求。现有检测方法大致分两支,但取证价值都不足:一支是纯判别式分类器,从早期依赖上采样网格、高频衰减、频谱异常等低层统计线索,演进到用 CNN / ViT 直接学判别特征(CNNSpot、UnivFD、NPR、HyperDet、AIDE、VIB-Net 等),它们只吐一个标签,没有任何解释;另一支是可解释性稍好的规则模型与决策树,能露出一部分决策依据,但泛化很差——本文表 6 里八专家多数投票只有 78.35%、决策树 74.75%,且判断仍强耦合于底层检测器自身的特征偏置。

多模态大模型本来是提高可解释性的自然方向(GPT-4 检测、AIGI-Holmes、FakeBench、RAIDX 等),但它们有两个结构性问题。第一,解释大多是 post-hoc 的:模型先算 \(p(y\mid x)\) 给出判定,再补一段 \(p(z\mid x,y)\) 的理由,中间推理步骤没有任何机制保证真的被可核验的证据支撑。第二,MLLM 被当成通用视觉分类器使用,去抓"光照不自然""边界模糊"这类高层异常,而不是一个系统性地收集、分析、综合专业证据的取证系统。更深层的原因是数据与训练目标缺位:现有 benchmark 要么只有图像级标签,要么只有一句简短文字说明(如 FakeBench),都不包含取证分析所需的结构化证据;而 RAIDX 这类检索增强提示虽然能生成流畅的解释,却落不到图像特有的证据链上。

本文认为真正缺的是两样东西——带结构化证据标注、支持逐步判断的推理型取证数据集,以及能强制"证据落地"的训练目标。它给出的答案是:用 8 个公开的轻量专家模型(伪影掩码 + 诊断标签)离线抽取低层证据,交给 Qwen-2.5VL-72B 整合成单条 CoE 轨迹,得到 60K 的 REVEAL-Bench;再用两阶段训练把这条证据链写进 MLLM 的策略里——先 CoE 微调学会标准结构,再用 R-GRPO 的复合奖励(答案正确性 + 推理稳定性 + 多视角一致性)优化。核心 idea:把"先判定再编理由"的建模顺序翻转为"先收集可核验证据、再沿证据链推理、最后判定",并用三项互补奖励把这条证据链真正训进策略,让可解释性成为泛化的来源而不是事后的装饰。

方法详解

整体框架

REVEAL 由三块拼成:离线构建的 REVEAL-Bench、第一阶段的 CoE 微调、第二阶段的 R-GRPO。输入是一张待检图像(外加一句"这是真实还是生成"的提问),输出是一个二值判定加一条 <think>…</think><answer>…</answer> 结构的证据链。整个方法的关键前提是:8 个专家模型只在离线造数据时使用,生成伪影标注与诊断标签,既不参与训练也不参与推理,因此部署时的成本与一个普通 MLLM 检测器无异。数据侧先把六份公开检测基准汇总成约 5,120K 合成 + 850K 真实图像的语料,按美学分与分辨率分层采样,再让八位专家各自输出结构化证据,最后由 Qwen-2.5VL-72B 把八路碎片化诊断整合成一条 6 万条的 CoE 标注(真假各 3 万);训练侧在 llava-v1.5-13B 一类骨干上先做 CoE 微调建立"先推理后判定"的稳定输出范式,再用 R-GRPO 以组内相对优势优化三类奖励。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["专家锚定的证据与 CoE 构建<br/>八专家证据 → CoE 轨迹"] --> B["CoE Tuning<br/>先推理后判定的联合建模"]
    B --> C["R-GRPO<br/>证据锚定的复合奖励"]
    C --> D["REVEAL 检测器<br/>判定 + 可核验解释"]

关键设计

1. 专家锚定的证据与 CoE 构建:让标注从"编理由"变成"引证据"

数据这一侧的痛点是:图像级标签或一句自由文本说明无法支撑取证分析,而多专家分别诊断的结果又是碎片化、彼此视角不同的。REVEAL-Bench 的第一步是把六份公开基准(CNNDetection、UnivFD、AIGCDetectBenchmark、GenImage、Fake2M、Chameleon)合并成约 5,120K 合成 + 850K 真实的初始语料,然后按美学分(高 50%、中 30%、低 20%)和分辨率(≥512×512 占 50%、384×512 之间占 30%、<384 占 20%)做分层采样,并覆盖 13 个语义大类,以避免语料在某些生成器或画质上过度集中。第二步是八位轻量专家各自筛查一类伪影:局部伪影、频谱线索、像素噪声(NPR)、空间一致性、几何缺陷、阴影逻辑、纹理融合、高通融合。它们全部取自公开代码库、不做任何额外训练,输出的是机器可读的结构化证据(伪影掩码 + 诊断标签),而不是一句"看起来像假的"。最后一步由 Qwen-2.5VL-72B 把八轮多视角诊断整合成一条连贯、可审计的推理轨迹,用统一的 <think>…</think><answer>…</answer> 格式落到标注里,从约 6M 的标注池经严格质量过滤后蒸馏出 60K(真假各半),选择率约 1%。

这一设计真正区别于 AIGI-Holmes 的地方在于专家的用法:后者让专家做全局过滤筛图,专家结论不进入解释;REVEAL 则让专家输出结构化的低层证据,并把"低层伪影 → 中间推断 → 最终结论"这条因果链显式写进标注。这样训出来的解释天然可以被证据核对,而模型学到的也不再是"某类图像通常长什么样"这种伪相关。

2. CoE Tuning:把"先推理后判定"写进概率分解

只做普通 SFT 的 MLLM 仍然把解释当作判定的附属物,推理链与结论之间没有因果约束。REVEAL 的第一阶段因此不是简单地喂 CoT 数据,而是显式地把联合概率分解为 \(p(y,z\mid x)=p(z\mid x)\,p(y\mid x,z)\),也就是先生成证据链 \(z\)、再在 \(z\) 的条件下给出判定 \(y\)。这看起来只是一个乘法顺序,但它和前作"先算 \(p(y\mid x)\) 再补 \(p(z\mid x,y)\)"有本质区别:后者允许模型先凭直觉下结论、再倒推一段说得通的理由(这正是 post-hoc 合理化),前者则要求判定必须在推理链生成之后才产生,任何结论都要沿着已经写下的证据走。

为了让训练可控,论文把负对数似然拆成"推理生成项"和"答案项"两项加权组合,并额外加一项 KL 正则把微调后的策略 \(\pi_\theta\) 拉回预训练策略 \(\pi_{\text{pre}}\),以缓解灾难性遗忘;权重 \(\alpha\) 取 0.1,即推理项只作辅助信号、判定正确性仍是优化主目标。这一阶段的价值在消融里很直接:完全不做推理监督的 SFT 只有 61.21%,换成 answer-first 的推理格式也只有 82.39%,而 CoE 微调一步就到 85.73%——说明起作用的不只是"有推理文本",而是推理链在结构上先于答案这一约束。

3. R-GRPO:证据锚定的复合奖励把推理质量变成可优化的信号

CoE 微调解决了"格式对不对",但解决不了"推理链是否真的稳、是否真的落在图上"。R-GRPO 在标准 GRPO 的组内相对优势之上,替换为一套取证专用的复合奖励,它由三项互补的分量组成。答案奖励 \(r_{\text{ans}}\) 是最简单的二值项,只奖励判定与真值一致。推理奖励 \(r_{\text{think}}\) 由两部分构成,一部分衡量生成推理链与参考推理链在语义上的一致性,另一部分衡量推理链自身的逻辑连贯性——后者的做法很取巧:对推理链做一次轻微的结构扰动(打乱顺序)得到 \(\tilde{z}\),如果这样一扰动就得出完全不同的结论,说明模型原本的推理是不稳定的,予以惩罚。多视角对齐奖励 \(r_{\text{view}}\) 则要求 <think> 里的内容能和同一张图在多种取证视角(频谱表示、高通滤波图、边缘响应、局部伪影区域)下看到的证据对上,每个视角都要分析得对、且彼此不打架,这既是解释保真度的约束,也鼓励模型跨伪影类型泛化。

三项奖励的取值方式是加权求和 \(R(\tau)=\lambda_a r_{\text{ans}}+\lambda_t r_{\text{think}}+\lambda_v r_{\text{view}}\),实验配置为 \((\lambda_a,\lambda_t,\lambda_v)=(0.8,0.1,0.1)\),推理与视角奖励始终只作支撑、不喧宾夺主。一个容易被忽略但很关键的实现选择是:这三个奖励里的语义一致性、逻辑连贯性与视角对齐,都没有用句向量余弦相似度之类的指标函数去算,而是把 Qwen-3-VL-8B 当作不做任何额外训练的裁判智能体来打分。作者在预实验中发现,纯度量式奖励(例如句子嵌入的余弦相似度)根本区分不出上下文逻辑是否成立,只有让一个视觉语言模型结合实际证据去读,才拿得到与人类判断更对齐的奖励信号。也正因为奖励是"读"出来的,它才能同时看到推理链和图像证据,把"说得通"和"对得上图"这两件事一起压进优化目标。

一个完整示例

以论文图 2 中那张鸟的合成图为例,八位专家的诊断会呈现出各自视角的结论:局部伪影专家放大后指出瞳孔区域缺少自然的反射结构,频谱专家发现合成图像在频谱轴上出现周期性峰值,高通融合专家则注意到鸟周围区域过于平滑、看不到任何伪造痕迹——这些结论并不一致,有的甚至认为图像是真实的。CoE 合成阶段的任务就是把它们整合成一条有主次的 7 步轨迹:先做纹理与光照异常的初筛(1),再细查均匀表面与缺失的瑕疵(2),随后比对物体—背景的空间对齐与投影逻辑(3),检查阴影一致性(4),做高频纹理不规则性分析(5),评估频谱能量分布异常(6),最后综合所有线索判定为合成(7),并输出 <answer>1</answer>。可以看到,最终判定不是由某一位专家投票得出的,而是由模型沿着六条彼此独立的技术线索合并出来的——这正是"多数投票 78.35% vs REVEAL 95.31%"的差别来源。

损失函数 / 训练策略

第一阶段是冷启动的监督微调。对式 (1) 取负对数似然即得 NLL 损失,论文把它拆成推理生成损失与答案损失两项再加权的组合,并配一项 KL 正则:

\[\mathcal{L}_{\text{SFT}} = \alpha\,\mathcal{L}_{\text{think}} + (1-\alpha)\,\mathcal{L}_{\text{answer}} + \beta\,\mathrm{KL}(\pi_{\text{pre}} \| \pi_\theta)\]

⚠️ 缓存中该式(原文式 (5))的符号提取已损坏,此处按正文语义还原:\(\alpha=0.1\) 使推理项只作辅助、判定正确性优先;KL 项用于抑制灾难性遗忘。以原文为准。

第二阶段是 R-GRPO。它沿用 GRPO 用组内基线替代 critic 的做法:对同一输入采样 \(G\) 条轨迹 \(\{\tau_i\}\),把复合奖励在组内标准化后直接当作优势

\[\hat{A}_i = \frac{R(\tau_i) - \mu_{\text{group}}}{\sigma_{\text{group}}},\]

再代入 PPO 式的代理目标,用 clip 限制概率比、用 KL 惩罚把策略锚在参考策略 \(\pi_{\text{ref}}\)(通常就是 SFT 后的模型)附近:

\[\mathcal{J}_{\text{R-GRPO}}(\theta)=\mathbb{E}_{x}\frac{1}{G}\sum_{i=1}^{G}\min\!\Big(\frac{\pi_\theta(\tau_i\mid x)}{\pi_{\text{old}}(\tau_i\mid x)}\hat{A}_i,\ \mathrm{clip}\big(\tfrac{\pi_\theta}{\pi_{\text{old}}},1-\epsilon,1+\epsilon\big)\hat{A}_i\Big) - \beta\,D_{\mathrm{KL}}(\pi_\theta \| \pi_{\text{ref}})\]

⚠️ 该目标在缓存中同样有符号损坏(原文式 (13)),结构按 GRPO 标准形式还原,以原文为准。关键的训练超参是:SFT 权重 \(\alpha=0.1\)、奖励权重 \((\lambda_a,\lambda_t,\lambda_v)=(0.8,0.1,0.1)\)、奖励裁判为 Qwen-3-VL-8B、CoE 合成用 Qwen-2.5VL-72B。另外,论文两处对 R-GRPO 的展开不一致("Reasoning-enhanced Group Relative Preference Optimization" 与 "Reasoning-enhanced Forensic Evidence Analysis"),以原文为准。

实验关键数据

主实验

评测覆盖三个集合:域内的 REVEAL-Bench、跨域的 GenImage、以及作者新构造的 REVEAL-Bench++(10K 张,FLUX、FLUX2、Z-Image、Qwen-Image、SDv3.5 各 2K,真假各半,五个生成器均未出现在训练中)。所有基线都用官方代码在相同划分与协议下重训。

方法 REVEAL-Bench SDv3.5 FLUX FLUX2 Qwen-Image Z-Image 平均
CNNSpot 87.80 71.70 70.30 61.70 82.35 59.10 72.16
UnivFD 86.95 84.45 84.55 83.65 85.85 66.75 82.03
NPR 95.40 53.00 51.20 51.60 51.40 53.60 59.37
HyperDet 93.25 88.80 79.70 65.20 88.15 70.80 80.98
AIGI-Holmes 93.10 82.14 79.35 76.41 75.43 69.47 79.32
Veritas 72.75 87.35 89.90 90.76 90.00 87.80 86.43
Ivy-xDetector 77.65 90.75 91.60 91.04 91.65 86.55 88.21
REVEAL 95.31 94.38 93.44 91.25 95.00 84.69 92.35

(准确率 %;"平均"按原文为上述六列平均。REVEAL 相对最强基线 Ivy-xDetector 提升 4.14 个点。)

方法 Midjourney SD v1.4 SD v1.5 ADM GLIDE Wukong VQDM BigGAN 平均
CNNSpot 62.45 74.25 73.85 63.55 73.60 73.70 71.35 39.45 66.53
UnivFD 75.00 84.35 80.95 85.50 71.75 82.00 80.70 88.45 81.09
NPR 84.80 88.85 88.05 85.10 94.30 87.05 84.45 88.95 87.69
HyperDet 68.40 91.85 92.30 100.0 67.05 89.20 80.45 57.65 80.86
AIDE 79.90 95.90 94.95 87.75 90.35 94.85 90.10 91.10 90.61
VIB-Net 53.25 60.25 57.85 65.00 68.55 60.85 52.55 38.00 57.04
AIGI-Holmes 86.10 93.17 91.22 84.32 72.53 92.10 89.77 91.00 87.53
REVEAL 93.75 97.81 97.19 95.00 86.88 96.25 95.94 96.88 94.96

(GenImage 跨域泛化,准确率 %;REVEAL 比之前最好结果高 4.35 个点。)

消融实验

训练策略消融(表 5)与骨干替换消融(表 4)分别在 REVEAL-Bench 上进行:

配置 准确率 (%) 说明
非推理 SFT 61.21 完全没有推理数据与推理监督
Answer-first 格式 82.39 有推理文本,但答案先于推理
CoE Tuning 85.73 引入 CoE 数据与标准结构
CoE Tuning + GRPO 91.56 换成普通 GRPO
CoE Tuning + R-GRPO 95.31 本文完整两阶段

⚠️ 原文该表未标注所用骨干,数字 85.73 / 91.56 与表 4 中 Qwen2.5-VL-7B、LLaVA-1.5-7B 的 CoE 结果重合,骨干归属以原文为准。

骨干 CoE Tuning + R-GRPO
Phi-3.5 83.75 87.19
Qwen2.5-VL-3B 87.18 89.06
Qwen2.5-VL-7B 85.73 92.19
LLaVA-1.5-7B 91.56 92.81
LLaVA-1.5-13B 93.06 95.31

(准确率 %。R-GRPO 在所有骨干上都带来提升,且骨干越大最终性能越好。)

方法 准确率 (%)
最佳单个轻量专家 65.48
八专家多数投票 78.35
决策树 74.75
REVEAL 95.31

(表 6:与基于八专家输出的规则式聚合对比,说明"把专家预测合成起来"远不如"让大模型沿证据链推理"。)

关键发现

  • 推理监督是最大的一档增益,但格式不是关键。 没有推理数据的 SFT 只有 61.21%,加上 answer-first 格式的推理文本到 82.39%,改成 CoE 的"先推理后判定"结构才到 85.73%——同样的推理文本量,顺序反了会掉 3 个多点,说明约束推理链先于结论这一结构与数据本身同样重要。
  • R-GRPO 相比普通 GRPO 的增益几乎与"从无推理到有推理"同量级。 GRPO 91.56% → R-GRPO 95.31%,提升 3.75 个点,且这一增益在 Phi-3.5、Qwen2.5-VL-3B/7B、LLaVA-1.5-7B/13B 五个骨干上一致出现,说明证据锚定的复合奖励是模型无关的、而不是对某个骨干的调参红利。
  • 域内优势小、跨域优势大,是这篇论文最值得注意的现象。 NPR 在 REVEAL-Bench 上拿到 95.40%(甚至略高于 REVEAL 的 95.31%),但在 REVEAL-Bench++ 上平均只有 59.37%,FLUX / Qwen-Image / Z-Image 三列都在 51–53% 徘徊;REVEAL 则在五个新生成器上保持 84.69–95.00%。小模型擅长拟合域内统计规律,一旦分布漂移就崩,而证据链推理的收益主要体现在没见过的生成器上。
  • 鲁棒性上 REVEAL 也保持领先。 对测试图施加高斯模糊(\(\sigma=4\))与 JPEG 压缩(quality = 90/80/70/60)后,REVEAL 在各档扰动强度下都比基线更稳。
  • 解释质量的评估方式不是主观印象,而是三条互补证据。 论文用人类偏好研究(附录 E)显示 REVEAL 的解释被优先选择的比率比前作高 26%,另用多视角保真度评测(附录 G)与闭源/开源可解释方法的对比(附录 H)佐证;数据侧则用图 4 从标注正确率、对 GAN 频域伪影的描述准确性、以及 100 个含专业术语样本的人工复核三个角度,证明专家引导的标注明显优于纯 LLM 直接标注。需要说明的是,主表只报 ACC,因为 REVEAL 输出的是文本判定而非可校准的 logits,论文明确不报 AP 一类需要分数输出的指标。

亮点与洞察

  • "专家只用于造数据、不进训练与推理"是一个很实用的工程取舍。 它让方法在部署时退化成一个普通 MLLM 检测器,不再需要维护八个专家模型的推理链路,同时又保留了专家提供的监督信号——把八个小模型的感知能力"蒸馏"进大模型的推理链。
  • 把 post-hoc 合理化与因果式解释的差别落成一个概率分解顺序\(p(z\mid x)p(y\mid x,z)\) vs \(p(y\mid x)p(z\mid x,y)\)),是这篇论文最"啊哈"的地方。它把一个听起来很哲学的"解释是否忠实"问题,变成了一个可以在损失函数层面强制的建模顺序问题。
  • 用打乱推理链来检验逻辑稳定性(扰动后结论是否剧变)是一个很便宜但有效的奖励设计,几乎不需要额外标注。这个思路可以迁移到任何"推理链质量难以直接度量"的任务上——比如数学推理里对中间步骤做等价变换、或代码生成里对语句顺序做无关重排,看结论是否稳定。
  • 用不做额外训练的大模型当奖励裁判,替代句向量相似度这类度量式奖励,对"解释质量"这种主观维度尤其合适;代价是训练时多一次大模型前向,需要权衡吞吐。
  • 多视角对齐奖励把"解释是否对得上图"具体化为"频谱 / 高通 / 边缘 / 局部伪影四种视角下是否都成立",这个把可解释性拆成可枚举视角的做法,也很容易搬到其他取证类任务(视频伪造检测、文档篡改定位)。

局限与展望

  • 主实验只用 ACC 一个指标,且因为输出文本而非 logits,没有报告 AP 等依赖分数阈值的指标;判定到二值标签的映射方式(文本 Real/Fake → 标签)也使与日志型检测器的比较不完全对称。
  • 消融表(表 5)未标注所用骨干,且其数字与表 4 中不同骨干的数值重合,读者无法完全确定每一行对应的模型规模;这会削弱"推理监督与 R-GRPO 各自贡献多少"的定量结论。
  • 训练数据虽然声称覆盖 6M 池,但最终只有 60K(约 1% 选择率),且由八位专家的证据蒸馏而来——专家自身的盲区会通过 CoE 标注固化进模型。当出现一种八位专家都检测不到的新伪影时,数据侧与奖励侧同时失效,这是证据锚定范式的固有风险。
  • 奖励依赖 Qwen-3-VL-8B 当裁判,论文虽然把裁判可靠性与偏置分析放在附录 F,但奖励模型与被评测模型同源(都是 Qwen 系)时的一致性偏置仍值得怀疑。
  • 推理开销方面,REVEAL 输出完整证据链,token 数远高于判别式检测器;论文未给出延迟或吞吐的对比,这在需要实时审核的场景里可能是决定性的。
  • 可以改进的方向:把专家集合做成可扩展的(新伪影出现时补充专家的同时增量更新 CoE 标注),以及在奖励中加入对"证据引用是否真实来自该专家输出"的显式核对,进一步压缩"编造证据"的空间。

相关工作与启发

  • vs AIGI-Holmes:两者都用"小模型专家 + 大模型推理"的组合,但 AIGI-Holmes 让专家做全局过滤筛图、解释仍由多专家陪审机制事后生成;REVEAL 让专家输出结构化的伪影掩码与诊断标签,并把这些证据显式写进 CoE 标注,低层伪影到最终结论之间是可核验的因果链。REVEAL 的代价是依赖八位专家在离线阶段的覆盖能力。
  • vs RAIDX:RAIDX 用检索增强生成 + GRPO 提升文本描述质量,奖励设计偏通用;REVEAL 的奖励专门针对取证场景,且强调多视角视觉证据的对齐,因此能把解释钉在图像本身而不是检索到的先验知识上。
  • vs NPR / AIDE / HyperDet 等低层伪影检测器:它们在域内甚至可以打得过 REVEAL(NPR 在 REVEAL-Bench 上 95.40%),但换到新生成器就骤降(REVEAL-Bench++ 平均 59.37%)。这说明低层统计线索与证据链推理是互补的:前者提供 REVEAL 所依赖的证据来源,后者负责在分布漂移时保持判断稳定。
  • vs FakeBench / Holmes-Set:这些数据集提供了图文解释,但标注是自由文本、缺少专家证据与推理过程两个维度(见表 1),因此只能训练"说得像"而不能训练"推理得对"的模型。

评分

  • 新颖性: ⭐⭐⭐⭐ 把"解释必须先于判定"落成概率分解、并用证据锚定的三项奖励去优化推理链,这个角度在 AIGC 取证里是新的;但"专家证据 + CoT 数据 + GRPO"的组合本身并不陌生。
  • 实验充分度: ⭐⭐⭐⭐ 覆盖域内、GenImage 跨域与五个新生成器的 REVEAL-Bench++,五个骨干、训练策略与规则聚合三组消融,并配人类偏好与多视角保真度评估;扣分在于主指标只有 ACC、表 5 骨干未标注。
  • 写作质量: ⭐⭐⭐ 动机与两阶段方法的叙述清晰,但公式在排版中损坏严重(式 (2)(3)(5)(13) 均不完整),R-GRPO 的名称在正文两处展开不一致,消融表的元信息也不完整。
  • 价值: ⭐⭐⭐⭐ 60K 的专家证据 CoE 数据集与 8 个专家完全不参与推理的部署形态,对可解释 AIGC 取证这条线有直接的可复用价值。