神经网络图像隐写术:用AI隐藏信息的艺术
🏡作者主页:点击!
🤖编程探索专栏:点击!
⏰️创作时间:2024年12月24日1点02分
神秘男子影,
秘而不宣藏。
泣意深不见,
男子自持重,
子夜独自沉。
论文源地址(有视频):
Aspiringcode - 编程抱负 即刻实现传知代码只专注开箱即用的代码https://www.aspiringcode.com/content?id=17210588505799&uid=bb6aa0ae6b3749868d1b2d4e61d1a208
论文概述
图像隐写术是一种在图片中隐藏消息的过程。虽然密码学等其他技术旨在防止对手阅读秘密消息,但隐写术旨在隐藏消息本身的存在。在本文中,我们提出了一种新的技术,用于使用生成对抗网络在图像中隐藏任意二进制数据,这使我们能够优化我们的模型生成的图像的感知质量。我们表明,我们的方法实现了每像素 4.4 位的最新有效载荷,逃避隐写分析工具的检测,并且对来自多个数据集的图像有效。为了实现公平比较,我们发布了一个在线可用的开源库
论文方法概述
封面图像 C 是从所有自然图像 PC 的概率分布中采样的。然后,隐写图像 Si 由学习的编码器 E(C, M ) 生成。然后通过学习的解码器 D(S) 提取秘密消息M。在训练当中,对信息的准确性和图片的质量(psnr)进行联合优化。
论文结构
整体结构主要分为三个部分,编码器,解码器,判别器
编码器接受一张CHW的图片,和一个DHW的一个二进制信息,输入到网络中,网络输出一个3HW的RGB图像作为信息承载的图片,将这个图片作为待传输的图片
解码器:由卷积网络构成,输入为编码器输出的图片,输出为浮点数构成的多维矩阵,这个矩阵和0比较进行二值化后形成二进制信息组成的矩阵,和原始信息M比较,判断信息恢复的准确度。
判别器:
为了对编码器的性能提供反馈并生成更真实的图像,我们引入了一个对抗性判别器。评论家网络由三个卷积块和一个输出通道的卷积层组成。为了生成标量分数,我们将自适应平均池化应用于卷积层的输出。
训练细节:文章采用MSE loss,BCE loss,进行训练,采用类似gan的对抗训练的方法
论文结果
演示效果
首先看一下隐写前后的效果:
input
output
同时可以解出隐藏的信息。
训练细节
核心逻辑
在这里可以粘贴您的核心代码逻辑:
# start
console.log('wonderful')
1
2
使用方式
进入research文件夹,在jupyter 中运行相关的ipynb文件即可运行代码
部署方式
在这里描述您的服务部署方式
GPU python 3.6 pytorch1.7 注意不能版本太高!!!