towards robust image steganography增强图像隐写技术的鲁棒性
挺有意思的一篇论文。
总的来说,本文的方法就是
- 首先根据正常的流程,使用JPEG隐写方法在JPEG图像中嵌入数据形成隐写图像(先把图像进行JPEG压缩,在压缩后的图像嵌入数据);
- 然后由隐写图像,根据本文提出的系数调整方法,对未经JPEG压缩的图像的系数进行调整,得到一个所谓的"中间图像",该"中间图像"经过信道压缩(JPEG)压缩后的结果与隐写图像完全一致,因此保证了因此信息在经过JPEG有损压缩后不会丢失数据;
因为步骤1是在压缩后的图像嵌入的数据,所以从图像中提取出的数据还是完整的数据(因为数据并没有被压缩过),而步骤2的中间图像因为其特殊的性质——压缩后与步骤1的结果完全一致,所以也可以保证嵌入信息在压缩后不会丢失(关键就是如何保证这个性质的通用性而不是特殊存在)。
摘要
因为当前在社交网络上传播图像是一个非常普遍的现象,所以对于提高通信服务的设计网络服务商来说,隐藏通信的非常有必要且潜力巨大的。但是对于JPEG等有损压缩,大部分的隐写方法都不能完整的保存隐藏的信息。本文提出一个图像隐写的新框架,可以增强隐写方法的鲁棒性。
首先获取元素图像被压缩后的结果,然后使用任何一种现有的JPEG隐写方法将密文嵌入到压缩结果中,因此可以在信道传输完成后得到隐写图像。为了得到在信道传输前对应的图像(该图像被称为中间图像),提出一种系数调整方案,在隐写图像的基础上对原始图像进行微调,调整后的通道压缩版本的中间图像与隐写图像基本一致,因此,在信道传输完成后,密文信息可以从隐写图像中完全准确的被提出。实验结果表明,该方法对JPEG具有鲁棒性。
简要介绍
数据隐藏是以不起眼的方式在数字媒体中嵌入密文信息的方法,可以分为水印技术和隐写技术,水印技术主要用来进版权保护,而隐写技术主要用来秘密通信。可以在不同的数字媒体中应用隐写技术,如文本、图像、音频、视频等。而图像中的隐写主要就是在像素的空间域或变换域嵌入足量的密文却只会产生微小的变换,原始图像的统计信息和视觉特征都会被保留。
早期的图像隐写技术主要是通过调整像素或系数的值、或减少修改所造成的影响来嵌入数据。
- 在一文中,Westfeld使用DST(离散余弦变换)来抵御统计攻击——将嵌入引起的变化均匀的分布在所有DCT的系数上;
- 在一文中,修改的方法被充分利用,因此嵌入效率大大提高;
- 在一文中,DCT根据不同的嵌入率被分成四个种类;
在一文中,提到上述的方法都可以被现代化的隐写分析工具检测出来。
近期关于隐写技术的研究方向主要是基于STC(后期补充一下)(syndrome trellis coding )的数据嵌入方法,这些方法中,不同的失真函数被用来衡量数据嵌入引起的失真。而STC就是用来最小化失真结果的,抵御隐写分析工具表现良好。
无论是基于STC的方法,还是非STC的方法,重点都是如何嵌入数据而不会引起怀疑。对隐写图像生成后对其进行处理,除非信道是无损的才可以完整的提取出隐藏信息,但是在现实生活中,社交网络平台上传输和存储的图像通常不是这样的,考虑到存储和带宽的限制,它们通常采用有损压缩。在这种情况下,前面提到的所有隐写方法都不适用于这种情况。
为了适应现实的需要,学术界已经设计了很多方案进行尝试,在这些方法中,采用==Reed-Solomo误差校正(后期补充一下)==对密文进行编码以提高提取数据的准确性。数据的嵌入则是对原始图像进行量化的DCT系数进行修改。
- 在一文中,对DCT系数进行修改的强度是基于对四个邻近块对应的DCT系数进行计算得到的;
- 在一文中,修改强度是根据抖动强度得到的;
这些方法都可以从隐写图像中高准确率的提取出密文信息,同时可以在信道传输完成后具有非常高的不可检测性。然而,即便在有校正码的情况下,这些方法也不能100%完整的得到密文信息,同时为了保证不可检测性,负载必须非常低(即嵌入容量非常低)。
本文会提出一个隐写方法框架,该框架对JPEG压缩所造成的内容损失具有一定的抵御效果。不像现有的方法那样,本文的框架不要求在密文中包含任何的错误校正信息,同样可以把信息完整的从隐写图像中提取出来。本文主要的亮点有:
- 提出一个对JPEG压缩所造成的内容损失具有一定的抵御效果的隐写技术框架,任何现有的针对JPEG开发的方法都可以移植到该框架;
- 提出一个系数微调方法——基于隐写图像对原始图像进行修改,得到一个中间图像(位于信道传输之前,但是其中包含隐藏信息);
- 证明了对每个图像都可以生成一个中间图像,该图像经过信道压缩后,于隐写图像完全一致;
- 在本文框架上实验一个面向JPEG的隐写技术,可以实现隐藏信息的100%完整提取,且隐写图像具有较高的不可检测性。
提出的新方法
上图是本文算法的流程图:
- 首先将原始图像实验JPEG进行压缩;
- 然后将需要隐藏的信息嵌入压缩结果中,得到隐写图像;
- 根据隐写图像,对原始图像的系数进行细微的调整,从而产生一个所谓的“中间图像”,该中间图像经过JPEG压缩可以生成与隐写图像完全一致的结果。
隐写图像的生成–对应步骤1和2
假设进行JPEG压缩的信道为 Q c Q_c Qc,多数情况下,原始图像都是已经经过JPEG压缩过的,定义为 Q o Q_o Qo,给定经过JPEG压缩过的原始图像的量化的DCT系数,通信信道根据 Q o Q_o Qo对原始DCT系数进行反量化,估计原始DCT系数,然后根据 Q c Q_c Qc对原始DCT系数再次进行量化。
点 ( i , j ) (i,j) (i,j)量化的DCT系数经过信道压缩后的结果为:
其中 r o u n d ( ⋅ ) round(·) round(⋅)是循环函数, O ( i , j ) O(i,j) O(i,j)是原始图像上的点 ( i , j ) (i,j) (i,j)的量化DCT系数, M o ( i , j ) M_o(i,j) Mo(i,j)和 M c ( i , j ) M_c(i,j) Mc(i,j)是 Q o Q_o Qo和 Q o Q_o Qo中点 ( i , j ) (i,j) (i,j)的量化步骤。
一旦可以经过信道对原始图像进行压缩,可以通过使用任何现有的JPEG隐写技术将密文信息嵌入到图像中来生成隐写图像。
本文使用了两个非常流行的JPEG隐写方法——J-UNIWARD和UERD方法来生产隐写图像。这些方法中包含STC框架和不同的失真函数。
- J-UNIWARD方法中,利用原始图像和隐写图像在小波领域中的相应的变化来衡量失真;
- UERD通过将量化步骤和DCT块的值进行相乘来得到失真;
有时,原始图像可能未被压缩。在这种情况下,首先对原始图像进行JPEG压缩——根据 Q o = 100 Q_o=100 Qo=100在原始图像上执行JPEG压缩,从而获得经过JPEG压缩的原始图像。然后,根据 Q c Q_c Qc得到经过信道压缩后的原始图像,生成隐写图像。
隐写图像是用于隐藏通信的通信信道的输出结果。在接收到隐写图像后,可以根据框架中采用的JPEG隐写方法中的数据提取方法来提取密文信息。
系数调整–对应步骤3
现在已经得到了隐写图像,下面的问题主要是如何得到“中间图像”,这样的话信道压缩后的结果就是隐写图像。
本文提出一种基于隐写图像的系数调整方法,该方法基于下面的引理:
引理:对于给定的隐写图像
S
S
S和原始图像
O
O
O,总是可以找到一个抖动映射
α
\alpha
α使得下面的等式成立:
其中
其中的 α ( i , j ) 是 一 个 整 数 \alpha(i,j)是一个整数 α(i,j)是一个整数。
证明:表现比较好的JPEG隐写方法都是尽量把每一个量化DCT系数最大修改为1或-1。首先,如果
C
(
i
,
j
)
=
S
(
i
,
j
)
C(i,j)=S(i,j)
C(i,j)=S(i,j)成立的话,在
α
(
i
,
j
)
=
0
\alpha(i,j)=0
α(i,j)=0时公式2必定成立。根据上述的情况,假设
S
(
i
,
j
)
=
C
(
i
,
j
)
+
1
S(i,j)=C(i,j)+1
S(i,j)=C(i,j)+1和
S
(
i
,
j
)
=
C
(
i
,
j
)
−
1
S(i,j)=C(i,j)-1
S(i,j)=C(i,j)−1,所以可以定义为
如果
S
(
i
,
j
)
=
C
(
i
,
j
)
+
1
S(i,j)=C(i,j)+1
S(i,j)=C(i,j)+1,公式2可以定义为
其中
λ
∈
[
0.5
,
1.5
)
\lambda\in[0.5,1.5)
λ∈[0.5,1.5),为了保证公式5可以成立,需要找到一个整数
α
(
i
,
j
)
\alpha(i,j)
α(i,j)可以使下面的公式成立:
所以满足条件的
α
(
i
,
j
)
\alpha(i,j)
α(i,j)的区间大小为公式6的上下界之间的差值:
一般情况下,为了节约存储空间 Q c Q_c Qc会比 Q o Q_o Qo略小一些,这意味着量化步骤 M c ( i , j ) M_c(i,j) Mc(i,j)会比 M o ( i , j ) M_o(i,j) Mo(i,j)更大。因此 d d d总是大于1的。如果 Q c > Q o Q_c > Q_o Qc>Qo的话,d会小于1,这种情况下是否还有满足条件的 α ( i , j ) \alpha(i,j) α(i,j)存在不能确定。
同样,可以证明当 S ( i , j ) = C ( i , j ) − 1 S(i,j)=C(i,j)-1 S(i,j)=C(i,j)−1时存在 α ( i , j ) \alpha(i,j) α(i,j)可以使公式2成立,注意此时 λ ∈ [ − 1.5 , − 0.5 ) \lambda \in[-1.5,-0.5) λ∈[−1.5,−0.5)。
所以当给定一个原始图像
O
(
i
,
j
)
O(i,j)
O(i,j)时,可以通过下面的公式对其中的系数进行调整,从而生成“中间图像”。
其中
,
I
(
i
,
j
)
I(i,j)
I(i,j)是量化的DCT系数。
根据引理,可以直到总是可以得到一个“中间图像”——其经过信道压缩后与隐写图像完全相同。
值得注意的是,当中间图像的系数被中间图像改变时,本文的方案是不可靠的。在这种情况下,中间图像的通道压缩版本可能与隐写图像不完全相同,这将导致不正确的数据提取。