论文阅读 | 一种基于潜在向量优化的可证明安全的图像隐写方法(TMM 2023)

news2024/9/24 9:06:36
  • TMM 2023 中国科学技术大学  
  • 针对现有的可证明安全的图像隐写不能抵抗有损图像操作,而现有的生成图像隐写不能证明安全问题,提出一种基于潜在向量优化的可证明安全的图像隐写方法(名为PARIS),该方法受到逆采样器和噪声层的启发。

Z. Yang, K. Chen, K. Zeng, W. Zhang and N. Yu, "Provably Secure Robust Image Steganography," in IEEE Transactions on Multimedia, vol. 26, pp. 5040-5053, 2024, doi: 10.1109/TMM.2023.3330098.


一、摘要

本文提出一种基于生成对抗网络(GAN)的可证明安全的鲁棒图像隐写术方法,名为PARIS。具体来说,发送方将遵循均匀分布的秘密信息通过逆变换采样映射到遵循标准高斯分布的潜在向量。然后,将这个潜在向量输入到生成器中,合成相应的隐写图像。隐写图像随后通过公共渠道(例如Facebook)传输给接收方,在传输过程中可能会发生有损图像操作。接收方采用梯度下降方法优化初始化的潜在向量,直到相应的合成图像与隐写图像几乎相同。为了考虑有损操作,我们使用一个可微分的噪声模块来模拟可能涉及的操作。这个噪声模块附加到生成器上,使接收方能够准确地提取秘密信息。所提出方法的安全性已经得到了理论上的证明。我们还在不同的生成器架构、有损图像操作和容量上进行了广泛的实验。结果验证了所提方法在安全性和鲁棒性方面的表现。此外,我们还在实践中部署了该方法,并在Facebook和LinkedIn上传输秘密信息。

主要贡献总结如下:

  • 提出了一种基于GAN的可证明安全的鲁棒图像隐写术方法,其中消息被映射到由可证明安全的映射规则引导的潜在向量中。
  • 设计了一个附加到生成器的噪声层模块,以模拟有损图像操作,这显著地促进了方法的鲁棒性。
  • 广泛的实验验证了所提方法在不同的有损图像操作、生成器架构和数据集方面的安全性和鲁棒性。还进行了消融研究,以显示噪声层模块的重要性。

二、现存问题

现有的可证明安全的图像隐写不能抵抗有损图像操作,而现有的生成图像隐写不能证明安全。

1、可证明安全隐写术现存问题

基于隐写安全定义,提出了可证明安全性的隐写算法(详细介绍见上篇:可证安全隐写),存在一些问题,分别针对基于拒绝采样(Rejection Sampling)、逆变换采样(Inverse Sampling)、以及基于生成模型(Generative Models)的隐写算法详细概述:

(1)拒绝采样方法

  • 容量限制:拒绝采样方法通常需要从载体分布中不断采样,直到找到满足特定条件的样本。这种方法直观但容量有限,因为生成有效隐写载体的概率可能很低,导致需要大量无效计算。
  • 完美采样器的挑战:为了实现有效的拒绝采样,需要一个能够完美模拟覆盖分布的采样器,这在实践中很难实现,尤其是在复杂的图像数据上。

(2)逆变换采样方法

  • 分布建模困难逆变换采样依赖于已知的特定数据分布,这要求能够精确建模载体介质(如图像、视频)的分布,这在实际应用中往往是一个挑战。
  • 压缩与解压的局限性:虽然理论上可以通过数据压缩实现逆变换采样,但实际应用中,完美压缩器的设计和实现难度较大,且对数据的微小扰动可能导致信息的丢失

(3)基于生成模型的方法

  • 安全性问题:许多基于生成模型的隐写方法,如使用GAN或VAE,虽然在实证研究中显示出较强的隐蔽性,但缺乏理论支持来证明其在统计意义上的安全性。
  • 对抗性训练的挑战:在训练过程中引入对抗性网络(如判别器)来增强隐写图像的隐蔽性,但这种方法通常需要复杂的训练过程,并且其安全性往往依赖于训练的充分性和判别器的设计
  • 对有损操作的敏感性:生成的隐写图像可能对有损操作(如压缩、滤波)敏感,这限制了它们在实际传输环境中的鲁棒性。

2、生成式隐写现存问题

  1. 容量限制:基于语义映射的SSS-GAN方法尽管通过生成多幅图像来增加容量,但总体容量仍然很低。这限制了可以隐藏的信息量,对于需要传输大量数据的应用场景不适用。

  2. 消息提取精度DCGAN-based 方法:Hu等人提出的方法中,需要训练一个提取器来从隐写图像中恢复潜在向量,再从潜在向量中提取消息。这一过程的精度并不总是令人满意,尤其是在图像经过有损压缩或其他处理后。

  3. 计算开销WGAN-GP-based 方法:Li等人提出的方法中,提取器和生成器需要同步训练,这不仅增加了训练的复杂性,还显著提高了计算资源的需求。

  4. 泛化能力不足:训练的提取器可能在不同的图像处理操作下表现不佳,如JPEG压缩、图像滤波等,这限制了隐写方法在多变的实际环境中的适用性。

  5. 对隐写分析的脆弱性:现有方法可能没有充分利用通道知识,例如对有损图像操作的抵抗能力,导致隐写图像容易被现有的隐写分析方法检测出来。

  6. 潜在向量分布的破坏:一些方法采用的映射规则可能会破坏潜在向量的分布,使得隐写图像与正常生成图像在统计上可区分,从而容易被隐写分析工具识别。

三、提出的方法—PARIS

现有的可证明安全的图像隐写不能抵抗有损图像操作,而现有的生成图像隐写不能证明安全。为了解决这些局限性,提出了一种基于潜在向量优化的可证明安全的图像隐写方法,该方法受到逆采样器和噪声层的启发。方法如图1所示,包括三个阶段:准备阶段、消息嵌入阶段和消息提取阶段。

1、准备阶段

准备阶段的目标是训练一个能够生成高质量、逼真图像的生成器,为后续的隐写信息嵌入提供基础。

(1)目标函数

目标函数:训练涉及生成器G和判别器D之间的对抗过程,生成器生成逼真数据,判别器区分真假数据。GAN的目标函数,用于优化生成器和判别器。该函数由两部分组成:一部分是判别器对真实数据的判断,另一部分是判别器对生成器生成数据的判断。具体如下:

(2)映射关系

注:潜在向量 z从标准高斯分布中抽取,用于生成数据。这个向量是生成器的输入,决定了生成数据的多样性和质量。

(3)过程描述 

a. 输入
  • 潜在向量 z:这是生成器的直接输入,通常从标准高斯分布中随机抽取。潜在向量是生成数据的基础,其维度由 nz​ 表示。

  • 训练数据 x:这些是用于训练判别器的真实图像数据,从已知的数据分布 Pdata中获取。训练数据用于帮助判别器学习区分真实图像与生成器生成的图像。

b. 输出
  • 生成的数据 x:生成器 G 的输出是生成的数据,这些数据是从潜在向量 z通过生成器转换而来,旨在模仿真实数据的分布。

  • 概率判断

    • 判别器 D对真实数据 x的输出:判别器输出一个概率值,表示输入数据是真实数据的概率。
    • 判别器 D对生成数据 G(z)的输出:判别器同样输出一个概率值,表示输入数据是生成器生成的数据的概率。
c. 过程描述
  • 生成器 G:将高维空间中的潜在向量 z转换成数据空间中的图像 x,目的是生成尽可能接近真实数据分布的图像。
  • 判别器 D:接收来自生成器的图像 G(z) 和真实世界图像 x 作为输入,并尝试区分它们。它输出一个介于 0 到 1 之间的值,表示输入图像是真实图像的概率。

这一过程是迭代的,生成器和判别器通过不断的对抗学习来提高各自的性能,直到生成器能够产生足够以假乱真的图像,而判别器则尽可能准确地分类图像。

2、消息嵌入阶段

信息嵌入阶段(Message Embedding Phase),涉及将秘密信息编码到潜在向量 zz 中,并使用这些向量生成隐写图像。以下是该阶段的具体细节:

(1)映射规则(Mapping Rule)

  • 加密消息:首先,明文消息被加密转换为密文,以确保安全性。
  • 均匀分布的密文:密文消息 m被视为一个在区间 [0,2^l−1]内均匀分布的整数 y,其中 l是嵌入的比特数。
  • 高斯分布的潜在向量:潜在向量 z遵循标准高斯分布N(0,I),其中I是单位矩阵。
  • 逆变换采样:消息 y通过逆变换采样映射到潜在向量 z。这个过程涉及使用高斯分布的分位数函数(ppf),确保映射后的向量 z精确符合高斯分布。

(2)消息映射(条件分布和全概率公式)

①条件分布:给定消息 y=i时,潜在向量 z的条件分布 p(z∣y=i) 定义为在两个分位数之间的高斯密度函数值乘以一个常数,否则为零。

②全概率公式:全概率公式用于确保潜在向量 z 在经过消息映射后,其分布仍然精确地符合标准高斯分布。这对于隐写系统的安全性和有效性至关重要,因为任何偏离都可能被隐写分析方法检测到。【简言之,此全概率公式用来确保信息嵌入过程不会破坏潜在向量的统计特性,从而保持隐写图像的隐蔽性和对隐写分析的抵抗力。】

(3)可逆映射(累积分布函数和逆变换采样)

这部分内容展示了如何使用累积分布函数CDF和逆变换采样技术在隐写术中实现消息到潜在向量的可逆映射,这对于确保信息的安全性和可恢复性至关重要。通过这种方式,可以将加密后的消息嵌入到图像中,同时保证在提取阶段能够准确地恢复信息。

(4)隐写图像生成(Stego Generation)

3、消息提取阶段

在消息提取阶段(Message Extracting Phase),接收方需要从接收到的隐写图像中恢复出原始的加密消息。这一阶段主要涉及以下几个步骤,其中关键是通过梯度下降和噪声层的引入,确保即使在图像传输过程中受到噪声干扰,也能准确地从隐写图像中恢复出隐藏的消息。

(1)预处理隐写图像

  • STEP1:扩展范围:原始像素值乘以2,从 [0, 255] 映射到 [0, 510]。这样做是因为在归一化过程中,我们需要将像素值线性地映射到 [-1, 1] 的范围,而这个范围是对称的。如果直接将 [0, 255] 映射到 [0, 1],然后扩展到 [-1, 1],那么这个映射可能不会充分利用 [-1, 1] 范围内的所有可能值。特别是,较小的像素值(接近0的值)在映射过程中可能会过于集中,导致信息损失。

  • STEP2:归一化:将乘以2后的值除以255,得到 [0, 2] 的范围,这是一个归一化步骤,将像素值转换为相对于最大值的比例。这么做目的是为了确保在将像素值从 [0, 255] 映射到 [-1, 1] 时,整个范围被均匀地拉伸并覆盖。如果不乘以 2,直接从 [0, 255] 映射到 [-1, 1],那么在 [0, 127.5] 的范围内的值在映射后会集中在 [-1, 0] 的区间,这可能导致信息的不均匀分布和部分信息的丢失。

  • STEP3:中心化:最后,通过减去1,将范围从 [0, 2] 转换到 [ -1, 1],使得数据以0为中心,这与训练GAN时使用的归一化方法一致。减去 1 的步骤是为了将数据从以 0 为中心的正数范围转换为以 0 为中心的对称范围,即包括正数和负数的范围。

(2)损失函数设计

  • 最小化像素级差异可以确保生成的图像在视觉上与目标图像尽可能相似,这对于隐写术来说至关重要,因为任何明显的偏差都可能暴露隐写内容
  • LPIPS(Learned Perceptual Image Patch Similarity)是一种常用的特征级损失,它通过比较图像在感知空间中的相似度来评估图像质量。特征级损失(如LPIPS)在评估图像质量时,不仅仅关注像素值之间的直接差异,而是更深入地考虑了图像内容在视觉感知上的差异。人眼对某些类型的图像失真比对其他类型的失真更敏感,而传统的像素级损失(如L2损失)可能无法充分捕捉到这些感知上的差异。

(3)潜在向量优化

(4)噪声层引入

论文中设计了一个可微分的噪声层能够在训练过程中通过梯度下降法进行优化。这个噪声层模拟了图像在传输过程中可能遇到的噪声,使得模型能够在存在噪声的情况下进行有效的训练。

4、潜在向量起的作用

(1)信息嵌入的载体

潜在向量是将秘密信息嵌入到图像中的媒介。通过将加密后的消息映射到潜在向量,再由生成器基于这些向量生成隐写图像,实现了信息的隐藏。这一过程是可逆的,确保了信息可以从生成的图像中准确地恢复。

(2)生成控制

潜在向量直接控制生成器输出图像的内容。生成器网络(通常是GAN的一部分)接收潜在向量作为输入,并生成相应的图像。改变潜在向量会导致生成图像的变化,这为信息嵌入提供了可能。

(3)逆变换采样

论文中使用了逆变换采样技术,将均匀分布的消息映射到遵循标准高斯分布的潜在向量。这一步骤确保了信息嵌入过程的随机性和不可预测性,增加了隐写系统的安全性。

(4) 抵抗噪声和有损操作

在消息提取阶段,通过优化潜在向量以最小化生成图像与接收图像之间的差异,潜在向量帮助系统抵抗了图像在传输过程中可能遇到的噪声和有损操作。优化过程考虑了噪声层,进一步提高了系统的鲁棒性。

(5) 实现高维数据的有效表示

潜在向量提供了一种有效的方式来表示高维数据(如图像)。通过在潜在空间中编码信息,可以生成具有丰富变化和高度逼真的图像,这对于隐写术来说至关重要。

(6)支持梯度下降优化

在消息提取阶段,潜在向量的优化是通过梯度下降方法实现的。这一方法允许系统通过迭代过程调整潜在向量,以最小化损失函数,从而准确地恢复出原始的加密消息。

四、安全体现在哪?

1、非忽略优势

隐写术的安全性,主要关注于隐写图像(stego image)与普通图像(cover image)之间的区别是否能够被对手(adversary)区分。用公式体现:

2、隐写图像与普通图像的生成

隐写图像是通过将加密后的秘密信息m通过生成器 G生成的,而普通图像则是从标准正态分布中随机采样得到的。如果对手无法区分这两种生成方式,那么隐写术就是安全的。

3、序列驱动的采样(Sequence-driven Sampling)

隐写术中,秘密信息 m 通过序列驱动的采样 S(⋅)来生成隐写图像。如果这个过程与随机采样过程无法区分,那么隐写术就是安全的。

这些公式的核心是评估隐写术的安全性,即对手区分隐写图像和普通图像的能力。如果对手无法有效地区分这两种图像,那么隐写术被认为是安全的。这些公式通过数学方式量化了隐写术的安全性,确保即使在强大的对手面前,隐写图像也能保持其隐蔽性。


实验部分,后续实现时再补充 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA零基础入门——高级教程之集合框架

目录 1. 关于集合框架 1.1 集合接口 1.2 集合实现类 1.3 集合算法及迭代器和比较器的使用 2. 数据结构 2.1 ArrayList 2.2 LinkedList 2.3 HashMap 2.4 HashSet 3. 迭代器 1. 关于集合框架 集合框架是使用数据结构(参见本文2. 数据结构)来满…

【Qualcomm】高通SNPE框架的使用 | 原始模型转换为量化的DLC文件 | 在Android的CPU端运行模型

目录 ① 激活snpe环境 ② 设置环境变量 ③ 模型转换 ④ run on Android 首先,默认SNPE工具已经下载并且Setup相关工作均已完成。同时,拥有原始模型文件,本文使用的模型文件为SNPE 框架示例的inception_v3_2016_08_28_frozen.pb文件。imag…

如何只用 CSS 制作网格?

来源:how-to-make-a-grid-like-graph-paper-grid-with-just-css 在看 用于打印到纸张的 CSS 这篇文章时,对其中的网格比较好奇,作者提供了 stackoverflow 的链接,就看到了来源的这个问题和众多回复。本文从里面挑选了一些个人比较…

面试知识点总结篇一

一、C语言和C有什么区别 C语言是面向过程,强调用函数将问题分解为多个子任务,按顺序逐步进行。数据和操作分开C则是面向对象,面向对象是一种基于对象和类的编程范式,关注如何利用对象来抽象和模拟现实世界的实体。因此引入了类&a…

计算机毕业设计 校园新闻管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

77、Python之函数式编程:一文搞懂functools模块的核心应用

引言 Python作为一种支持多范式的编程语言,除了在“一切皆对象”的理念支持下的,函数对象也是一等公民、各种高阶函数的自然实现、lambda表达式快速编写纯函数之外。还有一个内置的模块functools,能够更好地支持我们在Python中应用函数式编程…

[笔记]某视觉三维定位系统参数表

表中的参数是彼此关联的,其实是就是视频解算的速度。里面的1秒直接对应1FPS300m秒直接对应3FPS0-20m的识别范围,与摄像头分辨率、视在焦距与摄像头基线有明确的对应关系。它的矩阵非正方。怀疑一组用于远距,一组用于近距,属于固定…

从入门到精通:Spring Boot 100个技术关键词

Spring Boot 是一个基于Spring框架的快速开发框架,旨在简化Spring应用的初始搭建以及开发过程。通过掌握本指南中的100个关键技术关键词,你将逐步了解Spring Boot的核心概念、自动配置、依赖管理、Web开发、数据库操作、安全性、测试等方面的知识。每个关…

基于真实山地场景下的超多目标优化算法求解无人机三维路径规划,MATLAB代码

超多目标优化算法是一类专门用于解决存在三个以上目标函数的最优化问题的算法。这类问题在现实世界中非常常见,例如在工程设计、资源管理、机器学习等领域。由于目标之间的冲突性,很难找到一个单一的解来同时优化所有目标,因此超多目标优化算…

音视频入门基础:FLV专题(4)——使用flvAnalyser工具分析FLV文件

一、引言 有很多工具可以分析FLV格式,这里推荐flvAnalyser。其支持: 1.FLV 文件分析(Tag 列表、时间戳、码率、音视频同步等),HEVC(12)/AV1(13) or Enhanced RTMP v1 with fourCC(hvc1/av01); 2.RTMP/HTT…

全栈开发(二):springBoot3连接mysql数据库

spring.application.namedemo2 spring.datasource.urljdbc:mysql://localhost:3306/数据库名字?useUnicodetrue&characterEncodingUTF-8&serverTimezoneUTC spring.datasource.username账号 spring.datasource.password密码 spring.datasource.driver-class-namecom.m…

CentOS一键安装Mosquitto开源消息代理结合内网穿透实现远程连接

文章目录 前言1. Linux 搭建 Mosquitto2. Linux 安装Cpolar3. 创建MQTT服务公网连接地址4. 客户端远程连接MQTT服务5. 代码调用MQTT服务6. 固定连接TCP公网地址7. 固定地址连接测试 前言 今天和大家分享一下如何在Linux系统中搭建Mosquitto MQTT协议消息服务端,并结合Cpolar内…

IDEA 关闭自动补全功能(最新版本)

文章目录 一、前言二、关闭自动补全三、最终效果 一、前言 在最新的 IDEA 中发布了自动补全功能,当你输入代码时,IDEA 会自动显示你可能想输入的代码,减少手动输入的工作量,它会根据上下文提供正确的选项,提高代码的准…

计算机毕业设计 基于Python内蒙古旅游景点数据分析系统 Django+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

Vue3教程 - 2 开发环境搭建

更好的阅读体验:点这里 ( www.foooor.com ) 2 开发环境搭建 要进行 Vue 开发,需要安装 Node.js,因为构建 Vue 项目的工具,例如 Webpack、Vite等,这些工具依赖于Node.js环境来运行。 Node.js…

谷歌网站收录查询,怎么查看网站在谷歌的收录情况

在进行谷歌网站收录查询时,我们需采取一种既专业又系统的方法,以确保能够准确评估网站在谷歌搜索引擎中的可见性和收录状态。这一过程不仅关乎技术细节,还涉及到对搜索引擎优化(SEO)策略的理解与应用。以下是一个基于专…

视频无损压缩工具+预览视频生成工具

视频无损压缩工具 功能与作用 :视频无损压缩工具是一种能够减少视频文件大小,但同时保持视频质量的工具。它通过先进的编码技术和算法,有效降低视频文件的存储空间,同时保证视频的清晰度和观感。这对于需要分享或存储大量视频内容…

仓颉编程语言4,遇到BUG求助

本来准备整仓颉链接Mysql数据库。参考:GitCode - 全球开发者的开源社区,开源代码托管平台 这种方式是拿mysql官方的dll,编译一下,然后再封装成仓颉数据库驱动。这种方式不够逼格,所以准备解析mysql网络协议,从0开始写…

c++9月23日

1.My_string 头文件 #ifndef MY_STRINGHEAD_H #define MY_STRINGHEAD_H#include <iostream> #include <cstring> using namespace std;class My_string { private:char *ptr;//指向字符数组的指针int size;//字符数组的最大容量int len ;//当前字符串的长度 publ…

SaaS 软件转型计划

目录 一、转型目标 1、背景与趋势分析 2、转型策略与实施路径 3、预期成果与展望 二、现状分析 1、产品评估&#xff1a;从传统到SaaS的华丽转身 2、客户群体洞察&#xff1a;倾听需求&#xff0c;引领变革 3、销售渠道优化&#xff1a;拓宽路径&#xff0c;触达更多客…