图像处理之《鲁棒图像隐写术:隐藏频率系数中的信息》论文精读

一、文章摘要

隐写术是一种将秘密信息隐藏到公共多媒体对象中而不会引起第三方怀疑的技术。然而,大多数现有的工作不能提供良好的抗有损JPEG压缩鲁棒性,同时保持相对较大的嵌入容量。提出了一种基于可逆神经网络的端到端鲁棒隐写系统。该方法将秘密信息直接隐藏到封面图像的离散余弦变换(DCT)系数中,而不是隐藏在空间域中,显著提高了鲁棒性和抗隐写安全性。首先提出了互信息损失来约束INN中的信息流。实现了双向融合模块(TWFM),利用空间域和DCT域特征作为辅助信息,便于信息提取。这两种设计有助于从DCT系数中无损地恢复秘密消息。实验结果表明,该方法的误差率明显低于其他现有的隐藏方法。例如,我们的方法在每像素1比特(bpp)的嵌入负载下实现了0错误率的可靠提取;在质量因子QF = 10的JPEG压缩条件下,该方法的错误率比现有的鲁棒图像隐藏方法低22%左右,对JPEG压缩具有较好的鲁棒性。

在这里插入图片描述
二、提出的方法

2.1 框架概述

传统的神经网络利用两个独立的编码器和解码器对秘密消息M、封面图像C和隐写图像S之间的映射进行建模,可以表示为:(M,C)->S和S->(M,C)。这种单独的编码器-解码器结构将导致不准确的双射映射,并可能将一个映射的误差累积到另一个映射中。在我们提出的方法中,我们试图找到一个可以同时隐藏和提取秘密消息的可逆双射网络,表示为:(M,C) <-> s。在图2中,我们的方法框架由几个部分组成:INN、JPEG压缩层、鉴别器和双向融合模块。我们使用仿射耦合层来构造隐藏和显示块。有12个这样的可逆块用于隐藏和显示INN的过程。这两个过程在训练过程中共享参数,这比传统的编码器-解码器架构更有效地驱动模型。JPEG压缩层是一个模拟器,将不可微的JPEG压缩模拟成可微的近似形式,然后将其引入到端到端网络中,以减轻失真影响,有效地提高鲁棒性。利用对抗性鉴别器区分生成的隐写图像与原始封面图像是否相似,利用对抗性学习提高生成的隐写图像的视觉保真度和隐写安全性。TWFM经过精心设计,充分结合了空间和DCT域的特征来恢复信息。

在这里插入图片描述
图2 提出的隐写体系结构概述

2.2 可逆隐藏/揭示过程

我们表示具有c个通道和h × w大小的封面图像为c ={0,…, 255}c×h×w,其中c = 3,h = 256,w = 256。将秘密消息记为m={0,1}l,长度为1。为了保证INN的两个输入大小相同,我们将秘密消息输入作为一个三维体积来管理,如果有效载荷小于1 bpp,我们将每个具有相同值的比特填充到8×8小块中。已成形的秘密消息表示为M={0,1}c’×h×w,其中c’为通道数。在前向隐藏过程中,对封面图像进行DCT变换,形成与空间图像大小相同的三维DCT系数立方体。然后利用隐藏块将秘密信息M嵌入到封面图像的DCT系数Cdct中。考虑图2中的第i个隐藏块,我们输入Cidct和Mi,输出Ci+1dct和Mi+1,可表示为:
在这里插入图片描述

其中⊙表示阿达玛尔积运算,(·),ρ(·)和η(·)表示任意函数,但不要求可逆。在这里,我们使用5层Denseblock (Wang等人2018)来表示这三个函数,以获得令人满意的图像处理性能。需要注意的是,经过一系列的隐藏块后,模型输出隐写图像的DCT系数Sdct和丢失的信息矩阵L。为了得到相应的隐写图像S,IDCT模块接收频率特征Sdct并将其变换回空间域。

在反向揭示过程中,DCT模块接收到被攻击的隐写图像Sa,并将其转换为DCT特征Sdcta。由于在通信信道上只能传输被攻击的隐写图像,因此我们将被攻击的隐写图像Sa保存在揭示过程的开始。因此,为了替换丢失的信息矩阵L,提炼必要的信息进行揭示,TWFM将被攻击的隐写图像Sa及其频率系数Sdcta合并生成辅助变量矩阵z。下面将介绍TWFM的详细结构。我们注意到,除了信息流动方向相反之外,隐藏块和显示块几乎是相同的。对于第i个揭示块,输入为Si+1dct_a和Zi+1,根据下式得到输出为Si dct _a和Zi:
在这里插入图片描述

其中,⊘表示矩阵的除法运算。最后一个显示块输出恢复的封面图像的DCT系数C’dct和恢复的消息M0。最终,C’dct通过IDCT模块转换为恢复的封面图像C’,M’重新塑造并映射回二进制消息m’。

2.3 双向融合模块(TWFM)

在封面图像中隐藏秘密信息时,高容量嵌入不可避免地会对载体造成损害。此外,为了避免生成的隐写图像的视觉失真,很难将秘密信息完全嵌入到载体中。这样,上述两个信息损失就构成了丢失的信息矩阵L。工作 (Jing等人2021)从高斯分布中随机抽取样本组成辅助变量矩阵Z。然后对每个采样的Z进行训练,以确保INN能够恢复秘密消息。然而,这种方法并没有充分考虑到L包含来自输入特征的有效信息,这些信息应该在揭示过程中尽可能地利用。也就是说,丢弃L将导致秘密消息恢复的准确性降低

自注意机制(Vaswani等人2017)将输入映射到几个不同的patch中,以捕获特征的内部相关性,TWFM旨在有效地提取和融合空间域和频率域特征,以提高秘密消息恢复的准确性。TWFM的体系结构如图3所示。输入是攻击后的隐写图像Sa及其频率特征Sdct_a。注意权重映射通过元素积在空间域和频域为相应的特征分配0 ~ 1之间的权重。它从Sa和Sdct_a中选择有意义的特征,同时抑制一些无关的细节。整个过程可以描述如下:
在这里插入图片描述

其中⊗是元素积运算,σ(·)、δ(·)和fc(·)分别表示softmax函数、concat操作和卷积。注意权重映射W表示从输入特征矩阵中获得的区域信息的重要性,其中需要更多地关注高权重元素。请注意,TWFM是即插即用的,也就是说,它可以与INN进行端到端联合训练
在这里插入图片描述
图3 双向融合模块的架构

2.4 JPEG压缩层的设计

JPEG压缩过程包含一个不可微的步骤:舍入函数是截断梯度传播的分段步骤函数。因此,JPEG不适合直接进行端到端训练优化。为了解决这一问题,我们在工作中采用平滑舍入函数R (x) (Shin and Song 2017)来模拟舍入步骤,可以表示为:
在这里插入图片描述

式中[x]为x的舍入运算,R(x)为量化模拟的舍入DCT系数。模拟的舍入函数R(x)近似连续,说明其导数不为零。通过这种方法,可以将不可微的JPEG压缩以可微的形式进行模拟,从而在训练过程中保持梯度传播

2.5 鉴别器的设计

鉴别器评估封面图像和隐写图像之间的差异,并提供关于生成器性能的反馈,这进一步刺激生成的实例更接近原始类的数据。在我们提出的方法中,鉴别器模块由6组组成。从第1组到第5组,每组由一个卷积层(kernel size = 3,stride = 2,padding = 1)、一个BN层和一个LeakyReLU激活函数组成。组6包含一个全局平均池化(GAP)和一个输出分类概率的线性层。得益于对抗学习的基本原理,生成的隐写图像具有更高的视觉保真度和抗统计检测的隐写安全性。

2.6 损失函数

为了生成高保真的隐写图像,恢复低误差的信息,总体优化目标为:
在这里插入图片描述
其中λc,λr,λd和λm是平衡不同损失项的权重因子。

隐藏损失Lc隐藏损失Lc表示封面图像C和隐写图像S的区别。隐藏损失需要控制在一个合适的水平,以获得良好的隐蔽性。我们用均方误差(MSE)来衡量它们之间的差异,其定义为:
在这里插入图片描述

揭示损失Lr揭示损失Lr表示恢复的消息M’与原始秘密消息M之间的差异,希望低的揭示损失能够获得较高的消息恢复精度,可以表示为:
在这里插入图片描述

鉴别损失Ld利用辨别损失来增强生成的隐写图像的视觉保真度和网络的抗隐写能力,其中交叉熵损失函数描述如下:
在这里插入图片描述
其中yi为原始真实标签(cover为0,stego为1)。pi表示鉴别器的分类概率。

互信息损失Lm互信息反映了两个变量之间的相关性:一个变量中包含的关于另一个变量的信息量。在图2中,前向隐藏过程以秘密消息M为输入,丢失信息矩阵L为输出。理想情况下,当它们之间的互信息接近于0时,可以假设L的分布与输入m的分布无关,此时我们可以丢弃L而不呈现信息丢失以供揭。因此,为了在嵌入中保持有效信息,提出了互信息损失Lm来约束信息流的方向。它可以定义为:
在这里插入图片描述

式中H (M)和H (L)表示信息熵,H (M,L)表示M和L的联合熵,信息熵和联合熵的计算公式为:
在这里插入图片描述

其中N为矩阵中不同像素值的个数,Pi为矩阵中出现值为i的像素的概率。PML(i,j)是同一位置的像素在矩阵M中值为i,在矩阵L中值为j的概率。

三、实现细节

数据集和实现细节。用于训练和测试的数据集是MSCOCO (Lin等人2014)。我们随机选择5000张图片作为训练的封面图片,1000张图片作为测试的封面图片。上面用于训练或测试的封面图像不重叠,并且使用MATLAB的中心裁剪策略以256 × 256的分辨率裁剪。采用标准参数的Adam优化器(Kingma and Ba 2014)对我们的网络进行优化。初始学习率设置为0.0001,批量大小设置为2以适应我们的设备。整个训练过程包括120个阶段。整个框架由PyTorch实现,并在NVIDIA GeForce RTX 2080 Ti上执行。在训练结束时,模型已经充分收敛。权重因子λc、λr、λd、λm分别设为1.0、15.0、3.0、5.0

评价指标。我们从以下几个方面对业绩进行评估。采用峰值信噪比(PSNR) (Welstead 1999)和结构相似性指数(SSIM) (Wang等人2004)作为图像质量评估。使用误码率(BER)来衡量鲁棒性,误码率越低,表示恢复的消息m’更接近原始消息m。由于恢复的消息m’是浮点数,因此我们将m0中大于0.5的位映射为1,其余位映射为0。在隐写安全性方面,检测误差表明隐写分析网络无法区分特定隐写方法产生的封面图像/隐写图像。

四、汇报PPT(作者本人)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

论文地址:Robust Image Steganography: Hiding Messages in Frequency Coefficients

没有公布源码

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

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

相关文章

SpringBoot源码解读与原理分析(六)WebMvc场景的自动装配

文章目录 2.6 WebMvc场景下的自动装配原理2.6.1 WebMvcAutoConfiguration2.6.2 Servlet容器的装配2.6.2.1 EmbeddedTomcat、EmbeddedJetty、EmbeddedUndertow2.6.2.2 BeanPostProcessorsRegistrar(后置处理器的注册器)2.6.2.3 两个定制器的注册 2.6.3 DispatcherServlet的装配2…

医学搜题神器找答案? #知识分享#职场发展

大学生必备的搜题工具&#xff0c;专业课本习题、电子版教材、考研资料、英语四六级等考试题目也能一并搜索&#xff0c;每道题目都有详细的讲解&#xff0c;每个都堪称大学神器。 1.题小聪 这是一个公众号 它支持文本搜索、扫码搜书、拍照搜索&#xff0c;不会的题目直接对…

幻兽帕鲁PalWorld服务器2024年配置选择

幻兽帕鲁PalWorld是一款备受期待的虚拟游戏&#xff0c;其独特的幻兽系统和丰富的世界观吸引了大量玩家。然而&#xff0c;随着游戏日益受到关注&#xff0c;服务器的配置选择成为了关键问题。2024年&#xff0c;随着技术不断发展&#xff0c;玩家对于游戏体验的需求也在不断提…

[word] word自定义编号格式怎么设置 #经验分享#职场发展#职场发展

word自定义编号格式怎么设置 在Word文档的编辑中&#xff0c;经常会给段落添加编号&#xff0c;但是在编号的使用过程中我们会遇到很多问题&#xff0c;今天给大家分享word自定义编号格式怎么设置&#xff0c;希望能帮到您&#xff01; 1.如何自定义编号格式&#xff1f; 点击…

NAS如何成为生产力?使用绿联DX4600 Pro搭建图床并实现创作自由

NAS如何成为生产力&#xff1f;使用绿联DX4600 Pro搭建图床并实现创作自由 哈喽小伙伴们好&#xff0c;我是Stark-C~ 关注我的小伙伴都知道&#xff0c;我之前有分享过我的创作过程与工具&#xff0c;其中介绍了我个人其实一直都是使用Markdown的编辑器来进行图文创作的。 我…

数据存储的端序(大端序和小端序)——VB/VBA

VB/VBA存储的端序 1、要想制造高性能的VB/VBA代码&#xff0c;离了指针是很难办到的。 2、因为VB/VBA里&#xff0c;用Long来表示指针&#xff0c;而32位(包括64位兼容的)计算机里4字节整数的处理&#xff0c;是最快的方式&#xff01; 3、要想用指针来处理数据&#xff0c;…

leetcode 153

153 寻找旋转排序数组中的最小值 这道题&#xff0c;如果我们熟悉数组 api&#xff0c;可以直接用 Arrays.sort()秒杀&#xff0c;这个方法使用了双轴快速排序算法。 解法1如下&#xff1a; class Solution {public int findMin(int[] nums) {Arrays.sort(nums);return nums…

如何在 Mac 上恢复永久删除的文件:有效方法

您是否错误地从 Mac 中删除了某个文件&#xff0c;并且确信它已经永远消失了&#xff1f;好吧&#xff0c;你可能错了。即使您认为已永久删除计算机上的数据&#xff0c;仍有可能将其恢复。 在本文中&#xff0c;您将了解如何在 Mac 上恢复永久删除的文件&#xff0c;并了解增…

基于微信小程序的校园失物招领小程序

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

【Web】小白友好的Java内存马基础学习笔记

目录 简介 文件马与内存马的比较 文件马原理 内存马原理 内存马使用场景 内存马分类 内存马注入方式 这篇文章主要是概念性的&#xff0c;具体技术细节不做探究&#xff0c;重点在祛魅。 简介 内存马&#xff08;Memory Shellcode&#xff09;是一种恶意攻击技术&…

Open CASCADE学习|扫掠

目录 1、BRepPrimAPI_MakePrism Draw Test Harness: C++: 2、BRepPrimAPI_MakeRevol Draw Test Harness: C++: 3、BRepOffsetAPI_MakePipeShell Draw Test Harness: C++: Draw Test Harness: C++: Draw Test Harness: C++:​ 锥度弯曲管 ​ 参考文献:…

【后端高频面试题--Mybatis篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;后端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 后端高频面试题--Mybatis篇 什么是Mybatis&#xff1f;Mybatis的优缺点&#xff1f;Mybatis的特点…

学习总结12

# [NOIP2005 普及组] 采药 ## 题目描述 辰辰是个天资聪颖的孩子&#xff0c;他的梦想是成为世界上最伟大的医师。为此&#xff0c;他想拜附近最有威望的医师为师。医师为了判断他的资质&#xff0c;给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说&#xff1a…

大水仙花数求解

输入位数&#xff0c;求解水仙花数。暴力求解&#xff0c;位数如果太多&#xff0c;会超时。 思路&#xff1a; &#xff08;1&#xff09;11333355和33331155看上去是不一样的两个数&#xff0c;但是它们又一样&#xff0c;因为相同数字出现的次数一样。 &#xff08;2&…

云卷云舒:如何持续降低云数据库的成本?

数据库在云计算领域内是一个利润空间较大的产品体系&#xff0c;但是如果成本控制策略控制、市场推广不达预期&#xff0c;很有可能出现“负效益”&#xff0c;本文就谈谈个人看法&#xff0c;从云计算服务提供商的角度。 一、首先是技术手段方面 弹性伸缩&#xff1a;快速地…

windows系统 集成开发环境 IntelliJ IDEA的配置maven步骤

在 Windows 系统上配置 IntelliJ IDEA 以使用 Maven 需要遵循几个步骤。Maven 是一个流行的项目管理和构建自动化工具&#xff0c;它可以帮助开发者管理项目的依赖、构建和部署。IntelliJ IDEA 提供了对 Maven 的内置支持&#xff0c;使得配置过程变得相对简单。以下是详细的配…

存储服务器主要运用在哪些方面

存储服务器是一种专门为数据存储设计的一款服务器设备&#xff0c;是为存储设备、存储系统或者存储的解决方案。存储服务器一般是由硬件设备、存储软件、操作系统和网络连接组成的&#xff0c;主要用来存储大量的数据&#xff0c;如图片、视频和文件等内容。 在数据管理方面&am…

深入理解Spring中的集合依赖注入

目录 1. 创建一个配置类来定义Bean 2. 在组件中注入Bean 构造方法注入 Setter方法注入 总结 如果集合仅仅是实体类的一个内部属性&#xff0c;并且与实体类的其他属性紧密相关&#xff0c;那么将其作为实体类的一个属性可能更加合适。 如果集合需要独立配置&#xff0c;那…

使用navicat导出mysql离线数据后,再导入doris的方案

一、背景 doris本身是支持直接从mysql中同步数据的&#xff0c;但有时候&#xff0c;客户不允许我们使用doris直连mysql&#xff0c;此时就需要客户配合将mysql中的数据手工导出成离线文件&#xff0c;我们再导入到doris中 二、环境 doris 1.2 三、方案 doris支持多种导入…

【C语言】一道相当有难度的指针题目(某大厂笔试真题)超详解

这是比较复杂的题目&#xff0c;但是如果我们能够理解清楚各个指针代表的含义&#xff0c;画出各级指针的关系图&#xff0c;这道题就迎刃而解了。 学会这道笔试题&#xff0c;相信你对指针的理解&#xff0c;对数组&#xff0c;字符串的理解都会上一个档次。 字符串存储使用的…