SRM(空域富模型隐写分析)

SRM(空域富模型隐写分析)

1.引言

图像隐写是将秘密信息按照一定的规律嵌入到载体图像中,生成含密图像,使得秘密信息传输难以被人察觉。传统的空域隐写算法LSB[1]或者JPEG域图像隐写方法Outgess[2]、nsF5[3]等,他们通过修改空域或DCT域系数,将二进制比特流嵌入到图像中。然而这样的隐写算法难以抵挡SRM[4]、DCTR[5]等方法的攻击。

为抵抗隐写分析者的检测,隐写算法的设计者在设计隐写算法时引入STC编码方法[6]及嵌入失真函数[7],将秘密信息嵌入到图像中难以被统计建模的位置,而这些位置大多为纹理复杂度较高的区域,如HUGO[8]、WOW[9]、UNIWARD[10]等方法。为了针对此类自适应隐写算法,基于DCTR的SCA-DCTR[11]隐写分析方法也相应产生,此方法是由DCTR加入对于像素嵌入概率的估计,从而使得针对自适应隐写方式有着较高的检测准确率。但是基于SRM隐写分析方法却没有类似的方式提高其对于自适应隐写算法的分析准确率。

其中SRM是一种准确度较高的空域高维度图像特征,通过各种滤波器对图像进行滤波处理后得到相应的特征量。然而SRM只考虑的像素点及其相邻位置像素的相关性,并没有考虑图像的纹理特征,没有对隐写时的未知进行预测,故在对于自适应隐写方法进行分析的时候对于准确率会有一定的降低。针对此问题,本文在SRM特征上进行一定的改进,将其与图像的纹理特征进行快速结合,使其对于自适应隐写算法进行隐写分析时准确率有所提高。

2.空域富模型

SRM是于2012年由Fridrich等人提出的一种高维度的空域隐写分析图像特征,是一种传统的通用隐写分析方法。通用隐写分析是不针对一种隐写算法的隐写分析方法,其步骤是通过提取已知图像的统计特征训练分类器,再利用训练好的分类器判别未知图像是否含密,隐写分析的步骤如图1所示。其中特征提取及分类器训练为传统通用隐写分析中较为重要的步骤,SRM即为一种建模的特征。

在文献[4]中指出,SRM隐写分析特征的抽取步骤分为:提取残差图像、残差图像的量化及截断、提取共生矩阵。

2.1 提取残差图像

由于图像隐写是将二进制比特流嵌入到载体图像的空域或JPEG域中,等同于是将一个微弱的噪声与载体图像加,生成一个含密图像。这样将噪声叠加进来就会改变原始图像中相邻像素的相关性,残差图像亦然,故使用残差图像作为特征抽取的基底,这样可以减少图像内容对于隐写分析特征抽取的影响。

2.2 提取共生矩阵生成特征

残差图像中一个像素点的幅值越大,则说明该像素点对应于领域像素的相关性较弱,由于残差图像中每个像素点的幅度各不相同,首先对图像进行量化及截断,希望能够将残差图像的范围限定在某一个区间,这样能够降低之后步骤的计算量。其量化及截断的步骤如下:

\[R_{i, j} \leftarrow \operatorname{trunc}_{T}\left(\text { round }\left(\frac{R_{i, j}}{Q}\right)\right), i=1, \cdots, n_{1}, j=1, \cdots, n_{2} \text { round }(\cdot) \]

上式中Q为量化因子,T为截断阅值,\({trunc}_{T}\)表示截断,\({round()}\)表示取整。根据不同的量化因子及截断阀值,可以改变SRM的检测性能,本文中取Q=1,T=2。

共生矩阵是统计某一距离上的一类像素的数量。由量化截断后的残差图像提取共生矩阵,得到的共生矩阵即为SRM最终想要抽取的隐写分析特征。所提取共生矩阵阶数的大小会直接影响特征抽取的结果,阶数过高会使得特征的统计无意义;阶数如果过低,又会使得特征不够丰富,降低分析准确率。本文中提取残差图像的四阶共生矩阵作为隐写分析特征,且Q = 1,T=2,在文献中被称作SRMQ1,即Q=1,T=2,d=4。

  • 缺点:SRM无法对图像的纹理信息进行辨识,遗漏了图像的纹理信息。

图像共生矩阵

图像共生矩阵

这个矩阵反应的是相邻像素之间的关系,相邻可以是横向的相邻像素,纵向的相邻,也能够是斜方向的像素。

从这个矩阵可以看出一些边缘,纹理 分布相关的信息。矩阵对角线的元素越大,一般而言,图像越平滑。因为大部分是像素相似的像素对。

矩阵的大小根据像素最大最小值计算,但是一般还是256 * 256 大小的矩阵。矩阵描述如下:

\[X[i,j]= \sum_{n}(A=i,B=j) \]

X[i,j]=sum(像素A为i像素,像素B为j像素)这种情况的像素对的数量

直接把RGB输入到了共生矩阵生成。变为了6通道的RGB x(横 + 竖),即3x2=6 的共生矩阵。

本文的输出为图像是否经过篡改的二分类。 所以直接把像素的具体空间信息消除了。对于像素级的篡改检测,这个共生矩阵 的作用不大。但是基于块的方法感觉还是可以使用的。

posted @ 2021-09-26 23:56  梁君牧  阅读(3495)  评论(0编辑  收藏  举报