基于bp和rbf神经网络的图像水印嵌入、提取方法与装置的制造方法_2

文档序号:9631995阅读:来源:国知局
[0061] 由经验得到隐含层神经元数目的确定公式为:
[0062]
[0063] 其中,η为输入层节点数64 ;m为输出层节点数64 ;a取中间值5,计算四舍五入取 整,得到隐含层节点数为16。
[0064] BP神经网络主要是通过对输入样本矩阵进行一定的计算得到实际输出,与期望得 到的输出矩阵作比较计算其误差,利用该误差来调整前一层权值和阈值。BP神经网络的 算法主要包括信号的前向传播和误差的反向传播,即计算输出时按从输入到输出的方向进 行,而权值和阈值(在本发明中阈值为常数)的修正是从输出到输入的方向进行。具体过 程如下:
[0065] BP神经网络信号的前向传播过程,计算BP神经网络隐含层的输入,表达式如下:
[0066]
:⑷
[0067] 其中,1队表示隐含层第i个节点的输入,表示输入层第j个节点的输入;j= 1,2,…,64 ;Wl]表示隐含层第i个节点到输入层第j个节点之间的权值。
[0068] 然后,计算BP神经网络隐含层的输出,表达式如下:
[0069]
(5)
[0070] 其中,表示隐含层第i个节点的输出;Φ(x)表示隐含层的激励函数;本实施例 中的激励函数为sigmoid函数,即4:)=丄二-
[0071] 计算BP神经网络输出层的输入表达式为:
[0072]
(6)
[0073] 其中,INk表示输出层第k个节点的输入;wkl表示输出层第k个节点到隐含层第i 个节点之间的权值,i= 1,2, . ..,q;ak表示输出层第k个节点的阈值,k= 1,2,…,L;akS 常数0. 05。
[0074] 计算BP神经网络输出层的输出,表达式如下:
[0075]
(7)
[0076] 其中,0k表示输出层第k个节点的输出;Φ(X)表示输出层的激励函数,为trainlm 函数。
[0077] BP神经网络的误差的反向传播过程:
[0078] BP神经网络首先是通过输入层将样本数据向前传播,然后再根据目标值计算出误 差,再将误差反向传播,最后根据最速下降法对权值跟阈值的更新。本发明中主要对权值的 更新,令阈值每次以绝对值为〇. 05的步长进行调整。
[0079] 根据最速下降法,其总误差函数E为:
[0080]
(8J
[0081] 其中,0k表示输出层第k个节点的输出,Tk表示期望的输出。
[0082] 输入层与隐含层之间的权值调整为:
[0083]
⑶)
[0084] 其中,E为实际输出与期望的误差;1队表不隐含层第i个节点的输入;0;表不隐含 层第i个节点的输出表示隐含层第i个节点到输入层第j个节点之间的权值
[0085] 隐含层与输出层之间的权值调整为:
[0086]
(】〇 )
[0087] 其中,E为实际输出与期望的误差;INk表示输出层第k个节点的输入;wkl表示输 出层第k个节点到隐含层第i个节点之间的权值,i= 1,2, . ..,q;0k表示输出层第k个节 点的输出。
[0088] 本发明对传统的BP神经网络算法进行改进,在精确度允许的范围内,在原有权值 改变量的基础上加入放大因子h(x),h(x)的表达式如下:
[0089] h(X)=-InX(1-χ) (11)
[0090] 其中,h(x)满足当x趋近于0或1时,h(x)趋向于无穷大。
[0091] 经过改进后隐含层与输出层之间的权值调整为:
[0092]
[0093] 本实施例中通过仿射变换对原始水印图像进行置乱后,然后,对其利用BP神经网 络算法进行训练,其输入层、隐含层、输出层的神经元数目以及学习常数、阈值,可作为密 钥,从而在置乱后的图像水印上通过BP神经网络实现二次加密,不仅增加了密钥数量,而 且加快了训练速度。
[0094] (二)水印图像嵌入
[0095] 将载体图像I划分8X8的图像块,建立[64X64X64]三层的RBF神经网络结构, 即输入层、隐含层和输出层,如图2所示。通过基于优化的RBF神经网络对载体图像块进行 训练,获得隐含层的输出〇 ;在隐含层的输出〇中嵌入置乱后的水印图像,再将嵌入水印图 像后的载体图像进行RBF神经网络训练,得到嵌入水印图像的载体图像。
[0096] 使用的核函数是高斯径向基函数:
[0097]
(13)
[0098] 其中,δ 高斯型基函数的宽度,它的值越大,隐含层神经元对输入响应的范围 也就越大,并且神经元之间的平滑度也就越好。
[0099] RBF神经网络的第k个输出为:
[0100]
(14)
[0101] 其中,Cl为网络隐含层节点中心,wlk为隐含层到输入层的连接权值;X为输入的中 心点。
[0102] 本发明采用优化的RBF神经网络算法,训练次数为100,预设精度为0. 001,在训练 的过程中,通过推导的最优学习率,引进一种动态的调整方式,实现RBF神经网络算法中权 值的自适应调整,具体方式如下:
[0103] 每一次学习过程中,RBF神经网络算法中权值的更新表达式如下:
[0104]
(15)
[0105] 其中,t表示学习的次数;w(t)为第t次学习时的权值;η为学习率;
为代价函数,e](t)为第t次学习过程中的误差信号。
[0106] 由上式可得第t次学习时权值的变化量为:
[0107]
r \ b>
[0108] 其中,为代价函数的偏导数。因此可得权值变化量的向量为: aw
[0109]
[0111] 误差的变化量为:[0112]
(]8)
[0110]
[0113] 设AJXG为实际输出值的该变量,为网络输出值的改变量。假设真实输出值 改变量的绝对值远小于网络输出值改变量的绝对值,即|4Κ0| << |4〗(?)|,也就是说,实际输 出值的改变量对于网络输出值的改变量来说是可以忽略的。因为实际输出值往往受到很多 条件的制约,而网络输出值则不会受到太多的限制,因此这样的假设具有一定的现实意义。 所以公式(18)可以近似写为
[0114]
(19)
[0115] 这样就可以得到误差印):
[0116]
(20)[0117] 此时,分别对第t次的代价函数求一阶和二阶偏导可得:
[0118]
[0119]
[0120] 可以推导出最优学习率的表示方式:
[0121]
[0122] 根据上述的自适应调整公式,建立好RBF神经网络后,开始进行训练,得到隐含层 的输出〇和隐含层到输出层的调节系数w(i3,j3),其中0为8X1的矩阵,W(i3,j3)为8X64 的矩阵。加载置乱后的水印图像,把水印图像的每一个像素点归一化后,对应到W(i3,j3)的 每一列的第一个点上,即加到W(i3, 1)得到含有水印图像信息的权重;再用新的权重信息进 行同一个RBF神经网络的训练,便得到含有水印图像的载体图像Ip
[0123](三)水印图像的提取和恢复
[0124] (1)水印图像的提取
[0125] 将含有水印图像的载体图像L,分辨率是NXN,Mi,」)表示嵌有水印的载体图 像在(i,j)位置的像素值,其中1 <i<N,1 <j<N;将含有水印的载体图像L(i,j)分 成8X8的图像块,将嵌入水印的载体图像块作为输入,原载体图像块作为输出,再建立一 个[64X64X64]的三层RBF神经网络,通过RBF神经网络进行训练,得到隐含层的输出0〃。 将隐含层输出0"与神经网络训练载体图像的隐含层输出0的差值,得到差值图像D,即为提 取的水印图像。
[0126] (2)水印图像的恢复
[0127] 将差值图像D分成8X8的图像块,再建立一个[64X16X64]的三层BP神经网络, 将差值图像作为输入,期望输出值为加密的水印图像,建立的BP神经网络参数与上述"利 用BP神经网络算法给水印图像置乱"步骤中对应选取的参数相同。建立BP神经网络后,开 始进行训练,得到输出图像,即为解密的置乱水印图像。再用解密后的置乱的水印图像进行 仿射反变换,得到原始的水印图像。其中,仿射反变换公式为:
[0128]当Xi+y#M+e时
[0129]
[0130]
[0131]
[0132] 其中,(x,y)为原始水印的像素点坐标,(Xl,yi)为变换后的像素点坐标,a、b、c、d、 e、f为密钥。此时,e与f相等,Μ为水印的尺寸大小。
[0133] 二、基于ΒΡ和RBF神经网络的图像水印嵌入、提取装置:
[0134] 所述的装置依次包括:置乱模块、嵌入模块、提取模块和恢复模块。具体如下:
[0135] 1)置乱模块:利用仿射变换结合ΒΡ神经网络算法对原始水印图像进行置乱加密, 划分加密的水印图像为水印图像块。
[0136] 2)嵌入模块:将载体图像划分为载体图像块,利用优化的RBF神经网络对载体图 像块进行训练;其中,通过在RBF神经网络算法设置最优学习率实现对其权值变化的自适 应调整并将加密的水印图像块嵌入到原始载体图像块中。
[0137] 3)
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1