论文阅读《Robust Steganography for High Quality Images》高质量因子图片的鲁棒隐写

news2024/11/17 23:35:42

TCSVT 2023 中国科学技术大学

 Kai Zeng, Kejiang Chen*, Weiming Zhang, Yaofei Wang, Nenghai Yu, "Robust Steganography for High Quality Images," in IEEE Transactions on Circuits and Systems for Video Technology, doi: 10.1109/TCSVT.2023.3250750. 


一、问题背景

随着在线社交网络深入人们生活,大家习惯将手机拍摄的照片分享到社交网络上,因此利用手机拍摄图片通过社交网络进行隐蔽信息传输已经成为一种合理的行为。但是,手机拍摄保存通常是高质量因子JPEG图像,上传到社交网络后会以低质量因子重新压缩,而现有鲁棒隐写方法通常需要使用低质量因子的图片作为载体,缺少高质量因子JPEG图像鲁棒隐写的研究。

二、提出的方法

针对这个问题,提出一种用于高质量图像的鲁棒自适应隐写术方法(PMAS)。PMAS方法包含精细抖动调制和补偿处理两种操作。精细抖动调制可以确保修改系数的鲁棒性,并通过减少修改幅度来提高安全性;补偿处理会修改重新压缩后发生变化的系数,以确保未修改系数的鲁棒性。

1、PMAS算法的流程

所提出的方法,即Postprocessing and precise dither Modulation based robust Adaptive Steganography method (PMAS),其流程大致如下:

  1. 生成鲁棒封面(Robust Cover):使用JPEG压缩后的载体图像(d'c)生成鲁棒载体(x),这是通过将压缩后的DCT(离散余弦变换)系数除以隐写量化步长(∆)来实现的。

  2. 计算失真(Calculate Distortion):利用选定的失真函数(如JUNIWARD或UERD)计算初始失真(ϱ)。通过引入一个调整函数(F),调整修改幅度对失真分配的影响。

  3. 使用STC编码(Distortion Coding with STC):利用综合征-特里利斯编码(Syndrome-Trellis Codes,STC)根据初始失真和调整后的失真来编码信息。

  4. 精确抖动调制(Modify with PDM):应用精确抖动调制(PDM)来修改载体图像的DCT系数,以嵌入信息。PDM旨在减少修改幅度,从而提高安全性。

  5. 补偿处理(Post-process):对经过JPEG压缩的隐写图像进行后处理,以增强未修改系数的鲁棒性。后处理通过识别在压缩过程中发生变化的系数,并对其进行额外的修改来实现。

  6. 迭代过程:后处理可能需要迭代多轮,直到隐写图像在JPEG压缩后能够保持稳定,确保信息可以正确提取。

  7. 消息嵌入与提取:在嵌入过程中,通过上述步骤生成最终的隐写图像(dy),用于传输。在提取过程中,接收方首先生成鲁棒载体,然后利用错误更正编码(ECC)和STC从隐写图像中提取信息。

整个PMAS方法的核心在于通过精确的抖动调制和补偿处理来平衡隐写的鲁棒性和安全性,同时针对高质量图像在社交网络中常见的重新压缩情况(Downward Robust)进行优化。

2、精细抖动调制

精确抖动调制(Precise Dither Modulation, PDM)是文章中提出的一种用于改进隐写术安全性的方法,特别是在处理高QF(Quality Factor)图像时。在传统的抖动调制(Dither Modulation, DM)方法中,隐写修改通常涉及到对DCT(Discrete Cosine Transform)系数进行±1的修改。然而,当处理高QF图像且需要抵抗JPEG压缩时,可能需要更大的修改幅度来确保隐写的鲁棒性,这会牺牲安全性。

PDM的设计目的是在保证隐写鲁棒性的同时,减少修改幅度,从而提高隐写的安全性。以下是PDM的关键步骤和特点:

  1. 选择隐写量化步长(Steganographic Quantization Step):在“Downward Robust”场景中,选择一个大于1的隐写量化步长(∆),以增强对JPEG压缩的鲁棒性。

  2. 生成鲁棒载体(Robust Cover)通过将DCT系数除以隐写量化步长来生成鲁棒载体

  3. 计算系数的鲁棒性(Calculate Coefficient Robustness):根据系数与量化区间边缘的距离来评估其鲁棒性。距离越远,鲁棒性越高。

  4. 精确修改(Precise Modification)只对那些鲁棒性高于某个阈值(t)的系数进行修改。这意味着只有当系数足够鲁棒时,才会进行隐写修改。修改时,选择距离当前系数最近的量化区间内的值,而不是简单地选择区间中点。这减少了修改幅度,从而提高了安全性。

  5. 保持隐写约束(Maintain Steganographic Constraints):确保修改后的系数满足隐写约束,即隐写量化后的值与预期的隐写消息相匹配。

  6. 优化安全性(Optimize Security):通过减少修改幅度,降低隐写算法被检测到的可能性。

PDM通过精确控制修改幅度和选择性地对系数进行修改,实现了在高QF图像中嵌入信息的同时,保持对JPEG压缩的鲁棒性,并提高了隐写安全性。这种方法特别适用于需要在社交网络等环境中分享高质量图片的场景,这些图片往往会被以较低的QF重新压缩。

补充:PDM简单理解版本如下:

  • 选择步长:首先,PDM会根据图片的压缩程度选择一个合适的步长,这个步长决定了我们调整数值的大小。
  • 评估鲁棒性:然后,PDM会评估每个数值调整的安全性和稳定性,确保调整后的数值在图片被压缩后仍然能够保持稳定。
  • 精确修改:接着,PDM只会对那些评估结果良好的数值进行调整,并且调整的幅度尽可能小,这样即使图片被压缩,隐藏的信息也不容易丢失。

3、补偿处理

 补偿处理(Post processing),在文章中提出的方法里,是用来增强隐写算法鲁棒性的一个关键步骤。它主要针对那些在JPEG重新压缩过程中可能发生变化的DCT(离散余弦变换)系数进行额外的修改,以确保这些系数在经过重新压缩后仍然能够保持稳定,从而保证隐写信息的正确提取。下面是补偿处理的详细步骤:

  1. 生成初始隐写图像:首先,通过精确抖动调制(PDM)或其他方法,将秘密信息嵌入到封面图像中,生成初始的隐写图像。

  2. 重新压缩隐写图像:将初始隐写图像通过模拟社交网络的JPEG压缩过程进行重新压缩,得到重新压缩后的隐写图像。

  3. 分析变化:对比重新压缩前后的隐写图像的DCT系数,找出那些在重新压缩过程中发生变化的系数。这些变化可能会导致隐写信息的丢失或错误。

  4. 确定补偿目标:根据分析结果,确定需要进行补偿处理的DCT系数。这些通常是那些在重新压缩后发生变化,且可能影响隐写信息提取的系数。

  5. 执行补偿修改:对于每一个需要补偿的DCT系数,根据其在重新压缩后的位置,进行适当的修改。这个修改的目的是将这些系数调整到一个更稳定的状态,减少它们在未来再次压缩时发生变化的可能性。

  6. 迭代过程:补偿处理可能需要多次迭代,每次迭代都包括重新压缩隐写图像、分析变化、执行补偿修改等步骤。每次迭代后,隐写图像的鲁棒性都会得到一定程度的提升。

  7. 结束条件:当经过一定次数的迭代后,或者当隐写图像在重新压缩后的变化低于某个阈值时,补偿处理可以结束。这时,得到的隐写图像在JPEG重新压缩下具有较好的鲁棒性。

补偿处理的目的是为了弥补在隐写过程中由于JPEG压缩引入的不稳定性,通过额外的修改来提高隐写信息的提取准确性。这种方法虽然可以提高鲁棒性,但同时也可能会对隐写的安全性产生一定的影响,因为它增加了对图像的修改。因此,在设计隐写算法时,需要在鲁棒性和安全性之间找到一个平衡点。

4、基于精确抖动调制的鲁棒隐写术算法

三、实验 (后续补充。。)

1、模拟的失真类型:

  • 文章中使用了JUNIWARD和UERD两种失真函数来模拟和计算隐写过程中的失真。

2、实验对比方法:

  • 将PMAS与不使用后处理、不使用精确抖动调制(使用传统的抖动调制,GDM)以及不进行失真调整的基线方法进行比较。
  • 通过改变后处理轮数和失真调整函数,评估了PMAS在不同条件下的鲁棒性和安全性。
  • 使用DCTR特征和SRNet神经网络作为检测器,评估了隐写算法的安全性

 补充处理

精细化抖动机制

 使用DCTR特征和SRNet神经网络作为检测器,评估了隐写算法的安全性。


四、Code资源

中国科学技术大学鲁棒隐写相关工作开源代码合集:

https://github.com/coriverchen/Robust_Steganography

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

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

相关文章

三方共建 | 网络安全运营中心正式揭牌成立

9月3日,广州迎来了一场网络安全领域的盛事。悦学科技、聚铭网络、微步在线联合打造的7x24小时网络安全运营中心(以下简称“中心”)正式成立,并在现场举行了庄重而热烈的揭牌仪式。众多行业专家、企业代表齐聚一堂,共同…

【C++ Primer Plus习题】16.2

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream> #include <string> #inc…

【Python决策树】ID3方法建立决策树为字典格式,并调用 treelib 显示

首先&#xff0c;我们使用 treelib 库来显示树结构 : ps : 如果 treelib 输出一堆乱码, 可以点进Tree修改 tree.py 大概 930 行左右的部分(去掉encode就行了) if stdout:print(self._reader) # print(self._reader.encode("utf-8"))else:return self._reader将字典…

基于Python的B站热门视频可视化分析与挖掘系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 随着互联网视频平台的迅猛发展&#xff0c;如何从海量的数据中提炼出有价值的信息成为了内容创作者们关注的重点之一。B站&#xff08;哔哩哔哩&#xff09;作为国内领先的年轻人文化社区&#xf…

应用层协议 —— https

目录 http的缺点 https 安全与加密 运营商挟持 常见的加密方式 对称加密 非对称加密 数据摘要&#xff08;数据指纹&#xff09; 不安全加密策略 1 只使用对称加密 2 只使用非对称加密 3 双方都是用非对称加密 4 对称加密和非对称加密 解决方案 CA证书 http的缺点 我们可…

基于鸿蒙API10的RTSP播放器(八:音量和亮度调节功能的整合)

一、前言&#xff1a; 笔者在前面第六、七节文章当中&#xff0c;分别指出了音量和屏幕亮度的前置知识&#xff0c;在本节当中&#xff0c;我们将一并实现这两个功能&#xff0c;从而接续第五节内容。本文的逻辑分三大部分&#xff0c;先说用到的变量&#xff0c;再说界面&…

智慧环保平台建设方案

智慧环保平台建设方案摘要 政策导向与建设背景 背景&#xff1a;全国生态环境保护大会提出坚决打好污染防治攻坚战&#xff0c;推动生态文明建设&#xff0c;目标是在2035年实现生态环境质量根本好转。构建生态文明体系&#xff0c;包括生态文化、生态经济、目标责任、生态文明…

表格标记<table>

一.表格标记、 1table&#xff1a;表格标记 2.caption:表单标题标记 3.tr:表格行标记 4.td:表格中数据单元格标记 5.th:标题单元格 table标记是表格中最外层标记&#xff0c;tr表示表格中的行标记&#xff0c;一对<tr>表示表格中的一行&#xff0c;在<tr>中可…

Excel数据转置|Excel数据旋转90°

Excel数据转置|Excel数据旋转90 将需要转置的数据复制在旁边空格处点击鼠标右键&#xff0c;选择图中转置按钮&#xff0c;即可完成数据的转置。&#xff01;&#xff01;&#xff01;&#xff01;非常有用啊啊啊&#xff01;&#xff01;&#xff01;

嵌入式Linux学习笔记(2)-C语言编译过程

c语言的编译分为4个过程&#xff0c;分别是预处理&#xff0c;编译&#xff0c;汇编&#xff0c;链接。 一、预处理 预处理是c语言编译的第一个阶段&#xff0c;该任务主要由预处理器完成。预处理器会根据预处理指令对源代码进行处理&#xff0c;将预处理指令替换为相应的内容…

游戏各个知识小点汇总

抗锯齿原理记录 SSAA&#xff1a;把成像的图片放大N倍&#xff0c;然后每N个点进行平均值计算。一般N为2的倍数。比如原始尺寸是1000x1000&#xff0c;长宽各放大2倍变成2000x2000。 举例&#xff1a; 原始尺寸&#xff1a; 放大2倍后 最后平均值计算成像&#xff1a; MSAA&…

基于SpringBoot+Vue的网上蛋糕销售系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的…

踩坑记:Poco库,MySql,解析大文本的bug

这两天在调试一个小功能&#xff0c;使用c,读取MySql。使用的是Poco库。按照官网的写法&#xff1a; std::cout << "read normal data by poco recordset "<<std::endl;Poco::Data::MySQL::Connector::registerConnector();Poco::Data::Session session(…

.NET 6.0 + WPF 使用 Prism 框架实现导航

合集 - .NET 基础知识(3) 1..NET 9 优化&#xff0c;抢先体验 C# 13 新特性08-202.《黑神话&#xff1a;悟空》神话再现&#xff0c;虚幻引擎与Unity/C#谁更强&#xff1f;08-21 3..NET 6.0 WPF 使用 Prism 框架实现导航09-11 收起 阅读目录 前言什么是Prism?安装 Prism使…

【卷起来】VUE3.0教程-09-整合Element-plus

最后一次课了&#xff0c;给个关注和赞呗 &#x1f332; 简介 Element Plus 是一个基于 Vue 3 的高质量 UI 组件库。它包含了丰富的组件和扩展功能&#xff0c;例如表格、表单、按钮、导航、通知等&#xff0c;让开发者能够快速构建高质量的 Web 应用。Element Plus 的设计理念…

洛谷 P4683 [IOI2008] Type Printer

原题点这里 题目来源于&#xff1a;洛谷 题目本质&#xff1a;深搜&#xff0c;字典树Trie 当时想法&#xff1a;当时看了题目标签&#xff0c;就有思路了&#xff08;见代码注释&#xff09;&#xff0c;但一直REWA最后只剩下RE。 正确思路&#xff1a; 我们使用字典树来完…

【机器学习】任务四:使用贝叶斯算法识别葡萄酒类别和使用三种不同的决策树方法(ID3,C4.5,CART)对鸢尾花数据进行分类

目录 1.基础知识 1.1 高斯贝叶斯&#xff08;Gaussian Naive Bayes&#xff09; 1.2 决策树&#xff08;Decision Tree&#xff09; 1.3 模型评价&#xff08;Model Evaluation&#xff09; 1.3.1 评价维度&#xff1a; 1.3.2 评价方法&#xff1a; 2.使用贝叶斯算法识别…

android 删除系统原有的debug.keystore,系统运行的时候,重新生成新的debug.keystore,来完成App的运行。

1、先上一个图&#xff1a;这个是keystore无效的原因 之前在安装这个旧版本android studio的时候呢&#xff0c;安装过一版最新的android studio&#xff0c;然后通过模拟器跑过测试的demo。 2、运行旧的项目到模拟器的时候&#xff0c;就报错了&#xff1a; Execution failed…

proteus+51单片机+AD/DA学习5

目录 1.DA转换原理 1.1基本概念 1.1.1DA的简介 1.1.2DA0832芯片 1.1.3PCF8591芯片 1.2代码 1.2.1DAC8053的代码 1.2.2PCF8951的代码 1.3仿真 1.3.1DAC0832的仿真 1.3.2PFC8951的仿真 2.AD转换原理 2.1AD的基本概念 2.1.1AD的简介 2.1.2ADC0809的介绍 2.1.3XPT2…

双指针算法专题(1)

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a; 优选算法专题 目录 双指针算法的介绍 283. 移动零 1089. 复写零 202. 快乐数 11.盛最多水的容器 双指针算法的介绍 在正式做题之前&a…