跳转至

Few-Shot Synthetic Image Attribution: Identifying Unseen Generators with Limited Samples

会议: ECCV 2026
arXiv: 2509.25682
代码: https://github.com/teheperinko541/OmniDFA
领域: 图像生成
关键词: 合成图像溯源, 少样本学习, 对比学习, AI生成图像检测, 开放集分类

一句话总结

本文定义了一个全新的「少样本合成图像溯源」任务——用每类仅 10 张参考图就能识别训练时未见过的图像生成器,并构建了含 45 个独立生成器(无 PEFT 变体)的 OmniFake 数据集和双路径对比学习基线 OmniDFA,在溯源与检测上均显著超越前人。

研究背景与动机

AI 生成图像(AIGI)已经跨过了「能否分辨真伪」的阶段。当前更紧迫的问题是:给定一张假图,能否说清它是哪个生成模型产的?这对舆论溯源、模型漏洞分析、司法取证都至关重要。现有的图像溯源方法大致分两类:闭集方法(如 DNA-Det、CPL)只能识别训练时见过的生成器,遇到新生成器必须重新训练;开集方法则把所有未见过的生成器统归为「未知」类——本质上只解决了「是否认得出」,不能回答「是谁干的」。随着 Midjourney V6、FLUX、Janus-Pro、Hunyuan-DiT 等新模型日新月异,这两种范式在实际部署中都不可持续:每次新模型出现就重训整个网络既不现实也不经济。

核心矛盾在于:溯源需要区分远比「真 / 假」更细粒度的类别边界——每个生成器都有独特的痕迹模式(artifact pattern),但新生成器层出不穷,不可能在训练时穷举。理想的能力是:给模型几张新生成器的样图,它就能在测试时迅速定位该生成器的特征,无需再训练就能认出同类图片。这正是少样本学习的优势场景。然而现有 AIGI 数据集要么类别太少(GenImage 仅 8 类,且含同质化变体),要么优先服务于检测而非溯源,缺乏为多类溯源精心设计的、类别间结构互异的标注资源。

核心 idea:将合成图像溯源形式化为开放集下的 N-way K-shot 少样本分类问题,训练时用监督对比学习拉近同类生成器的特征、用中心损失约束真实图像紧密聚簇,测试时仅凭每类 10 张支持样本即可识别未见过的生成器。

方法详解

整体框架

OmniDFA 的流程分为两个阶段。训练阶段,每张输入图片经过双路径编码器(低层局部裁剪 + 高层全局缩放)提取互补特征,拼接后经 MLP 投影为 128 维归一化嵌入,在监督对比损失和球面中心损失的联合约束下优化:对比损失拉近同类生成器嵌入、推开异类;中心损失单独将真实图像聚向一个可学习的球面中心。测试阶段的溯源使用原型分类:从 N 个未见生成器的 K 张支持样本中计算每类的原型中心,查询样本按到各原型的最小距离溯源;检测则通过一个基于 Tukey 法 + 动量更新的自适应角度边界来判断——落在真实中心边界内的判为真,超出则判为假。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    A["输入图片"] --> B["双路径编码"]
    B --> B1["全局路径<br/>等比缩放→中心裁剪"]
    B --> B2["局部路径<br/>高分辨率直接裁剪"]
    B1 --> C["特征拼接 + MLP"]
    B2 --> C
    C --> D["128维归一化嵌入"]
    D --> E["训练: 对比损失 + 中心损失"]
    D --> F["测试: 原型分类<br/>(N-way K-shot)"]
    D --> G["测试: 角度边界检测<br/>(Tukey + 动量更新)"]

关键设计

1. 双路径特征提取:兼顾全局结构与局部痕迹

高分辨率 AIGI 图片中的检测线索可能存在于不同尺度上:全局构图风格和白平衡属于高层语义信息,而像素级混叠伪影、块边界不连续等 artifact 往往只出现在局部高分辨率区域。现有方法按固定分辨率缩放输入,要么丢失全局结构,要么压碎局部细节。OmniDFA 用两条互补路径来解决:全局路径将短边缩放至 224 像素后中心裁剪,保留画面整体的布局和语义;局部路径直接在原图上做高分辨率裁剪,最大限度保持纹理级 artifact 的完整性。两条路的特征在通道维度拼接后经 MLP 投影为 128 维嵌入。消融显示双路比任意单路在溯源准确率上高出 5-8%,验证了多尺度融合的必要性。

2. 监督对比学习 + 球面中心损失:联合优化溯源与检测

少样本溯源的难点在于:不同生成器的痕迹既细微又高度重叠,仅靠交叉熵难以学到足够可分的嵌入。OmniDFA 采用监督对比损失,在一个 batch 内对同生成器的样本拉近(余弦相似度高)、异生成器推开。这个损失天然适合多类场景——它不依赖固定分类层,所以测试时可以无缝接入未见过的类别。对比损失单独已足够做溯源,但面对海量真实图片(训练集中真实与假图各一半)会导致真实类在嵌入空间中过于分散,检测时难以界定边界。因此引入球面中心损失:为真实类维护一个 L2 归一化的可学习中心向量,约束所有真实图片的嵌入靠近该中心。两者联合构成最终损失 \(\mathcal{L} = \mathcal{L}_{sup} + \lambda \mathcal{L}_{cen}\)

3. 自适应角度边界阈值:将溯源嵌入直接用于二分类

常规做法是在特征提取器上加一个独立的二分类头做检测,但这会引入额外的参数量和训练耦合。OmniDFA 巧妙地复用了已学到的嵌入空间:真实图片在球面中心损失约束下紧密聚簇,那么任何真实图片到中心的角度应该在一个合理的上界之内。这个上界用 Tukey 法(箱线图四分位距法)从当前 batch 内真实图片的角度分布中估计:\(\gamma_b = Q_3 + 1.5 \times IQR\)。训练过程中通过动量更新 \(\gamma \leftarrow \beta\gamma + (1-\beta)\gamma_b\) 平滑地调整全局边界,避免单 batch 统计波动导致过激裁切。测试时算查询嵌入与真实中心的夹角,小于 \(\gamma\) 判为真、大于判为假。这个设计让同一个嵌入空间同时服务于溯源和检测,无需额外分类头。不足是在真实图片边缘样本上偶有保守误判(真实类 F-Acc 略低于主流检测器),但总体检测 AP 达 96.97%,显著超越前人。

损失函数 / 训练策略

监督对比损失 $\(\mathcal{L}_{sup} = \sum_{i=1}^{N}\frac{-1}{|P(i)|}\sum_{p\in P(i)}\log\frac{e^{\mathbf{z}_i \cdot \mathbf{z}_p / \tau}}{\sum_{a \in P(i)\setminus\{p\}} e^{\mathbf{z}_i \cdot \mathbf{z}_a / \tau}}\)$

球面中心损失 $\(\mathcal{L}_{cen} = \frac{1}{|P_r|}\sum_{p \in P_r}(1 - \mathbf{z}_p \cdot \mathbf{c}_r)\)$

联合损失 \(\mathcal{L} = \mathcal{L}_{sup} + \lambda \mathcal{L}_{cen}\),温度 \(\tau=0.07\)\(\lambda=0.01\)。使用 ConvNeXt-Small 作骨干,AdamW 优化器,8 卡 A100,batch size 1152(每卡 128 张假图 + 16 张真图),20 轮训练,余弦退火学习率调度。

实验关键数据

主实验

少样本溯源(5-way / 15-way 10-shot)

方法 5-way Acc 5-way Macro-F1 15-way Acc 15-way Macro-F1
ComFor 59.86 58.82 38.75 37.40
FSD 73.31 72.52 52.28 51.07
OmniDFA 75.34 74.45 53.54 51.74

开放集检测(OmniFake 跨折平均)

方法 Acc AP
AIDE 88.01 94.10
ComFor 89.75 93.13
OmniDFA 95.58 96.97

跨数据集零样本检测

方法 GenImage Avg Acc Chameleon Acc Chameleon F1
PatchCraft 90.32 55.70 2.62
AIDE 90.53 65.77 40.19
OmniDFA 95.86 83.48 80.09

消融实验

配置 5-way Acc / Detection Acc 说明
Full model 75.34 / 95.58 完整双路 + 对比 + 中心损失
w/o 局部分支 ~67 / ~90 只用全局 resize,丢失局部 artifact
w/o 全局分支 ~68 / ~89 只用局部裁剪,缺乏全局整合
w/o 对比学习(二分类器) ~45 / ~86 退化为普通分类,少样本溯源能力大幅下降
w/o 中心损失 75.0 / ~92 溯源基本不变,但检测 AP 下降明显

关键发现

  • 监督对比损失是少样本溯源能力的核心来源:去掉它退化为二分类器后 5-way 准确率从 75% 骤降至 45%。
  • 支持样本数从 1-shot 到 10-shot 准确率提升最快(约 +20%),10-shot 之后收益递减——验证了「少量样本即可有效溯源」的设定合理性。
  • 在 JPEG 压缩鲁棒性上,OmniDFA 在训练增强范围内表现稳定;超出范围后仍优于多数对比方法,但高斯模糊超范围时下降明显——说明需要更广泛的数据增强策略。
  • 跨数据集零样本检测在 Chameleon 上超出第二名 17.71%,说明多生成器混合训练学到了真正通用的痕迹表征,而非过拟合到特定数据集风格。

亮点与洞察

  • 任务定义好:将「溯源」抽象为 N-way K-shot 开放集少样本分类,既有实际落地价值又有明确的技术指标,填补了 AIGI 检测和溯源之间的空白带。
  • 数据集结构设计值得注意:OmniFake 特意排除所有 PEFT / LoRA 变体,只保留架构本质不同的 45 个生成器——这保证了类别间差异是真的「痕迹不同」而非「参数微调」。这一设计理念反常识(通常数据集追求尽可能多),但在溯源评测中避免了同质化类别导致的虚假泛化。
  • 回用嵌入空间做检测:用 Tukey 法 + 动量更新从同一嵌入空间中派生检测边界,免去了额外分类头和对应的训练复杂度,是一个轻量且优雅的复用设计。
  • 对比学习 + 中心损失的组合:单独交对比学习擅长分离不同类但不在意类内紧致度,中心损失专为真实类补了紧致约束——两者分工明确,分别服务溯源和检测任务。

局限与展望

  • 真实图像检测的准确率略低于假图检测(R-Acc ~94% vs F-Acc ~97%),作者归因于边界阈值对边缘样本的保守判决。未来可以研究更自适应的边界机制(如基于密度估计的动态边界)。
  • 高斯模糊超出训练增强范围后性能下降显著,说明当前增强策略对模糊的覆盖不足。后续可纳入更强的模糊增强。
  • 当前方法依赖 ConvNeXt-Small 骨干,更大的骨干(如 ViT-L)或许能进一步提升少样本泛化,但计算成本也会剧增。
  • 数据集虽排除了 PEFT 变体,但实际应用中同一个基座模型的不同 finetune 也会产生图片,这些「同一家族」的细粒度区分仍是一个开放问题。

相关工作与启发

  • vs ComFor: ComFor 在大规模扩散模型集上预训练后天然具备较好的特征提取能力,但受限于二分类框架,在少样本多类溯源中仍落后 OmniDFA 约 15%。
  • vs FSD: FSD 也使用度量学习做开放集检测,但仅做二分类不做多类溯源;OmniDFA 的对比学习 + 双路特征在检测和溯源上均优于 FSD。
  • vs DNA-Det / CPL / UnivAttr: 这些纯闭集 / 开集方法在少样本设置下表现不佳(~50% 5-way),因为它们针对已知类优化,缺乏对未知类的泛化机制。
  • vs AIDE / PatchCraft: 传统检测器在 GenImage 这种类别较少的数据集上表现尚可,但 Chameleon 这类真实场景数据上严重偏斜(F1 低至 2-40%),而 OmniDFA 通过多生成器训练实现了更均衡的双向检测。

评分

  • 新颖性: ⭐⭐⭐⭐ [任务层面创新——首次将少样本学习引入合成图像溯源,是最早定义和系统解决该问题的论文之一]
  • 实验充分度: ⭐⭐⭐⭐⭐ [3 折交叉验证 × 2 种任务 × 跨数据集零样本 × 充分的消融,实验设计系统周密]
  • 写作质量: ⭐⭐⭐⭐ [结构清晰,Motivation 有说服力,方法论和实验结果组织得当]
  • 价值: ⭐⭐⭐⭐⭐ [为 AIGI 溯源提供了全新的范式、高质量开源数据集(45 个独立生成器)和强基线,对学术研究和实际部署都有重要推动意义]