【图像隐写】Fixed Neural Network Steganography: Train the images, not the network 整理

来源:Fixed Neural Network Steganography: Train the images, not the network

【图像隐写】Fixed Neural Network Steganography: Train the images, not the network 整理_第1张图片
文章整理如下

ABSTRACT

encoder-decoder网络容量很大,但解码错误率很高(大约20%)。作者基于神经网络对输入的微小扰动的高度敏感性,提出一种新的隐写方法,能够在3bpp时降低解码错误率到0%。代码在https://github.com/varshakishore/FNNS.

1 INTRODUCTION

图像隐写message的经典方法,能够实现0%错误率,但是负载只能到0.5bpp。深度学习用encoder-decoder网络实现了更高的bpp,但导致了恢复信息的高错误率。
一些场景要求隐写算法的低错误率。如秘密message被加密后,在恢复时要求 0 error 才能被恢复。特别指出,我们对秘密message不做假设,其可以为任何二进制bit字符串
我们的方法基于对抗攻击(adversarial attacks)(神经网络对微小扰动敏感)的思想,针对部分要求提取信息无错(如加解密)场景,提出了一种3bpp时0.0错误率的隐写方法。

2 RELATED WORK

深度网络的缺点:

  1. 解码错误率高

  2. 假设从目标域中获得训练图像(在其他测试集上效果不好

3 FIXED NEURAL NETWORK STEGANOGRAPHY

主要过程:

  1. 初始化一个编码器F,此编码器以img为输入,以二进制字符串为输出

  2. 对于给定的秘密消息M和cover X,发送方以类似于对抗扰动的方式修改cover,得到X‘,使F(X’)=X

  3. 接收方用同样的decoder恢复秘密消息M

【图像隐写】Fixed Neural Network Steganography: Train the images, not the network 整理_第2张图片
三种解码权重和初始化方法

1.FNNS-R :

F 是一个随机网络,X’被初始化为cover。发送方和接受方只需要共享编码器和初始化编码器权重的随机种子;不需要共享实际的编码器参数。

2.FNNS-DE:

对于给定的编码器解码器对,定义F为预训练过的解码器,并初始化X’为Enc(X,M),Enc为和解码器配对的编码器。这种情况下,M的一部分已经被编码进X’,优化过程更快,但有时候编码器会恶化图像质量,使得优化算法难以进行恢复。

3.FNNS-D

F是一个预训练过的解码器,X‘初始化为cover。消息在扰乱过程和训练权重时被隐藏在图像中。质量更好,优化更不易陷入局部最优。

(第2和第3个在后文中为steganogan的encoder和decoder

解码器结构:基于steganoGAN的basic decoder

评估

  1. bit error rate:不正确恢复的比特数
  2. PSNR
  3. SSIM

4 STEGANOGRAPHY RESULTS AND DISCUSSION

数据集:div2k,MS-COCO

指标:

  1. bit error rate:错误恢复的比特数
  2. PSNR
  3. SSIM
    【图像隐写】Fixed Neural Network Steganography: Train the images, not the network 整理_第3张图片

优化时间

FNNS-D和FNNS-DE执行每幅图像的优化过程,以便在图像中编码消息,1-2bpp平均需要10秒,3-4bpp平均需要20秒。

局限性

通过在我们的优化管道中添加JPEG层(质量因子80)来提高FNNS对JPEG压缩的鲁棒性,但超过0.5bpp的比特率目前仍然无法实现。

6 APPLICATION - FACE ANONYMIZATION

应用: 脸部匿名信息传播

用GAN生成假脸,替换真实的脸,真实的脸压缩成一个位字符串,加密后进行传输,接受方使用解码器和私钥进行恢复

你可能感兴趣的:(图像隐写,安全,计算机视觉,深度学习)