APP下载

图像非加性隐写综述

2022-01-18王垚飞张卫明陈可江周文柏俞能海

网络与信息安全学报 2021年6期
关键词:加性空域编码

王垚飞,张卫明,陈可江,周文柏,俞能海

(1. 中国科学技术大学网络空间安全学院,安徽 合肥 230027;2. 中科院电磁空间信息重点实验室,安徽 合肥 230027)

1 引言

隐写是用于隐蔽通信的技术,它将秘密消息以不可感知的形式隐藏在内容公开的载体中,在保护秘密通信内容的同时隐藏了通信行为。自适应隐写通信系统如图1所示,近年来,随着图像成为流行的社交媒体,基于图像的隐写算法研究成为热点,针对图像的主流隐写都是自适应隐写,基于最小化失真隐写框架,即在负载率一定时最小化总失真。失真通常由失真函数衡量每个图像元素修改所产生的影响来获得。一般情况下,由于隐写在各个元素上的修改对失真的影响是不独立的,基于最小化失真框架很难求解,因此研究人员假设隐写在各个位置上的修改对失真的影响是独立的,即为加性隐写模型。目前的 STC(syndrome-trellis code)[1]和SPC(steganographic polar codes)[2]在给定嵌入率下,能够在加性模型下接近失真理论界。

图1 自适应隐写通信系统Figure 1 Adaptive steganography communication system

大量流行的图像隐写自适应失真函数设计都是加性的,根据嵌入域将它们分为空域与JPEG域,其中针对空域图像的失真函数有:HUGO(highly undetectable stego)[3],WOW (wavelet obtained weights)[4],S-UNIWARD(spatial-universal wavelet relative distortion)[5],HILL(high-pass,low-pass and low-pass)[6],MG(multivariate gaussian),[7]和MiPOD(minimizing the power of optimal detector)[8]等,针对JPEG 域的失真函数有:J-UNIWARD(jpeg-universal wavelet relative distortion)[5],UED(uniform embedding distortion)[9],RBV(residual block values)[10]和BET(block entropy transformation)[11]等。为了更好地定义加性失真函数,学者们提出了3个基本原则:复杂度优先原则、扩散原则和争议元素优先原则。

虽然基于加性失真的模型设计在技术上更容易处理,但显然没有反映实际的失真变化情况。早在自适应隐写设计之初,研究人员就已经开始考虑该问题,Filler和Fridrich使用Gibbs结构[12]进行了首次尝试,通过将宏观特征表达成局部特征的总和,该方法在HUGO-BD(HUGO- bounding distortion)[3]中实现并显示了其有效性,但其安全性仍弱于最近提出的加性失真方案。如何建立有效的非加性隐写方案,一直困扰隐写领域的研究者。在2013年的国际信息隐藏大会上[13]:设计非加性隐写编码和非加性隐写失真函数被列入隐写领域的两个公开问题。2014年,Holub等[5]提出了基于小波函数定义的通用的失真函数UNIWARD,设计之初它的失真定义方式是非加性的,即考虑了其他元素的修改对当前元素失真所造成的影响,但没有很好的非加性失真隐写编码方案,最终将该失真近似为加性失真用于嵌入。2015年,非加性失真函数的设计有了新的突破,Li等[14]和Denemark等[15]同时提出了方向一致性原则并将该原则用于非加性失真函数的定义,有效地提升了原有加性失真函数的安全性。随后Zhang等[16]提出了联合失真分解编码方法DeJoin,将非加性编码问题等效分解成几个加性编码问题,从而实现了快速嵌入。随后,在JPEG域也出现了更多的原则和方案来优化基于非加性失真的嵌入,如BBC[17]、BBC++[18]和BBM[19]等原则。

针对现有的非加性隐写的研究,参考2013年的公开问题,将其分为两大类:非加性隐写编码研究和非加性失真函数研究。非加性失真函数研究又分为3类:① 基于理论模型的非加性失真函数,即以理论模型为指导优化失真函数的设计;② 基于修改原则的非加性失真函数,即以某种原则为指导来更新失真函数;③ 基于对抗检测的非加性失真函数设计,即通过直接考虑抵抗检测器的嵌入来设计非加性失真函数。

下面首先介绍最小化失真隐写框架,然后概述加性失真函数设计原则,在此基础上详细介绍非加性隐写模型。

2 最小化失真隐写框架

不失一般性,设载体为x= (x1,…,xn)∊X≜In,对于空域图像,典型地,I={0,1,…, 255},嵌入消息后的载密样本为y= (y1, …yn)∊Y⊂X,π(y) ≜P(y|x)表示修改转移分布(亦称为修改分布),不同的分布对应不同的嵌入处理操作,记Y=I1×I2×…×I n,Ii⊂I。本文只考虑三元嵌入,有Ii= {xi- 1,xi,xi+ 1} ,xi≠ {0 ,255}。对应特定的x,不同的y代表不同的嵌入方法,该修改方法下的总体失真定义为D(y) ≜D(x,y),可称为总失真函数。由于存在元素嵌入之间的相互影响,D(y)是每个元素失真上的加性总和。一般情况下,根据信息论理论,隐写的信息传输量(消息量)为分布函数π(y)的熵:

平均总失真为

在隐写中,通常假设需要发送的隐秘消息量m是确定的,此时最优嵌入问题要最小化平均总失真,可以归结为求解限负载发送问题

在计算中,往往需要给出D(y)的具体形式。但是由于每个元素嵌入之间存在相互影响,很难精确地给出D(y)的具体形式。在此通常考虑加性失真的情况,设iρ表示仅xi被修改为yi所引起的失真,在加性模型下,假设每个元素的修改不相互影响,总体失真是每个元素上修改所造成失真的和,即

假设π(yi)是xi被修改为yi的修改概率,那么最小化失真的优化问题转化为

对应的最优修改概率λπ为

以上即为最小化失真隐写框架,由于加性失真容易刻画和求解,常见的自适应隐写一般基于失真的加性模型设计。以最小化加性隐写失真为目的的隐写嵌入,其中两个关键技术就是隐写编码和隐写失真的设计。鉴于采用隐写编码 STC[1]和SPC[2]可以在接近加性失真的理论界的条件下完成消息的嵌入和提取,留下的另一个问题就是对加性失真函数的设计和非加性隐写设计。

3 加性失真函数设计原则

目前的非加性失真模型都是以加性模型为基础的,其失真也是基于加性失真改进设计的,因此本文总结了加性失真函数设计的3项基本原则。

(1)复杂度优先原则

该原则是最重要的原则,它的理念是对高复杂度和噪声区域的元素分配较低的修改失真。因为这些难以预测的复杂区域和噪声区域难以建模,在这些区域的修改对应于隐写分析特征的变化较小,从而难以被检测到。目前许多隐写失真函数都基于这一基本原则[4-6]。

(2)扩散原则

它的理念是要求相邻元素的修改失真差异不应过大[20]。换句话说,当一个元素具有较高或者较低的修改失真时,相邻元素也应当具有相当的修改失真,该原则已经被成功地应用于空域图像[6,20]和JPEG图像中[21]。

(3)争议元素优先原则[22]

该原则认为,当性能相当的基础失真函数对同一元素的失真定义有很大差别时,应当对这种争议元素赋予更低的修改失真以鼓励其修改。

4 非加性隐写模型

本节探讨非加性隐写方法,根据这些方法的特点,本文将现有的非加性隐写研究分为两大类:非加性隐写失真设计和非加性隐写编码设计。

4.1 非加性隐写失真设计

对于非加性隐写失真设计,根据设计的目标和过程将其分为3类(如图2所示)。第一类是基于理论模型的非加性失真函数设计,即以理论模型为指导优化失真函数的设计,最早期的非加性失真设计采用该方法,如Gibbs构造[12];第二类是基于修改原则的非加性失真函数设计,即以某种原则为指导来更新失真函数,如CMD[14],目前大多数方法属于这一类,简单有效;第三类是基于对抗检测的非加性失真函数设计,即通过直接考虑抵抗检测器的嵌入来设计非加性失真函数,如早期对抗手工特征检测器的HUGO-BD[3]和现在对抗深度学习的检测器ADV-EMB[23]等,利用深度学习捕捉元素相关性的优势来指导非加性失真的调整。研究人员在设计失真函数的同时,为了更多地考虑相关性,往往会结合多种方法,如ITE-SYN[24]既采用了修改原则的方式又采用了对抗检测的方式。以下将详细介绍这3类非加性失真函数设计。

图2 图像非加性隐写失真分类Figure 2 Classification of image non-additive steganographic distortion

(1)基于理论模型的非加性失真函数设计

最早的非加性失真方案是采用Gibbs构造[12]模拟嵌入变化之间的相互作用,通过将宏观特征写成局部特征函数的总和,为加性失真函数创建了一个上限。为了进一步简化该方案,Filler等将载体输入区域相互隔离,采用迭代的方式优化最优嵌入,该方法中的载体划分方案为后来的基于修改原则的非加性方法提供了参考,HUGO-BD[3]就是采用Gibbs构造的非加性隐写。类似地,为了进一步考虑不同嵌入单元的相互作用,Su等提出了一种基于高斯马尔可夫随机场(GMRF)[30]的图像隐写算法,将图像隐写任务表示成在给定嵌入容量下最小化载体和载密分布KL-散度的优化问题。Hu等[29]通过考虑相邻元素的影响,提出了基于模型的非对称隐写框架ASYMM,通过在嵌入时采用方向一致性原则,将相邻修改通过高斯混合模型进行优化。以上方法的性能和特点如表1所示。Taburet等[31]从另一个角度构建模型,通过统计DCT系数之间的相关性设计了一个非加性的同步嵌入策略,具体而言是先统计系数之间的相关性,然后将其转化为高斯分布,其方差直接从嵌入失真中计算而来,最后按照分块嵌入的思想,将已嵌入部分的修改作为先验更新未嵌入部分的失真。

基于理论模型的非加性隐写方法,以理论为指导优化目标函数,取得了一定的成效,但求解的过程比较复杂,因此研究者开始研究启发式的基于修改原则的非加性失真函数设计。

(2)基于修改原则的非加性失真函数设计

虽然Gibbs构造[12]具有较好的理论解释,且在HUGO-BD[3]上产生了一定效果,但其安全性依然不能超过近年来所提出的自适应加性隐写失真函数,然而该工作给了研究者一个很好的启发,即可以将载体分成隔离的部分,然后采用更新失真的方法动态更新未嵌入部分的失真。

2015年Li等[14]以及Denemark与Fridrich[15]针对空域灰度图像分别提出了CMD(clustering modification directions)非加性隐写与Synch(synchronization)非加性隐写,有效地提升了抗检测性能,其主要思想都是将载体图像划分没有交集的子图,然后依次嵌入,根据已修改像素的修改方向按照方向一致性原则来更新未嵌入区域的失真,从而达到聚集修改方向的目的。CMD和Synch的主要不同点是图像划分方案和失真更新方法不同,两者对比及特点如表1所示。

表1 针对灰度空域图像的不同非加性失真定义方法对比Table 1 Comparison of different methods of defining non-additive distortion for grayscale spatial domain images

受启发于方向一致性原则,Tang等[32]直接将该原则应用到彩色空域图像上设计了CMD-C策略,但由于未考虑通道间的相关性,安全性并没有得到显著提升。随后Wang等[33]通过考虑通道间相关性和差异性后,参考CMD策略提出了基于G通道的通道间非加性策略GINA,该方法考虑到了通道间的相关性,即鼓励R和B通道与G通道同步修改,并考虑到通道间的差异性,即在复杂度优先原则的基础上有选择地更新失真,此外GINA采用了载荷自适应分配的策略来提升隐写的安全性。相同的追求也在Qin等[34]提出的CPV[34]方法中体现,即通过将同一位置不同通道的像素考虑为一个超像素,根据复杂度优先原则和通道间的相关性定义了27种失真,采用联合失真分解DeJoin方案[16]将消息自适应地分配到3个通道。CMD-C、CPV和GINA的特点和比较如表2所示。

表2 针对彩色空域图像的不同非加性失真定义方法对比Table 2 Comparison of different methods of defining non-additive distortion for color spatialdomain images

方向一致性原则虽然在空域图像展示了其有效性,但并不能直接应用到JPEG图像,为此Li等[17]针对JPEG图像提出了一个新的原则:块边界连续性(BBC,block boundary continuity)原则,即在嵌入修改过程中鼓励空域块边界的连续性,基于BBC原则的第一个方法只考虑相邻DCT块中同一模式下的相关性来鼓励其同向或反向修改,并采用联合失真分解DeJoin进行嵌入。然而DCT块中一个系数的修改会影响到空域中64个像素,且在修改过程中只考虑一对DCT系数的相关性来维持空域块边界连续性是不够的,基于此Wang等[18]提出了一种块边界连续性增强策略BBC++,即通过考虑全局DCT系数的修改来更新DCT系数和失真来维持空域块边界连续性,实验证明该策略能够充分利用块边界连续性原则来提升隐写的安全性。基于BBC原则的方法虽然取得了一定的效果,但它只考虑相邻块间系数的相关性,没有考虑到块内系数的相关性,为此Wang等[19]通过探索DCT系数嵌入后在空域块中不同区域的修改分布和抗检测性能,发现空域块边界的修改数量和幅度明显大于空域块内部,且抗检测性能弱于空域块内部。基于此,通过探寻空域块内部的相关性,理论推导证明:当块内一对同行或同列的DCT系数坐标差为偶数时,反向修改会导致更少的空域块边界修改量,由此提出了块边界维持(BBM,block boundary maintenance)原则[19],即通过考虑块内DCT系数的相关性减少空域块边界的修改,基于此原则的方法有效地提升了JPEG图像的隐写安全性,且该原则可以和BBC原则进一步结合来提升隐写的安全性。这也启发研究人员不同修改原则并不是冲突的,非加性失真设计可以参考多种原则进行设计。此外,Lu等[35]针对JPEG图像提出了块效应去除原则BAR,即通过衡量相邻块的修改对块效应的影响来调节嵌入失真,它同时考虑了相邻块和块内部系数的相关性,这类似于BBC和BBM的组合。BBC、BBC++、BBM和BAR的特点和比较如表3所示。

表3 针对灰度JPEG图像的不同非加性失真定义方法对比Table 3 Comparison of different methods of defining non-additive distortion for grayscale JPEG images

基于修改原则的非加性设计需要研究者根据不同类型图像的特点,挖掘其内在的相关性和差异性来总结出一种修改原则指导非加性失真的设计。目前针对空域图像和JPEG图像,虽然产生了多种修改原则,但基于这些修改原则的失真更新都是启发式的,缺乏一定的理论指导,且人工寻找新的原则往往耗时耗力,如何利用机器学习设计非加性失真开始成为人们关注的热点。(3)基于对抗检测的非加性失真函数设计

HUGO[3]是最早的自适应隐写失真函数,它通过考虑对抗SPAM特征[26]来设计,并提供了模型矫正功能,具有非加性的特点,即在嵌入中针对每个像素重新计算当前嵌入下的+1和−1的失真,选择其中失真较小的修改方向进行嵌入。随着隐写分析的发展,手工特征的维度越来越高,如对于空域富模型特征SRM[28],很难有针对性地设计非加性失真函数。因而近年来,从对抗高维度的人工隐写分析特征出发,没有产生有效的非加性失真设计方法,直到基于深度学习隐写分析器的出现,给了研究者另一条思路,即抵抗基于深度学习的隐写分析器。

基于深度学习的隐写分析器表现了较高的隐写检测性能,但深度学习神经网络分类器具有脆弱性,给样本添加微小的扰动就能误导分类器,称基于此的研究为对抗样本。借鉴对抗样本的思想,Zhang等[44]首次提出对抗样本隐写的概念,随后Li等[23]提出ADV-EMB,将图像划分成两部分区域,第一部分正常嵌入,第二部分对抗嵌入。逐渐增大对抗嵌入区域,增强隐写算法的对抗性。其中第二部分的失真调整考虑到第一部分已经发生的修改,使得修改点有更大的可能性和梯度的方向一致,从而产生对抗效果。这种基于对抗检测的方法可以和基于修改原则的方法进一步结合,如ITE-SYN[24]将对抗修改和方向一致性原则[14]结合,设计了更有效的非加性隐写失真算法。为了增强对抗多种隐写分析器的性能和效率,Bernard等[40-41]提出了一种min-max策略来进行优化对抗嵌入的过程,此外,他们又基于理论设计了一种新的失真调整策略Backpack[43],即将对抗性的非加性失真近似为加性,通过Gumbel-Softmax分布的样本来逼近离散的嵌入变化。与对抗样本的思想类似,但不使用梯度攻击,Mo等[42]将蒙特卡洛树搜索(MCTS)和基于隐写分析器的环境模型结合,建立了自动化非加性隐写失真学习框架MCTSteg,可以在空域和频域提高抗手工特征和深度学习隐写分析器的性能。以上方法的特点和对比如表4所示。

表4 基于深度学习的不同非加性失真定义方法对比Table 4 Comparison of different non-additive distortion definition methods based on deep learning

基于对抗检测的非加性失真函数设计虽然通过直接考虑抵抗检测器取得了较好的效果,但在与基于修改原则的失真函数设计进行结合后仍可以进一步提升[24],这说明基于对抗检测的非加性失真函数设计对修改之间的相关性考虑还不完备,如何借鉴修改原则进一步提升抗检测的性能,或将对抗检测的设计理论化依然是值得研究的问题。

4.2 非加性隐写编码设计

隐写编码STC[1]和SPC[2]只解决了针对加性失真函数的消息嵌入问题。首个最小化非加性失真函数的次优编码方案是 Gibbs构造[12],该方法通过模拟嵌入变化之间的相互作用,进行不断嵌入和更新失真完成消息嵌入。这可以用来实现具有任意失真的嵌入,但是这种方案求解较为困难,因此,进一步约束将载体划分为没有交集的子图像进行交替迭代嵌入,希望嵌入模式能够收敛到最优嵌入的样本,但由于没有很好的非加性失真定义,这种方案最终没有达到很好的性能。

随着基于修改原则的非加性失真定义的出现,研究者参考Gibbs构造中的划分方案,采用了不同的划分区间[14-15],只需要迭代一次便可将消息完整的嵌入,这也是目前实现非加性嵌入的最有效的方案。随后,Zhang等[16]提出了一种联合失真分解编码DeJoin可以达到联合失真的理论界,将失真空间等效转换到概率空间。将多个元素视为一个整体,定义联合修改失真,根据限负载下的优化问题,可以得到联合修改概率,将联合修改概率根据链式法则分解为边缘概率和条件概率,根据概率失真翻转引理,将边缘概率和条件概率再转化成边沿失真和条件失真,由于这两种失真均为加性失真,嵌入消息时大大降低了编码复杂度,虽然这种方案可以达到联合失真的理论界,但如何定义更好的联合失真依然是值得研究的问题。其他的非加性编码方案如variable-cost STC[45],将动态更新融入STC编码过程中,但该方法的安全性没有得到有效提升,且计算复杂度较高。

对于非加性失真的设计,非加性隐写编码方案较少,大多数采用分步嵌入的方案,如何设计更有效的非加性编码依然是值得研究的课题。

5 结束语

本文对近年来图像非加性隐写的研究工作进行了总结和分析,将非加性隐写研究分为两大类:非加性隐写失真设计和非加性隐写编码设计。其中又对非加性隐写失真设计分为3类:基于理论模型、基于修改原则和基于对抗检测的非加性失真设计。最早的基于理论模型研究受限于无法得到精确描述的载体分布,于是过渡到启发式的基于修改原则的非加性失真函数设计;随着深度学习隐写分析的出现,通过对抗深度学习隐写分析,研究者借鉴对抗样本和强化学习的思想提出了更多基于对抗检测的非加性失真函数设计。随着非加性隐写失真设计的发展,非加性隐写编码也由原来的Gibbs构造到分块嵌入,再到可证明逼近联合失真理论界的高效隐写编码DeJoin。由此可以看出,非加性隐写失真设计和非加性隐写编码互为补充,均与隐写分析的发展息息相关,面对快速发展的深度学习隐写分析算法,本文对未来的图像非加性隐写研究有如下几点展望。

1)基于理论模型的非加性隐写失真设计具有更好的解释性,但由于人工设计的理论模型和参数估计往往不能完全反映图像本身的特点,该方案下的非加性失真效果不佳,如何借鉴深度学习的强大学习能力,对图像建模设计更有效的非加性隐写失真是一个有挑战性的问题。

2)基于修改原则的非加性隐写具有简单有效的特点,但人工寻找有效的原则耗时耗力,如何利用深度学习从对抗检测的角度归纳新的原则是值得研究的问题。

3)基于对抗深度学习的非加性失真隐写设计虽然取得了较好的效果,但深度学习算法本身存在的可解释性不足的问题,依然需要更多的理论来支持非加性隐写失真设计。

4)非加性隐写编码相对于非加性隐写失真设计发展较缓,目前基于分块嵌入的策略虽然简单有效但无法达到失真理论界,联合失真分解编码DeJoin的提出可以达到联合失真的理论界,但针对联合失真的设计较少,如何利用DeJoin的特点设计联合失真依然是值得研究的问题。

综上,深度学习为图像非加性隐写设计提供了新的理念和技术,是信息隐藏领域未来发展的重要方向之一,但在理论性和效率方面仍然存在很多问题亟待解决;深度学习所具有的强大学习能力可以将失真定义和编解码过程两部分合成一个部分,目前较为成熟的是在以图藏图上的应用,即将秘密图像隐藏到载体图像,但这种方式并没有很高的抗检测性能;如何解决这些问题并进一步提升图像隐写的安全性和实用性对网络空间中信息的安全传输具有重要意义。

猜你喜欢

加性空域编码
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
我国全空域防空体系精彩亮相珠海航展
模糊判断矩阵加性一致性局部修正算法
《全元诗》未编码疑难字考辨十五则
量子信道容量的不可加性首获实验验证
子带编码在图像压缩编码中的应用
Genome and healthcare
企业家多重政治联系与企业绩效关系:超可加性、次可加性或不可加性
企业家多重政治联系与企业绩效关系:超可加性、次可加性或不可加性
基于贝叶斯估计的短时空域扇区交通流量预测