CN111768327B - 基于深度学习的水印添加、提取方法、设备及存储介质 - Google Patents

基于深度学习的水印添加、提取方法、设备及存储介质 Download PDF

Info

Publication number
CN111768327B
CN111768327B CN202010611246.8A CN202010611246A CN111768327B CN 111768327 B CN111768327 B CN 111768327B CN 202010611246 A CN202010611246 A CN 202010611246A CN 111768327 B CN111768327 B CN 111768327B
Authority
CN
China
Prior art keywords
watermark
image
information
sample
loss function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010611246.8A
Other languages
English (en)
Other versions
CN111768327A (zh
Inventor
王江鹏
毛晓蛟
章勇
曹李军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Keda Technology Co Ltd
Original Assignee
Suzhou Keda Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Keda Technology Co Ltd filed Critical Suzhou Keda Technology Co Ltd
Priority to CN202010611246.8A priority Critical patent/CN111768327B/zh
Publication of CN111768327A publication Critical patent/CN111768327A/zh
Application granted granted Critical
Publication of CN111768327B publication Critical patent/CN111768327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本申请涉及一种基于深度学习的水印添加、提取方法、设备及存储介质,属于图像处理技术领域,该方法包括:获取待添加水印的水印信息;将水印信息和待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像;该编码器是使用样本水印信息、多张样本图像和预设损失函数对第一神经网络模型进行训练得到,预设损失函数包括基于最小可觉差建立的第一损失函数;可以解决使用现有的编码器编码得到的水印嵌入图像存在斑点或纹理的问题;编码器使用基于最小可觉差建立的第一损失函数的训练得到,可以保证该编码器编码得到的水印嵌入图像与目标图像之间满足人眼的最小可觉差,可以提高编码器的编码效果,从而提高水印嵌入图像的显示效果。

Description

基于深度学习的水印添加、提取方法、设备及存储介质
技术领域
本申请涉及一种基于深度学习的水印添加、提取方法、设备及存储介质,属于图像处理技术领域。
背景技术
为了保证图像内容的安全性,常常需要在视频或者照片中加入一些水印来表征对应图像内容的一些属性。比如:图像内容的拍摄地点、拍摄时间、所属人(单位)等。为了避免水印被去除,现有技术提供一种隐形水印的相关方案,即在图像内容中加入一些肉眼看不到的水印信息。
一种典型的隐形水印添加方法包括:使用编码器将水印信息嵌入图像,得到水印嵌入图像。相应地,隐形水印提取方法包括:使用解码器对水印嵌入图像进行解码,得到水印信息。其中,编码器和解码器均由卷积神经网络构成。
然而,现有的编码器得到的水印嵌入图像会出现明显的斑点或者波纹,从而导致水印嵌入图像的显示效果不佳的问题;同时,水印嵌入图像经过转拍、转录等操作后,现有的解码器提取得到的水印信息可能存在随机错误,导致该水印信息与原始的水印信息不符的问题。
发明内容
本申请提供了一种基于深度学习的水印添加、提取方法、设备及存储介质,可以解决使用现有的编码器编码得到的水印嵌入图像存在斑点或纹理、解码器解码得到的水印信息误准确率较低的问题。本申请提供如下技术方案:
第一方面,提供了一种基于深度学习的水印添加方法,所述方法包括:
获取待添加水印的水印信息;
将所述水印信息和所述待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像;所述编码器是使用样本水印信息、多张样本图像和预设损失函数对第一神经网络模型进行训练得到,所述预设损失函数包括基于最小可觉差建立的第一损失函数。
可选地,所述将所述水印信息和所述待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像之后,还包括:
获取所述编码器运行过程中得到的水印编码图像;
将所述水印编码图像与所述目标图像之后的n帧图像分别进行叠加,得到每帧图像对应的水印嵌入图像,所述n为正整数。
可选地,所述将所述水印信息和所述待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像之前,还包括:
获取所述样本图像;
获取所述样本水印信息;
将所述样本图像和所述样本水印信息输入U-Net网络模型,得到第一模型输出结果;
将所述第一模型输出结果与所述样本图像输入所述预设损失函数,得到第一函数结果;
使用所述第一函数结果对所述U-Net网络模型进行训练,得到所述编码器。
所述基于最小可觉差建立的第一损失函数通过下式表示:
Figure BDA0002561861110000021
Figure BDA0002561861110000022
其中,
Figure BDA0002561861110000023
表示亮度适应的视觉阈,
Figure BDA0002561861110000024
表示空间掩码;Mr为所述第一神经网络模型的第一模型输出结果;L2表示对计算结果进行行L2归一化。
可选地,所述预设损失函数还包括第二损失函数,所述第二损失函数包括:L2损失函数、感知损失Perceptual Loss函数、Wasserstein loss函数中的任意一项或任意多项。
第二方面,提供了一种基于深度学习的水印提取方法,所述方法包括:
获取水印嵌入图像;
将所述水印嵌入图像输入预先训练的解码器,得到水印解码信息;所述解码器是使用多组样本数据对第二神经网络模型进行训练得到的,每组样本数据包括样本水印嵌入图像和所述样本水印嵌入图像对应的样本水印解码信息;
使用纠错码对所述水印解码信息进行纠错,得到水印信息。
可选地,所述使用纠错码对所述水印解码信息进行纠错,得到水印信息之后,还包括:
获取m帧水印嵌入图像对应的水印信息的投票结果,得到所述水印嵌入图像的最终水印提取结果,所述m为大于1的整数。
可选地,所述将所述水印嵌入图像输入预先训练的解码器,得到水印解码信息之前,还包括:
获取原始水印嵌入图像和所述原始水印嵌入图像对应的样本水印解码信息;
对所述原始水印嵌入图像进行随机光照变换,得到所述原始水印嵌入图像对应的样本水印嵌入图像;
将所述样本水印嵌入图像输入所述第二神经网络模型,得到第二模型输出结果;
将所述第二模型输出结果和所述样本水印解码信息输入交叉熵损失函数,得到第二函数结果;
使用所述第二函数结果对所述第二神经网络模型进行训练,得到所述解码器。
可选地,所述对所述原始水印嵌入图像进行随机光照变换,得到所述原始水印嵌入图像对应的样本水印嵌入图像,包括:
基于光照理论随机生成所述原始水印嵌入图像的光照信息;
使用所述光照信息对所述原始水印嵌入图像进行随机光照变换;
其中,所述光照信息包括:入射光线、视觉观察方向、理想反射光和/或入射光强。
第三方面,提供一种计算机设备,所述设备包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的基于深度学习的水印添加方法;或者,实现第二方面所述的基于深度学习的水印提取方法。
第四方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的基于深度学习的水印添加方法;或者,实现第二方面所述的基于深度学习的水印提取方法。
本申请的有益效果在于:通过获取待添加水印的水印信息;将水印信息和待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像;该编码器是使用多张样本图像和预设损失函数对第一神经网络模型进行训练得到,预设损失函数包括基于最小可觉差建立的第一损失函数;可以解决使用现有的编码器编码得到的水印嵌入图像存在斑点或纹理的问题;由于编码器使用基于最小可觉差建立的第一损失函数的训练得到,因此,可以保证该编码器编码得到的水印嵌入图像与目标图像之间满足人眼的最小可觉差,即不存在人眼可察觉的斑点或纹理,可以提高编码器的编码效果,从而提高水印嵌入图像的显示效果。
另外,通过获取水印嵌入图像;将水印嵌入图像输入预先训练的解码器,得到水印解码信息;解码器是使用多组样本数据对第二神经网络模型进行训练得到的,每组样本数据包括样本水印嵌入图像和样本水印嵌入图像对应的样本水印解码信息;使用纠错码对水印解码信息进行纠错,得到水印信息;可以解决解码器输出的水印解码信息可能存在随机错误的问题;由于使用纠错码可以对水印解码信息中的随机错误进行纠错,因此,可以提高得到的水印信息的准确性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的基于深度学习的水印添加方法的流程图;
图2是本申请一个实施例提供的编码器的训练过程的流程图;
图3是本申请一个实施例提供的样本图像的示意图;
图4是本申请一个实施例提供的未使用JND损失函数训练的编码器输出的水印嵌入图像(右侧)和使用JND损失函数训练的编码器输出的水印嵌入图像(左侧)之间的比较示意图;
图5是本申请一个实施例提供的水印编码图像的示意图;
图6是本申请一个实施例提供的基于深度学习的水印提取方法的流程图;
图7是本申请一个实施例提供的解码器的训练过程的流程图;
图8是本申请一个实施例提供的基于深度学习的水印添加装置的框图;
图9是本申请一个实施例提供的基于深度学习的水印提取装置的框图;
图10是本申请一个实施例提供的计算机设备的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
首先,对本申请涉及的若干名词进行介绍。
最小可觉差(Just Noticeable Distortion,JND):用于表示人眼不能察觉的最大图像失真,体现了人眼对图像改变的容忍度。在图像处理领域,JND可以用来度量人眼对图像中不同区域失真的敏感性。
感知损失(Perceptual Loss)函数:用于衡量两幅图像之间的差异。
Wasserstein loss函数:是两个概率分布的距离衡量指标。Wasserstein loss函数是概率分布的距离,它是两个在同一空间上(即维度相同)的随机变量x,y之差的范数均值的下确界。
交叉熵损失(cross entropy loss)函数:用于指示实际输出(概率)与期望输出(概率)的距离,交叉熵的值越小,两个概率分布就越接近。
U-net网络模型:采用的是一个包含下采样和上采样的网络结构。下采样用来逐渐展现环境信息,而上采样的过程是结合下采样各层信息和上采样的输入信息来还原细节信息,并且逐步还原图像精度。
纠错码:在传输过程中,原码发生错误后能在接收端自行发现或纠正的码。纠错码包括BCH纠错码。其中,BCH纠错码是循环码的一种,能纠正多个随机错误。BCH纠错码算法的原理包括:若循环码的生成多项式为:g(x)=LCM[m1(x),m3(x),…,m2t-1(x)]。其中,LCM表示最小公倍式,t为纠错个数,mi(x)为素多项式,则由此生成的循环码称为BCH码。BCH码的码长n=2m-1,或是n=2m-1的因子。其中,BCH码包括信息位和监督位,监督位用于纠正解码得到的字符串中的随机错误。比如:m=4,即bit位数为15位,其中11位为信息位,4位为监督位,来纠正解码的字符中随机的一位错误比特(bit)。
下面对本申请提供的基于深度学习的水印添加方法和水印提取方法分别进行介绍。其中,水印添加方法参考图1所示的实施例,水印提取方法参考图6所示的实施例。本申请中,以各个实施例的执行主体为电子设备为例进行说明,该电子设备可以为手机、计算机、平板电脑等终端;或者,为服器,本实施例不对电子设备的类型作限定。
图1是本申请一个实施例提供的基于深度学习的水印添加方法的流程图。该方法至少包括以下几个步骤:
步骤101,获取待添加水印的水印信息。
水印信息是对待添加水印进行编码得到的信息。可选地,水印信息为二进制编码。在一个示意中,水印信息基于纠错编码算法得到的,比如:基于BCH编码算法对待添加水印进行编码,得到水印信息,以供解码端使用解码得到的字符串中的监督位纠正该字符串中的随机错误。
比如:电子设备将需要加入视频(图片)的信息,如:拍摄的地点、时间、所属人等信息与二进制串形成映射表,此时,嵌入图像的信息会随着比特串的长度的增加呈指数级增加。如:10bit长度的水印可以嵌入210=1024条信息,20bit长度的水印可以嵌入220=1048576条信息。
步骤102,将水印信息和待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像;编码器是使用样本水印信息、多张样本图像和预设损失函数对第一神经网络模型进行训练得到,预设损失函数包括基于最小可觉差建立的第一损失函数。
本实施例中,通过基于最小可觉差建立的损失函数来训练编码器,可以使得编码器编码得到的水印嵌入图像与目标图像之间满足人眼的最小可觉差,提高嵌入水印后的图像的不可觉察度。
参考图2,在将水印信息和待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像之前,还包括步骤21-24:
步骤21,获取样本图像;
比如:样本图像如图3所示。
步骤22,获取样本水印信息;
样本水印信息的相关说明详见步骤101中水印信息的描述,本实施例在此不再赘述。
步骤23,将样本图像和样本水印信息输入U-Net网络模型,得到第一模型输出结果;
本实施例中,以第一神经网络模型为U-Net网络模型为例进行说明,在其它实施方式中,第一神经网络模型也可以基于其它类型的神经网络模型建立,本实施例不对第一神经网络模型的类型作限定。
步骤24,将第一模型输出结果与样本图像输入预设损失函数,得到第一函数结果;使用第一函数结果对U-Net网络模型进行训练,得到编码器。
可选地,第一损失函数为JND损失函数。JND损失函数通过下式表示:
Figure BDA0002561861110000071
Figure BDA0002561861110000072
其中,
Figure BDA0002561861110000073
表示亮度适应的视觉阈,
Figure BDA0002561861110000074
表示空间掩码;Mr为第一神经网络模型的第一模型输出结果;L2表示对计算结果进行行L2归一化。
参考图4所示的未使用JND损失函数训练的编码器输出的水印嵌入图像(右侧)和使用JND损失函数训练的编码器输出的水印嵌入图像(左侧)之间的比较示意图,根据图4可知,使用JND损失函数训练的编码器输出的水印嵌入图像消除了很多纹理。
当然,预设损失函数还可以包括第二损失函数,第二损失函数包括但不限于:L2损失函数、感知损失Perceptual Loss函数、Wasserstein loss函数中的任意一项或任意多项,本实施例不对预设损失函数的类型作限定。
可选地,在目标图像为视频中的一帧图像时,若视频的帧率较大,此时,添加水印的过程需要在很短的时间内完成。比如:视频的帧率为30帧/秒,此时添加水印的过程需要在1ms甚至更短的时间内完成。这就会导致对添加水印的实时性的要求较高的问题。基于此,在步骤102之后,电子设备可以获取编码器运行过程中得到的水印编码图像;将水印编码图像与目标图像之后的n帧图像分别进行叠加,得到每帧图像对应的水印嵌入图像,n为正整数。换句话说,电子设备每隔n帧执行一次步骤101和102,通过跳帧添加水印的方式,降低了对水印添加过程的实时性的要求。
其中,n的值可以为1或者其它数值,本实施例不对n的取值作限定。在一个示例中,为了避免n的取值过大导致画面出现闪烁,n的取值为1。当然,随着帧率的增大,n的值也可以随之增大。
水印编码图像是编码器运行过程中得到的中间结果。水印编码图像参考图5所示。
综上所述,本实施例提供的基于深度学习的水印添加方法,通过获取待添加水印的水印信息;将水印信息和待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像;该编码器是使用多张样本图像和预设损失函数对第一神经网络模型进行训练得到,预设损失函数包括基于最小可觉差建立的第一损失函数;可以解决使用现有的编码器编码得到的水印嵌入图像存在斑点或纹理的问题;由于编码器使用基于最小可觉差建立的第一损失函数的训练得到,因此,可以保证该编码器编码得到的水印嵌入图像与目标图像之间满足人眼的最小可觉差,即不存在人眼可察觉的斑点或纹理,可以提高编码器的编码效果,从而提高水印嵌入图像的显示效果。
图6是本申请一个实施例提供的基于深度学习的水印提取方法的流程图。该方法至少包括以下几个步骤:
步骤601,获取水印嵌入图像。
水印嵌入图像为将水印信息和该待添加水印的目标图像输入编码器中得到的;或者,是使用编码器上一次输出的水印编码图像与当前图像进行叠加得到的,当前图像为位于目标图像之后的n帧图像中的任意一张图像。
步骤602,将水印嵌入图像输入预先训练的解码器,得到水印解码信息;解码器是使用多组样本数据对第二神经网络模型进行训练得到的,每组样本数据包括样本水印嵌入图像和样本水印嵌入图像对应的样本水印解码信息。
参考图7,本实施例中,将水印嵌入图像输入预先训练的解码器,得到水印解码信息之前,还包括步骤71-75:
步骤71,获取原始水印嵌入图像和原始水印嵌入图像对应的样本水印解码信息。
在一个示例中,原始水印嵌入图像是将样本水印解码信息和原始图像输入已训练好的编码器中得到的。具体过程参考图1所示的实施例,本实施例在此不再赘述。
步骤72,对原始水印嵌入图像进行随机光照变换,得到原始水印嵌入图像对应的样本水印嵌入图像。
由于在对视频进行转拍的过程中,会受到拍摄角度、光线、对焦、拍摄抖动等多方面的影响。在受拍摄角度及光照影响的条件下导致的画面变亮或者变暗,都会对解码准确性造成很大的影响。基于此,本实施例中,电子设备基于光照理论的随机光照变换,在模型训练的过程中不断地对原始水印嵌入图像实行随机位置及随机强度的光照变换,会使第二神经网络模型最终适应因拍摄角度及光照变化导致的画面变暗或者变亮,从而可以提高解码器进行水印提取时的鲁棒性。
可选地,对原始水印嵌入图像进行随机光照变换,得到原始水印嵌入图像对应的样本水印嵌入图像,包括:基于光照理论随机生成原始水印嵌入图像的光照信息;使用光照信息对原始水印嵌入图像进行随机光照变换;其中,光照信息包括:入射光线、视觉观察方向、理想反射光和/或入射光强。
由于光线照射到物体后形成漫反射和镜面反射两个部分,其中,漫反射和镜面反射可以用下述公式表示:
ID=CILIn·Nn
IS=CIL(Rn·Vn)s
其中,n代表第n个像素点,Nn代表照射面的法向量,Ln为入射光线,Vn为视觉观察方向,Rn为理想反射光,IL为入射光强。Nn、Ln、Vn、Rn、IL均为随机生成的矩阵。
步骤73,将样本水印嵌入图像输入第二神经网络模型,得到第二模型输出结果。
第二神经网络模型与第一神经网络模型相同或不同。可选地,第二神经网络模型为卷积神经网络模型。
步骤74,将第二模型输出结果和样本水印解码信息输入交叉熵损失函数,得到第二函数结果。
步骤75,使用第二函数结果对第二神经网络模型进行训练,得到解码器。
步骤603,使用纠错码对水印解码信息进行纠错,得到水印信息。
可选地,纠错码为BCH码,此时,电子设备基于BCH解码原理使用水印解码信息中的监督位对水印解码信息中信息位进行纠正,得到水印信息。
可选地,由于纠错码的纠错位数有限,因此,纠错得到的水印信息可能依然存在错误,此时,在步骤603之后,电子设备获取m帧水印嵌入图像对应的水印信息的投票结果,得到水印嵌入图像的最终水印提取结果。m为大于1的整数。
比如:输入的比特串和10帧水印嵌入图像的水印信息参考下表一所示,根据表一可知,投票结果为0 1 0 0 1 0 0 0 0 0,与输入的比特串相同。
表一:
输入的比特串 0 1 0 0 1 0 0 0 0 0
第1帧水印信息 0 1 0 0 1 0 0 0 0 0
第2帧水印信息 1 1 0 0 1 0 0 0 0 0
第3帧水印信息 0 1 0 0 1 0 0 0 0 0
第4帧水印信息 0 1 0 0 1 0 0 0 0 0
第5帧水印信息 0 1 0 0 1 0 1 0 0 0
第6帧水印信息 1 1 0 0 1 0 1 0 1 0
第7帧水印信息 0 1 0 0 1 0 0 0 0 0
第8帧水印信息 0 1 0 0 1 0 1 0 1 0
第9帧水印信息 0 1 0 0 1 0 0 0 0 0
第10帧水印信息 0 0 1 0 1 0 0 0 0 0
投票结果 0 1 0 0 1 0 0 0 0 0
综上所述,本实施例提供的基于深度学习的水印提取方法,通过获取水印嵌入图像;将水印嵌入图像输入预先训练的解码器,得到水印解码信息;解码器是使用多组样本数据对第二神经网络模型进行训练得到的,每组样本数据包括样本水印嵌入图像和样本水印嵌入图像对应的样本水印解码信息;使用纠错码对水印解码信息进行纠错,得到水印信息;可以解决解码器输出的水印解码信息可能存在随机错误的问题;由于使用纠错码可以对水印解码信息中的随机错误进行纠错,因此,可以提高得到的水印信息的准确性。
另外,通过对多帧水印信息进行投票得到投票结果,可以进一步纠正水印提取中的错误,从而进一步提高水印提取的准确性。
另外,由于解码器是使用经过随机光照变换得到的样本水印嵌入图像训练得到的,因此,解码器在提取不同光照情况下的水印嵌入图像的水印解码信息时,均可以得到准确率较高的水印解码信息,编码器的提取结果不再受水印嵌入图像的光照条件的影响,提高编码器提取水印解码信息的准确性。
图8是本申请一个实施例提供的基于深度学习的水印添加装置的框图。该装置至少包括以下几个模块:信息获取模块810和水印添加模块820。
信息获取模块810,用于获取待添加水印的水印信息;
水印添加模块820,用于将所述水印信息和所述待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像;所述编码器是使用多张样本图像和预设损失函数对第一神经网络模型进行训练得到,所述预设损失函数包括基于最小可觉差建立的第一损失函数。
相关细节参考上述方法实施例。
图9是本申请一个实施例提供的基于深度学习的水印提取装置的框图。该装置至少包括以下几个模块:图像获取模块910、水印解码模块920和信息纠错模块930。
图像获取模块910,用于获取水印嵌入图像;
水印解码模块920,用于将所述水印嵌入图像输入预先训练的解码器,得到水印解码信息;所述解码器是使用样本水印信息、多组样本数据对第二神经网络模型进行训练得到的,每组样本数据包括样本水印嵌入图像和所述样本水印嵌入图像对应的样本水印解码信息;
信息纠错模块930,用于使用纠错码对所述水印解码信息进行纠错,得到水印信息。
需要说明的是:上述实施例中提供的基于深度学习的水印添加、提取装置在进行基于深度学习的水印添加、提取时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将基于深度学习的水印添加、提取装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于深度学习的水印添加、提取装置与基于深度学习的水印添加、提取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本申请一个实施例提供的计算机设备的框图,该设备可以是上文的电子设备。该设备至少包括处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的基于深度学习的水印添加方法;或者,基于深度学习的水印提取方法。
在一些实施例中,计算机设备还可选包括有:外围设备接口和至少一个外围设备。处理器1001、存储器1002和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,计算机设备还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的基于深度学习的水印添加方法;或者,基于深度学习的水印提取方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的基于深度学习的水印添加方法;或者,基于深度学习的水印提取方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于深度学习的水印添加方法,其特征在于,所述方法包括:
获取待添加水印的水印信息;
将所述水印信息和所述待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像;所述编码器是使用样本水印信息、多张样本图像和预设损失函数对第一神经网络模型进行训练得到,所述预设损失函数包括基于最小可觉差建立的第一损失函数;所述基于最小可觉差建立的第一损失函数通过下式表示:
Figure FDA0003683494350000011
Figure FDA0003683494350000012
其中,
Figure FDA0003683494350000013
表示亮度适应的视觉阈,
Figure FDA0003683494350000014
表示空间掩码;Mr为所述第一神经网络模型的第一模型输出结果;L2表示对计算结果进行L2归一化;LJND为第一损失函数;σ为对计算结果进行L2归一化过程中使用的系数;C为计算亮度适应的视觉阈与空间掩码的最小值时使用的系数。
2.根据权利要求1所述的方法,其特征在于,将所述水印信息和所述待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像之后,还包括:
获取所述编码器运行过程中得到的水印编码图像;
将所述水印编码图像与所述目标图像之后的n帧图像分别进行叠加,得到每帧图像对应的水印嵌入图像,所述n为正整数。
3.根据权利要求1所述的方法,其特征在于,所述将所述水印信息和所述待添加水印对应的目标图像输入预先训练的编码器,得到水印嵌入图像之前,还包括:
获取所述样本图像;
获取所述样本水印信息;
将所述样本图像和所述样本水印信息输入U-Net网络模型,得到第一模型输出结果;
将所述第一模型输出结果与所述样本图像输入所述预设损失函数,得到第一函数结果;
使用所述第一函数结果对所述U-Net网络模型进行训练,得到所述编码器。
4.根据权利要求1所述的方法,其特征在于,所述预设损失函数还包括第二损失函数,所述第二损失函数包括:L2损失函数、感知损失Perceptual Loss函数、Wasserstein loss函数中的任意一项或任意多项。
5.一种基于深度学习的水印提取方法,其特征在于,所述方法包括:
获取水印嵌入图像,所述水印嵌入图像为将水印信息和待添加水印的目标图像输入编码器中得到的;或者,是使用编码器上一次输出的水印编码图像与当前图像进行叠加得到的,所述当前图像为位于所述目标图像之后的n帧图像中的任意一张图像;所述编码器是使用样本水印信息、多张样本图像和预设损失函数对第一神经网络模型进行训练得到,所述预设损失函数包括基于最小可觉差建立的第一损失函数;所述基于最小可觉差建立的第一损失函数通过下式表示:
Figure FDA0003683494350000021
Figure FDA0003683494350000022
其中,
Figure FDA0003683494350000023
表示亮度适应的视觉阈,
Figure FDA0003683494350000024
表示空间掩码;Mr为所述第一神经网络模型的第一模型输出结果;L2表示对计算结果进行L2归一化;LJND为第一损失函数;σ为对计算结果进行L2归一化过程中使用的系数;C为计算亮度适应的视觉阈与空间掩码的最小值时使用的系数;
将所述水印嵌入图像输入预先训练的解码器,得到水印解码信息;所述解码器是使用多组样本数据对第二神经网络模型进行训练得到的,每组样本数据包括样本水印嵌入图像和所述样本水印嵌入图像对应的样本水印解码信息;
使用纠错码对所述水印解码信息进行纠错,得到水印信息。
6.根据权利要求5所述的方法,其特征在于,所述使用纠错码对所述水印解码信息进行纠错,得到水印信息之后,还包括:
获取m帧水印嵌入图像对应的水印信息的投票结果,得到所述水印嵌入图像的最终水印提取结果,所述m为大于1的整数。
7.根据权利要求5所述的方法,其特征在于,所述将所述水印嵌入图像输入预先训练的解码器,得到水印解码信息之前,还包括:
获取原始水印嵌入图像和所述原始水印嵌入图像对应的样本水印解码信息;
对所述原始水印嵌入图像进行随机光照变换,得到所述原始水印嵌入图像对应的样本水印嵌入图像;
将所述样本水印嵌入图像输入所述第二神经网络模型,得到第二模型输出结果;
将所述第二模型输出结果和所述样本水印解码信息输入交叉熵损失函数,得到第二函数结果;
使用所述第二函数结果对所述第二神经网络模型进行训练,得到所述解码器。
8.根据权利要求7所述的方法,其特征在于,所述对所述原始水印嵌入图像进行随机光照变换,得到所述原始水印嵌入图像对应的样本水印嵌入图像,包括:
基于光照理论随机生成所述原始水印嵌入图像的光照信息;
使用所述光照信息对所述原始水印嵌入图像进行随机光照变换;
其中,所述光照信息包括:入射光线、视觉观察方向、理想反射光和/或入射光强。
9.一种计算机设备,其特征在于,所述设备包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现如权利要求1至4任一项所述的基于深度学习的水印添加方法;或者,实现如权利要求5至8任一项所述的基于深度学习的水印提取方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有程序,所述程序被处理器执行时用于实现如权利要求1至4任一项所述的基于深度学习的水印添加方法;或者,实现如权利要求5至8任一项所述的基于深度学习的水印提取方法。
CN202010611246.8A 2020-06-30 2020-06-30 基于深度学习的水印添加、提取方法、设备及存储介质 Active CN111768327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010611246.8A CN111768327B (zh) 2020-06-30 2020-06-30 基于深度学习的水印添加、提取方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010611246.8A CN111768327B (zh) 2020-06-30 2020-06-30 基于深度学习的水印添加、提取方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111768327A CN111768327A (zh) 2020-10-13
CN111768327B true CN111768327B (zh) 2022-07-19

Family

ID=72724182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010611246.8A Active CN111768327B (zh) 2020-06-30 2020-06-30 基于深度学习的水印添加、提取方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111768327B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112183150B (zh) * 2020-10-16 2022-11-08 上海了物网络科技有限公司 图像二维码及其制备方法、解析装置和解析方法
CN112561768B (zh) * 2020-12-02 2024-03-29 中国电子科技集团公司第十五研究所 基于深度学习的电脑屏幕最佳水印类型确定方法及系统
CN112907430B (zh) * 2021-02-20 2022-12-13 百度在线网络技术(北京)有限公司 图像处理方法、装置、电子设备及计算机可读存储介质
CN113222804B (zh) * 2021-06-02 2022-03-15 景德镇陶瓷大学 面向陶瓷工艺的上采样陶瓷水印模型训练方法和嵌密方法
CN113592693B (zh) * 2021-07-12 2023-05-12 南京信息工程大学 基于Y-Net的数字水印方法、装置及系统
CN113658032B (zh) * 2021-10-20 2022-02-18 广东迅维信息产业股份有限公司 基于深度学习和图像处理的图像水印加解密方法及系统
CN115273247A (zh) * 2022-07-19 2022-11-01 北京大学 一种针对深度伪造的主动防御方法、系统
CN116630131A (zh) * 2023-07-25 2023-08-22 北京和人广智科技有限公司 屏幕隐形水印的编码、解码系统及方法
CN116703687B (zh) * 2023-08-02 2024-01-30 腾讯科技(深圳)有限公司 图像生成模型处理、图像生成方法、装置和计算机设备
CN117094871A (zh) * 2023-09-01 2023-11-21 江苏群杰物联科技有限公司 图像水印处理方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3397157B2 (ja) * 1999-01-13 2003-04-14 日本電気株式会社 電子透かし挿入システム
CN111314704B (zh) * 2018-12-12 2023-01-17 中国科学院深圳先进技术研究院 图像级jnd阈值的预测方法、装置、设备及存储介质
CN111223034B (zh) * 2019-11-14 2023-04-28 中山大学 基于深度学习的大容量抗打印/拍摄盲水印系统及方法
CN111127476B (zh) * 2019-12-06 2024-01-26 Oppo广东移动通信有限公司 一种图像处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111768327A (zh) 2020-10-13

Similar Documents

Publication Publication Date Title
CN111768327B (zh) 基于深度学习的水印添加、提取方法、设备及存储介质
CN113658051B (zh) 一种基于循环生成对抗网络的图像去雾方法及系统
US20230008085A1 (en) Method for embedding watermark in video data and apparatus, method for extracting watermark in video data and apparatus, device, and storage medium
US20180101751A1 (en) Systems and methods for detection and localization of image and document forgery
US20110194727A1 (en) Image data processig systems for hiding secret information and data hiding methods using the same
CN112819720B (zh) 图像处理方法、装置、电子设备及存储介质
EP1908007B1 (en) Image watermarking
CN116205820A (zh) 图像增强方法、目标识别方法、设备及介质
CN114529441A (zh) 一种图像频域数字水印方法、系统、装置及介质
CN113538197A (zh) 水印提取方法、装置、存储介质以及电子设备
CN112700363A (zh) 一种基于区域选择的自适应可视水印嵌入方法和装置
CN113487473A (zh) 一种添加图像水印的方法、装置、电子设备及存储介质
CN117152182A (zh) 一种超低照度网络相机图像处理方法、装置及电子设备
CN112907433A (zh) 数字水印嵌入方法、提取方法、装置、设备及介质
CN116051407A (zh) 一种图像修复方法
CN113570494B (zh) 一种加密数字水印添加方法及系统、设备和存储介质
Qin et al. Print-Camera Resistant Image Watermarking with Deep Noise Simulation and Constrained Learning
CN114612316A (zh) 一种核预测网络图像去雨方法和装置
CN114493971A (zh) 媒体数据转换模型训练、数字水印嵌入方法和装置
CN114418882A (zh) 处理方法、训练方法、装置、电子设备及介质
CN116391200A (zh) 缩放不可知水印提取
CN113538198B (zh) 水印添加方法、装置、存储介质以及电子设备
CN116781926A (zh) 基于通道空间注意力机制的视频水印嵌入方法及系统
CN117974412A (zh) 基于信息多维嵌入和纹理引导的鲁棒水印嵌入方法及系统
CN116939222A (zh) 基于多尺度注意力机制的视频水印嵌入系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant