【论文精读】树环水印Tree-Ring Watermarks:隐形且稳健的扩散图像的指纹

文章目录

  • 一、文章概览
    • (一)主要工作
    • (二)相关工作
  • 二、具体方法
    • (一)威胁模型
    • (二)树轮水印概述
    • (三)构造树轮水印键
    • (四)提取用于水印检测的 P 值
  • 三、实验
    • (一)实验设置
    • (二)水印精度和图像质量基准测试
    • (三)水印稳健性基准测试
    • (四)消融实验
  • 四、局限性和未来的工作


论文:Tree-Ring Watermarks: Fingerprints for Diffusion Images that are Invisible and Robust

一、文章概览

(一)主要工作

  • 介绍了一种称为树环水印的新技术,该技术可以稳健地识别扩散模型输出的指纹。

    • 没有对图像进行事后修改,而是直接影响采样过程,修改生成图像的分布
    • 水印在生成场景的潜在布局的微小变化中具体化,无法通过人工检查与其他随机样本区分开
    • 水印将模式嵌入到用于采样的初始噪声向量中。这些模式在傅立叶空间中构建,因此它们对于卷积、裁剪、膨胀、翻转和旋转具有不变性。图像生成后,通过反转扩散过程来检索噪声向量来检测水印信号,然后检查嵌入信号。
    • 树环水印不需要额外的训练或微调来实现,并且水印只能由控制图像生成模型的各方检测到。
  • 在许多测试中验证了水印,测量对图像质量分数的可忽略不计的影响、对转换的高鲁棒性、检测中的低误报率以及具有和不具有文本条件的任意扩散模型的可用性。

    • 证明该技术可以轻松应用于任意扩散模型,包括文本条件稳定扩散,作为 FID 损失可以忽略不计的插件。
    • 树环水印对于大量常见的图像变换(例如裁剪、颜色抖动、膨胀、翻转、旋转或噪声)比现有方法更加鲁棒。
      在这里插入图片描述

(二)相关工作

  • 扩散模型
  • 数字内容加水印
  • 指纹识别和水印生成模型
  • 扩散模型及其反演

二、具体方法

(一)威胁模型

水印的目标是在不降低图像生成质量的情况下,使模型所有者能够识别某个图像是否是由他们的模型生成的。带有水印的图像用于日常应用会经历各种图像操作和修改。我们将其形式化为一个试图通过常见图像操作移除生成图像中水印的对手,旨在逃避检测。我们还非正式地关注水印在常见使用过程中的鲁棒性。

在这一威胁模型中,水印嵌入者和攻击者依次行动:

  • 模型所有者(生成阶段):Gene 拥有生成扩散模型 ε θ ε_θ εθ 并允许通过包含私有水印算法 T T T 的 API 生成图像 x x x 。水印算法 T T T 对生成的分布的影响应该可以忽略不计,以便保持质量并且水印不会留下可见的痕迹。
  • Forger:Fiona 通过 API 生成图像 x x x,然后尝试通过应用强数据增强将 x x x 转换为 x ′ x′ x 来逃避 T 的检测。后来,Fiona 将 x ′ x′ x 用于禁止的目的,并声称 x ′ x′ x 是她的知识产权。
  • 模型所有者(检测阶段):如果可以访问 ε θ ε_θ εθ T T T,Gene 会尝试确定 x ′ x′ x 是否源自 ε θ ε_θ εθ。 Gene 不知道用于调节模型的文本,或其他超参数(例如指导强度和生成步骤数)。

(二)树轮水印概述

傅里叶变换是一种数学变换,用于将时间或空间域的信号转换到频率域。其基本思想是将复杂的信号分解成一系列简单的正弦波(或余弦波)的叠加,每个正弦波具有特定的频率、振幅和相位。通过这种分解,可以更容易地分析和处理信号,尤其是在频率域内。

树轮水印的嵌入:
我们不是将密钥直接印到高斯数组中,这可能会在结果图像中产生明显的图案,而是将密钥印到起始噪声向量的傅里叶变换中。然后使用标准扩散管道将该初始噪声矢量转换为图像,无需任何修改。

树环水印通过在傅里叶变换的频域中精心选择秘钥 k ∗ k^* k,结合二进制掩码 M M M,将初始高斯噪声向量 x T x^T xT转换为带有隐蔽图案的傅里叶系数向量 F ( x T ) \mathcal F(x_T) F(xT)。具体来说:我们选择一个二进制掩码 M M M ,并对密钥 k ∗ ∈ C ∣ M ∣ k^* ∈ C^{|M|} kCM 进行采样。因此,初始噪声向量 x T ∈ R L x^T ∈ R^L xTRL 可以在傅立叶空间中描述为

F ( x T ) i ∼ { k i ∗ , if  i ∈ M N ( 0 , 1 ) , otherwise \mathcal F(x_T)_i \sim \begin{cases} k_i^*, & \text {if $i\in M$} \\ \mathcal N(0,1), & \text{otherwise} \end{cases} F(xT)i{ki,N(0,1),if iMotherwise

  • M是一个二进制掩码,用于指示哪些傅里叶系数 F ( x T ) i \mathcal F(x_T)_i F(xT)i需要被修改以嵌入水印
    • 对于属于集合 M 的索引 i i i,将傅里叶系数 F ( x T ) i \mathcal{F}(x_T)_i F(xT)i设置为预定义的值 k i ∗ k_i^* ki
    • 对于不属于集合 M 的索引 i i i,保持傅里叶系数 F ( x T ) i \mathcal{F}(x_T)_i F(xT)i 为标准正态分布的随机值。
  • 选择密钥 k ∗ ∈ C ∣ M ∣ k^* ∈ C^{|M|} kCM k ∗ k^* k是一个复数向量,长度等于掩码 M M M中的元素数量 ∣ M ∣ |M| M,每个 k i ∗ k_i^* ki都是一个复数,用于嵌入水印

树轮水印的检测:
在检测时,给定生成的带有水印的图像 x 0 ′ x^′_0 x0,模型所有者可以通过 DDIM 反演过程获得近似的初始噪声向量 x T ′ ,即 x T ′ = D † θ ( x 0 ′ ) x^′_T,即x^′_T = D^† θ(x^′_0) xT,即xT=Dθ(x0)。其中 D † D^† D是伪逆,而 θ ( x 0 ′ ) θ(x^′_0) θ(x0)是生成网络对 x 0 ′ x'_0 x0的输出。水印检测的度量 d detection distance d_{\text{detection distance}} ddetection distance定义为噪声向量 x T ′ x'_T xT在水印区域 M 的傅里叶空间中的密钥 k ∗ k^* k与对应傅里叶系数之间的平均 L1 距离,即
d detection distance = 1 ∣ M ∣ ∑ i ∈ M ∣ k i ∗ − F ( x T ′ ) i ∣ d_{\text{detection distance}}=\frac{1}{|M|}\sum_{i\in M}|k_i^*-\mathcal F(x'_T)_i| ddetection distance=M1iMkiF(xT)i

如果水印低于调整的阈值 τ ,则检测到水印。

(三)构造树轮水印键

通过在初始的高斯噪声数组的傅里叶空间中嵌入“密钥”的模式来对图像添加水印。这种方法利用了傅里叶变换在周期信号中的几个经典特性:

  • 像素空间中的旋转对应于傅立叶空间中的旋转。
  • 像素空间中的平移将所有傅立叶系数乘以常数复数。
  • 像素空间中的膨胀/压缩对应于傅里叶空间中的压缩/膨胀。
  • 像素空间中的颜色抖动(向通道中的所有像素添加常数)对应于改变零频傅里叶模式的幅度。

基于傅里叶变换的特性设计三种不同类型的密钥,以实现在图像生成和检测过程中的不同需求和性能:

  • Tree-RingZeros:
    • 掩码选择:使用一个圆形区域作为掩码,这种选择保持了对图像空间旋转的不变性,因为圆形在旋转下保持不变。
    • 密钥选择:密钥被选为一个全零数组,这意味着在水印嵌入的过程中,傅里叶变换的部分将直接保留为零。这种方法使得水印对于图像的平移、裁剪和扩展操作具有不变性。然而,全零密钥会严重偏离高斯分布,可能影响到生成图像的质量,并且阻止了使用多个不同的密钥来区分不同的模型。
  • Tree-RingRand:
    • 掩码选择:具体描述中未提及到具体的掩码选择,但通常也会选择一个旋转不变的形状。
    • 密钥选择:从高斯分布中随机选择一个固定的密钥 k ∗ k^* k。这种密钥具有与初始噪声数组傅里叶模式相似的独立同分布的高斯性质。因此,这种方法对生成图像的质量影响较小,并允许模型所有者拥有多个不同的密钥来进行水印识别。但是由于随机性质,这种方法对于图像的平移、旋转等操作不具备不变性。
  • Tree-RingRings:
    • 掩码选择:同样选择一种旋转不变的掩码形状
    • 密钥选择:引入了一个由多个环组成的模式,每个环上的值是从高斯分布中随机选择的常数。这种方式使得水印对于图像的旋转具有不变性,因为环的形状在旋转下保持不变。同时,选择每个环的常数值来自高斯分布,有助于在一定程度上保持水印的不可察觉性和生成图像的质量。

(四)提取用于水印检测的 P 值

1、P值

  • 设计可靠的水印检测器时的一个重要考量:提供一个可解释的p值,用于评估观察到的水印是由于随机机会在自然图像中出现的概率。
  • 除了使检测结果可解释外,P 值还可用于设置检测阈值,即当 P 低于所选阈值 α 时,水印即被 “检测”。选择合适的 α 可以明确控制假阳性率,即错误地认为水印存在的概率,使得错误指控在统计上不太可能发生。

2、构建统计检验

  • 为了检测水印的存在,构建了一种统计测试,该测试可以生成严格的 P 值。前向扩散过程的设计目的是将图像映射到高斯噪声上,因此我们假定一个空假设,即自然图像阵列 x T ′ x'_T xT的条目是高斯。
  • 实践结果表明,这种对自然图像的高斯分布假设在很大程度上是成立的。这意味着水印检测方法在实际应用中是可行和有效的,能够较好地区分出水印的存在与否。

在这里插入图片描述
3、数学推导:

  • H 0 H_0 H0假设:对于任何测试图像 x ′ 0 x′_0 x0,我们计算近似初始向量 x T ′ x'_T xT(自然图像得到的逆噪声数组),然后设置 y = F ( x ′ T ) y = F (x′_T) y=F(xT)。然后定义以下原假设:
    H 0 :  y 是从高斯分布  N ( 0 , σ 2 I C ) 中得到的 \text{H$_0$: } y \text{ 是从高斯分布 }\mathcal N(0,\sigma^2I_{\mathbb{C}})\text{中得到的} H0y 是从高斯分布 N(0,σ2IC)中得到的
    其中 σ 2 \sigma^2 σ2是一个未知方差,使用公式 σ 2 = 1 M ∑ i ∈ M ∣ y i ∣ 2 \sigma^2=\frac{1}{M}\sum_{i\in M}|y_i|^2 σ2=M1iMyi2来估计每个图像。

  • 为了验证上述假设,定义分数:
    η = 1 σ 2 ∑ i ∈ M ∣ k i ∗ − y ∣ 2 \eta=\frac{1}{\sigma^2}\sum_{i\in M}|k_i^*-y|^2 η=σ21iMkiy2
    H 0 H_0 H0为真时, η \eta η的分布恰好是一个非中心 χ 2 \chi^2 χ2分布,自由度为 ∣ M ∣ |M| M,非中心参数 λ = 1 σ 2 ∑ i ∣ k i ∗ ∣ 2 \lambda=\frac{1}{\sigma^2}\sum_i|k_i^*|^2 λ=σ21iki2。如果 η \eta η值太小而不能随机出现,就认为图像被加了水印。

  • 观测到小至 η \eta η值的概率由非中心 χ 2 \chi^2 χ2分布的累积分布函数 Φ χ 2 \Phi_{\chi^2} Φχ2给出:

p = Pr ⁡ ( χ ∣ M ∣ , λ 2 ≤ η ∣ H 0 ) = Φ χ 2 ( z ) p=\Pr(\chi^2_{|M|,\lambda}\leq \eta|H_0)=\Phi_{\chi^2}(z) p=Pr(χM,λ2ηH0)=Φχ2(z)

对于每个提示,显示带有和不带有水印的生成图像,以及经过转换的带有水印的图像。对于每个图像,我们报告一个p值。正如预期的那样,对于没有加水印的图像,这些值很大,而当存在水印时,这些值很小(允许拒绝原假设)。变换降低了水印强度,体现在p值的增加上。
在这里插入图片描述

三、实验

(一)实验设置

采用stable diffusion-v2 潜在文本到图像扩散模型,以及一个 256 × 256 ImageNet diffusion model 。

比较分析包括三种基线方法:

  • 两种免训练方法 DwtDct 和 DwtDctSvd
  • 一种基于 GAN 的预训练水印模型 RivaGAN

(二)水印精度和图像质量基准测试

  • 衡量水印有效性:AUROC、TPR@1%FPR
  • 衡量水印图像生成质量:FID、CLIP分数

实验结果显示在干净的环境中,除 DwtDct 和所有树环水印变体外,所有基线都具有很强的可探测性。Tree-RingRand 和 Tree-RingRings 对 FID 的影响可以忽略不计,对 CLIP 分数也没有影响。
在这里插入图片描述

(三)水印稳健性基准测试

除了高斯噪声和颜色抖动外, Tree-RingZeros对大多数扰动都表现出很高的鲁棒性。同样, Tree-RingRands在大多数情况下都很稳健,但在面对旋转时表现较差,这也在意料之中。总的来说, Tree-RingRings的平均性能最好,同时还能为模型所有者提供多种不同随机密钥的灵活性。值得注意的是,基线方法 RivaGan 在大多数情况下也表现出很强的鲁棒性,但需要强调的是,我们的方法无需训练,是真正的 "隐形 "方法。

在这里插入图片描述

(四)消融实验

1、生成时间步数和检测时间步数
即使生成时间和检测时间的步数差异很大,当模型所有者在不知道真实生成时间步数的情况下使用合理数量的推理步数进行检测时,AUC 的下降幅度也很小。这表明 DDIM 反演在近似初始噪声矢量时保持了其鲁棒性,并且无论采用多少步,都能有效地进行水印检测。有趣的是,我们注意到一种趋势,即检测时推理步骤越少,或生成时推理步骤越多,检测能力似乎就越强。这是一种有利的情况,因为模型所有者现在实际上不需要执行大量的 DDIM 反演步骤,同时,模型所有者(或用户)可以自由选择达到最佳质量的生成步骤数[Rombach 等人,2022]。
在这里插入图片描述
2、水印半径
注入水印图案的半径是影响鲁棒性和生成质量的另一个关键超参数。相应的结果如图 6(a) 所示。随着水印半径的增加,水印的鲁棒性也会提高。尽管如此,生成质量还是需要权衡。我们总体上确认半径为 16 时,既能提供合理的低 FID,又能保持较强的检测能力。

3、指导尺度
指导尺度用于控制文本条件的重要性。较高的指导尺度意味着生成更严格遵守文本指导,而较低的指导尺度则为模型提供了更大的创作自由。对于我们采用的稳定扩散模型来说,最佳指导尺度通常在 5 到 15 之间。我们在图 6(b) 中探讨了从 2 到 18 的这一系数,并强调在检测期间,引导的强度始终是未知的。虽然由于在检测过程中缺乏这种地面实况指导,较高的指导尺度确实会增加 DDIM 反演的误差,但即使在指导尺度为 18 时,水印仍然是稳健可靠的。这对于实际应用来说也是有益的,因为模型所有者可以为其用户保留可调整的引导尺度设置。
在这里插入图片描述

4、攻击强度
即使在核大小为 40 的高斯模糊等极端扰动下,树环水印仍能被可靠地检测到。
在这里插入图片描述

四、局限性和未来的工作

  • Tree-Ring Watermarking 要求模型所有者在推理过程中使用 DDIM。如今,DDIM 仍然可能是最流行的采样方法,因为它对 GPU 资源的使用经济且质量高。然而,如果 DDIM 失宠,建议的水印将需要适应其他采样方案。
  • 此外,所提出的水印在设计上只能由模型所有者验证,因为需要模型参数来执行反演过程。对手无法对水印执行白盒攻击,甚至无法验证一组操作是否破坏了水印。但是,它也限制第三方在不依赖 API 的情况下检测水印。
  • 目前还不清楚多个密钥 k ∗ k^* k 的容量有多大、是否可以为 API 的每个用户分配一个唯一的密钥?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/353608.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring中网络请求客户端WebClient的使用详解

Spring中网络请求客户端WebClient的使用详解_java_脚本之家 Spring5的WebClient使用详解-腾讯云开发者社区-腾讯云 在 Spring 5 之前,如果我们想要调用其他系统提供的 HTTP 服务,通常可以使用 Spring 提供的 RestTemplate 来访问,不过由于 …

口罩佩戴智能监测摄像机

智能监测摄像机在现代城市安全管理中扮演着关键角色,尤其是像口罩佩戴智能监测摄像机这样的设备,其应用正在日益扩展,对于公共卫生和安全至关重要。 这类摄像机利用先进的图像识别技术,能够实时监测人群中是否佩戴口罩。通过高精度…

python基础语法学习(工程向)-Stage3-数据可视化

json 是一种轻量的数据交互格式,可以按照json指定的格式去组织和封装数据,而本质上是一个带有特定格式的字符串。 功能 json是在各个编程语言中流通的数据格式,负责不同编程语言之间的数据传递和交互。 格式 json的格式要求较为严格&#…

[Cloud Networking] Layer3 (Continue)

文章目录 1. DHCP Protocol1.1 DHCP 三种分配方式1.2 DHCP Relay (中继) 2. 路由协议 (Routing Protocol)2.1 RIP (Routing Information Protocol)2.2 OSPF Protocol2.2.1 OSPF Area2.2.2 Route ID / DR / BDR2.2.3 LSA / OSPF 邻居表 / LSDB / OSPF路由表 2.3 BGP Protocol2.4…

交易中的群体行为特征和决策模型

本文基于人的行为和心理特征,归纳出交易中群体的行为决策模型,并基于这个模型,分析股价波浪运行背后的逻辑,以及投机情绪的周期变化规律,以此指导交易,分析潜在的风险和机会,寻找并等待高性价比…

Python大数据-电商商品详情数据分析【JD电商平台为例】

一、项目背景 网上购物已经成为大众生活的重要组成部分。人们在电商平台上浏览商品并购物,产生了海量的用户行为数据,用户对商品的详情数据对商家具有重要的意义。利用好这些碎片化、非结构化的数据,将有利于企业在电商平台上的持续发展&…

mysql分析常用锁

这里写自定义目录标题 1.未提交事物,阻塞DDL,继而阻塞所有同表的后续操作,查看未提交事务的进程2.存着正在进行的线程数据。3.根据processlist表中的id杀掉未释放的线程4.查看正在使用的表5.mysql为什么state会有waiting for handler commit6.什么情况导…

鸿蒙实现金刚区效果

前言: DevEco Studio版本:4.0.0.600 所谓“金刚区"是位于APP功能入口的导航区域,通常以“图标文字”的宫格导航的形式出现。之所以叫“金刚区”,是因为该区域会随着业务目标的改变,展示不同的功能图标&#xff…

快速压缩前端项目

背景 作为前端开发工程师难免会遇到需要把项目压缩成压缩文件来传送的情况,这时候需要压缩软件进行压缩文件处理 问题 项目中的依赖包文件非常庞大,严重影响压缩速度,即使想先删除再压缩,删除文件也不会很快完成 解决 首先要安…

Jmeter如何进行分布式测试

使用Jmeter进行性能测试时,有些同学问我如果并发数比较大(比如最近项目需要支持1000并发),单台电脑的配置(CPU和内存)可能无法支持,怎么办就需要使用分布式压测 1.分布式原理: 1、Jmeter分布式测试时,选择其中一台作…

数据库复习——范式(Normal Form)

因为上课的时候一直在摸鱼没有听懂,所以复习的时候理解一下数据库中关于范式的相关知识点。涉及范式的定义,以及给定一个函数依赖集判断是那种范式的方法。 范式 迄今为止一共提出了 6 6 6 种范式,他们的关系是 5 N F ⊂ 4 N F ⊂ B C N F …

UE5 C++ 跑酷游戏练习 Part1

一.修改第三人称模板的 Charactor 1.随鼠标将四处看的功能的输入注释掉。 void ARunGANCharacter::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) {// Set up action bindingsif (UEnhancedInputComponent* EnhancedInputComponent CastChecked&…

UML详解

1.what is the UML UML 全称是 Unified Modeling Language(统一建模语言),它以图形的方式来描述软件的概念 2.它存在的目的 UML 的目标是通过一定结构的表达,来解决现实世界到软件世界的沟通问题。 3.什么是模,…

Centos7安装自动化运维Ansible

自动化运维Devops-Ansible Ansible是新出现的自动化运维工具,基于Python 开发,集合了众多运维工具(puppet 、cfengine、chef、func、fabric)的优点,实现了批量系统配置 、批量程序部署、批量运行命令 等功能。Ansible…

【每日刷题】Day68

【每日刷题】Day68 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 451. 根据字符出现频率排序 - 力扣(LeetCode) 2. 最小的K个数_牛客题霸_牛客…

github连接报本地

一、创建GIthub账号 这里默认大家已经创建好了并且有加速器,能正常上网,然后才能进行下面的操作。 二、创建ssh公钥 网址:Sign in to GitHub GitHub Sign in to GitHub GitHub 进入下面的界面: 然后创建新的密钥 三、官方文…

Excel/WPS《超级处理器》功能介绍与安装下载

超级处理器是基于Excel或WPS开发的一款插件,拥有近300个功能,非常简单高效的处理表格数据,安装即可使用。 点击此处:超i处理器安装下载 Excel菜单,显示如下图所示: WPS菜单显示,如下图所示&am…

【BES2500x系列 -- RTX5操作系统】CMSIS-RTOS RTX -- 实时操作系统的核心,为嵌入式系统注入活力 --(一)

💌 所属专栏:【BES2500x系列】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#x1f49…

nodejs爬取小红书图片

昨天的文章已经描述了可以抓取评论区内容, 抓取图片内容和抓取评论区的内容基本一致 我们可以看到接口信息中含有图片链接,我们要做的就是爬取图片链接然后下载 这边要用到的模块为const downloadrequire(download) 将爬到的图片链接存放到images数组…

【解决问题】QApplication: No such file or directory,C++ 使用Qt或项目未正确加载Cmake报错

运行环境&#xff1a; Clion编译&#xff0c;构建C工程项目报错QApplication: No such file or directory 问题描述 QApplication: No such file or directory 引用的#include <QApplication>飘红 解决方案 1、Qt没有安装正确&#xff0c;请使用对应版本的Qt。或编译…