一种基于扩散模型的生成式图像隐写方法
未命名
07-23
阅读:148
评论:0
1.本发明涉及信息安全技术领域,特别是涉及一种基于扩散模型的生成式图像隐写方法。
背景技术:
2.随着互联网技术的快速发展和广泛应用,信息安全愈发重要。图像隐写作为信息安全中重要的研究方向,也受到越来越多的关注。图像隐写是一种将秘密信息隐藏到图片载体中传送的技术,用正常的社交行为掩饰信息传送。与加密相比,隐写术更加不易引起第三方的怀疑。
3.传统的图像隐写流程可以概括为以下3步:1、选择载体图片;2、将秘密信息嵌入载体图片,得到载密图片;3、传送载密图片。传统的图像隐写方法主要将信息隐藏在图片的空域和变换域。经典lsb隐写算法通过修改载体图像中每个像素的最低有效位来嵌入秘密信息。
4.随着深度学习的发展,多种基于深度学习的图像隐写算法被提出。例如使用生成对抗网络生成更适合嵌入秘密信息的载体图片,再使用传统的隐写算法嵌入秘密信息;使用gan网络对载体图像进行二次改动,在生成新图片的过程中嵌入秘密信息;或是将秘密信息映射成隐向量,生成模型根据其生成新的图片。
5.现有的图像隐写方法通过修改载体图片来嵌入秘密信息,为避免载体图片失真与原图差别过大,只能修改有限的位置,所以隐写容量往往都很有限。且修改后的载体图片在统计特性等方面与自然图片不同,攻击者可以通过隐写分析工具发现传送图片的异常。为解决传统传统隐写方法在安全性方面存在的问题,研究人员提出生成式隐写方法。使用图像生成模型直接生成载密图片,但是常用的gan网络存在训练不稳定等问题,其性能对生成的图片质量有很大的影响,同时常见的生成网络存在生成的图片不够真实的问题。不同于传统的隐写算法,基于深度学习的隐写方法通常训练一个提取网络来提取秘密信息,重构的秘密信息质量上有损失。
6.综上所述,现有的图像隐写技术任然存在以下几个缺点:1、传统的图像隐写方法隐写容量小,无法嵌入大量信息;2、现有的生成式隐写方法得到的载密图片与自然图片有明显差别,生成质量较差,有待提高。
技术实现要素:
7.为了解决以上技术问题,本发明提供一种基于扩散模型的生成式图像隐写方法,包括载密图片生成阶段和秘密信息提取阶段;载密图片生成阶段包括以下步骤a1、根据秘密信息m,用伪随机数生成器生成相应长度的随机密钥k;a2、用密钥k与秘密信息m进行异或运算,得到加密后的秘密信息;a3、根据加密后的秘密信息的长度l和扩散模型输入维度l,计算得到划分间隔
;根据划分间隔划分加密后的秘密信息,得到a个秘密信息子块s1,s2,
…
,sa;a4、将划分后的二进制秘密信息映射到隐空间,得到隐向量y;a5、计算隐向量y的长度,划分秘密信息间隔时使用向上取整的算法, y的长度小于等于扩散模型输入维度l,当len(y)小于扩散模型输入维度l时,对y进行补位,生成l
‑ꢀ
len(y)个高斯随机噪声n,拼接y与n得到最终隐向量z;当len(y)等于l时,则最终隐向量z=y;a6、将最终隐向量z转换成(c,w,h)格式的张量,使用训练好的扩散模型生成载密图片s;秘密信息提取阶段包括以下步骤b1、读取载密图片s,得到图像数据x;b2、将图像数据x送入提取网络,得到图片对应的隐向量;b3、取隐向量的前len(y)个元素作为向量;b4、将映射回二进制的秘密信息,根据向量中第i个数所在的区间计算其对应的二进制信息,依次转换,得到二进制的信息;b5、用密钥k与二进制的信息异或,解密得到原始的秘密信息。
8.本发明进一步限定的技术方案是:进一步的,步骤a1中,使用python随机模块random下的choices()函数生成伪随机序列,从0,1中随机选取len(m)个数据作为密钥m。
9.前所述的一种基于扩散模型的生成式图像隐写方法,步骤a3中,根据加密后的秘密信息的长度l和扩散模型输入维度l计算划分间隔的方法为:判断加密后的秘密信息的长度l= len(m)是否大于扩散模型输入维度l=c
×h×
w;若l小于等于l,则划分间隔=1,即将每1bit二进制的秘密信息映射为1个十进制数;若l大于l,则划分间隔,即将每bit的二进制秘密信息映射为1个十进制数;其中表示向上取整,扩散模型输入维度l等于生成的图片数据的大小,c表示图片的通道数,h表示图片的高度,w表示图片的宽度。
10.前所述的一种基于扩散模型的生成式图像隐写方法,加密后的秘密信息的长度l为20000,扩散模型输入维度l=c
×h×
w=3
×
64
×
64=12288,划分间隔。
11.前所述的一种基于扩散模型的生成式图像隐写方法,步骤a4和步骤b4中,二进制秘密信息与隐向量之间的映射如下式所示,根据下式在步骤a4的秘密信息隐藏阶段中将二进制信息映射为十进制数;在步骤b4的秘密信息恢复阶段中根据向量yi所在区间将其映射回二进制信息,,其中,为高斯分布的累计分布函数的逆函数,t为每个二进制分组对应的十进制数;random(x1,x2)是随机采样函数,表示从区间(x1,x2)中随机采样一个数。
12.前所述的一种基于扩散模型的生成式图像隐写方法,步骤a6中,扩散模型为去噪扩散隐式模型,具体为:令x
t
=z,其中z表示生成的隐向量,x
t
表示t时刻的样本;并利用下式从x
t
中生成x
t-1
,,其中,是训练去噪扩散隐式模型时确定的参数;为训练好的噪声估计模型,根据输入的t时刻的样本估计出t-1时刻产生的噪声,带入到上式中计算出t-1时刻的样本x
t-1
;是与x
t
无关的独立高斯噪声,由函数随机生成;不同的值导致不同的载密图片生成过程,当时,载密图片生成过程即变为去噪扩散概率模型;使给定x0和x
t
扩散过程的正向过程为确定性的过程,令载密图片生成过程中随机噪声之前的系数为0,在生成载密图片时令。
13.前所述的一种基于扩散模型的生成式图像隐写方法,步骤a6中,通过线性采样的方法减少在载密图片生成过程中的采样步骤,包括以下分步骤a6.1、从原来采样步骤[1,
…
,t]中获取长度为c且递增的子序列{t1,
…
,tc}作为加速后的采样步骤;a6.2、根据采样步骤逆序进行采样,得到;a6.3、生成最终图片s=x0。
[0014]
前所述的一种基于扩散模型的生成式图像隐写方法,步骤a6中,使用celeba数据集训练去噪扩散隐式模型,celeba数据集包括202599张人脸图片;设置模型初始学习率为1e-4,批处理尺寸batchsize为32,超参数,从到线性变化,t=1000。
[0015]
前所述的一种基于扩散模型的生成式图像隐写方法,步骤b2中包括以下分步骤b2.1、读取隐写图片s得到图像数据x,令x0=x并将其输入到提取网络进行采样;b2.2、提取网络使用下式进行采样得到,采样步骤t依据序列{t1,
…
,ts}进行,,其中,参数与载密图片生成阶段的参数相同,为任意非负值,为生成的高斯噪声;b2.3、提取网络使用与扩散模型相同的u-net架构,在扩散模型训练结束后开始训练提取网络,训练的损失函数为:,其中,x
t
为扩散模型在载密图片生成过程中进行步骤t采样得到的数据,为提取
网络在进行逆生成过程中进行步骤t采样得到的数据。
[0016]
本发明的有益效果是:(1)本发明中,在载密图片生成阶段根据秘密信息的长度划分秘密信息子块,将二进制秘密信息映射到隐空间时使用高斯分布的累计分布函数的逆函确定每个秘密信息子块对应十进制数所在的区间,从而不仅提高了隐写容量,还保证了生成的隐向量数据分布服从标准高斯分布,由于使用的扩散模型在训练时假设隐空间训练服从高斯分布,使用服从高斯分布的隐向量能取得更好的生成效果,提高了隐写图片的生成质量;(2)本发明中,使用扩噪扩散隐式模型ddim生成隐写图片,扩散模型本身强大的生成能力能够稳定地生成高质量的图片,使用其生成隐写图片进一步的提高了生成质量;(3)本发明中,依据扩散模型生成过程的逆操作设计提取网络,进一步提高了秘密信息的提取率。
附图说明
[0017]
图1为本发明的整体流程示意图。
具体实施方式
[0018]
本实施例提供的一种基于扩散模型的生成式图像隐写方法,包括载密图片生成阶段和秘密信息提取阶段,本方法不需要载体图片,将秘密信息预处理之后映射成隐空间向量,使用扩散模型直接生成载密图片;秘密信息提取阶段,使用与扩散模型相同结构的提取网络获得图片对应的隐向量,随后将其映射回二进制信息,使用密钥解密提取秘密信息。
[0019]
如图1所示,载密图片生成阶段包括以下步骤a1、根据秘密信息m,用伪随机数生成器生成相应长度的随机密钥k;在本实施例中,使用python随机模块random下的choices()函数生成伪随机序列,从0,1中随机选取len(m)个数据作为密钥m。
[0020]
a2、用密钥k与秘密信息m进行异或运算,得到加密后的秘密信息。
[0021]
a3、根据加密后的秘密信息的长度l和扩散模型输入维度l,计算得到划分间隔;根据划分间隔划分加密后的秘密信息,得到a个秘密信息子块s1,s2,
…
,sa;扩散模型为一个encoder-decoder架构的unet模型,通过encoder进行下采样提取图片特征,通过decoder进行上采样恢复维度。
[0022]
根据加密后的秘密信息的长度l和扩散模型输入维度l计算划分间隔的方法为:判断加密后的秘密信息的长度l= len(m)是否大于扩散模型输入维度l=c
×h×
w;若l小于等于l,则划分间隔=1,即将每1bit二进制的秘密信息映射为1个十进制数;若l大于l,则划分间隔,即将每bit的二进制秘密信息映射为1个十进制数;其中表示向上取整,扩散模型输入维度l等于生成的图片数据的大小,c表示图片的通道数,h表示图片的高度,w表示图片的宽度。
[0023]
在本实施例中,加密后的秘密信息的长度l为20000,扩散模型输入维度l=c
×h×
w=3
×
64
×
64=12288,则秘密信息子块的划分间隔。
[0024]
a4、将划分后的二进制秘密信息映射到隐空间,得到隐向量y。
[0025]
a5、计算隐向量y的长度,由于划分秘密信息间隔时使用向上取整的算法,所以y的长度小于等于扩散模型输入维度l,当len(y)小于扩散模型输入维度l时,对y进行补位,生成l
‑ꢀ
len(y)个高斯随机噪声n,拼接y与n得到最终隐向量z;当len(y)等于l时,则最终隐向量z=y。
[0026]
a6、将最终隐向量z转换成适合扩散模型输入维度的张量,即(c,w,h)格式的张量,使用训练好的扩散模型生成载密图片s。
[0027]
步骤a6中的扩散模型为去噪扩散隐式模型ddim,具体为:令x
t
=z,其中z表示生成的隐向量,x
t
表示t时刻的样本;并利用下式从x
t
中生成x
t-1
,,其中,是训练去噪扩散隐式模型时确定的参数;为训练好的噪声估计模型,根据输入的t时刻的样本估计出t-1时刻产生的噪声,带入到上式中计算出t-1时刻的样本x
t-1
;是与x
t
无关的独立高斯噪声,由函数随机生成;不同的值导致不同的载密图片生成过程,当时,生成过程就变成了去噪扩散概率模型ddpm;为了便于提取秘密信息,需要使给定x0和x
t
扩散过程的正向过程为确定性的过程,令生成过程中随机噪声之前的系数为0可达到这一效果,所以在生成载密图片时令。
[0028]
为了加速采样,通过线性采样的方法减少在载密图片生成过程中的采样步骤,具体过程为:从原来采样步骤[1,
…
,t]中获取长度为c且递增的子序列{t1,
…
,tc}作为加速后的采样步骤;根据采样步骤逆序进行采样,得到;生成最终图片s=x0。
[0029]
在生成载密图片时,为了加快采样速度缩短生成时间,可以将采样步骤减少到100,即从[1,
…
,1000]中线性采样出100个数。
[0030]
在本实施例中,在训练去噪扩散隐式模型时使用celeba数据集,其中包括了202599张人脸图片;设置模型初始学习率为1e-4,批处理尺寸batchsize为32,超参数,从到线性变化,t=1000。
[0031]
如图1所示,秘密信息提取阶段包括以下步骤b1、读取载密图片s,得到图像数据x。
[0032]
b2、将图像数据x送入提取网络,得到图片对应的隐向量,具体包括以下分步骤b2.1、读取隐写图片s得到图像数据x,令x0=x并将其输入到提取网络进行采样;b2.2、提取网络使用下式进行采样得到,采样步骤t依据序列{t1,
…
,ts}进行,,
其中,参数与载密图片生成阶段的参数相同,为任意非负值,为生成的高斯噪声;b2.3、提取网络使用与扩散模型相同的u-net架构,在扩散模型训练结束后开始训练提取网络,训练的损失函数为:,其中,x
t
为去噪扩散隐式模型在载密图片生成过程中进行步骤t采样得到的数据,为提取网络在进行逆生成过程中进行步骤t采样得到的数据。
[0033]
b3、取隐向量的前len(y)个元素作为向量;b4、将映射回二进制的秘密信息,根据向量中第i个数所在的区间计算其对应的二进制信息,依次转换,得到二进制的信息;b5、用密钥k与二进制的信息异或,解密得到原始的秘密信息。
[0034]
在步骤a4和步骤b4中,二进制秘密信息与隐向量之间的映射如下式所示,根据下式在步骤a4的秘密信息隐藏阶段中将二进制信息映射为十进制数;在步骤b4的秘密信息恢复阶段中根据向量yi所在区间将其映射回二进制信息,,其中,为高斯分布的累计分布函数的逆函数,t为每个二进制分组对应的十进制数;random(x1,x2)是随机采样函数,表示从区间(x1,x2)中随机采样一个数。
[0035]
在本实施例中,秘密信息划分间隔为2,共有4种不同的秘密信息子块,其对应的映射区间如下表1所示,得到对应的隐空间数据y长度为10000;依据标准高斯分布随机生成长度为2288的数据n,连接y和n得到隐向量z。
[0036]
表1秘密信息的映射区间表
[0037]
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
技术特征:
1.一种基于扩散模型的生成式图像隐写方法,其特征在于:包括载密图片生成阶段和秘密信息提取阶段;载密图片生成阶段包括以下步骤a1、根据秘密信息m,用伪随机数生成器生成相应长度的随机密钥k;a2、用密钥k与秘密信息m进行异或运算,得到加密后的秘密信息 ;a3、根据加密后的秘密信息的长度l和扩散模型输入维度l,计算得到划分间隔;根据划分间隔划分加密后的秘密信息,得到a个秘密信息子块s1,s2,
…
,s
a
;a4、将划分后的二进制秘密信息映射到隐空间,得到隐向量y;a5、计算隐向量y的长度,划分秘密信息间隔时使用向上取整的算法, y的长度小于等于扩散模型输入维度l,当len(y)小于扩散模型输入维度l时,对y进行补位,生成l
‑ꢀ
len(y)个高斯随机噪声n,拼接y与n得到最终隐向量z;当len(y)等于l时,则最终隐向量z=y;a6、将最终隐向量z转换成(c,w,h)格式的张量,使用训练好的扩散模型生成载密图片s;秘密信息提取阶段包括以下步骤b1、读取载密图片s,得到图像数据x;b2、将图像数据x送入提取网络,得到图片对应的隐向量;b3、取隐向量的前len(y)个元素作为向量;b4、将映射回二进制的秘密信息,根据向量中第i个数所在的区间计算其对应的二进制信息,依次转换,得到二进制的信息;b5、用密钥k与二进制的信息异或,解密得到原始的秘密信息。2.根据权利要求1所述的一种基于扩散模型的生成式图像隐写方法,其特征在于:所述步骤a1中,使用python随机模块random下的choices()函数生成伪随机序列,从0,1中随机选取len(m)个数据作为密钥m。3.根据权利要求1所述的一种基于扩散模型的生成式图像隐写方法,其特征在于:所述步骤a3中,根据加密后的秘密信息的长度l和扩散模型输入维度l计算划分间隔的方法为:判断加密后的秘密信息的长度l= len(m)是否大于扩散模型输入维度l=c
×
h
×
w;若l小于等于l,则划分间隔=1,即将每1bit二进制的秘密信息映射为1个十进制数;若l大于l,则划分间隔,即将每bit的二进制秘密信息映射为1个十进制数;其中表示向上取整,扩散模型输入维度l等于生成的图片数据的大小,c表示图片的通道数,h表示图片的高度,w表示图片的宽度。4.根据权利要求3所述的一种基于扩散模型的生成式图像隐写方法,其特征在于:所述加密后的秘密信息的长度l为20000,扩散模型输入维度l=c
×
h
×
w=3
×
64
×
64=12288,划分间隔。5.根据权利要求1所述的一种基于扩散模型的生成式图像隐写方法,其特征在于:所述步骤a4和步骤b4中,二进制秘密信息与隐向量之间的映射如下式所示,根据下式在步骤a4
的秘密信息隐藏阶段中将二进制信息映射为十进制数;在步骤b4的秘密信息恢复阶段中根据向量y
i
所在区间将其映射回二进制信息,,其中,为高斯分布的累计分布函数的逆函数,t为每个二进制分组对应的十进制数;random(x1,x2)是随机采样函数,表示从区间(x1,x2)中随机采样一个数。6.根据权利要求1所述的一种基于扩散模型的生成式图像隐写方法,其特征在于:所述步骤a6中,扩散模型为去噪扩散隐式模型,具体为:令x
t
=z,其中z表示生成的隐向量,x
t
表示t时刻的样本;并利用下式从x
t
中生成x
t-1
,,其中,是训练去噪扩散隐式模型时确定的参数;为训练好的噪声估计模型,根据输入的t时刻的样本估计出t-1时刻产生的噪声,带入到上式中计算出t-1时刻的样本x
t-1
;是与x
t
无关的独立高斯噪声,由函数随机生成;不同的值导致不同的载密图片生成过程,当时,载密图片生成过程即变为去噪扩散概率模型;使给定x0和x
t
扩散过程的正向过程为确定性的过程,令载密图片生成过程中随机噪声之前的系数为0,在生成载密图片时令。7.根据权利要求6所述的一种基于扩散模型的生成式图像隐写方法,其特征在于:所述步骤a6中,通过线性采样的方法减少在载密图片生成过程中的采样步骤,包括以下分步骤a6.1、从原来采样步骤[1,
…
,t]中获取长度为c且递增的子序列{t1,
…
,t
c
}作为加速后的采样步骤;a6.2、根据采样步骤逆序进行采样,得到;a6.3、生成最终图片s=x0。8.根据权利要求6所述的一种基于扩散模型的生成式图像隐写方法,其特征在于:所述步骤a6中,使用celeba数据集训练去噪扩散隐式模型,celeba数据集包括202599张人脸图片;设置模型初始学习率为1e-4,批处理尺寸batchsize为32,超参数,从到线性变化,t=1000。9.根据权利要求1所述的一种基于扩散模型的生成式图像隐写方法,其特征在于:所述步骤b2中包括以下分步骤b2.1、读取隐写图片s得到图像数据x,令x0=x并将其输入到提取网络进行采样;b2.2、提取网络使用下式进行采样得到,采样步骤t依据序列{t1,
…
,t
s
}进行,,
其中,参数与载密图片生成阶段的参数相同,为任意非负值,为生成的高斯噪声;b2.3、提取网络使用与扩散模型相同的u-net架构,在扩散模型训练结束后开始训练提取网络,训练的损失函数为:,其中,x
t
为扩散模型在载密图片生成过程中进行步骤t采样得到的数据,为提取网络在进行逆生成过程中进行步骤t采样得到的数据。
技术总结
本发明公开了一种基于扩散模型的生成式图像隐写方法,涉及信息安全技术领域,主要分为载密图片生成和秘密信息提取两部分,载密图片生成的过程为:1、秘密信息加密;2、划分秘密信息子块;3、将每个秘密信息子块映射到隐空间,生成隐向量;4、将隐向量输入到扩散模型中生成载密图片。秘密信息提取的过程为:1、读取载密图片数据并输入到提取网络中以恢复出隐向量;2、提取隐向量中的秘密信息;3、将秘密信息映射成二进制比特流;4、解密得到秘密信息。从而使得本发明在保证高隐写容量的同时,也保证了隐写图片的生成质量和更高的秘密信息提取率。取率。取率。
技术研发人员:崔绪彤 袁程胜 董晓华 廖灵芝
受保护的技术使用者:南京信息工程大学
技术研发日:2023.06.16
技术公布日:2023/7/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
