From Image to Imuge: Immunized Image Generation

From Image to Imuge: Immunized Image Generation

  • Brief Introduction of myself
  • Introduction of this work
  • Related Works
    • Image Self-Embedding
    • Image Reconstruction (Inpainting)
  • Method
  • Experiments
  • Conclusion and Contact

Brief Introduction of myself

大家好,我是复旦计算机学院的小应,Google Scholar: Qichao Ying,目前博二,从今天开始我准备把我之前整理在Google Doc上的一些论文整理的资料逐渐发到CSDN上来。然后我的科研水平毕竟有限,跟很多大佬相比还是有很大的差距,所以欢迎关注并在每一条post下面评论指正,谢谢!大家一起努力!虽然之前我在Robust Watermarking和Reversible Data Hiding这些方向上发表了一系列论文,但是这篇Imuge是我正式“转行”DL和CV后的第一篇文章,所以希望这可以给我开一个好头吧。

Introduction of this work

这篇文章From Image to Imuge: Immunized Image Generation1收录于ACM Multimedia 2021 poster section2,提出了一个概念叫做“图像免疫”,意思是对图像进行一定的变换,让它能够在被篡改后可以定位得到它的被篡改位置,并可以恢复出原始图像信息。3

注意,以下解释中所涉及的论文,引用编号都是对应原文中的References的。

From Image to Imuge: Immunized Image Generation_第1张图片

Related Works

Image Self-Embedding

在2010年左右的时候,我们实验室的张新鹏老师等人提出了一系列关于图像自嵌入的技术。在传统自恢复图像水印方案中,许多方案都采 用将图像压缩后分散隐藏到自身中去的方法,因 此,这些方法一般先使用图像压缩的方法将原始图 像压缩为一个无损的或者近似的表示方法。

1) 图像压缩。在这个环节,不同方法采用不同的 压缩策略与比例,例如[1]中,张等人仅保留像素 的 MSB 作为原始图像的近似,因此在做图像自恢复 后,对原始图像的恢复只是近似的。在[4-7]中, 在其余区域中提取数据后,可以恢复操作区域或丢 失区域中的原始内容。[8-9]仅将原始图像的离散 余弦变换(DCT)系数作为嵌入对象。

2) 边信息生成与嵌入。边信息的生成一般是不同方法区别彼此的重点,也较大程度影响了他们的自恢复 能力。先前方法在边信息的生成上比较接近, 主要采用的方法是对其进行矩阵编码。

3) 哈希生成。在嵌入边信息后,图像自嵌入技术 需要为嵌入后的图像生成哈希,以便于在提取端检 测何处受到篡改。在这一部分,不同的自恢复方法 基本采用相同和哈希算法,[1-4]以 8×8 为一个单 位,因此如果在提取端发现一个 8×8 内的哈希发生 了变化,那么整个块都会被认为受到篡改,[5-7]则 采用了不同的策略,例如[7]将识别的精确度提升到 了像素级别,利用最低有效位(least significant bit, LSB)作为剩余 7 位比特位的一个监督,如果在提取 端发现监督位与剩余 7 位计算得到的哈希值不一 致,则认为该像素受到了篡改。这两种方法的区别 主要出现在精确度上,前者可以防止篡改区域的漏 识别,但是可能会导致不必要的额外恢复,因为这 种方法对图像的恢复是以块为单位的。后者可以精 确到像素,但是由于监督位很短,只有一位,因此 很可能会出现篡改后监督位与剩余位的哈希值仍 然巧合一致的问题,造成漏检测。上述两种情况都 可能会导致恢复能力的下降,但相比而言,以块为 单位的哈希生成比较受欢迎。

  1. 篡改检测与图像恢复。首先,对于篡改检测而 言是非常简单的,信息接收者只需要得到图像后对 不同的小块或者像素检查哈希的一致性,即可判断 出哪里受到了修改。其次,对于图像恢复,不同的 工作给出了不同的方法,总体而言,这些方法都结 合了矩阵解码的方案。在剔除受到篡改的小块后, 将正常小块中的边信息提取出并连在一起,可以得 到一个比原始边信息序列短的序列 r,接下来就是对这个r求解,推荐感兴趣的读者阅读[7],因为求解过程非常数学且也毕竟只是一个related work,不是很必要在这里花很大篇幅来讲。

总结一下就是,这类Self-Embedding方法虽然有效,但是由于要求图像主体必须没有经过任何攻击,所以实际应用意义不是很大,也就是说,这种自嵌入方法是脆弱的,会把JPEG压缩、Rescaling等常见的图像处理技术引入的噪声都作为篡改该对待。另外,上述工作非常数学,所以求解过程非常缓慢,而且提取效果完全未知,一旦出现无解的情况,那么被篡改区域的信息都没有办法被恢复(就算coarse的版本也不能得到)。

Image Reconstruction (Inpainting)

最近几年有很多利用深度学习的图像恢复技术,例如基于GAN inversion的图像重构、image inpainting等等,取得了很不错的效果。但是,基于此类技术的恢复经常会虚构或猜测(hallucinate)图像丢失的信息,而不是真正恢复它们(reconstruct)。例如,image inpainting中有很多方法是通过寻找背景区域中与需要填补区域相关性最大的小块作为信息源,从而实现图像修复,这必然会带来一个结果就是恢复后的图像虽然看起来质量很好,且比较真实,但是却和原始图像差异很大。而我们的paper则可以解决这个image fidelity的问题。

Method

From Image to Imuge: Immunized Image Generation_第2张图片
上图展示了本文提出的基于深度学习的图像自 恢复算法的流程,为了方便表述,下文将该算法简称为 IMUGE。与上面说到的经典方法不同的是,该方法具有鲁棒性, 可以抵抗多种攻击。

整个架构分为多个子网络,其中包括:编码网络(Encoder)、 噪声层(Noise Layer)、鉴别器(Verifier)、提取网 络(Decoder),另外,设计了两个判决器,用来提 升恢复后图像与编码后图像的质量。

** 网络结构**。本文使用的网络基于一个基准网络, 基准网络通过优化改进经典的 U-net结构得到。我们也可以把这个基准网络修改为别的经典网络或者对网络结构的内部实现进行一定的修(mo)改,我们 经过实验发现,单纯修改网络结构、层数,或者引入一些Attention机制(Squeeze-and-Excitation,CBAM等),对最终的结果影响并不是很大。

攻击层的作用是模拟图像在传输过程中可能遇 到的攻击类型,例如高斯噪声、JPEG 压缩、缩放 等。这些攻击都可能会对图像自恢复的鲁棒性与可 靠性造成一定影响。攻击层的作用是强化整个网 络,使得编码后的图像能够抵抗攻击。最后,使用 两个 PatchGAN 网络,分别判断原始图像与编码后 图像、原始图像与恢复图像的真假,以此提升网络 生成的图像的质量。 渐进恢复与任务拆解。在提取端,本文采用一 种渐进恢复的思想,这种概念被广泛使用在许多视 觉任务中,例如在[24]中,使用 GAN 网络渐进生成 虚假人脸,等等。该过程一共分为 4 个阶段,在初 始阶段,恢复网络仅生成分辨率为原始图像 1/16 的 图像,最后三组上采样模块不会起到作用,在后三 个阶段,我们逐渐提升恢复图像的分辨率,并将上 采样模块加入到整个流程中。最终,网络可以将比 较困难的自恢复问题转化为恢复不同分辨率下原始图像的子任务,实验也证明,相比一步到位的做 自恢复,这种渐进思想对于提升网络性能起到了十 分关键的作用。 鉴别器的任务是进行像素级别的二分类任务,得到图像中哪些位置受到了篡改,相当于第二章中 介绍的方法中的哈希鉴别环节。对于鉴别器,虽然 在实际应用中这个网络是与剩下的网络串行使用, 但在训练过程中,我们将鉴别与恢复两个任务剥离 开来。训练时候的信号流图如图 6 所示。

损失函数。本文使用的损失函数还是以图像重构和GAN为主的,很vanilla也很直观。采用 L1 损失和判别器损失来 定量衡量原始图像与编码后图像、原始图像与恢复 图像的距离,此外还引入总变分损失(TV loss, total variation loss)[28]用来控制生成图像的平滑程度,防 止 GAN网络生成不必要的噪声信息。

Experiments

From Image to Imuge: Immunized Image Generation_第3张图片
上面这张图展示了本文提出方法的实验结 果,可以看到,提出的算法对于篡改检测的判断还 是非常准确的,其实网络在进行篡改检测时会检测 图像中哪里不存在编码网络嵌入进去的特殊信号, 以此作为判断的根据。从图像质量上来看,图像自 恢复的效果整体来说也是不错的,尤其对于多余物 体的添加,该方法可以有效抵抗并恢复原始内容。

From Image to Imuge: Immunized Image Generation_第4张图片

下面两张表定量分析了图像在不同攻击下的自 恢复效果,其中,BCE 指的是篡改检测的像素误分 类交互熵,越大表示分类错误越高,L-PSNR 指的 是被篡改区域内信息与原始内容之间的 PSNR。

From Image to Imuge: Immunized Image Generation_第5张图片

我们也做了一些消融实验。本文提出了若干技术用来提升自恢 复质量,我们于是 对各个重要的环节进行了消融实验用 来证明各个环节都是起到了效果的。在测试 1 中, 我们把鉴别器与判决器都去除,IMUGE 对原始图 像的恢复将直接基于篡改内容。在测试 2 中,我们 添加鉴别器,在测试 3 中,添加判决器,在测试 4 中,我们使用上述的任务剥离技术,让鉴别器的训 练结果不会影响到恢复网络,最后,在测试 5 中我 们引入渐进恢复技术。从表 3 中的数据来看,从测 试 1 到测试 5,每一组测试的实验结果都相比上一 组实验在效果上有明显的提升,此外从测试 1 来看, 直接通过朴素的方法很难实现图像自恢复。总而言 之,本文中提出的方法对于提升图像自恢复技术来 说是有效的,并且在传统方法都无法应对善意攻击 例如 JPEG 压缩等的时候,本章提出的方法可以很 好应对这个问题。

Conclusion and Contact

本文首次提出结合深度学习的图像自恢复技术 (IMUGE),IMUGE 对原始图像进行较小的转换以 创建免疫图像。接收者收到带有恶意攻击(例如篡 改)的免疫图像后,将删除这些修改并恢复原始内 容。在对抗训练的帮助下,生成的免疫图像在视觉 上与原始图像相同,并且恢复后的图像具有很高的 视觉质量。 IMUGE 被认为是第一个进行图像内容 恢复的强大框架。实验结果证明了 IMUGE 的有效 性,可以在抵抗善意攻击的同时高质量地恢复原始 图像,具有一定实用价值。

但是,本文提出的技术也存在一定的局限性, 例如,对于纹理丰富的图像,该技术很难将原始图 像的细节完全恢复出来,而只能恢复出以低频信号 为主的轮廓信息,另外,本文提出的技术使用的网 络上也存在一定改进空间,最近,随着空洞卷积、 Attention 机制等新技术的提出,许多计算机任务在 效果上都得到了很大的提升。因此,今后,可以从 多个角度提升图像自恢复技术的效果。

Wechat:yqc_fudanian
Mail: [email protected]
GitHub/ Youtube/ StackOverflow: yingqichao
ZhiHu: Shiny爱学习


  1. Github repo of the paper ↩︎

  2. Youtube presentation ↩︎

  3. Paper early access ↩︎

你可能感兴趣的:(深度学习,opencv,python)