基于图像分类的动态阈值位平面复杂度分割密写算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于图像分类的动态阈值位平面复杂度分割密写算法
马林;赖惠成
【摘要】To improve the security of Bit-Plane Complexity Segmentation (BPCS) steganography algorithm, the authors proposed a BPCS steganography algorithm against statistical analysis. Firstly, an image was divided into blocks to calculate the information entropy and the wavelet contrast. Then the blocks were classified by Fuzzy C-Means (FCM) and each bit-plane block was set different complexity thresholds based on the classification result and a random number. Finally, if the similarity of secret data and carrier bit-plane block was less than 0.5, the secret data bit-plane block was negated to replace the carrier bit-plane block. The experimental results show that the proposed algorithm can effectively resist the detection of statistical analysis of the complexity histogram. Furthermore, the visual imperceptibility of stego image has been greatly improved.%为提高住平面复杂度分割(BPCS)密写算法的安全性,提出了一种抗统计分析的BPCS 密写算法.首先,将载体图像分块,计算图像块的信息熵和小波对比度;然后,利用模糊C-均值(FCM)对其进行分类,根据分类结果及随机数确定每个位面小块的复杂度阚值;最后,将载体和秘密数据住面小块相似程度小于0.5的秘密数据位面小块取反,再替换载体位面小块.实验结果表明,该方法能有效地抵抗复杂度直方图统计分析的检测,同时载密图像视觉不可感知性有了很大的提高.
【期刊名称】《计算机应用》
【年(卷),期】2011(031)008
【总页数】5页(P2183-2186,2195)
【关键词】密写;位平面复杂度分割;模糊C-均值;复杂度直方图;小波对比度
【作者】马林;赖惠成
【作者单位】新疆大学,信息科学与工程学院,乌鲁木齐830000;新疆大学,信息科学与工程学院,乌鲁木齐830000
【正文语种】中文
【中图分类】TF391.413;TP309.7
0 引言
信息隐藏技术是信息安全领域一个新兴的研究方向,密写(steganography)技术是信息隐藏的一个重要分支,其目的是以图像、音频等数字媒体作为掩护,将要发送的秘密信息嵌入到载体信号内部,以不引起外界注意的方式通过公共信道进行秘密传递。
位平面复杂度分割(Bit-Plane Complexity Segmentation,BPCS)密写是由最不重要位(Least Significant Bit,LSB)方法发展而来,具有非常大的信息隐藏容量。
其主旨是将载体数据的多个平面分成固定大小的小块,由于人的视觉对那些复杂度较高的位面小块不敏感,所以用这些位面小块来负载秘密信息[1]。
文献[2]提出了针对BPCS密写的分析方法,该方法利用BPCS在选择载体位面小块时在所有位平面设定相同阈值的特点,对载体位面小块复杂度直方图进行统计分析,由直方图的不连续性察觉出秘密信息的存在[2]。
针对BPCS密写算法的缺陷,文献[3-4]对其作相应的调整,即在不同的位平面设定不同的复杂度阈值,使复杂度直方图的连续性有了很大改善。
由于位平面内所有位面小块设定相同的复杂度阈
值,所以进行单个位平面复杂度统计分析时,直方图出现剧烈的低谷现象,可以准确地判定有秘密信息的存在以及设定的位平面复杂度阈值[5]。
本文根据人类视觉特性对变化剧烈区域及较暗区域不敏感[6]的特点,提出了一种基于图像分类的动态阈值BPCS算法,该方法对载体图像块的高位平面(位平面5~8)计算其信息熵、小波对比度;利用模糊C-均值(Fuzzy C-Means,FCM)对图
像进行分类;根据分类结果为位平面设定基本复杂度阈值,位面小块的复杂度阈值
由基本复杂度阈值和预先设定的随机数确定。
通过这样处理,该算法不但能很好地抵抗整体复杂度直方图的统计分析,而且部分复杂度直方图的统计分析也难以检测,所以增强了密写算法的安全性。
1 BPCS密写与密写分析
1.1 BPCS密写
BPCS 密写步骤[1]468如下。
1)将载体图像像素的二进制形式转换成循环码形式。
2)将载体图像位平面分成相同大小(8×8)的小块。
3)计算每个位面小块的复杂度,其定义为小块中所有相邻像素对中取值不同的像素对的数目。
4)通过复杂度阈值aCmax将所有位面小块划分成两类:信息块和类噪声块。
a是系统参数,其值必须小于0.5。
5)如果秘密信息位面小块复杂度大于aCmax就直接替换原位面小块,否则进行共轭处理使新生成的小块的复杂度大于aCmax。
6)记录下来哪些小块是经过共轭处理的,将这部分信息也嵌入到载体数据中。
1.2 BPCS密写分析
BPCS密写把原始图像的多个位平面分成大小相同的小块,由于人的视觉对那些变化剧烈、复杂度较高的位面小块不敏感,所以可以用这些小块来负载秘密信息
[1]。
图像的相邻像素之间的相关性很强,而且位平面越高,相邻像素之间的相关性就越强。
所以在不同的位平面采用相同的复杂度阈值,使得复杂度在aCmax <c<a Cmax+δ(δ为很小的整数)范围内的位面小块替换成秘密信息的位面小块,所以使统计直方图出现剧烈变化。
利用这个特性,可以检测到秘密信息的存在。
具体方法[2]1627如下。
令ho(c)为原始图像的所有位面小块的复杂度直方图,c表示位面小块的复杂度。
将秘密信息组成的位面小块的复杂度直方图记为hI(c),所以密写图像的位面小块复杂度直方图hs(c)如式(1)所示:
密写图像的复杂度直方图分为3段,每段都比较平滑,但在段间衔接处有剧烈的变化。
基于以上讨论,可以用不连续性测度进行密写分析,不连续性测度是函数h(c)在c 处的逆向差分与Cmax-c处的正向差分的总和,可以用来衡量复杂度直方图h(c)的不连续性:
如果在d(c)中存在明显大于0的峰值则判定该图像含有秘密信息,而出现大于0的峰值就出在复杂度aCmax处。
以Lena图像为例,a=0.4,密写前后的复杂度直方图和不连续性测度如图1、2所示。
图1 文献[1]算法的复杂度直方图
文献[3-4]为每个位平面设定不同的复杂度阈值,使统计直方图的变化分散在多个阈值点上,所以整体复杂度直方图的连续性较好。
但是在位平面内位面小块设定相同的复杂度阈值,对单个位平面的复杂度进行统计分析,发现直方图出现剧烈的变化,说明此位平面嵌入了秘密信息,而且可以准确地判定位平面复杂度阈值
[5]。
以Lena图像为例,第三位平面a3=0.4,平面复杂度直方图和不连续性测度如图3、4所示,在复杂度a3Cmax=45处出现明显的变化。
图2 文献[1]算法的不连续性测度
图3 文献[3]算法的第三位平面复杂度直方图
图4 文献[3]算法的第三位平面不连续性测度
2 改进的BPCS密写算法
2.1 图像分类
BPCS密写算法使用更为复杂的图像区域来嵌入秘密信息。
Kawaguchi等人[1]464-472提出一种利用二进制图像所有相邻像素对中取值不同的像素对数目来定义复杂度,如果数目越大,图像就越复杂;反之就越平滑。
但是位平面越高,像素
之间的相关性就越强;反之,相关性就越弱,类似于噪声。
在视觉上认为平滑的图
像区域,由于低位平面像素类噪声性,使得位平面的复杂度可能大于aCmax,信
息嵌入对图像的质量影响较大,所以平滑区设定阈值要高;反之,纹理区可设定较
低的阈值。
本文利用图像的高位平面(位平面5~8)对图像分块并计算其信息熵、
小波对比度;利用FCM对图像进行分类:高亮度区和低亮度区,平滑区和非平滑区。
2.1.1 信息熵
纹理分析时,利用信息熵将图像划分为平滑区和非平滑区,信息熵[7]定义如下:其中:N表示图像块不同像素个数,P(aj)表示不同像素aj出现的概率。
2.1.2 小波对比度
由于人眼对变化剧烈的区域和较暗的区域都不敏感[6],文献[8]采用小波对
比度来衡量图像块较暗区域的不敏感程度。
小波对比度[6]117定义如下:
其中:CVj、CHj、CDj分别为垂直、水平、对角对比度;Aj、DH j、DVj和DD分别表示图像一级小波分解的低频近似分量、垂直高频细
j节、水平高频细节和对角高频细节。
由式(4)可知,在高频系数一定情况下,低频系数越小,小波对比度越大。
低频系数包含图像的亮度信息,因此绝对值大的小波对比度系数可容忍的视觉失真较大,小块的小波对比度系数绝对值之和可以反映该小块可容忍的视觉失真大小。
本文根据小块的小波对比度系数绝对值之和对复杂度阈值进行控制,从而保证密写的视觉不可察觉性。
一级小波分解的小波对比度系数绝对值之和采用式(5)[8]1392计算:
其中:(x,y)表示系数坐标;N1和N2表示图像块尺寸(8×8)。
2.1.3 模糊 C-均值聚类
模糊 C-均值(Fuzzy C-Means,FCM)聚类算法[9]是基于目标函数的模糊聚类算法理论中最完善,应用最为广泛的一种算法。
利用此聚类算法,并根据信息熵、小波对比度对图像进行分类:平滑区和非平滑区、高亮度区和低亮度区。
2.2 动态阈值BPCS算法
文献[3-4]为每个位平面设定不同复杂度阈值,而且为使高位平面信息嵌入对图像质量的破坏最小,设定参数a>0.5(a越大,可用的位面小块越少),但造成了信息提取不完整。
解释如下:假设a=0.6,当秘密信息位面小块的复杂度c=60<0.6×112,按照原理秘密信息位面小块需作共轭处理,共轭处理后的小块复杂度为Cmax-c=112-60=52<0.6×112,然后替换符合条件的载体位面小块,即
c≥0.6×112,使替换后的位面小块的复杂度小于阈值。
在信息提取时,复杂度小于阈值的位面小块被认为未嵌入信息,所以在设定参数a大于0.5的位平面中,将有部分信息不能正确提取。
使用BPCS算法,阈值参数a必须小于0.5,才能保证
信息正确提取。
2.2.1 阈值设定
通过分类,将图像分为平滑区和非平滑区,非平滑区掩蔽性较好,其位平面可以设置较低的阈值参数ai(i=1~4);而平滑区掩蔽性较差,需设置较高的阈值参数ai。
利用人类视觉对图像较暗区域的不敏感性,在平滑区和非平滑区阈值参数ai的基
础上,设定高(低)亮度区域附加阈值β(β=0.05),即较亮区域设定阈值为γi=ai+β,较暗区域设定阈值为γi=ai-β。
为抵御部分复杂度直方图统计分析的检测,每个
位面小块的复杂度阈值是由位平面复杂度阈值与随机数Δt(Δt取值-4,-2,0,2,4)来确定,即γi·Cmax+ Δt,并且能保证组合后的复杂度阈值c<0.5×Cmax。
位面小块复杂度阈值设定如表1所示。
2.2.2 位面小块取反
BPCS密写利用位面小块的复杂度来确定是否进行信息的嵌入,而复杂度是一种统计特性,并未考虑像素的分布情况,具有相同复杂度的位面小块的像素分布情况相同的概率很小。
图5所示的两个位平面复杂度相同,但对其做异或运算,结果为
全1小块,说明两位面小块块内对应元素均不相同。
如果用位面小块图(a)替换图(b),将导致图(b)的块内元素全部改变,如此情况越多,载密图像的质量影响越大。
表1 位面小块复杂度阈值设定位面i(由低到高)γi平滑区非平滑区位面小块复杂度阈值1 0.25 ± β 0.2 ± β γ1·Cmax+Δt 2 0.3 ± β 0.25 ± β γ2·Cmax+Δt 3 0.35
± β 0.3 ± β γ3·Cmax+Δt 4 0.4 ± β 0.35 ± β γ4·Cmax+Δt
图5 棋盘状位面小块比对
对位面小块块内元素进行逐个取反,其复杂度不发生变化。
利用这一特性可以对位面小块作处理,如图6所示。
由图6可知,位面取反前,秘密信息和载体位面小块异或运算“0”的个数(位面
对应元素相同个数)为24,即位面相似程度为24/64(对应元素相同个数/块内元素
总数);取反后,相似程度为40/64,位面相似程度与取反后位面相似程度之间是共轭关系,即1-24/64=40/60。
相似程度越高,替换操作对载体位面的改变越小,并且相似程度32/64作为是否位面取反的分界线,因为只有相似程度小于32/64
的秘密信息位面小块取反后与载体位面小块的相似程度才能大于32/64。
所以当
秘密信息和载体位面小块的相似程度小于32/64时,对秘密信息位面小块进行取
反运算,并记录哪些小块做过取反运算,然后用取反的秘密信息小块替换载体位面小块。
通过这样的过程,对算法的掩蔽性有了一定的改善。
3 实验结果
为验证该算法的有效性,本文采用512×512的标准灰度图像Lena、Man、Peppers、Couple四幅图像分别对本文算法、文献[1,3]算法进行了密写对比试验。
实验中,位面小块尺寸为8×8,文献[1]复杂度阈值参数 a=0.4,文献[3]设定的阈值参数 a1~8=0.2,0.3,0.40.45,0.5,0.55,0.6,0.65。
以图像Lena作为原始载体图像采用文献[1]传统BPCS算法进行密写实验,统
计直方图和不连续性测度如图1、2所示。
以图像Lena作为原始载体图像采用文献[3]算法进行密写实验,第三位平面统
计直方图和第三位平面不连续性测度如图3、4所示。
以图像Lena作为原始载体图像采用本文提出的BPCS算法进行密写实验,整体统计直方图和整体不连续性测度如图7、8所示。
从图中可以看出曲线的连续性较好,没有明显的变化。
第三位平面统计直方图和第三位平面不连续性测度如图9、10
所示。
d(c)在c值距0较远的地方无明显大于0的峰值。
由此可见,文献[2,5]复杂度直方图统计分析方法对本文算法不能有效地检测出秘密信息的存在。
图6 位面小块异或对比(位面尺寸8×8)
图7 本文算法的整体复杂度直方图
图8 本文算法的整体不连续性测度
由表2可知,本文算法的信息嵌入量相对于文献[1,3]有所下降,原因在于算法考虑了图像纹理特征和明暗度特征与人类视觉特性的关系,即对视觉阈值较低的区域位面小块设定较高的复杂度阈值,为其保证载密图像质量不受大的影响,但载密图像的峰值信噪比(Peak Signal to Noise Ratio,PSNR)有了很大的提高。
说明本文提出的算法有很好的视觉不可感知性和较高的信息嵌入容量。
图9 本文算法的第三位平面复杂度直方图
图10 本文算法的第三位平面不连续性测度
4 结语
为了提高BPCS密写的安全性,本文提出了一种基于图像分类的动态阈值BPCS算法,该方法有效抵抗了整体复杂度直方图和部分复杂度直方图的统计分析的检测。
基于人类视觉对变化剧烈区域和较暗区域不敏感的特点,利用信息熵和小波对比度对图像进行分类,根据分类结果及随机数为位面小块设置不同的阈值;将载体和秘密信息位面相似程度小于0.5中的秘密信息位面小块取反,再与载体位面小块进行替换。
实验结果表明,该方法能有效地抵抗复杂度直方图统计分析的检测,同时密写图像视觉不可感知性有了很大的提高。
表2 三种算法嵌入量、峰值信噪比对比算法嵌入量/b Lena Man Peppers Couple峰值信噪比/dB Lena Man Peppers Couple文献[1]算法 742800 793435 793280 790784 36.1910 33.2115 35.9190 34.3125文献[3]算法700864 753984 748992 758976 37.5437 35.5685 37.0591 36.7789本文算法658176 729152 718208 718128 39.8534 38.3156 39.5472 39.3318
参考文献:
[1] KAWAGUCHI E,EASON R O.Principle and application of BPCS steganography[C]//Proceedings of Multimedia Systems and Applications Conference.Boston, USA: [s.n.], l998:464 -472.
[2]张新鹏,王朔.对空域BPCS密写的统计分析[J].计算机辅助设计与图形学学报,2005,17(7):1625 -1629.
[3] SHI PEIPEI, LI ZHAOHUI, ZHANG TAO.A technique of improved steganography text based on chaos and BPCS [C]//Proceedings of the 2nd IEEE International Conference on Advanced Computer
Control.Washington, DC:IEEE Computer Society, 2010:232 -236. [4]吴霞,徐向阳,黄友荣.抗统计分析的BPCS隐写算法[J].计算机工程与应用,2007,43(7):52 -54.
[5] ZHANG TAO, LI ZHAOHUI, SHI PEIPEI.Statistical analysis against improved BPCS steganography [C]//Proceedings of the 2nd IEEE International Conference on Advanced Computer Control.Washington,DC:IEEE Computer Society,2010:237-240.
[6]王媛媛,俞一彪.基于小波域纹理分析的图像自适应信息隐藏[D].苏州:苏州大学,2008.
[7]蒲恬,方庆吉,倪国强.基于小波对比度的多分辨图像融合[J].电子学报,2000,28(12):116 -118.
[8]刘劲,康志伟,何怡刚.一种基于小波对比度和LSB的密写[J].电子学报,2007,35(7):1391 -1393.
[9]董敏,王向阳.基于模糊聚类的小波域数字图像水印算法[J].计算机应用研究,2007,24(6):94 -96.。