【 摘 要 】 设计并实现了基于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等隐写算法具有较好的检测性能。下一步可研究其对变换域隐写算法的检测性能及特征降维。

参考文献

[1] J. Fridrich,Steganography in Digital Media: Principles, Algorithms,and Applications[M]. Cambridge,U.K: Cambridge University Press, 2009.

[2] Avcibas I, Memon N,Sankur B. Steganalysis Using Image Quality Metrics[J] .IEEE Transactions on Image Process,2003,12(2):221-229.

[3] 史峰,王小川,郁磊,李洋.Matlab神经网络30个案例分析[M].北京航空航天大学出版社,2010.

[4] X. Zhang and S. Wang. Efficient steganographic embedding by exploiting modification direction[J]. IEEE Communications Letters, pages 781-783, 2006.

[5] R.M. Chao, H. C. Wu, C. C. Lee, and Y. P. Chu, A novel image data hiding scheme with diamond encoding,EURASIP J. Inf. Security, vol. 2009, 2009, DOI: 10.1155/2009/658047, Article ID 658047.

[6] 刘粉林,刘九芬,罗向阳.数字图像隐写分析[M].北京:机械工业出版社,2010.

[7] Luo X Y,Wang D S,Wang P,Liu F L.A Review on Blind Detection for Image Steganography[J].Signal Processing,2008,88(9):2138-2157.

基金项目:

海南省自然科学基金(613152,614231)。

作者简介:

李红蕾(1981-),女,硕士,讲师;主要研究方向和关注领域:信息隐藏。

吴汉炜(1977-),男,硕士,副教授;主要研究方向和关注领域:安全协议,信息安全。

谭毓银(1981-),男,硕士,实验师;主要研究方向和关注领域:网络安全。

bp神经网络分类器c语言,基于BP神经网络的隐写分析分类器设计相关推荐

  1. 基于深度学习的图像隐写分析综述 阅读

    背景 隐写术英文为Steganography. 现有的通信安全保障主要分为加密和信息隐藏:加密主要对秘密信息本身进行操作,但经过特殊处理后的明文更加容易受到第三方的怀疑;而信息隐藏则隐藏秘密数据的存在 ...

  2. R语言基于mediation包行中介效应分析(2)

    中介变量(mediator) 是一个重要的统计概念,如果自变量 X 通过某一变量 M 对因变量 Y 产生一定影响,则称 M 为 X 和 Y 的中介变量.我们既往已经介绍了<R语言基于mediat ...

  3. R语言基于mediation包行中介效应分析

    中介变量(mediator) 是一个重要的统计概念,如果自变量 X 通过某一变量 M 对因变量 Y 产生一定影响,则称 M 为 X 和 Y 的中介变量.我们既往已经介绍了SPSS行中介效应分析,今天继 ...

  4. Efficient feature learning and multi-size image steganalysis based on CNN【Zhu-Net基于高效特征学习与多尺度图像隐写分析】

    摘要 对于隐写分析,许多研究表明卷积神经网络比传统机器学习方法的两部分结构具有更好的性能.然而,仍然有两个问题需要解决:降低隐写分析特征映射的信噪比和对任意大小的图像进行隐写分析.一些算法需要固定大小 ...

  5. 基于词典的中文情感倾向分析算法设计

    基于词典的中文情感倾向分析算法设计 https://site.douban.com/146782/widget/notes/15462869/note/355625387/   情感倾向可认为是主体对 ...

  6. 【毕业设计_课程设计】基于机器学习的情感分类与分析算法设计与实现(源码+论文)

    文章目录 0 项目说明 1 研究目的 2 研究方法 3 研究结论 4 项目流程 4.1 获取微博文本 4.2 SVM初步分类 4.3 使用朴素贝叶斯分类 4.4 AdaBoost 4.4.1 二分类A ...

  7. java 复杂网络分析_基于复杂网络的Java程序分析工具设计与实现思路浅谈

    基于复杂网络的Java程序分析工具设计与 实现思路浅谈 摘要:近年来,随着科学技术的进步,计算机技术发展速度的加快,使得软件价值也逐步提高,不管是软件系统的应用领域,还是其规模均获得了相应的扩大,且软 ...

  8. 基于bp神经网络的字符识别matlab,基于bp神经网络的数字识别的Matlab实现

    <基于bp神经网络的数字识别的Matlab实现>由会员分享,可在线阅读,更多相关<基于bp神经网络的数字识别的Matlab实现(18页珍藏版)>请在人人文库网上搜索. 1.基于 ...

  9. 神经网络pid控制器MATLAB,基于BP神经网络的PID控制器及其MATLAB仿真.pdf

    基于BP神经网络的PID控制器及其MATLAB仿真.pdf 2009 NO.10 中国新技术新产品 China New Technologies and Products 高新技术 基于BP 神经网络 ...

最新文章

  1. 单目深度估计方法综述
  2. Makefile之大型工程项目子目录Makefile的一种通用写法
  3. 百度地图坐标系相关学习总结
  4. Pandas必知必会的使用技巧,值得收藏!
  5. php+compose+使用,docker使用 docker-compose配置PHP环境(php+nginx+mysql)及启动
  6. 软件工程师必学的9件事
  7. MOSS 2007 系列学习之安装篇(一)
  8. java stdout库_Java重写StdOut并将日语写入文件
  9. 浮点数比较大小的时候不能直接用等号
  10. windows 下 YII2 配置 memcache
  11. 智能优化算法:引力搜索算法-附代码
  12. Unity资源管理(一)
  13. 空间换时间和时间换空间
  14. PS图片的两种大小及修改,psd源码文件,图层概念
  15. 计算机图形学入门(十六)-光线追踪(渲染方程)
  16. 15_微信小程序之svg地图自定义组件编写
  17. 大连新计划__为什么企业要开发APP软件?
  18. 月薪 6149.55!博士毕业,大学任教...
  19. 手写Sping(2) :手写IOP与DI(依赖注入)
  20. 华为应用内支付无法拉起

热门文章

  1. matlab中elevation函数功能,Matlab的Demcmap的Python等价物(elevation+/appropriate colormap)...
  2. 直角三角形a^2+b^2=c^2整数解的定a公式直求法
  3. 计算两个时间段之间相隔多少天
  4. Linux下MySQL的安装与使用
  5. shopify 二次开发 如何创建定制产品,如何让用户写入定制内容
  6. Soul网关-Disrutpor使用
  7. 京东店铺的运营爆款打造
  8. UIC564-2附录8 – 发泡材料的阻燃防火测试
  9. 自制DbUtils.jar
  10. Atollic TrueSTDIO下修改STM32L475VE的变量分配地址