基于多尺度滤波器的空域图像隐写增强算法
2020-11-10吴俊锜翟黎明王丽娜方灿铭
吴俊锜 翟黎明 王丽娜 方灿铭 吴 畑
(空天信息安全与可信计算教育部重点实验室,武汉大学国家网络安全学院 武汉 430072)(jqwu@whu.edu.cn)
现代隐写术是一种利用数字媒体进行秘密通信的技术,其目标是在图像、视频、音频等数字媒体中隐藏秘密信息.基于数字图像本身具有易传播性,数字图像成为了极易获得的数字载体,其中空域图像因为其无损性以及能够转换为其他图像的特性,从而得到了广泛关注,各种空域图像隐写算法层出不穷.内容自适应隐写算法是当今空域图像隐写中的主流隐写算法.传统的图像隐写算法几乎不考虑嵌入区域与图像内容本身的联系,这就导致了在秘密信息嵌入过程中可能会对图像敏感区域进行嵌入,使得嵌入信息后的图像被隐写分析算法检测到的可能性增大.内容自适应隐写算法可以根据载体的纹理特征,在信息嵌入过程中尽可能避免对平坦区域的修改,从而提高图像抗隐写分析的安全性.内容自适应隐写主要是通过失真代价最小化的框架来实现的,该框架中的隐写方法分为2个步骤:失真代价计算和编码嵌入[1].双层校验格码(syndrome trellis codes, STC)[2]是一种常用的编码嵌入方式,因为其嵌入效率能够达到理论上界.失真代价的定义是自适应隐写中的核心部分.通过设计失真函数来计算每个像素点的失真代价,以此来衡量每个像素点的嵌入安全性.
自适应空域隐写算法中具有代表性的算法有HUGO[3],WOW[4],S-UNIWARD[5]和HILL[6].HUGO算法从隐写分析的角度定义失真函数,并通过SPAM[7]特征空间计算失真代价.WOW算法和S-UNIWARD算法的思想类似,它们都认为在容易建模的图像平坦区域不应当进行信息嵌入,而复杂的纹理区域和边缘区域更适合进行隐秘信息的嵌入.因此,它们都利用了小波滤波器的方向性来定义失真代价.HILL算法研究了周围像素点的失真代价对嵌入点失真代价的影响,并通过1个高通滤波器和2个低通滤波器来实现这种扩散性的影响,使隐秘信息的嵌入更加集中于复杂的纹理区域.除了使用最小化失真代价框架的空域隐写算法,还有一些基于模型驱动的框架也具有相当的安全性.这些算法通过对图像中像素点的分布进行建模,在嵌入信息的过程中使图像的统计特性尽可能少地发生变化.基于模型驱动的代表性空域隐写算法有MiPod[8],MG[9]和MGR[10].
上述这些自适应空域隐写算法都是加性的,即它们在嵌入过程中都认为每一个像素点是独立的,即一个像素点的修改不需要考虑周围像素点是否修改以及周围像素点的修改方式.然而,像素点之间具有相互影响,而这些影响通常也与隐写算法的安全性具有一定的相关性.因此,相关学者提出了一些非加性的空域隐写算法,例如CMD[11-12],NMF[13],Synch[14]和Dejoin[15].这些非加性算法与加性空域隐写算法相比,通常具有更高的抗隐写分析安全性.除此之外,一些空域隐写算法还考虑了通过降低隐写后图像的残差来提升算法的安全性,如文献[16-17]所提出的SPP算法.
然而,现有的空域隐写算法大多是采用启发式的人工设计失真函数,通过计算每个像素点的失真代价来衡量每个像素点的安全性.普遍观点认为图像纹理区域通常是更加安全,更加适合嵌入,而图像平坦区域安全性更低,通常具有更高的失真代价.然而,通过比较不同区域的失真代价,我们发现了一些异常像素点,即在纹理复杂区域中可能含有一些失真代价较高的像素点,而在平坦区域中可能含有一些失真代价较低的像素点,受到这些异常像素点的影响,可能导致在嵌入隐秘信息的过程中对这些平坦区域进行了嵌入.
为了解决载体图像中异常点带来的影响,本文提出了一种基于多尺度滤波器的空域图像隐写增强算法.我们通过实验发现,小尺寸的滤波器对于平坦区域中的噪声点较为敏感.因此,我们通过不同大小的滤波器来提取出不同大小的图像纹理细节,并通过调整这些滤波器的权重,使得在增强纹理复杂区域的同时尽可能减少对平坦区域噪声的增强.实验结果表明:与传统自适应空域隐写算法相比,通过本文方法进行增强的多种空域隐写算法,在多种嵌入率下都能获得抗隐写分析检测的安全性提升.
本文的主要贡献包括3个方面:
1) 针对隐写载体中存在的2类异常点问题进行验证,并通过实验对比的方式证明2类异常点的存在;
2) 提出一种基于多尺度滤波器的空域图像增强算法,在增强适合隐秘信息嵌入的纹理复杂区域的同时,减少对平坦区域噪声的增强;
3) 将多尺度滤波器应用于空域隐写算法的增强,并通过实验验证了该增强方法的有效性.应用了该方法的空域隐写算法能够有效降低被隐写分析算法检测的概率,提高了算法的安全性.
1 相关工作
目前空域图像中存在的异常点问题基本没有得到很好的解决.文献[18-19]提出了一种基于微尺度的图像隐写算法(microscale steganography, MS),通过锐化滤波器提取出图像中的纹理细节,通过图像增强的方式对这些细节进行放大来减轻异常点所带来的影响.
MS算法的核心思想在于图像的纹理区域中存在一些失真代价较高的异常点.较高的失真代价导致这些适合嵌入的像素点没有进行嵌入,而是在具有较低安全性的平坦区域进行了嵌入.MS算法提出,该问题是由于失真函数在计算失真代价时不够精确,即失真函数不能很好地捕捉到图像中的所有纹理复杂区域.因此,MS算法提出了微尺度图像隐写,通过增强图像纹理细节,保证纹理区域的失真代价较低,从而提升隐写算法的安全性.
为了达到提升图像中的纹理细节的目的,MS算法使用了图像增强的方式.首先对需要进行信息嵌入的载体图像X,使用3阶拉普拉斯算子进行图像增强,得到增强图像Xs;然后利用现有的空域隐写算法的失真函数,计算增强图像Xs的失真代价,并根据HILL中所提出的扩散原则对计算得到的失真代价进行均值滤波;最后使用STC编码对原始载体图像X进行嵌入,得到最终的隐密图像Y.
但是,MS算法只考虑了具有高失真代价的纹理区域像素点,并没有考虑到具有低失真代价的平坦区域像素点.因此,MS算法直接使用小尺度的滤波器对图像进行了锐化增强.然而,这么做会导致图像中所有的像素点都得到了增强,导致在增强纹理区域的同时,也对平坦区域中的噪声进行了增强.这甚至与HILL算法所提出的具有高失真代价的像素点会影响周围噪声点的观点相矛盾.这种现象导致了平坦区域中的某些像素点具有了低失真代价值,使隐写算法的安全性不能够得到充分提高.
基于2种异常点的存在以及MS算法只考虑到其中的一种异常点,因此,在设计空域隐写算法增强算法时,需要综合考虑2种异常点带来的影响,在增强纹理区域的高失真代价像素点的同时,减少平坦区域的低失真代价像素点的影响.
2 研究动机
本节主要介绍空域图像隐写算法在计算失真代价时存在的2类异常点.我们通过实验对比的方式来说明2类异常点的存在,并说明现有的一些空域隐写算法基本不考虑这2类异常点.
为了更好地说明异常点的存在,我们以图1作为例子.图1(a)是一幅来自Bossbase1.01图像库的空域图像;图1(b)代表了在嵌入率取0.4 bpp时,使用S-UNIWARD算法对图1(a)进行嵌入得到的嵌入变化,图中的黑白点代表了进行嵌入的像素点.图1(b)中椭圆框内的像素点代表着平坦区域中存在的低失真代价异常点,方框区域中存在较为稀疏的部分,即纹理复杂区域中的高失真代价异常点.从图1中可以看到,在平坦区域中含有一些失真代价较低的点,而S-UNIWARD算法在有部分纹理区域仍然未进行嵌入时选择了这些平坦区域.这种现象表明了存在2种异常点,即平坦区域中存在部分失真代价较低的点和纹理区域存在部分失真代价较高的点.在设计隐写算法时,通常认为平坦区域是较易建模的区域,即在这些区域进行修改会导致隐写图像被隐写分析算法检测到的概率提高.因此,将信息嵌入集中在纹理区域是一个比较好的选择,即在设计失真代价时应当保证平坦区域中像素点的失真代价较高,而纹理复杂区域中像素点的失真代价较低.
Fig. 1 The existence of two kinds of abnormal points
为了达到这个目的,一个直观的想法就是提高平坦区域中异常像素点的失真代价,降低纹理复杂区域中异常像素点的失真代价.但是,现有的主流空域隐写算法,如S-UNIWARD和WOW,在设计失真代价时基本不考虑这2类异常点.尽管现有的MS算法考虑了纹理复杂区域中具有高失真代价的异常点,但是却忽略了平坦区域中存在的低失真代价异常点.MS算法使用单个滤波器对图像纹理区域进行增强,却忽略了平坦区域中噪声也会被增强的问题.
3 多尺度滤波器空域隐写增强算法
为了解决异常像素点带来的问题,一个直观的想法就是分别对不同区域的图像噪声进行处理.纹理复杂区域的噪声应当被增强,而平坦区域的噪声应当被抑制.我们受到文献[20]的启发,提出了一种由多尺度高斯滤波器和高通滤波器组合得到的多尺度滤波器.通过调整每个滤波器的权重,在增强纹理区域的同时,尽可能减少对平坦区域的增强.
3.1 多尺度高斯滤波器
多尺度高斯滤波器由多个不同大小的高斯滤波器组成.本方法首先用3个不同大小的高斯滤波器对整个图像进行卷积,得到3个滤波后的平滑图像:
L1=G1⊗X,L2=G2⊗X,L3=G3⊗X,
(1)
其中,符号⊗代表了卷积操作,G1,G2,G3分别代表了3个不同大小的高斯滤波器,L1,L2,L3分别代表了对载体图像X进行滤波后得到的平滑图像.为了获得不同尺度的锐化细节,将3个平滑图像进行作差:
H1=X-L1,H2=L1-L2,H3=L2-L3,
(2)
其中,H1,H2和H3分别代表了不同尺寸的图像细节.载体图像X的全局细节由H1,H2和H3三个图像细节的加权和组成:
H=(1-ω1sgn (H1))H1+ω2H2+ω3H3,
(3)
其中,ω1,ω2,ω3分别代表了不同锐化细节的权重.sgn()是符号函数,当H1>0时,函数返回值为1,当H1<0时,函数返回值为-1,否则为0.通过将不同尺度的图像细节以加权和的形式进行结合,可以得到一个更具有代表性、更加完整的图像纹理细节部分,同时尽可能减少了平坦区域的噪声.
我们通过一个简单的验证性实验来验证多尺度高斯滤波器对于空域隐写算法的增强效果.我们选择Bossbase1.01图像数据库中的10 000张灰度图像,使用SPAM特征[7]作为隐写分析特征.使用主流的空域隐写算法S-UNIWARD,WOW和HILL作为对照算法,嵌入率取0.1 bpp和0.4 bpp,并使用最大平均差异(maximum mean discrepancy,MMD)[21]作为衡量标准.MMD是一种用于衡量2类样本分布之间相似性的指标,越小的MMD代表了2类样本越接近,即载体样本和隐写样本之间的相似性越高,算法越安全.为了将本文方法与这些方法进行区分,以MSG(multi-scale Gaussian)作为后缀的算法即使用了多尺度高斯滤波器进行增强的空域隐写算法.
Table 1 Detection Results of MMD on Different Spatial Steganography
从表1可以看出,使用了多尺度高斯滤波器进行增强的空域隐写算法的MMD值与未增强的算法相比普遍较低,而较低的MMD通常代表着较高的安全性.因此,多尺度高斯滤波器能在一定程度上对空域图像隐写算法的安全性进行提升.
3.2 基于多尺度滤波器的增强方法
Fig. 2 Comparison of different scale filters in sharpening part
基于3.1节实验,我们发现多尺度高斯滤波器可以提高空域隐写算法的安全性.除此之外,我们知道图像中存在着不同大小的纹理区域,不同大小的滤波器可以增强不同大小的纹理细节.从图2中可以看出,不同大小的滤波器所增强的区域是不同的.具体来说,小尺寸的滤波器通常对小尺度的纹理细节较为敏感,在增强小尺寸的纹理区域的同时,也会增强一些平坦区域的噪声.大尺度的滤波器主要增强一些大尺寸的纹理区域,对平坦区域噪声的增强效果较弱.因此,为了得到尽可能多的纹理细节,我们同时使用了多尺度高斯滤波器和高通滤波器对图像进行增强.我们利用平坦区域噪声对小尺度滤波器更加敏感的特点,降低了小尺度滤波器的权重,达到增强纹理区域的同时降低对平坦区域噪声增强的目的.因此,我们设计了一种基于多尺度滤波器的空域隐写增强方法,该方法由图像增强和失真代价计算2部分组成,算法流程为:
1) 根据式(3),使用多尺度高斯滤波器对载体图像X进行增强,得到增强部分Eg;
2) 使用高通滤波器对载体图像X进行锐化,得到锐化部分Es;
3) 最终增强图像Xs由2个增强部分Eg和Es的加权和得到:
Xs=αEg+(1-α)Es+X,
(4)
其中,α代表了权重,X代表载体图像.
4) 使用现有空域隐写算法的失真函数计算增强图像Xs的失真代价P.
5) 根据文献[6]所提出的扩散原则,使用均值滤波器对失真代价P进行平滑操作,得到平滑后的失真代价P′.
6) 根据失真代价P′,使用STC编码方式将秘密信息嵌入载体图像X中.
在本方法中,式(4)中的参数α作为权重来平衡2种滤波器的增强效果,影响着算法的安全性.为了达到增强纹理区域的同时减少平坦区域噪声影响的目的,我们将在第4节通过实验来选择合适的α值.
4 实验与分析
4.1 实验设置
本文实验选择了Bossbase1.01图像库中的10 000张灰度图像作为样本进行测试.我们将这些样本随机分成2等份:一份用于训练;另一份用于测试.我们选择了3种主流空域隐写算法S-UNIWARD,WOW和HILL作为对比,同时也将同样是使用图像增强的MS算法作为对比对象.实验中用来测试算法安全性的隐写分析特征为SRM特征[22]和maxSRM特征[23],分类器使用集成分类器[24].隐写算法的嵌入率是0.05~0.5 bpp,所有隐写算法均使用STC编码方式进行嵌入.算法安全性使用
(5)
(6)
4.2 多尺度高斯滤波器最佳大小的选取
为了确定多尺度高斯滤波器中3个滤波器的最佳尺寸,我们进行了一个验证实验.
Fig. 3 Effect of different parameter n on steganographic security
实验中,我们从Bossbase图像数据库中随机选取了3 000张图像作为样本,将S-UNIWARD隐写算法作为参照算法,使用多尺度高斯滤波器进行实验.3个滤波器的取值大小依据n,2n-1,4n-1的比例来选取,对应的标准差大小分别为1.0,2.0,4.0.嵌入率取0.4 bpp,参数n的取值范围为2~9,使用SRM隐写分析特征进行检测.通过比较不同n值对算法安全性的影响,我们可以得出一个较为合适的n值.不同n值的算法安全性测试结果如图3所示.
从图3可以看出:当n=4时,算法的安全性最高,因此,在后续实验中,3个高斯滤波器的大小分别为4×4,7×7,15×15.
4.3 参数α的选取
为了确定式(4)中参数α的值,我们从Bossbase图像数据库中随机选取了3 000张图像作为样本,使用S-UNIWARD,WOW和HILL三种隐写算法作为参照算法进行实验.使用的高通滤波器如图4所示:
Fig. 4 High-pass filter used to acquire sharpening part Es
实验过程中嵌入率取0.4 bpp,参数α的取值范围为0.2~0.7.多尺度高斯滤波器的3个参数值ω1,ω2,ω3分别取值为0.5,0.5,0.25,隐写分析特征使用SRM特征.通过比较不同α值对算法安全性的影响,我们可以得出一个较为适合的α值.不同参数α的算法安全性测试结果如图5所示.从图5中可以看出,当α=0.4时,3种空域隐写算法都获得了最高的安全性.
Fig. 5 Effect of different parameter α on steganographic security
4.4 与现有算法的对比
Fig. 6 Performance comparison for the proposed algorithm, MS, S-UNIWARD, WOW and HILL against two steganalytic algorithms
为了区分本文算法与现有算法,本文所提出的算法以MSF(multi-scale filters)作为后缀,MS后缀代表了文献[16]中提出的MS算法.本文将S-UNIWARD-MSF,WOW-MSF,HILL-MSF的实验结果与S-UNIWARD,WOW,HILL及它们使用MS算法进行增强后的实验结果进行比较.为了更好地验证本文所提出算法的安全性,本文使用了2种主流的空域隐写分析特征SRM和maxSRM.实验结果如图6所示.图6(a)(c)(e)分别代表不同隐写算法在SRM特征检测下的安全性,图6(b)(d)(f)分别代表了不同隐写算法在maxSRM特征检测下的安全性.从实验结果可以看出,本文所提出的MSF算法在不同的嵌入率下都可以显著提升空域隐写算法的安全性,尤其是在高嵌入率下对空域隐写算法的提升更大.这主要是因为在嵌入率较高的情况下,隐写算法往往会选择一些平坦区域的噪声点进行嵌入,即我们所提到的平坦区域中具有低失真代价的异常点,导致算法的安全性降低.在使用了增强算法对载体图像增强之后,隐写算法更倾向于嵌入纹理复杂区域,受到平坦区域异常点影响较小,从而提高算法的安全性.
5 总 结
本文提出了一种用于增强空域图像隐写算法的增强算法MSF.在计算失真代价前,先使用多尺度滤波器对载体图像进行预处理,使现有空域图像隐写算法能够更精确地选择纹理区域进行嵌入.在计算得到失真代价后,再运用均值滤波器对失真代价进行扩散以获得平滑失真代价.实验结果表明:本文所提出的算法能够有效提高空域图像隐写算法的安全性.鉴于如今图像处理技术的快速发展,采用能够对图像纹理区域进行更加精确有效增强的算法是我们后续的一个研究方向.