当前位置: 首页 > news >正文

图像处理之《黑盒扰动的可逆噪声流鲁棒水印》论文阅读

一、文章摘要

近年来,基于深度学习的数字水印框架得到了广泛的研究。现有的方法大多采用基于“编码器-噪声层-解码器”的架构,其中嵌入和提取过程分别由编码器和解码器完成。然而,这种框架的一个潜在缺点是编码器和解码器可能不能很好地耦合,导致编码器可能会将一些冗余特征嵌入到主机图像中,从而影响整个算法的不可见性和鲁棒性。为了解决这一问题,本文提出了一种基于流的鲁棒水印框架。该框架的基本组成部分是一个可同时实现嵌入和提取的可逆上下采样神经块。因此,编码后的特征与解码器需要的特征保持高度的一致性,有效地避免了冗余特征的嵌入。此外,为了保证黑盒扰动的鲁棒性,设计了一个可逆噪声层(INL)来模拟黑盒扰动,并在训练阶段作为噪声层。利用INL的可逆性,在提取前进行预处理,消除了扰动,进一步提高了算法的鲁棒性。大量的实验证明了该框架在视觉质量和鲁棒性方面的优越性。与现有的框架相比,该框架的视觉质量(以PSNR衡量)提高了2dB, JPEG压缩后的提取精度(QF=50)提高了4%以上。此外,提取精度在95%以上,对黑盒扰动具有较强的鲁棒性。
在这里插入图片描述

二、提出的方法

2.1 综述

该方法的主要目的是设计一个鲁棒的水印框架,不仅可以用于白盒扰动,也可以用于黑盒扰动,如图2所示。要训练的主要组件是一个基于流的编码器/解码器(FED),它有几个可逆的神经块。由于FED的结构可逆性,它可以在相同的参数下实现前向编码和后向解码。前向编码过程将主机图像Io中的水印信息M隐藏起来,得到带水印的图像Iem和冗余的Rf。然后,噪声层对水印图像进行有效的扰动处理,并为解码器训练提供扰动图像Id。后向解码过程以经过噪声层处理的扰动图像Id和全零矩阵Rb为输入,对其进行解码,得到提取的水印信号Mex。对于白盒扰动,我们使用现有的可微噪声层进行训练。对于黑盒扰动,我们将采用另一种INN来模拟这种扰动,并使用训练良好的模型作为噪声层,称为INL (invertible noise layer,可逆噪声层),详细内容将在章节中说明。在测试阶段,当面对黑盒扰动时,我们首先使用INL的后向处理将扰动的图像Id去噪为去噪后的图像Ide,并将Ide送入FED进行进一步解码

在这里插入图片描述
图2 所提出方法的框架。该算法的主要架构是基于流的编码器和解码器,它由几个可逆的神经块组成,可用于前向编码过程和后向解码过程。在编码器和解码器之间,执行包含白盒和黑盒扰动的噪声层,以将带水印的图像扰动为用于解码器训练的扰动版本

2.2 基于流的编码器/解码器

如前所述,基于流的网络自然适合于水印任务。基于流的模型有两个基本组成部分,即表示为fθ的前向编码函数和相应的具有相同参数θ的逆函数f−1θ。在前向编码过程中,接收水印矩阵M∈Rh×w×1和主机图像Io∈RH×W×3作为输入,输出水印图像Iem∈RH×W×3和冗余信息Rf∈Rh×w×1。后向解码过程中,将全零矩阵Rb∈Rh×w×1和扰动图像Id∈RH×W×3输入FED进行解码,得到提取的水印Mex∈Rh×w×1和恢复后的图像Ire∈RH×W×3。

FED与n个可逆神经块相结合。图3显示了第i个可逆神经块的结构,它由一个上行子网络Ui和两个下行子网络D1i和D2i组成。Ui的目标是将mi∈Rh×w×1上采样到与图像Io∈RH×W×3相同的大小。D1i和D2i的目标是将样本xi+1∈RH×W×3降至与mi∈Rh×w×1相同的大小。对于前向编码过程中的第i个可逆神经块,输入为mi和xi,输出mi+1和xi+1可表示为:
在这里插入图片描述

其中⊗表示点积运算。经过最后一个可逆神经网络,我们可以得到mn+1和xn+1,它们对应于最终输出,即冗余信息Rf和水印图像Iem。

对于后向解码过程,信息流从第(i + 1)个可逆神经网络到第i个可逆神经网络,如图3所示。其中,第一个可逆神经网络的输入是全零矩阵Rb和噪声层产生的扰动图像Id,后向解码的最后一个可逆神经网络的输出是rn和x’n。对于第i个可逆神经网络,输入为ri+1和x’i +1,输出为ri和x’i,可以用:
在这里插入图片描述
在这里插入图片描述
图3 第i个可逆神经块的主干,由一个上行子网络Ui和两个下行子网络D1i和D2i组成

经过后向解码过程中最后一个可逆神经网络的处理,得到输出Mex,即r1,作为提取的水印。需要说明的是,Rb∈Rh×w×1是一个全零矩阵,因此在解码时,除了扰动图像Id外,不需要任何先验信息,保证了盲提取。在本文中,每个Ui和Di的基本组件由6个“ConvLeakyReLU”块组成,如图2所示。

2.3 噪声层

噪声层是保证鲁棒性的关键。在本文中,我们分别对白盒扰动和黑盒扰动使用不同的噪声层。对于白盒扰动,我们直接使用现有的可微分噪声层(例如JPEGSS (Shin and Song 2017)用于JPEG压缩)。对于黑盒扰动(如风格转移),我们提出了一种新的方法,通过使用INN模拟扰动并将训练良好的模型作为噪声层来实现相应的鲁棒性。具体可以描述如下:

INL的训练数据 为了训练INL(记为Nθd,参数为θd),我们首先通过查询黑盒扰动过程生成训练数据。具体来说,我们输入原始图像I+,得到相应的扰动版本I−。然后使用图像对{I+, I−}作为INL的训练数据

INL体系结构 INL的架构如图4所示。整个INL由k个具有相同结构的可逆噪声块组成,其构造如下:对于正向过程中的第i块,输入为yhi和yli,对应的输出为yhi+1和yli+1,可表示为:
在这里插入图片描述

其中φ, ρ和ω可以是任意函数,我们在(Jing等人2021)中选择密集块,这被证明可以确保良好的表示能力。对于第一个块,{yh1∈RH/2×W/2×9, yl1∈RH/2×W/2×3}的输入分别是图像I+∈RH×W×3经过DWT后的高频分量和低频分量。每个yhi和yli与yh1和yl1保持相同的大小。在最后一个块之后,对输出的yhk+1和ylk+1进行逆DWT,生成最终的图像Id+。然后用输入I−进行反向处理,输出恢复后的图像Ide_。

在这里插入图片描述
图4 可逆噪声层的主干,由几个可逆噪声块组成。每个可逆噪声块由三个模块φ, ρ和ω组合而成,它们是任意函数

INL训练损失 要求扰动后的图像Id+在前向处理过程中应尽可能与原图像I-相似,在后向处理过程中输入原图像I-时,得到的图像Ide_也应与原图像I+相似。在这里,我们使用术语Ldis来最小化每对训练数据之间的平均距离,可以表示为:
在这里插入图片描述

其中Id+等于Nθd(I+),其中Nθd表示INL的正向过程;Ide_等于N−1θd (I−),其中N−1θd表示INL的反向过程。θd表示INL参数,MSE表示均方误差。训练完INL后,将其固定为一个噪声层来训练前FED。

2.4 损失函数

总损失函数由两种不同的损失组成:保证不可见性的图像损失和保证鲁棒性的信息损失

图像损失 前向编码的目的是将水印M嵌入到主机图像Io中,生成水印图像Iem。为了实现不可见性,需要水印图像接近主机图像。为了实现这一目标,图像损失Limage定义如下:
在这里插入图片描述

式中,Iem等价于fθ(Io,M),其中θ表示所拟FED的参数。

信息损失 反向解码的目的是从扰动的图像Id中无损地提取水印。为此,我们定义消息丢失Lmessage如下:
在这里插入图片描述

式中Mex等于f−1θ(Id,Rb),其中f−1θ表示逆向过程。Rb是与M大小相同的全零矩阵。

全部损失 总损失函数Ltotal是图像损失Limage,消息损失Lmessage的加权和,如下:
在这里插入图片描述

这里,λ1和λ2是平衡这两个损失的权重。需要注意的是,我们没有对前向冗余信息Rf和恢复图像Ire进行任何限制,因为这两个变量在整个水印过程中并不重要

三、实现细节

数据集和设置 本文使用DIV2K (Agustsson and Timofte 2017)训练数据集进行训练。我们选择的测试数据集是经典的USC-SIPI (Viterbi 1977)图像数据集。将图像的宽度W和高度H设置为128,水印信息的长度设置为64位,即H和W设置为8。λ1和λ2的参数分别固定为1和10。FED n中可逆神经块的个数设为8,可逆噪声块k的个数设为8。该框架由PyTorch (Collobert, Kavukcuoglu和Farabet 2011)实现,并在一台NVIDIA RTX 3090ti上运行。1对于每个网络的参数优化,我们使用Adam (Kingma and Ba 2015)作为默认超参数,其学习率为1e-4。

基准 为了验证所提出方法的不可见性和鲁棒性,我们将其与几种最先进的(SOTA)水印方法进行了比较,包括三种基于DNN的方法:HiDDeN (Zhu等人2018), TSDL (Liu等人2019)和MBRS (Jia, Fang,和Zhang 2021)。为了测试鲁棒性,我们选择了7种白盒扰动(“Cropout”、“Dropout”、“Gaussian Noise”、“Salt&Pepper Noise”、“Gaussian Blur”、“Median Blur”和“JPEG Compression”)和4种黑盒扰动(“Crayon”、“Heavy Color”、“Reverse Color”、“Sketch”),如图5所示。对于每种扰动,我们训练一个特定的水印网络以更好地说明。值得注意的是,对于黑盒扰动训练,我们使用INL结合“高斯噪声”预训练模型,以获得更好的收敛性。为了公平比较,所有基于DNN的方法都使用相同的数据集和相同的噪声层进行重新训练。所有实验均以尺寸为128×128的图像和尺寸为8× 8比特的水印进行

在这里插入图片描述
图5测试的四个黑盒扰动

评价 为了衡量水印图像的不可见性,我们采用峰值信噪比(peak signal-to-noise ratio,PSNR)作为度量标准,其值越大表示不可见性越好。对于鲁棒性,我们直接使用提取位精度(extraction bit accuracy, ACC)作为评价指标,ACC越大表示鲁棒性越好。

论文地址:Flow-Based Robust Watermarking with Invertible Noise Layer for Black-Box Distortions

源码地址:FIN

在这里插入图片描述

相关文章:

图像处理之《黑盒扰动的可逆噪声流鲁棒水印》论文阅读

一、文章摘要 近年来,基于深度学习的数字水印框架得到了广泛的研究。现有的方法大多采用基于“编码器-噪声层-解码器”的架构,其中嵌入和提取过程分别由编码器和解码器完成。然而,这种框架的一个潜在缺点是编码器和解码器可能不能很好地耦合…...

一个Vivado仿真问题的debug

我最近在看Synopsys的MPHY仿真代码,想以此为参考写个能实现PWM-G1功能的MPHY,并应用于ProFPGA原型验证平台。我从中抽取了一部分代码,用Vivado自带的仿真器进行仿真,然后就遇到了一个莫名其妙的问题,谨以此文作为debug…...

C#阿里云消息列队推送消息

推送消息到队列 IMNS nativeclient new Aliyun.MNS.MNSClient(accessKeyId, accessKeySecret, endpoint, _stsToken);var nativeSend nativeclient.GetNativeTopic("SMQ");nativeSend.PublishMessage("推送消息内容"); 需要引用Aliyun.MNS.dll 下载地址…...

Stable Diffusion 模型下载:majicMIX sombre 麦橘唯美

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十...

WindowsLinuxmeterepreter渗透命令回顾

最近小编发现在学红队的时候总会忘记一些命令(基础的),导致整天红温,于是今天就来偷个懒记一下(一起回顾一下) 1.Linux 1.查看当前按目录 pwd2.查看文件内容 cat filename.txt3.cd 家族 cd ..|| cd ../…...

KingSCADA实现按钮点击效果

哈喽,你好啊,我是雷工! 在做SCADA项目的时候,按钮是不可缺少的功能,但软件自带的按钮太丑,已经无法满足现如今客户对界面美观度的要求。 这时候就需要UI小姐姐设计美观大气的SCADA界面,但UI设计…...

Python编程-二万字浅谈装饰器原理与装饰器设计模式和函数式编程案例讲解

Python编程-浅析装饰器原理与装饰器设计模式和函数式编程案例讲解 本文制作时基于Python3.11.8与Python3.12.1,存在谬误,请联系修改,希望对你有所帮助 什么是函数式编程 函数式编程(Functional Programming)是一种编程…...

基于Zigbee的智能温室大棚系统(附详细使用教程+完整代码+原理图+完整课设报告)

🎊项目专栏:【Zigbee课程设计系列文章】(附详细使用教程+完整代码+原理图+完整课设报告) 前言 👑由于无线传感器网络(也即是Zigbee)作为🌐物联网工程的一门必修专业课,具有很强的实用性,因此很多院校都开设了zigbee的实训课程;👑同时最近很多使用了我的单片机课…...

【Web】Redis未授权访问漏洞学习笔记

目录 简介 靶机配置 Redis持久化 Redis动态修改配置 webshell 反弹shell Redis写入反弹shell任务 加固方案 简介 Redis(Remote Dictionary Server 远程字典服务器)是一个开源的内存数据库,也被称为数据结构服务器,它支持…...

【JAVA WEB】 css背景属性 圆角矩形的绘制

目录 背景属性设置 圆角矩形 背景属性设置 背景颜色,在style中 background-color:颜色; 背景图片 background-image:url(……) 背景图片的平铺方式 background-repeat: 平铺方式 repeat 平铺(默认)no-repeat 不平铺repeat-x 水平平铺repea…...

Docker-现代化应用部署的利器

一、容器部署的发展 今天我们来说说容器部署。我们知道容器部署的发展大致分三个阶段,下面来介绍一下不同阶段的部署方式的优缺点 物理机部署 优点是可以提供更高的性能、资源控制,也可以提供更好的数据隔离和安全性,因为不同的应用程序运行在…...

「优选算法」:山脉数组的峰顶索引

一、题目 符合下列属性的数组 arr 称为 山脉数组 &#xff1a; arr.length > 3存在 i&#xff08;0 < i < arr.length - 1&#xff09;使得&#xff1a; arr[0] < arr[1] < ... arr[i-1] < arr[i] arr[i] > arr[i1] > ... > arr[arr.length - 1] …...

网络安全红队基础建设与介绍

1.ATT&CK相关背景 ATT&CK在各种日常环境中都很有价值。开展任何防御活动时&#xff0c;可以应用ATT&CK防御法&#xff0c;参考攻击者及其行为。ATT&CK不仅对网络防御者提供通用技术库&#xff0c;还为渗透测试和红队提供了基础。提到对抗行为时&#xff0c;这为…...

Java语法学习反射

Java语法学习反射 大纲 基本介绍class的介绍 具体案例 1. 基本介绍 流程图&#xff08;程序在计算机的阶段&#xff09; 反射的主要的类 这个提高效率不大 2. class的介绍 对于第三点&#xff1a;首先类只会加载一次&#xff0c;得到的class的对象&#xff0c;也只有一…...

【MySQL】操作库 —— 库的操作 -- 详解

一、增删数据库 1、创建数据库 create database db_name; 本质就是在 /var/lib/mysql 创建一个目录。 说明&#xff1a; 大写的表示关键字。[ ] 是可选项。CHARACTER SET&#xff1a;指定数据库采用的字符集。COLLATE&#xff1a;指定数据库字符集的校验规则。 2、数据库删除…...

Rust安装——Win10

安装步骤 1、下载RUSTUP-INIT.EXE&#xff08;64-BIT&#xff09; 2、由于国外源下载依赖太慢&#xff0c;因此建议增加win10环境变量配置国内源&#xff0c;增加RUSTUP_DIST_SERVER、RUSTUP_UPDATE_ROOT环境变量即可 RUSTUP_DIST_SERVER随便选择其中的一个源就行&#xff0c;…...

【教学类-46-07】20240212立体春字1.0

背景需求&#xff1a; 在南浔古镇的非遗文化馆里看到一个新年活动折纸——立体春字&#xff0c; 我记得这个就是一个双三角结构折纸&#xff0c;完全可以用15*15的手工纸给孩子们做一套。 折纸教程 双三角折法 【“鼠”你有才】纸艺教学 剪纸——立体春字&#xff08;2月23日…...

Python语言例题集(003)

#!/usr/bin/python3 #猜数字 import random secretNumberrandom.randint(1,20) print(‘我想了一个1到20间的整数&#xff0c;你能猜出来吗&#xff1f;’) for guessesTaken in range(1,7): print(‘猜一下&#xff01;’) guessint(input()) if guess<secretNumber: pr…...

UE5 播放本地MP3、MP4

1.创建一个媒体播放器 2.如创建视频&#xff0c;勾选。 它会多一个媒体纹理给你 3.1 设置音频 在一个actor上添加“媒体音频组件” “音频媒体播放器”赋值给它 3.2播放音频 添加一个音频媒体播放器变量&#xff0c; 赋值 地址使用绝对地址 4.1设置视频 UI上创建一个imag…...

NLP_“预训练+微调大模型”模式和Prompt/Instruct模式的异同

文章目录 “预训练微调大模型”的模式以提示/指令模式直接使用大模型“预训练微调大模型”模式和Prompt/Instruct模式的异同小结 “预训练微调大模型”的模式 经过预训练的大模型所习得的语义信息和所蕴含的语言知识&#xff0c;很容易向下游任务迁移。NLP应用人员可以根据自己…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中&#xff0c;从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备&#xff08;如专用硬件设备&#xff09;&#xff0c;从而消除了直接物理连接的需要。USB over IP的…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡&#xff0c;可以响应鼠标点击&#xff0c;并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...

CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)

漏洞概述 漏洞名称&#xff1a;Apache Kafka Connect JNDI注入导致的远程代码执行漏洞 CVE编号&#xff1a;CVE-2023-25194 CVSS评分&#xff1a;8.8 影响版本&#xff1a;Apache Kafka 2.3.0 - 3.3.2 修复版本&#xff1a;≥ 3.4.0 漏洞类型&#xff1a;反序列化导致的远程代…...

Linux入门(十五)安装java安装tomcat安装dotnet安装mysql

安装java yum install java-17-openjdk-devel查找安装地址 update-alternatives --config java设置环境变量 vi /etc/profile #在文档后面追加 JAVA_HOME"通过查找安装地址命令显示的路径" #注意一定要加$PATH不然路径就只剩下新加的路径了&#xff0c;系统很多命…...