一、摘要
可逆神经网络(INN)自被提出以来,就受到了广泛关注。由于其双射构造和高效可逆性,INN被用于各种推理任务,如图像隐藏、图像重缩放、图像着色、图像压缩和视频超分辨率等等。本文针对最新关于INN在图像方面应用的文献进行介绍,包括每篇文献的基本原理和个人理解。最后对所介绍的文献进行总结,指出各自的优缺点并对未来INN在图像方面应用展开思考。
Invertible neural network (INN) has been widely concerned since it was proposed. Because of its bijective construction and efficient reversibility, INN is used for a variety of inference tasks, such as image hiding, image rescaling, image coloring, image compression, and video super resolution, among others. This article introduces the latest literature on the use of INN in imaging, including the rationale and personal understanding of each literature. Finally, the paper summarizes the literature, points out their advantages and disadvantages and thinks about the application of INN in image in the future.
二、绪论
由于INN的可逆性,其逆向过程示意图如图1.2所示,计算公式如(3)和(4)所示。
因为其强大的网络表示能力,INN适用于各种推理任务,如图像隐藏、图像着色、图像缩放、图像压缩和视频超分辨率等等。由于笔者的研究方向与图像隐藏相关,下面将通过笔者阅读过的与此相关论文来具体展示INN在图像中的应用,同时包括笔者的思考和理解。
三、相关论文研究
本章按照论文发表的时间顺序,依次介绍四篇使用INN进行图像方向的应用的论文,分别为HiNet[3]、Steg-cINN[4]、RIIS[5]和IRN[6]。在介绍的过程中,将着重阐述文献提出的神经网络架构和笔者的个人理解。
3.1 HiNet
3.1.1 网络体系结构
图像隐藏的目的是将秘密图像以一种不被察觉的方式隐藏在封面图像中,然后在接收端完美地恢复秘密图像。容量、不可见性和安全性是图像隐藏的三大挑战,原文提出了一种新的基于可逆神经网络(INN)的框架HiNet[3],可以同时克服这三大挑战。在INN的框架下,将图像揭示建模为图像隐藏逆向过程,HiNet[3]只需要训练一次即可得到图像隐藏和揭示模块的所有网络参数。
图2.1展示了原文所提出的HiNet[3]的整体框架。在正向隐藏过中,输入一对秘密图像和封面图像,经过离散小波变换(DWT)将其分解为低频和高频小波子带,再将其送入隐藏模块进行处理。最后一个隐藏块的输出经过一个逆小波变换(IWT)生成隐写图像和丢失信息。同理,由于HiNet[3]完全可逆,在反向揭示过程中,隐写图像和辅助变量依次通过DWT、揭示模块(结构和参数均与隐藏模块相同)和IWT得到恢复秘密图像和恢复封面图像。
对照HiNet[3]的框架图,笔者认为HiNet在实验结果上优于其他先进图像隐藏方法的原因有以下三点:(1)使用小波域进行隐藏,原文采用Haar小波进行DWT和IWT,是一种完全可逆的小波变换,有利于HiNet的端到端训练和可以减少图像信息损失,提高图像的隐藏性能。(2)INN框架在图像隐藏中的应用,使图像隐藏和图像揭示作为一个完整的模块,而不同于以往两个独立的模块,即INN使该过程完全可逆,同时提高图像的隐藏和显示性能。(3)原文在对损失函数方面创造性提出了低频小波损失,其目的是为了保证大部分信息隐藏在高频子带中,要求隐写图像的低频子带经过小波分解后与封面图像的低频子带相似,通过实验部分的消融实验可以看出引入低频小波损失的有效性。
但是笔者对于HiNet[3]还存在两个没有理解透彻的问题:(1)将秘密图像和封面图像作为DWT输入时的通道划分问题。秘密图像和封面图像为RGB三通道图像,经过DWT后变成各自12通道再输入的INN框架,经过一系列可逆块最终将前12通道合并成隐写图像,后12通道合并成丢失信息,在这过程如何操作已经原理尚不清楚。(2)由第一个问题衍生而出,HiNet[3]直接正向过程中输出丢失信息舍弃,在反向过程中采用从高斯分布中随机采样作为辅助变量帮助恢复秘密图像。笔者猜想的原因是可能正向过程中已经将秘密图像的绝大部分信息隐藏到封面图像中,剩下的12通道含有的秘密图像信息很少可以丢弃,引入高斯分布采样可能可以让恢复秘密图像的视觉效果更好。
3.1.2 代码运行
由于HiNet[3]的作者开源了论文代码,使用的数据集是DIV2K。笔者成功运行了HiNet[3],并使用DIV2K的验证集作了简单测试,其生成的部分恢复秘密图像和计算结果分别如图2.2和2.3所示。从图2.2可以看出,HiNet[3]最终恢复的秘密图像视觉效果非常好,无光斑和噪声伪影。从图2.3可以看出,HiNet[3]的两个评价指标:平均PSNR值达到50dB,平均SSIM值达到0.9,实验数据非常理想。此外,笔者还验证了HiNet[3]的数据集泛化性,还在其他数据集如Set5、Set14、Kodak等进行测试,实验结果均非常好,此处便不再展示。
但笔者在运行过程中,发现代码中对于文章提出三种损失:隐藏损失、揭示损失和低频小波损失的权重分别为5,1,1。而原文给出了三种损失权重分别为10,1,10,笔者以原文给出损失权重进行训练发现,代码中的损失权重可以是总损失下降更快,应该是原文作者的笔误,没有将论文中的权重更新为代码中的权重。
3.2 Steg-cINN
3.2.1网络体系结构
现有的图像深度隐写方法只考虑了隐写图像与封面图像的视觉相似性,而忽略了隐写图像的统计安全性。此外,它们通常隐藏仅限于图像类型的数据,忽略了无损提取的约束。原文提出的深度图像隐写术Steg-cINN[4]统一解决了上述问题,可以将任意类型的数据嵌入到图像中,实现数据的安全隐藏和无损提取。Steg-cINN[4]最大的创新点是将数据隐藏问题转化为图像着色问题,使用条件可逆神经网络cINN以灰度图像作为先验指导彩色图像生成并以安全的方式进行数据隐藏。
图2.4展示了原文提出的Steg-cINN[4]框架,包括一个隐藏过程和一个揭示过程。该框架的隐藏过程首先将任何类型的秘密数据转化为二进制序列m,然后映射模块M将二进制序列m映射为符合标准正态分布潜变量z。对于彩色封面图像使用Lab颜色空间空间将其转换为灰度图像,隐藏网络H在灰度图像L的引导下将潜变量z转换为新的颜色信息c。对L和c进行拼接,通过颜色空间转换为RGB图像。在使用舍入操作存储图像之后,整数值图像将作为隐写图像发送。该框架的揭示过程是隐藏过程的逆过程,首先首先将容器图像从RGB转换到Lab颜色空间,得到L’和c’,其中L’表示重构灰度图像,c’表示重构颜色信息。然后揭示网络R在L’的引导下将c’转化为潜变量z’。揭示网络R也是基于cINN,其与隐藏网络H具有相同的网络架构和共享权重。最后,逆映射模块M−1将z’映射为二进制位流M’,并可进一步转换为其原始数据类型。
分析Steg-cINN[4]的框架图,笔者认为Steg-cINN[4]可以生成真实的彩色图像实现安全的数据隐藏并成功抵抗隐写分析的检测有以下两个方面的原因:(1)映射模块M和逆映射模块M−1在隐藏过程和揭示过程中起着重要作用,其主要思想是让让z的符号代表m,m是一个遵循均匀分布的二进制位流,z是一个遵循标准正态分布N(0,1)的潜变量。只要最终提出的z’的符号与z相同,即可准确提取m。(2)因为图像存储中的舍入操作会导致图像信息的丢失,原文对Steg-cINN[4]的训练分为两阶段。第一阶段是训练生成模型,生成自然真实的颜色。第二阶段是进行四舍五入训练,增强在四舍五入误差条件下的显示能力。
同时,笔者没有完全弄懂本文的思想,主要有以下两个问题:(1)隐藏网络H和揭示网络R的结构均是基于cINN,其结构如图2.5所示。原文应该首先需要将封面彩色图像转化为灰度图像作为指导图像,但该条件如何在cINN中起作用还不是很清楚。笔者认为该灰度图像经过 VGG预处理后,可以使颜色信息更好地匹配灰度图像的语义信息。将提取的特征作为输入送入到cINN的仿射耦合层(ACL),可以更好学习图像语义信息。(2)原文将实现任意数据的数据隐藏作为一个创新点,笔者认为该点不足以成为一个创新点,因为图像、文本、音频和视频等可以比较简单转化为二进制序列。主要问题在原文强调二进制序列m必须满足均匀分布,在现实中显示不可行,否则将无法使用z的符号代表m,可能笔者没有完全弄懂映射模块M和逆映射模块M−1架构如何实现。
由于原文作者没有公布Steg-cINN[4]的源码,此处无法展示实际的运行效果。
3.3 RIIS
3.3.1网络体系结构
以往的图像隐写方法在隐藏能力和鲁棒性方面存在一定的局限性,通常容易受到容器图像失真的影响,如高斯噪声、泊松噪声和有损压缩。原文提出一种基于流的鲁棒可逆图像隐写框架RIIS[5],引入条件标准化流、内容感知噪声投影(CANP)、容器增强模块(CEM)和失真引导调制(DGM)。无论在无损环境下还是在失真环境下,RIIS[5]在保持不可感知性和容量的同时,有效地提高了鲁棒性。此外,原文指出2.1节介绍的HiNet[3]在隐写图像上实现了轻微的噪声或有损压缩,所揭示的秘密图像就几乎无法识别,且HiNet[3]一次只能在一张封面图像中隐藏一张秘密图像。然而RIIS[5]可以在失真情况下很好恢复秘密图像且同时一次性能在一张封面图像中隐藏多张秘密图像。
由于原文作者没有公布RIIS[5]的源码,此处无法展示实际的运行效果。
3.4 IRN及其扩展
3.4.1网络体系结构
图像重缩放是一种常用的双向操作,它首先将高分辨率图像缩小以适应各种显示器或存储和带宽友好,然后将相应的低分辨率图像放大以恢复原始分辨率或放大图像中的细节。然而,非单射下采样映射丢弃了图像高频内容,导致逆恢复任务存在不适定问题。原文主要提出了一个新的可逆框架IRN[6]来处理这一普遍问题,该框架的可逆性使其能够以分布的形式对退化前的信息损失进行建模,从而缓解恢复后的不适定问题。此外,原文在图像重缩放的基础上,扩展到类似图像脱色-着色问题,并进一步将可逆框架与图像压缩结合起来,以获得更广泛的应用。与现有方法相比,IRN[6]在从缩小和脱色图像进行放大和彩色重建的定量和定性评估以及图像压缩的速率失真方面都有显著改进。
图2.9展示了原文提出的IRN[6]作为可逆建模框架的实例化模型,由一个Haar变换和若干个InvBlocks组成的堆叠降尺度模块组成。每个降尺度模块将空间分辨率降低2倍。Haar变换使模型具有一定的感应偏差,用于分割低频和高频内容,在图像下采样过程中,低频和高频内容分别被近似保留和丢失。InvBlocks是IRN[6]的主要模块,将经过Haar变换的三个通道的高频信息作为输入送到上方,低频信息作为输入送到下方。
虽然Haar小波变换可以很好地进行高频和低频内容的下采样和分割,但叠加多次变换只能以2的幂来重缩放图像。这在很大程度上限制了IRN[6]的缩放范围。为了实现更多的尺度,例如3×,原文利用一个可学习的下采样层来取代架构中的Haar变换,其由由一个压缩运算和一个1 × 1可逆卷积组成。但此处笔者不太理解可学习下采样层如何分割图像的高频和低频信息,可能是因为通过1×1可逆卷积进行通道置乱,使变换后的第一个通道为所有元素的平均值,在进行初始化时可以提供对提取低频信息的先验知识。此外,原文在介绍IRN[6]的训练损失函数时,通过大量的概率推导,笔者也没有完全理解,此处便不再叙述。
对于原文的提出图像脱色-着色模型IRNcolor,其基本架构如图2.9所示,采用的是IRN[6]模型一次下采样的结构即只有一个可逆块。与IRN[6]模型的不同之处有:(1)图像脱色-着色过程中,灰度信息(采用Y通道)对应着低频信息,颜色信息(采用CbCr通道)对应着高频信息,将图2.9中的下采样模块替换为灰化模块,且无Haar小波变换。(2)三个损失指导损失、重建损失和分布匹配损失的超参数不同。(3)当潜变量z服从标准高斯分布时,在逆计算中设置z = 0而不是随机样本。
对原文提出IRN[6]与图像压缩的结合,主要分为两个方面:IRN[6]+无损压缩和IRN[6]+有损压缩,具体流程如图2.10所示。其中,最重要的模块是有损压缩中的压缩恢复(CRM)模块,其可以将输入的经过压缩后的退化LR图像转换为经过有损压缩后退化恢复的LR图像。但具体的CRM模块结构原文并没有给出,笔者目前无法理解。
3.4.2 代码运行
由于IRN[6]的作者公布论文源码,使包括三个部分:图像重缩放,图像的脱色-着色,以及图像缩放与压缩的结合。原文对于所有任务的训练使用的数据集是DIV2K,同时使用4个额外的标准数据集上评估提出的模型,即Set5,Set14,BSD100和Urban100。笔者成功运行了IRN[6],并使用DIV2K的验证集以及以上四个数据集就原文的三部分作了简单测试,以DIV2K为例展示其生成的部分图像分别如图2.11-2.13所示。从这些图可以看出,生成图像的视觉效果均非常好,且图像压缩的压缩比非常高。
笔者在测试IRN[6]对于其他数据集的泛化性,发现了问题:对于某些数据集如Kodak进行一次下采样测试时,会出现意想不到的光斑如图2.14所示。笔者认为可能的解决办法是以Kodak为训练集重新训练得到训练参数文件进行测试,可见IRN[6]对于超分辨率重建常用的数据集泛化性比较好,但是对于其他数据集泛化性不是很好,有待继续研究。
四、总结与思考
本文主要通过近两年来最新的四篇关于INN的文献来具体展示INN的可逆性和在图像方面的具体应用,并对开源的文献做了简单的测试实验。在介绍过程中,笔者提出了对于这些文献的理解与思考,同时也存在某些问题目前无法理解,可以继续研究。现在对前文介绍的四篇文献作简单总结如下:
(1)HiNet[3]最大的创新点是提出了一种新的低频小波损失来提高图像隐藏的安全性,但是没有实现将多张秘密图像隐藏到一张封面图像中且无法抵抗图像攻击。
(2)Steg-cINN[4]使用cINN从图像着色进行安全数据隐藏,可以在不同的场景中达到100%的揭示准确性,但是存在的缺陷是实现条件苛刻且数据隐藏的鲁棒性差。
(3)RIIS[5]利用CANP将隐写图像的特征加入到高频信息中指导潜变量的生成,同时采用CEM可以有效抵抗失真使得模型鲁棒性高,但是只能抵抗三种类型的失真且框架结构复杂。
(4)IRN[6]以图像重缩放为核心,实现了图像脱色-着色模型以及与图像压缩的结合,均取得了最好的实验结果,但是对数据集的泛化性不是很好需要针对不同数据集重新训练。
由于笔者的研究方向与图像隐藏有关,未来关于INN在图像方面的应用或改进,可以从以下三个方面进行思考:
(1)目前提出的最新图像隐藏方法,都可以实现大容量的要求即将多张秘密图像隐藏到一幅封面图像中,但提高隐藏鲁棒性一直需要解决,可以考虑更多的失真情况得到一个通用的INN模型框架。
(2)图像隐藏的实验结果依赖于训练策略和所用数据集,可以优化训练策略和提高所提出方法对各种数据集的泛化性。
(3)可以考虑INN与无载体图像隐藏的结合,因为随机采样去恢复秘密信息总是存在误差,尽可能减少信息丢失是关键所在。
五、参考文献
[1]Laurent Dinh, David Krueger, and Yoshua Bengio. Nice:Non-linear independent components estimation. In International Conference on Learning Representations (ICLR),2014.
[2]Laurent Dinh, Jascha Sohl-Dickstein, and Samy Bengio.Density estimation using real nvp. In International Conference on Learning Representations (ICLR), 2016.
[3]Junpeng Jing, Xin Deng, Mai Xu, Jianyi Wang, and Zhenyu Guan. Hinet: Deep image hiding by invertible network. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2021.
HiNet源码
[4]Yanzhen Ren, Ting Liu,Liming Zhai and Lina Wang. Hiding Data in Colors: Secure and Lossless Deep Image Steganography via Conditional Invertible Neural Networks,2022.
[5]Youmin Xu, Chong Mou,Yujie Hu,Jingfen Xiu and Jian Zhang. Robust invertible image steganography.In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR),2022.
[6]Mingqing Xiao, Shuxin Zheng,Chang Liu,Zhouchen Lin and Tie-Yan Liu. Invertible Rescaling Network and Its Extensions.In International Journal of Computer Vision,2023.
IRN源码