【论文阅读】PRIS: Practical robust invertible network for image steganography

内容简介

论文标题:PRIS: Practical robust invertible network for image steganography

作者:Hang Yang, Yitian Xu∗, Xuhua Liu∗, Xiaodong Ma∗

发表时间:2024年4月11日 Engineering Applications of Artificial Intelligence

关键字:图像隐写、稳健、深度学习、可逆神经网络

阅读目的

阅读方式:泛读

摘要

主要工作:为了提高图像隐写的鲁棒性,本文提出了一种实用的图像隐写鲁棒性可逆网络(PRIS),它基于可逆神经网络,在提取过程前后分别放置两个增强模块,采用三步训练策略。

代码 : 代码可在https://github.com/yanghangAI/PRIS上获得,我们的模型在http://yanghang.site/hide/上的实际演示。

引言

提出当前图像隐写一个显著的问题是图像隐写的鲁棒性

显著限制是对舍入误差的忽略,这个问题的出现是由于深度学习框架中使用的数值精度(通常是32位)和图像的标准位深度(通常是8位)之间的差异。

基准模型:HiNet

主要贡献

  1. 提出了一种具有两个增强模块的鲁棒可逆神经网络,用于多种攻击下的图像隐写。
  2. 我们在训练过程中引入了三步训练策略,以获得更好的鲁棒性。
  3. 考虑舍入误差,提出了一种梯度近似函数来解决舍入运算引起的不可导问题。
  4. 实验结果表明,本文提出的PRIS在鲁棒性和实用性方面都优于现有的先进方法,特别是在容器图像存在细微扭曲和不可避免的舍入误差时。

相关工作

基于传统的图像隐写

传统的图像隐写是在空间域和频域,空间域的方法为最小有效位(LSB)、像素值查分(PVD);频域的方法为离散余弦变换(DCT)、离散傅里叶变换(DFT)、离散小波变换(DWT)等

基于深度学习的图像隐写

HiDDeN:一个创新的端到端基于深度学习的图像隐写框架。它使用一个包含两个卷积神经网络(cnn)和一个对抗网络的编码器-解码器架构,以改进编码器损失,通过在训练期间调整参数,在容量、保密性和噪声鲁棒性之间实现灵活的权衡。

Ssgan:将深度学习与传统的 LSB 结合,通过生成对抗网络(Gans)生成封面图像,LSB 嵌入和提取信息。

潜在向量优化的生成图像隐写

基于去噪扩散模型的新型隐写方法

可逆神经网络

学习数据分布和潜在分布中的映射,INN 在同一网络中执行前向和后向传播,同时充当特征编码器和图像生成器。

CycleGan:使用两个生成器和一个周期损失实现双向映射

其他的 GLow、i-ResNet 是做出了改进

将 INN 引入图像隐写,获取到了最先进的 SOTA 效果

但是面对的一个问题是没有解决舍入误差,本文为解决这些问题,在提取前后分别加入了预增强和后增强模块,提出一个梯度近似函数解决舍入误差的不可微问题。

方法

整体结构

图一:PRIS的框架包括可逆块和增强模块两大部分,其中DWT和IWT分别表示离散小波变换和逆小波变换。左边块是嵌入过程,右边块是提取过程。z 是服从正态分布的随机噪声。

这个是整个模型的结构图, x h , x s x_h,x_s xh,xs 先通过离散小波变换变换到频域,通过可逆块输出两幅图像,对于 x h x_h xh 将会进一步经过 IWT 转换为空间域,输出为 x c x_c xc x c x_c xc会收到不同的攻击,然后变为 x d x_d xd,然后经过预增强模块、DWT、可逆块,同时,得到高斯分布图像 z 也被输入到可逆块中,最终得到两幅图像,在频域上显示并提取秘密图像,z 经过 IWT 得到 解密后的 x e x_e xe.

可逆块

增强模块

预增强模块以变形后的容器图像为输入,输出增强后的容器图像,便于通过可逆块进行提取。后增强模块将提取的图像作为输入,输出与原始秘密图像更相似的增强提取图像。

损失函数

PSNR:封面和容器、秘密和揭示图象之间,目的是最大化 PSNR

引入了两个损失

总损失为两种损失的加权和

作者提到,如果过于关注容器的损失而不关注揭示秘密图像的损失,则会出现无限大的 PSNR-C,极低的 PSNR-S,这个和我上次自己训练的结果,容器很模糊,但是秘密图像可以看出来有些类似,可能是上次我的损失函数设置的有问题。

未来解决这种问题,所以使用损失的加权和来作为总损失

3 步训练策略

将训练过程分为三个不同的阶段,目的是找到可逆和不可逆的平衡点

步骤1:预训练可逆模块。在这一步中,只启用可逆块,增强模块不进行前向和后向计算。这将保证整个网络的可逆性。

步骤2:预训练增强模块。在此步骤中,PRIS的所有组件都被激活,但可逆块的参数保持固定。这种方法旨在适度降低可逆性,确保它不会损害整体性能。

步骤3:微调可逆模块和增强模块。

在此步骤中,所有参数都被启用,并将在反向传播期间更新。进一步提高了系统的鲁棒性。

舍入误差为什么重要

实验

实验细节

数据集:DIV2K

输入的图像被裁剪为 224*224

对于训练数据,使用随机裁剪来更好的泛化;对于测试数据集,使用中心裁剪避免评估中的随机性,每个阶段用 1600 个 epoch,使用 Adam 优化器,初始学习率分别为 1 0 − 4.5 和 1 0 − 5.5 10^{-4.5}和10^{-5.5} 104.5105.5

消融实验

增强模块、三步训练策略和领域选择的有效性

添加了的模块分别和第一行对比,确实是有提升,但是数值上的提升并不是很大

空间域还是频域

频域隐藏图像比在空间域隐藏图像更有效。然而,频域仍然是增强模块的更好选择,因此我们进行了不同域的消融研究

计算舍入误差的不同方法

误差参数的影响

将舍入函数的梯度设置为0的视觉结果,通过忽略提取任务实现了较高的PSNR-C,本质上是在尝试学习一个相同的映射函数

与其他方法比较

总之,我们的PRIS在一系列攻击中表现出卓越的性能,与其他方法相比,它是最健壮的方法。值得注意的是,当受到高斯噪声或不可避免的舍入攻击等微妙攻击时,与之竞争的SOTA方法的性能会急剧下降,而PRIS在这些条件下保持了明显更好的恢复能力。

实践实验

给出了网站,可以自己上传进行测试

跨域实验

  1. ImageNet:此数据集包含1,000张图像,从ImageNet 2012数据集的验证分割的每个类中随机选择一张。

  2. COCO:该数据集包含来自COCO 2017验证分割的5000张图像。

  3. VOC:该数据集包含来自VOC-2007验证分割的2,510张图像。

结论

本文提出了一种实用的鲁棒可逆图像隐写网络——PRIS。它将两个增强模块和一个三步训练策略集成到可逆神经网络中。而且,以往的研究忽略了舍入失真;然而,在实际操作中不可避免,其不可微性给训练带来了挑战。因此,本文提出GAF来解决这个问题,并在其他失真之前应用舍入失真,这更现实。此外,尽管在224 × 224像素的分辨率上进行训练,PRIS在实践中可以适应任何分辨率。这些特征赋予PRIS在鲁棒性和实用性方面优于现有SOTA方法的能力,特别是在面对微妙的攻击和不可避免的舍入误差时

我的理解

基准模型是在 hinet 上,然后加了几个模块用来增强这个稳健性,论文的网络结构并没有很详细的给出,但是给出了代码,

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis应用—1.在用户数据里的应用

大纲 1.社区电商的业务闭环 2.Redis缓存架构的典型生产问题 3.用户数据在读多写少场景下的缓存设计 4.热门用户数据的缓存自动延期机制 5.缓存惊群与穿透问题的解决方案 6.缓存和数据库双写不一致问题分析 7.基于分布式锁保证缓存和数据库双写一致性 8.缓存和数据库双写…

【Tomcat】理解tomcat与Socket

目录 1. Tomcat 1.1 Tomcat帮助启动http服务器。 1.2 tomcat理解: 2. 计算机网络最基本的流程 2.1 信息是怎么来的? 2.2 端口是干什么的? 3. 简单的Socket案例 服务端 客户端 启动: 3.2 在Tomcat发送信息,看…

Linux / Windows | ping IP + Port 测试

注:本文为 “Linux / Windows | ping IP Port 测试端口通畅” 相关文章合辑。 未整理去重。 windows 如何确认服务器上程序端口是否正常(ping、tcping) 三希已于 2023-05-22 18:08:06 修改 方式 1:ping 命令 ping 命令说明 p…

计算机网络之网络层超详细讲解

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 计算机网络之网络层超详细讲解 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记,欢迎大家在评论区交流讨论💌 …

LLMC:大语言模型压缩工具的开发实践

关注:青稞AI,学习最新AI技术 青稞Talk主页:qingkelab.github.io/talks 大模型的进步,正推动我们向通用人工智能迈进,然而庞大的计算和显存需求限制了其广泛应用。模型量化作为一种压缩技术,虽然可以用来加速…

jvm内存优化方式

1. JVM(Java Virtual Machine): • 定义:Java虚拟机,是运行Java字节码的抽象计算机。 • 内存管理:负责内存的分配和回收,是JVM内存优化的核心。 2. 堆(Heap)&#xff1a…

360智脑张向征:共建可信可控AI生态 应对大模型安全挑战

发布 | 大力财经 人工智能的加速发展,有力推动了社会的数智化转型;与此同时,带来的相关安全风险也日益凸显。近日,在北京市举办的通明湖人工智能开发与应用大会上,360智脑总裁张向征以“大模型安全研究与实践”为主题&…

CNCF云原生生态版图-分类指南(三)- 运行时

CNCF云原生生态版图-分类指南(三)- 运行时 CNCF云原生生态版图-分类指南三、运行时(Runtime)(一)云原生存储(Cloud Native Storage)1. 是什么?2. 解决什么问题&#xff1…

【实验】基于双向LSTM和注意力机制的文本分类

目录 1 数据 2 模型构建 2.1 注意力打分函数 2.1.1 加性模型 2.1.2 点积模型 2.2 注意力分布计算 2.3 加权平均 2.4 完整注意力机制的实现 2.4 模型汇总 3 模型训练 3.1 使用加性注意力模型 3.2 使用点积注意力模型 4 模型评价 4.1 使用加性注意力模型 4.2 使用点…

Tongweb7049M4有关SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱的处理方案(by lqw)

前提条件:Tongweb7049M4已在http通道里配置了https(如何配置https可以参考这个帖子:东方通TongWEB添加Https证书,开启SSL) 遇到客户在配置了https后,扫描漏洞提示: 有关SSL/TLS 服务器瞬时 Dif…

浩辰CAD教程004:柱梁板

文章目录 柱梁板标准柱角柱构造柱柱齐墙边绘制梁绘制楼板 柱梁板 标准柱 绘制标准柱: ①:点选插入柱子②:沿着一根轴线布置柱子③:指定的矩形区域内的轴线交点插入柱子 替换现有柱子:选择替换之后的柱子形状&#x…

VScode 配置 debug环境

首先请阅读官方文档 Debug python 在vscode 中安装好对应的python 插件 运行程序不存在输入参数的时候 当运行python脚本不存在输入参数的时候,可以使用右上角的直接开始debug 然后开始调试即可。 当需要配置输入参数的时候 在当前项目下 .vscode目录 中 添加…

【时时三省】(C语言基础)结构体传参

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 结构体传参 struct S有一个int data 它有一千个元素 然后struct S 创建了一个s给它初始化了 如果想把s的赋值打印 可以把s直接传给Printf 1 是传结构体的方式 也可以穿s的地址给print 2 …

PCL点云库入门——PCL库可视化之CloudViewer类简单点云信息显示

1、前言 可视化(visualization)涉及运用计算机图形学和图像处理技术,将数据转换成图像并在屏幕上展示,同时支持交互式处理。在PCL库中,一系列强大的可视化工具可供使用,其中较为流行的包括CloudViewer和PCL…

人工智能技术的深度解析与推广【人工智能的应用场景】

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默, 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把…

Source Insight的使用经验汇总

01-Add All"和“Add Tree”有何区别? 在 Source Insight 中,“Add All”和“Add Tree”是两种向项目(Project)中添加文件的操作选项,它们的区别在于处理文件和目录的方式不同: 1. Add All 范围&am…

检查读取数据寄存器输出的多扇出

为使第二寄存器被 RAM 原语吸收,来自存储器阵列的数据输出位的扇出必须为 1 。这在下图中进行了说明。 检查地址 / 读取数据寄存器上的复位信号 不应复位存储器阵列。只有 RAM 的输出可以容许复位。复位必须是同步的,以便将输出寄存器推断到 RAM 基元…

信创改造-Spring Boot 项目部署至 TongWeb

打 war 包参考:https://blog.csdn.net/z1353095373/article/details/144330999

趣味编程:猜拳小游戏

1.简介 这个系列的第一篇以猜拳小游戏开始,这是源于我们生活的灵感,在忙碌的时代中,我们每个人都在为自己的生活各自忙碌着,奔赴着自己所走向的那条路上,即使遍体鳞伤。 但是,生活虽然很苦,也不…

微服务-01

1.认识微服务 1.1 单体架构 单体架构(monolithic structure):顾名思义,整个项目中所有功能模块都在一个工程中开发;项目部署时需要对所有模块一起编译、打包;项目的架构设计、开发模式都非常简单。 当项目…