【 摘 要 】 设计并实现了基于BP神经网络的隐写分析分类器。首先对图像库中的图像进行格式变换,并使用扩展修改方向和钻石编码两种隐写方法进行不同嵌入率的隐写嵌入,然后计算载体图像和载密图像中平面域、DCT域和小波域的一些属性值作为特征。利用Matlab的模式识别工具箱搭建BP神经网络,用已知类别的图像特征训练分类器并进行分类测试。实验结果表明,多域综合特征可以实现良好的分类效果,能以较高的准确率识别出载体图像和载密图像。

【 关键词 】 BP神经网络;隐写分析;分类器

【 中图分类号 】 TP309 【 文献标识码 】 A

A Classifier of Steganalysis based on BP Neural Networks

Li Hong-lei Wu Han-wei Tan Yu-yin

(School of Information Science and Technology,Hainan University HainanHaikou 570228 )

【 Abstract 】 A classifier of steganalysis based on back propagation neural network is designed and realized. Firstly,the images in image database are turned into gray-scale images, then some attribute values of carrier images and stego-images are computed from the images’ spatial domain, DCT domain and wavelet domain. And the Matlab pattern recognition toolbox is adopted to establish the BP neural?network classifier. The results show that the BP neural?network classifier based on three domains attribute values performs well in classifying.

【 Keywords 】 back propagation neural network ; steganalysis ; classifier

1 引言

信息隐藏是目前信息安全领域的一个重要研究方向,其目的是在载体中隐藏秘密信息而不被人察觉。作为信息安全传输的重要手段,信息隐藏可用于经济、军事、情报、国家安全等领域,但也有可能被恐怖份子或敌对势力所利用。因此,如何检测可疑信息的存在,即对待检测载体进行隐写分析,受到人们关注。

早期的隐写分析技术多针对具体的隐写算法,如针对最低有效位LSB(Least Significant Bit)替换的隐写分析方法有卡方检验方法、RS方法和SPA方法等。实践证明,这些方法虽然对检测LSB替换有效,但对于其他隐写方法往往无效。随着各类隐写算法的涌现,现阶段关于隐写分析的研究多集中在通用隐写分析,通过使用原始图像和隐密图像来训练分类器,达到能检测多种隐写方法的目的。隐写图像可以由多种已知的隐写算法生成。Avicibas等的研究表明,这种依据已知隐写方法生成的分类器有一定的泛化能力,能够检测一些未知的隐写算法。

BP(Back Propagation)网络是一种使用误差反向传播算法进行训练的多层前馈神经网络,具有三层或三层以上的神经元,包括输入层、中间层和输出层。相邻层神经元之间为全连接,而同层神经元之间无连接。各层神经元之间的连接强度用网络权值表示。学习样本由输入层输入后,经各中间层向输出层传播,然后根据网络输出与实际输出样本之间的误差,修正各层间的连接权值和阈值,使网络的预测输出不断逼近期望输出。这种算法称为误差反向传播算法,也即BP算法。

本文给出一个基于BP神经网络的图像隐写分类器的构造过程,实验结果证明,该分类器对扩展修改方向 (Exploiting Modification Direction,EMD)、钻石编码(Diamond Encoding , DE)等隐写算法有良好的检测效果,即使在较低嵌入率的情况下也能以较高的正确率对载体图像和载密图像进行分类。

2 分类器构造

利用分类器进行图像隐写分析的步骤一般有图像预处理、特征提取、分类器的选择和训练、分类。

2.1 图像预处理

图像预处理如灰度转化,剪裁大小,隐写嵌入等。本文中使用的图像库为Washington大学的Ground truth图像库,其中包括人物、植物、建筑、自然风景等各类图片,包括756×504、768×512、816×616等多种尺寸,图像格式包括jpg图片和gif图片。选取其中的480幅图像,将其全部转换为灰度图,作为载体图像。使用EMD和DE算法嵌入秘密信息。

EMD方法使用n个载体像素来携带一个2n+1进制的秘密数字,并且其中最多有一个像素的值被加1或减1。因为n个像素共有2n种修改方式,加上未做修改的一种,共可以表示2n+1个秘密数字。当n=2时,EMD算法达到最高嵌入率1.161比特/像素(bit per pixel, bpp)。

DE方法以像素对的值作为坐标,在一个载体像素对中嵌入一位2k2+2k+1进制的数字,k是嵌入参数。

假设该像素对的值是(p,q),首先寻找(p,q)的一个邻域集Sk(p,q)={(a,b) | |p-a|+|q-b|≤k},例如,当k=1时,其邻域集如图1所示。

定义钻石函数f来计算像素对(p,q)的钻石特征值:

f(p,q)=((2k+1)p+q)mod(2k2+2k+1)

数据嵌入过程:

1) 将载体图像分成不重叠的两个相邻像素组成的像素对;

2) 将秘密数字表示成2k2+2k+1进制的数字串;

3) 假设选中进行嵌入的像素对为(p,q),嵌入参数为k,待嵌入的秘密数字为s,计算f(p,q),若f(p,q)=s,则(p,q)不变,否则计算dt=(s-f(p,q))mod(2k2+2k+1);

4) 在Sk(0,0)集合中寻找(p',q'),若f(p',q')=dt,将(p,q)替换为(p',q'),完成隐写嵌入。

5) 若p'>255,则令p'=p'-t; 若p'

提取秘密信息时按照同样顺序扫描载密图像,计算f(p',q')即可。

嵌入参数k越高,则嵌入率越高。当k=1时,DE算法嵌入率为1.161bpp,此时与EMD方法中n=2的情况等价;k=2时,则为log213≈3.70bpp。

2.2 特征提取

目前研究中用于隐写分析的特征如图像质量度量特征、直方图特征函数质心、经验矩阵统计、波系数概率密度函数矩、小波系数直方图特征函数矩以及多域联合特征等。本文中的特征采用多域联合的方式,分别选取载体图像和载密图像的平面域、DCT域和小波域特征组成多域特征 。取图像垂直和水平方向的梯度能量之和作为平面域特征。估计图像DCT系数中4个相邻的8×8分块组成的“田”字形宏块的Laplacian参数,并用其方差作为DCT域特征。将图像进行Haar小波分解,并统计得到的6个高频子带LH1、HL1、HH1、LH2、HL2及HH2的小波系数的前四阶统计矩(均值、方差、偏斜度和峰度)作为小波域特征。

2.3 分类器的训练与测试

载体图像480幅,分别使用EMD和DE算法进行隐写。使用EMD方法隐写时,隐写参数n取2,隐写比例(指载密像素与全体载体像素的比值)分别取1,0.5,0.2和0.1,相应的嵌入率分别为1.161bpp,0.580bpp, 0.232bpp和0.116bpp。DE方法隐写时,隐写参数k取2,隐写比例分别取1,0.5,0.2和0.1,相应的嵌入率分别为3.7bpp,1.85bpp,0.74bpp和0.37bpp。

隐写后共可以得到8组载密图像。

首先针对单一隐写算法,测试基于多域综合特征的隐写分析效果。将载体图像复制4份,与四种嵌入率下生成的载密图像共计3840幅图像。用2.2中的方法提取这些图像的三域综合特征,产生综合特征向量。选择其中70%用来训练,15%用来验证,然后剩下15%用来测试。该过程可借助matlab软件的模式识别工具箱实现。中间层个数可以选择15~20,具体可根据检测情况调整。

然后对两种隐写方法进行混合测试,载密图像由两种方法在各个嵌入率隐写后产生。方法与单一算法时类似,样本总数量为480×16(其中载体图像复制8份)。

3 实验结果与性能分析

表1中的实验结果可以看出,由该方法构建的分类器有良好的分类效果,检测的综合正确率都在85%以上。即使EMD算法中的嵌入率较低,分类器仍然显示了较好的性能。在混合算法中,由于样本数量为单一算法测试的两倍,对载体图像和载密图像识别的准确率都有提高。使用该分类器对载密图像识别的准确率超过0.9,但载体图像识别的准确率稍低。

4 结束语

利用matlab的模式识别工具箱可以快速建立BP神经网络分类器,实验证明,这种分类器与来自平面域、DCT域和小波域的特征结合,对EMD、DE等隐写算法具有较好的检测性能。下一步可研究其对变换域隐写算法的检测性能及特征降维。