CN111491170A - 嵌入水印的方法及水印嵌入装置 - Google Patents
嵌入水印的方法及水印嵌入装置 Download PDFInfo
- Publication number
- CN111491170A CN111491170A CN201910076028.6A CN201910076028A CN111491170A CN 111491170 A CN111491170 A CN 111491170A CN 201910076028 A CN201910076028 A CN 201910076028A CN 111491170 A CN111491170 A CN 111491170A
- Authority
- CN
- China
- Prior art keywords
- watermark
- embedded
- video
- embedding
- data
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本申请实施例提供了一种嵌入水印的方法和装置。本申请实施例提供的方法中,首先获取待嵌入水印的视频以及需要嵌入的水印,再利用预训练好的深度网络模型从待嵌入水印的视频中提取特征并根据特征获取水印嵌入模式,按照获取的水印嵌入模式将需要嵌入的水印嵌入视频中,得到嵌入水印的视频。本方法中利用深度网络模型来获取与待嵌入视频唯一对应的水印嵌入模式,再按照该水印嵌入模式将水印嵌入视频中,不需要固定水印嵌入图片的区域,使嵌入水印更加灵活,得到的嵌入水印的视频的鲁棒性更强。并且,本方法结合了视频特有的特征来确定水印嵌入模式,使得水印的嵌入模式很难被其他方式破解,具有更高的安全性。
Description
技术领域
本申请涉及多媒体信息安全技术领域,特别涉及一种嵌入水印的方法及其装置。
背景技术
随着数字技术的迅速发展和广泛应用,互联网、电信移动网络等新兴传输方式和手机、机顶盒、电脑等多媒体终端极大地扩展了广播影视内容的传输范围。由于数字媒体具有易于无损复制、分发等特性,使得借助数字技术和互联网随意批量复制和发行受知识产权保护的数字媒体产品和内容的现象普遍存在,造成内容提供者的权益屡屡被侵害,严重影响其创作积极性,进而损害了观众欣赏优质节目的权益。因此,对数字媒体的权限管理技术变得越来越重要。
数字水印是一种防伪溯源、版权保护的有效方法,广泛用于对高价值内容进行版权保护。数字水印技术,是指通过在载体中嵌入难以去除的特定的标识信息,如序列号、版权标识等,来达到版权保护的目的。在不影响原载体使用价值的情况下,数字水印可以被载体生成方正确识别和辨认。
传统的水印算法中,可以在空域、变换域等进行水印嵌入,其嵌入、提取的方法包括:
首先,为了提高嵌入水印的视觉掩蔽性,可以先根据帧内容计算其视觉掩码,例如边缘信息、人类视觉系统(Human Visual System,HVS)等等。利用视觉模型的基本思想是利用视觉模型导出的最小可觉差(Just Noticeable Difference,JND)描述来确定在图像的各个部分所能容忍的数字水印信号的最大强度,从而能避免破坏视觉质量。也就是说,利用视觉模型来确定与图像相关的调制掩模,然后再利用其来插入水印。
根据计算得到的视觉掩模,嵌入算法可以调整在不同区域的水印嵌入强度,从而降低水印嵌入对视频帧视觉效果造成的影响。同时,同时原始的水印信息经过编码,例如扩频编码,之后再进行嵌入操作。扩频编码可以提高水印的鲁棒性。
其次,进行水印嵌入操作。水印的嵌入可以直接在空域进行,即直接在像素值上进行嵌入;也可以在变换域进行,即在经过变换后的变换系数例如离散傅里叶变换后的系数上进行;此外,还可以在其他原始载体图像的间接表示上进行水印嵌入。
然后,重新编码即可得到包含水印的视频信息。
对于提取过程,同样先进行解码得到视频帧,然后使用水印提取操作提取嵌入的信息。一半来说,提取操作是嵌入操作的逆过程。最后,利用提取的信息解码得到水印信息,从而得到可用于版权保护的标识信息。
传统的水印技术,虽然其嵌入的方式、方法多种多样,但现有的方式方法存在着一些问题:
对于变换域水印等嵌入在原始载体的间接表示的水印算法来说,其嵌入的水印的鲁棒性受嵌入域的性质的制约,因为包含水印的载体经过信号处理/攻击之后,重新计算得到的间接表示可能与原始载体得到的间接表示不一致,从而使得水印信息无法被正确地提取出来。
传统的水印技术由于其嵌入方法具有固定的模式,水印信息的安全性智能依赖水印密钥来进行保护,水印容易被攻击者提取出来并破坏掉。
发明内容
有鉴于此,本申请实施例提供了一种嵌入水印的方法及装置,结合深度学习,智能地寻找一种能够在多种场景下保持鲁棒性的水印嵌入提取模式,水印嵌入提取模式是通过从待嵌入水印的视频数据中计算得到的,而不再是简单的嵌入模式,而是与网络深层特征相关,能够提高嵌入水印的鲁棒性和安全性。
为达到上述目的,第一方面,本申请实施例提供了一种嵌入水印的方法,该方法中,首先获取待嵌入水印的视频数据以及待嵌入的水印,再获取预训练的用于嵌入水印的深度网络模型参数,并建立深度网络,再利用建立的深度网络将待嵌入的水印嵌入待嵌入水印的视频数据中,得到嵌入水印的视频数据。
其中,利用深度网络将待嵌入的水印嵌入待嵌入水印的视频数据中,得到嵌入水印的视频数据,包括:利用深度网络从待嵌入水印的视频数据中提取特征,根据提取的特征得到水印嵌入模式;按照水印嵌入模式将待嵌入的水印嵌入待嵌入水印的视频数据中,得到嵌入水印的视频数据。其中,水印嵌入模式包括了水印的嵌入位置,以及嵌入的水印在图像中的强度等参数。
通过本申请实施例提供的水印嵌入方法嵌入的水印具有强鲁棒性,能够有效抵抗各种干扰信号或者其他视频处理方式对水印的破坏。同时,由于采用了深度网络计算得到待嵌入水印的视频数据的特征,并根据特征计算得到水印嵌入模式,使嵌入的水印具有不可逆性和更高的安全性,嵌入的水印更加难以去除。
可选的,预训练的用于嵌入水印的深度网络模型可以为水印嵌入装置自行训练得到并保存的,也可以为外部设备预先训练得到并发送给水印嵌入装置,并由水印嵌入装置接收并保存的,还可以为在需要嵌入水印时,水印嵌入装置从外部设备处获取的。
对应的,若由水印嵌入装置自行训练深度网络模型参数,在训练之前,需要获取用于模型训练的数据集,该数据集包括,用于生成器模型训练的第一训练集,用于判别器模型训练的第二训练集。训练深度网络模型的步骤包括:A:将第一训练集中的第一数据和随机生成的水印信息传输给生成器,得到带水印的第一数据;B:对带水印的第一数据添加攻击,得到攻击后的带水印的第一数据,对第二训练集中的第二数据添加攻击,得到攻击后的第二数据;C:将带水印的第一数据、攻击后的带水印的第一数据、第二数据以及攻击后的第二数据分别传输给判别器,得到概率P,概率P为输入判别器的数据为无水印数据的概率;D:将概率分别与对应的输入图片的类型进行比对,根据比对结果,确定生成器和判别器的参数的更新值;分别更新生成器和所述判别器的参数,重复执行步骤A-D,直到深度网络收敛,得到对应的生成器模型参数和判别器模型参数,生成器模型参数即为深度网络模型参数。
其中,深度网络收敛是指生成器以及判别器的损失不再变化或者小幅振荡。
其中,分别更新生成器和判别器的参数包括,当更新生成器的参数时,固定判别器的参数;或者,当更新判别器的参数时,固定生成器的参数。这样在更新参数时依次更新生成器和判别器的参数,而非同时更新生成器和判别器的参数,可以控制变量,更好地评估更新参数之后生成器或判别器的性能。
其中,待嵌入的视频数据具有多种形式。可选的,视频数据可以为视频帧或者视频码流。
可选的,当视频数据为视频帧时,在嵌入水印之后,还可以利用嵌入水印的视频帧替换待嵌入水印的视频帧,得到嵌入水印的视频帧序列,再将嵌入水印的视频帧序列编码得到嵌入水印的视频文件。
其中,可以通过多种方式获取待嵌入水印的视频数据以及待嵌入的水印。可选的,可以将待嵌入水印的视频文件解码为视频帧序列,获取用于选取需要嵌入水印的视频帧的密钥,再根据密钥从视频帧序列中选择待嵌入水印的视频帧。
第二方面,本申请实施例还提供了一种水印提取方法,该方法中,首先获取待提取谁要你的视频数据,再获取预训练的深度网络模型,并建立深度网络,再利用深度网络从待提取水印的视频数据中提取水印。
其中,利用深度网络从待提取水印的视频数据中提取水印包括:将待提取水印的视频数据作为深度网络的输入,计算待提取水印的视频数据的特征,根据该特征计算得到水印提取模式;根据水印提取模式,从待提取水印的视频数据中提取水印。
通过本申请实施例提供的水印提取方法,能够准确提取利用深度网络嵌入的水印,使嵌入的水印更加安全,并且能够提取遭到破坏的水印信息,增强了水印提取时的容错度。
可选的,预训练的深度网络模型可以为水印提取装置自行训练得到并保存的,也可以为外部设备训练得到并发送给水印提取装置,再由水印提取装置保存的,还可以为在需要提取水印时从外部设备处获取的。
对应的,训练深度网络模型参数的步骤包括:获取用于模型训练的数据集,该数据集包括,用于生成器模型训练的第一训练集,用于判别器模型训练的第二训练集;A:将第一训练集中的第一数据和随机生成的水印信息传输给生成器,得到带水印的第一数据;B:对带水印的第一数据添加攻击,得到攻击后的带水印的第一数据,对第二训练集中的第二数据添加攻击,得到攻击后的第二数据;C:将带水印的第一数据、攻击后的带水印的第一数据、第二数据以及攻击后的第二数据分别传输给判别器,得到概率P,概率P为输入判别器的数据为无水印数据的概率;D:将概率分别与对应的输入图片的类型进行比对,根据比对结果,确定生成器和判别器的参数的更新值;分别更新生成器和所述判别器的参数,重复执行步骤A-D,直到深度网络收敛,得到对应的生成器模型参数和判别器模型参数,判别器模型参数即为用于提取水印的深度网络模型参数。
其中,深度网络收敛是指生成器以及判别器的损失不再变化或者小幅振荡。
其中,分别更新生成器和判别器的参数包括,当更新生成器的参数时,固定判别器的参数;或者,当更新判别器的参数时,固定生成器的参数。这样在更新参数时依次更新生成器和判别器的参数,而非同时更新生成器和判别器的参数,可以控制变量,更好地评估更新参数之后生成器或判别器的性能。
其中,待提取水印的视频数据具有多种形式。可选的,视频数据可以为视频帧或者视频码流。
可选的,在从待提取水印的视频数据中提取水印后,还可以将提取的水印组成完整水印信息。
第三方面,本申请实施例提供了一种水印嵌入装置,该装置具有实现上述第一方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的模块。
第四方面,本申请实施例提供了一种水印嵌入装置,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当该设备管理中心运行时,该处理器执行该存储器的该计算机执行指令,以使该水印嵌入装置执行如上述第一方面中任意所述的嵌入水印的方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第一方面中任意一项的嵌入水印的方法。
第六方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面任意一项的嵌入水印方法。
其中,第三方面至第六方面中任一种设计方式所带来的技术效果可参见第二方面中不同设计方式所带来的技术效果,此处不再赘述。
第七方面,本申请实施例提供了一种水印提取装置,该装置具有实现上述第二方面所述的方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,该硬件或软件包括一个或多个与上述功能相对应的模块。
第八方面,本申请实施例提供了一种水印提取装置,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当该水印提取装置运行时,该处理器执行该存储器的该计算机执行指令,以使该水印提取装置执行如上述第二方面中任意所述的提取水印的方法。
第九方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述第二方面中任意一项的提取水印的方法。
第十方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第二方面任意一项的提取水印的方法。
其中,第七方面至第十方面中任一种设计方式所带来的技术效果可参见第二方面中不同设计方式所带来的技术效果,此处不再赘述。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种嵌入的水印方法的流程示意图;
图2为本申请实施例提供的嵌入的水印方法的一种应用场景;
图3为本申请实施例提供的一种提取水印的方法的流程示意图;
图4为本申请实施例提供的深度网络模型训练方法的架构示意图;
图5为本申请实施例提供的深度网络模型训练方法的流程示意图;
图6为本申请实施例提供的另一种深度网络模型训练方法的架构示意图;
图7为本申请实施例提供的一种计算机设备的结构示意图;
图8为本申请实施例提供的一种水印嵌入装置的结构示意图;
图9为本申请实施例提供的一种水印提取装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。方法实施例中的具体操作方法也可以应用于装置实施例中。
如图1所示,为本申请实施例提供的水印嵌入方法,包括如下步骤:
步骤S101、获取待嵌入水印的视频数据以及待嵌入的水印。
在嵌入水印之前,首先需要获取待嵌入水印的视频数据以及待嵌入的水印。本申请实施例提供的方法具有多种实现方式,可以对不同形式的视频数据嵌入水印,如视频数据可以为视频帧,也可以为视频码流,还可以为视频宏块等形式,统称为视频数据。
由于待嵌入水印的视频数据可以呈现为不同的形式,对应的,在嵌入水印之前也可以做不同的预处理。
如需要将水印嵌入视频帧,则首先需要将视频文件解码为视频帧序列,再选取一定的视频帧用于嵌入水印信息。通常,并不需要对视频帧序列的所有视频帧都嵌入水印,而是选取一部分视频帧用于嵌入水印,但需要说明的是,本申请实施例不排除对视频帧序列中所有视频帧都嵌入水印的实施方式。
作为一种实现方式,可以随机选择需要嵌入水印的视频帧,也可以按照一定规律选择需要嵌入水印的视频帧,还可以根据设定的密钥K从视频帧序列中抽取需要嵌入的水印。可选的,可以抽取视频帧序列中的I帧进行水印嵌入。
作为另一种实现方式,也可以将水印直接嵌入视频流中,此时,首先处理原始的视频源,筛选出适合进行水印嵌入的片段,生成对应的描述文件。当需要嵌入水印时,生成的描述文件即表征了视频中的哪些视频数据需要嵌入水印,根据生成的描述文件即可获取待嵌入水印的视频数据。
通常,水印信息可以为视频的创建者或所有者的标志信息,购买者的序列号,传播者的编号,作品版权信息,或者其他能够唯一标识视频的信息,根据实际情况可以任意选择需要嵌入视频的信息,并生成需要嵌入的水印。例如,视频创建者可以在视频中嵌入自己的标志或其他版权信息,以标识视频的来源;也可以在视频中嵌入购买者的序列号,以唯一标识视频的购买者;还可以在视频传输到终端(如机顶盒、手机、电视或其他用于播放视频的设备)后,在终端播放视频之前在视频上嵌入终端的编号等信息,以标识视频的播放者,这样在发生视频盗录时能够追溯到被盗录的终端设备。
需要说明的是,也可以选择先获取需要嵌入的水印,再选择需要嵌入水印的视频帧,本申请实施例不限定获取待嵌入水印的视频和待嵌入的水印的先后顺序。
可选的,在有些情况,水印信息无法直接嵌入到视频中,需要将水印信息分解为能够嵌入视频的水印。如在某些情况下,需要嵌入的水印信息过多,无法嵌入到单独某一视频帧中,需要将该水印信息分解为多份水印,并分别嵌入多个视频帧中,在需要提取水印信息时,从多个视频帧中分别提取水印并组合在一起,即可恢复出嵌入的水印信息。
可选的,可以将水印信息进行扩频编码,得到要嵌入的水印W,需要嵌入的水印信息的长度为m_len,扩频编码后得到的水印W的长度为n*m_len。对应的,作为一种实现方式,当水印的长度为n*m_len时,可以根据密钥K从视频帧序列中抽取n*m_len帧,用于嵌入水印。
步骤S102、获取预训练的用于嵌入水印的深度网络模型参数,建立深度网络。
深度网络模型是通过深度学习模型训练得到的,用于将水印嵌入视频数据中。深度学习是近年来兴起的一个新兴的研究领域,深度学习的概念来自于机器学习领域的研究,其动机在于建立一个模拟人脑进行学习分析的神经网络,通过组合低层特征形成更加抽象的高层特征,以发现数据的特征表示。
通常,深度网络模型为一个预先训练得到的模型文件,在需要建立深度网络时,可以读取该模型文件,读取之后即可加载得到需要的深度网络。深度网络模型对应的模型文件,可以由水印嵌入装置自行训练得到并保存,也可以在其他设备训练得到之后发送给水印嵌入装置,并由水印嵌入装置保存,在需要嵌入水印的时候直接调用保存的深度网络模型,还可以是将预训练的深度网络模型参数存储在其他装置,在需要嵌入水印时由水印嵌入装置从其他装置处获取。
水印嵌入装置在获取到预训练的深度网络模型参数之后,按照模型参数建立深度网络,再将待嵌入水印的视频数据和待嵌入的水印作为深度网络的输入,得到嵌入水印的视频数据。
步骤S103、利用预训练的深度网络模型将待嵌入的水印嵌入待嵌入水印的视频数据中,得到嵌入水印的视频数据。
将待嵌入水印的视频数据和待嵌入的水印作为深度网络的输入后,经过深度网络模型推理,能够从视频数据中提取特征,并根据提取的特征计算得到水印嵌入模式,水印嵌入模式决定了水印的嵌入位置,以及嵌入的水印在图像中的强度等参数,或者嵌入域。得到水印嵌入模式之后,即可按照水印嵌入模式将水印嵌入视频数据中,得到嵌入水印的视频数据。
通常,将水印嵌入视频帧并得到嵌入水印的视频帧后,还需要用嵌入水印的视频帧替换原有视频帧序列中对应的视频帧,得到新的视频帧序列,再将新的视频帧序列重新编码,得到嵌入水印的视频。
可选的,也可以不用嵌入水印的视频帧替换原有视频帧序列中对应的视频帧,而是同时保留嵌入水印前后的视频帧,即将嵌入水印的视频帧插入到对应的视频帧旁边,得到新的视频帧序列,在将新的视频帧序列重新编码,得到嵌入水印的视频。
需要说明的是,根据不同的需求,可以由不同的主体通过不同的装置采用本申请实施例提供的水印嵌入方法将水印嵌入视频中。例如,当需要嵌入水印以标识视频的来源时,可以由视频创建者利用视频采集装置嵌入水印,例如可以在手机或摄像机等视频采集装置拍摄视频时即给视频嵌入水印;当需要标识视频的版权方或者视频的购买者时,可以由视频源的拥有者通过计算机设备嵌入水印;当需要防止视频盗录时,也可以在终端接收到视频后,播放视频前由终端为视频嵌入水印,终端可以为机顶盒、手机、电视或其他可以用于接收或播放视频的设备。
作为一种示例,图2示出了一种利用本申请实施例提供的水印嵌入方法将水印嵌入视频的场景。图2所示的场景是基于视频码流的水印部署方案,在该场景中首先通过训练得到一种用于在视频码流中嵌入水印的深度网络模型参数,并将模型参数发送至内容分发网络(Content Delivery Network,CDN)的边缘节点,边缘节点将深度网络模型参数保存,以便在需要的时候利用保存的模型参数嵌入水印。当需要为视频嵌入水印时,原始的视频源首先经过处理,筛选出适合进行水印嵌入的视频码流片段,生成对应的描述文件,并传输到CDN的边缘节点。CDN的边缘节点根据描述文件即可从视频码流中找到待嵌入水印的视频码流片段,然后利用预存的深度网络模型参数建立深度网络,将待嵌入水印的视频码流和水印作为深度网络的输入,得到嵌入水印的视频码流,再将嵌入水印的视频数据发送给客户端播放。
通过本申请实施例提供的水印嵌入方法嵌入的水印具有强鲁棒性,能够有效抵抗各种干扰信号或者其他视频处理方式对水印的破坏。同时,由于采用了深度网络计算得到待嵌入水印的视频数据的特征,并根据特征计算得到水印嵌入模式,使嵌入的水印具有不可逆性和更高的安全性,嵌入的水印更加难以去除。
对应的,在嵌入水印之后得到了嵌入水印的视频数据后,在特定的场景,还需要从嵌入水印的视频数据中提取水印信息。图3示出了本申请实施例提供的水印提取方法,包括如下步骤:
步骤S301、获取待提取水印的视频数据。
同样的,待提取水印的视频数据可以有多种表现形式,可以为视频帧,也可以为视频流。在提取水印之前,需要将包含有水印的视频数据从整个视频中分离出来。
步骤S302、获取预训练的用于提取水印的深度网络模型参数,建立深度网络。
深度网络模型是通过模型训练得到的,用于从视频数据中提取水印。深度网络模型为一组模型参数,可以由水印提取装置自行训练得到并保存,也可以在其他设备训练得到之后发送给水印提取装置,并由水印提取装置保存,在需要提取水印的时候直接调用保存的深度网络模型,还可以是将预训练的深度网络模型参数存储在其他装置,在需要提取水印时由水印提取装置从其他装置处获取。
需要说明的是,用于提取水印的深度网络模型与用于嵌入水印的深度神经网络模型不同。虽然二者的参数不同,但是二者是同时训练得到,具有对应性。
水印提取装置在获取到预训练的深度网络模型参数之后,按照模型参数建立深度网络,再将待提取水印的视频数据作为深度网络的输入,提取得到水印。
步骤S303、根据预训练的深度网络模型从所述待提取水印的视频数据中提取水印。
在获取预训练的深度网络模型参数之后,根据深度网络模型参数建立深度网络。将待提取水印的视频数据作为该深度网络的输入,经过建立的深度网络的计算,从待提取水印的视频数据中提取特征,再根据提取的特征计算得到水印提取模式,然后按照水印提取模式从所述待提取水印的视频数据中提取水印。
可选的,完整的水印信息可能被分解之后分别嵌入在视频数据中,如分别嵌入在多个视频帧中,在从视频帧中提取水印之后,需要将提取的水印组成完整的水印信息。
本申请实施例提供的水印嵌入和提取方法分别采用了经过训练得到的深度网络模型来嵌入和提取水印,相比于传统的在空域或变换域等进行水印嵌入的方法具有较大区别。本申请实施例提供的方法中的水印嵌入模式是通过从数据集中添加攻击/处理后训练得到的,不再是简单的嵌入模式,而是与网络深层特征相关的。公开水印算法不会导致水印嵌入模式可回溯,即水印嵌入位置、嵌入强度无法被回溯篡改,具有更高的安全性。此外,本申请实施例提供的水印嵌入和提取方法中的深度网络模型是采用端到端训练得到,可以直接由原始载体得到包含水印信息的视频数据,实现了人工零干预,而不需要进行二次调参。
本申请实施例中用于水印嵌入和提取的模型是通过深度网络或者深度学习训练得到,下面将结合图4和图5来介绍本申请实施例提供的示例性的模型训练方法。需要说明的是,可以根据不同的需求选择不同的训练方法,本申请仅作示例性说明,并不限定具体采用的模型训练方法。
如图4所示,本申请实施例提供了一种训练水印嵌入和提取模型的系统架构。该系统为基于生成对抗网络(Generative Adversarial Networks,GAN)的深度学习模型,该模型中包括生成器、判别器和攻击模块,通过生成器和判别器的相互博弈来产生网络的输出。该训练框架可以同时训练两个模型:捕获数据分布的生成模型G,和估计样本来自训练数据的概率的判别模型D。该框架对应一个最大值集下限的双方对抗游戏,可以证明在任意函数G和D的空间中,存在唯一的解决方案,使得G重现训练数据分布,而D=0.5。在G和D由多层感知器定义的情况下,整个系统可以用反向传播进行训练。在训练或生成样本期间,不需要任何马尔科夫链或展开的近似推理网络。此处的生成模型和判别模型为机器学习中的概念,生成模型为对联合概率进行建模,从统计的角度表示数据的分布情况,刻画数据是如何生成的,收敛速度快,例如朴素贝叶斯,广义判别分析(Generalized DiscriminantAnalysis,GDA),隐马尔科夫模型(Hidden Markov Model,HMM)等;判别模型为对条件概率进行建模,不关心数据如何生成,主要是寻找不同类别之间的最优分类面,例如LR,支持向量机(Support Vector Machine,SVM)等。
其中,生成器的输入为作为水印载体的视频帧和需要嵌入的水印信息,输出则为嵌入了水印的视频帧。攻击模块,用于利用网络模拟嵌入水印的视频帧可能遇到的各种攻击或处理,以便于利用负反馈调整生成器和判别器的模型参数。判别器以嵌入了水印的视频数据和未嵌入水印的视频数据作为输入,判断输入的视频数据是否包含水印并提取视频数据中的水印。根据不同的需要,可以采用不同类型的数据集,如可以用图像或者视频码流。
图4中生成器的作用是使得生成的带水印视频数据尽可能地让判别器容易区分出来,同时,保持生成的带水印视频数据与原始载体尽可能接近,使嵌入的水印具有隐蔽性。判别器的作用是能够尽可能地区分出生成器生成的带水印视频数据,以及提取出视频数据的水印。需要说明的是,生成器和判别器为一组深度网络模型参数,并非分别具有实体装置。根据实际场景的不同,生成器和判别器也被称为编码器和解码器,嵌入器和提取器等,本申请实施例对生成器和判别器的名称不做限定。
如图5所示,为本申请实施例提供的基于生成对抗网络的水印嵌入和提取模型训练的方法示意图,该方法包括如下步骤:
步骤S501、获取用于模型训练的数据集。
根据不同的需要,可以采用不同类型的数据集,如可以用图像或者视频码流,此处以图像为例。其中,用于模型训练的图像数据集可以包括两种类型:用于训练生成器模型的第一训练集,在模型训练时作为生成器G的输入用于添加水印;用于训练判别器模型的第二训练集,在模型训练时不需要添加水印,判别器将这些无水印的图像作为正样本。
步骤S502、将第一训练集中的批量尺寸(batch-size)张图像I和随机生成的水印信息w传输给生成器G,获得带水印的图像IW。
在本申请实施例的深度网络中,生成器由一组参数组成,生成器的输入为图像和水印,图像和水印经过生成器计算,得到带水印的图像。生成器内部在嵌入水印时,会计算图像的特征,包括浅层特征和深层特征,并根据图像的特征计算得到对应的水印嵌入模式,水印嵌入模式决定了会将水印嵌入到图像中的哪些位置,以及嵌入的水印在图像中的强度等参数。之后再根据得到的水印嵌入模式将水印嵌入图像中,得到带水印的图像。在本申请实施例中,将第一训练集中的图像数据用于训练生成器,即将第一训练集中的图像作为生成器的输入,并利用生成器将水印信息嵌入第一训练集中的图像,得到带水印的图像。
步骤S503、对带水印的图像添加攻击,得到攻击后的带水印图像IWA,对第二训练集中的图像ID添加攻击,得到攻击后的无水印图像IDA。
本申请实施例中,第二训练集在本申请实施例提供的生成器和判别器模型训练方法中,为了使获得的模型具有强鲁棒性,在模型训练时引入了攻击模块,利用攻击模块模拟带水印的图像可能遇到的各种噪声和图像处理算法(如滤波、压缩、旋转或图像裁剪等),以便于利用负反馈调整生成器模型和判别器模型的参数。因此,在本申请实施例中攻击模块会对带水印图像和不带水印图像进行攻击,得到攻击后的图像。
步骤5704、将IW、IWA、ID和IDA分别传送给判别器D,判别器D在接收到这些输入之后,分别输出一个概率PI。
IW、IWA、ID和IDA作为输入图像分别传送给判别器D,判别器D在接收到输入的图像后,会计算输入图像的特征,根据特征分别计算得到每张输入图像为无水印图像的概率PI,并将PI作为输出。
步骤S505、将判别器D输出的概率与对应的输入图像的类型进行比对,根据比对结果,利用优化算法对生成器和判别器的参数进行优化更新。
判别器D在步骤5704中针对每个输入图像计算得到该输入图像为无水印图像的概率PI,再将概率PI与输入图像真实的类型比对,以验证判别器D的判断是否准确,例如若输入图像为无水印图像或者攻击后的无水印图像,此时判别器D输出的概率PI较高,表示判别器D经过计算,认为输入图像为无水印图像的概率更大,此时意味着判别器D的判断准确,反之亦然。
在获得判别器D输出的概率PI之后,可以根据PI计算生成器G和判别器D的损失函数,并对损失函数求梯度,再利用梯度下降法或Adam算法优化,利用反向传播更新生成器G和判别器D的模型参数。
如公式(1)所示,为本申请实施例提供的一种生成器G的损失函数。
GLoss=Ex~Pg[D(x)]+dx~Pg{x-x0} (1)
其中,Gloss表示生成器的损失。D(x)表示在输入为x的情况下,判别器D的输出,E_(x~Pg)[]表示在x服从G产生的分布——即x为生成器G的输出下求期望,因此,E_(x~Pg)[D(x)]表示生成器G生成的含水印图像被判别器D判别为无水印图像的概率。d{}表示两个图像之间的差别,此处以欧式距离为例,d_(x~Pg){x-x_0}表示生成器G生成的含水印图像x与原始载体图像x_0之间的差别,d_(x~Pg){x-x_0}的值越小,意味着嵌入水印对图像的视觉质量影响越小。
如公式(2)所示,为本申请实施例提供的一种判别器D的损失函数。
DLoss=Ex~Pg[D(x)]-Ex~Pr[D(x)] (2)
其中,DLoss表示判别器的损失。E_(x~Pg)[D(x)]表示在x为生成器G的输出的情况下,判别器D输出的期望,即生成的含水印帧被判别为无水印图像的概率,E_(x~Pr)[D(x)]表示在x为无水印图像的情况下,判别器D输出的期望,即无水印图像被判别为无水印的概率。
GLoss的作用是使得生成器G生成的带水印图像尽可能地让判别器D容易区分,同时,保持生成的带水印图像与原始图像尽可能接近,保证隐蔽性。DLoss的作用是使得判别器D能够尽可能地区分出生成器G生成的图像,即能够正确区分带水印图像和不带水印图像。从公式(1)和公式(2)可以看出,当GLoss和DLoss趋于稳定时,表示此时的深度网络收敛,生成器G和判别器D都达到了相对最优的性能,生成器G生成的带水印图像能够被判别器D准确地识别出来,并且生成的带水印图像与原始图像差别较小,使嵌入的水印更为稳定。
在优化更新生成器模型和判别器模型的参数时,轮流更新生成器G和判别器D的参数。当更新生成器G的参数时,需要固定判别器D的参数,当更新判别器D的参数时,需要固定生成器G的参数,这样每次仅更新一个模型的参数,才能够准确地判定在更新某个模型的参数之后,该模型性能提升与否。为了使得判别器能够更好地区分输入的图像有无水印,在训练过程中,可以使判别器D多次迭代以作出判别结果。
反复执行上述步骤,多次更新生成器G和判别器D的参数后,深度网络将会变得收敛,此时将生成器G和判别器D的模型保存下来,即为所需要的深度网络模型,生成器G的模型参数即为水印嵌入时使用的深度网络模型参数,判别器D的模型参数即为提取水印是使用的深度网络模型参数。本申请实施例中,通过损失函数来判断网络是否收敛,当生成器G或判别器D的损失不再变化或者保持小幅振荡时,即可认定此时网络已经收敛。
以上示出了深度网络模型训练的通用流程,通过执行上述流程,最终可以获得用于嵌入水印的生成器G的模型参数以及对应的用于提取水印的判别器D的模型参数,下面将介绍本申请实施例提供的一种基于Wasserstein距离的深度网络模型训练流程。
Wasserstein距离,又叫Earth-Mover(EM)距离,如公式(3)所示,Wasserstein距离的定义如下:
其中,Π(Pr,Pg)是Pr和Pg组合起来的所有可能的联合分布的集合。对于每一个可能的联合分布γ而言,可以从中采样(x,y)~γ得到一个真实样本x和一个生成样本y,并计算出这对样本的距离||x-y||,所以可以计算该联合分布γ下样本对距离的期望值E(x,y)~γ[||x-y||]。在所有可能的联合分布中能够对这个期望值取到的下界W(Pr,Pg)就定义为Wassersterin距离。
Wassersterin距离的优势在于,相比起KL散度、JS散度,即使两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。同时,Wasserstein距离是平滑的,在一些场景下,KL散度、JS散度提供不了梯度,而Wassersterin距离则可以。比如说,在高维空间中,如果两个分布不重叠,或者重叠的部分可以忽略;在这种情况下,KL和JS反映不了远近,也提供不了用于优化的梯度,但是Wasserstein距离却仍可以提供有意义的梯度。在训练生成器G和判别器D的模型参数时,可以利用Wasserstein距离计算得到生成器和判别器在训练时的损失。
在深度网络训练开始之前需要设置生成器G和判别器D的初始网络结构,如下所述,本申请实施例提供了一种可能的初始网络结构。
其中,生成器G的可能的初始网络结构如下:
G z(?,262144))……………………………………生成器的输入
G first fc(?,512,512,1)……………………………第一个全连接层
G first conv(?,512,512,16)…………………………第一个卷积层
G second conv(?,512,512,16)………………………第二个卷积层,还可以包括多个卷积层
G second fc(?,512,512,1)…………………………第二个全连接层
G reshape(?,262144)………………………………将上一层的输出做维度变换
其中,“?”表示输入数据的大小,后面的数字为网络输出的大小。此处假设处理的是512*512的图像,首先将图像经过一个全连接层,之后再经过若干个卷积层,最后,再经过一个全连接层,得到深度网络的输出。
判别器D的可能的初始网络结构如下:
D x(?,262144)……………………………………判别器的输入
D x reshape(?,512,512,1)…………………………判别器的维度变换
D first fc(?,512,512,1)……………………………第一个全连接层
D first conv(?,512,512,16)………………………第一个卷积层
D second conv(?,512,512,16)……………………第二个卷积层,还可以包括多个卷积层
D second conv+shortcut(?,512,512,16)……………包括残差网络的第二个卷积层
D flatten(?,4194304)………………………………将上一层的输出展平
D second fc(?,1)……………………………………第二个全连接层
其中,“?”表示输入数据的大小,后面的数字为网络输出的大小。同样地,判别器网络的前后分别是一个全连接层,中间是若干卷积层。可选的,为了提高判别器的判别能力,使用了一种类似残差网络的结构,即将卷积层的输入保存下来,在经过两层卷积之后,将输入与输出加起来作为下一层的输入。
需要说明的是,以上仅为生成器G和判别器D的示例性网络结构,在实际实现时可以采用另外的网络结构,本申请实施例对此不作限制。
此外,为了平衡GLoss中两个部分的大小,使得在训练生成器网络时能够同时优化两个部分,可以在生成器的损失函数的两个相加部分分别引入权重系数α1和α2,利用权重系数分别乘以上述两部分之后,再进行相加。
对应地,为了应对判别器D在训练过程中可能出现的梯度消失和梯度爆炸问题,可以为判别器添加梯度惩罚,并将其添加到判别器的损失函数中。
在训练过程中,可以使用Adam算法进行生成器G和判别器D的参数优化。
上文介绍了深度网络模型训练的通用流程以及用于模型训练的Wasserstein距离,以下将结合实际应用场景来阐述具体的网络训练算法流程。
1)首先,获取来自数据集中的9074张图像作为训练样本;
每次从中随即抽出batch_size张图像作为深度网络的输入,传送给生成器;同时,又从中随即抽出batch_size张图像作为判别器的输入;例如,batch_size可以等于6,表示每次取6张图像作为生成器或判别器的输入;。
2)初始化生成器和判别器,设置深度网络的迭代次数为1000000次,设置d_iters=5,g_iters=1;即每次迭代中,将判别器训练5次,将生成器训练1次。
3)训练开始后,分别对batch_size中的每张图片进行处理:将第一训练集中batch_size张图片中的当前图片I,传输给生成器G,同时传输给生成器G的,还有随机生成的水印信息w,最终输出带水印的图像IW。
4)生成器G的输出IW传送到攻击模块,攻击模块对这些带水印图像添加攻击,得到IWA,具体的攻击方式可以包括添加噪声、裁剪或JPEG压缩等可能影响带水印图像质量的干扰信号或图像处理过程;对第二训练集中的图片ID,同样利用攻击模块添加攻击,得到IDA。
5)将生成器G的输出带水印图像IW以及经过攻击模块后的输出IWA,第二训练集中的无水印图像ID以及攻击后的无水印图像IDA,传输给判别器D,判别器D接收这些输入之后,分别输出一个概率PI,PI意味着输入的图像为无水印图像的概率。
6)利用Adam算法更新深度网络参数,包括生成器G和判别器D的模型参数。在第一轮训练中,生成器G可以使用随机生成的模型参数进行计算,然后固定生成器G的参数,利用Adam算法,将判别器D训练d_iters次,然后再固定判别器D的参数,利用Adam算法将判别器训练g_iters次。
最终,经过多次迭代,深度网络收敛之后(即生成器G和判别器D的损失不再变化或者保持小幅振荡),表示此时深度网络趋于稳定,得到的生成器G和判别器D达到了相对最好的性能,将生成器G和判别器D的模型参数保存,即得到了用于水印嵌入和提取的深度网络模型。
类似的,还可以基于自编码器框架训练得到深度网络模型参数,如图6所示,为本实施例提供的基于自编码器的水印嵌入/提取模型训练系统架构。该框架中包含自编码器E、攻击层A和解码器D,视频源和水印经过自编码器后得到嵌入水印的视频。攻击层对嵌入水印的视频添加各种攻击,解码层从经过攻击层的嵌入水印的视频中提取水印。
如下示出了自编码器E的一种可能的网络结构:
E x
E ConvBNReLU[3->64]
E ConvBNReLU[64->64]
E ConvBNReLU[64->64]
E ConvBNReLU[64->64]
E Reshape
E ConvBNReLU[64->64]
E ConvBNReLU[64->64]
E Reshape
E flatten
视频和水印经过若干个卷积层后,再经过展平,输出嵌入水印的视频,其中,Conv表示卷积,BN表示批标准化,ReLU表示修正线性单元,Flatten为展平网络,[a->b]表示网络层输入的特征维数为a到输出的特征维数为b。
如下示出了解码器D的一种可能的网络结构:
D x
D ConvBNReLU[1->64]
D ConvBNReLU[64->64]
D ConvBNReLU[64->64]
D ConvBNReLU[64->64]
D ConvBNReLU[64->64]
D ConvBNReLU[64->64]
D ConvBNReLU[64->64]
D ConvBNReLU[64->3]
D AveragePooling[1->1]
同样地,带水印的视频输入解码器D的网络模型后,经过了若干个卷积层,最后经过一个池化层,提取得到水印。其中,Pooling表示池化层网络。
在模型训练时,对自编码器E和解码器D的网络参数更新方法可以参照上述基于生成对抗网络的更新方法,在此不再赘述。
需要说明的是,以上仅为自编码器E和解码器D的示例性网络结构,在实际实现时可以采用另外的网络结构,本申请实施例对此不作限制。
需要说明的是,上述以图像数据集为例介绍了深度网络模型训练的方法,本申请实施例提供的深度网络模型训练的方法也可以采用视频码流作为数据集,此时训练得到的生成器G和判别器D用于将水印嵌入视频码流中或者从带水印的视频码流中提取水印。与在图像帧嵌入水印的方法不同,训练用于在视频码流中嵌入水印的模型时,用于深度网络模型训练的是视频码流的残差系数,通过深度网络模型训练,得到在视频码流中进行水印嵌入提取的模型参数。
需要说明的是,上述仅为本申请实施例提供的示例性的深度网络模型训练方法,其中各种参数的取值仅为示例性的,并不构成对本申请技术方案的限定。
本申请实施例提供的深度网络模型训练方法能够训练得到用于端到端嵌入和提取水印的深度网络模型,可以根据训练得到的用于嵌入水印的模型参数建立深度网络,将需要嵌入水印的视频数据和水印作为该深度网络的输入,经过深度网络内部的运算即可得到嵌入水印的视频数据。基于上述深度网络模型嵌入的水印具有更强的鲁棒性,能够有效抵抗视频传输和处理过程中对水印的损害。并且,利用深度网络模型嵌入水印时,不再是简单固定的嵌入模式,而是利用深度网络计算出与视频数据特征相关的嵌入模式,嵌入的水印具有唯一性和更高的安全性。此外,基于深度网络能够实现端到端地嵌入和提取水印信息,直接由待嵌入水印的视频数据和待嵌入的水印得到带水印的视频数据,避免了人工选择过程。
上述实施例介绍了本申请实施例提供的嵌入和提取水印的方法的流程,应用场景以及如何训练得到深度网络数据。可以理解的是,水印嵌入装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
可选的,水印嵌入装置和水印提取装置可以分别由一个实体设备实现,也可以由多个实体设备共同实现,还可以是一个实体设备内的一个逻辑功能模块,本申请实施例对此不作具体限定。
例如,如图7所示,水印嵌入装置和水印提取装置可以通过图7中的计算机设备700来实现。图7所示为本申请实施例提供的计算机设备的硬件结构示意图,计算机设备700包括至少一个处理器701、通信总线702、存储器703以及至少一个通信接口704。
处理器701可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线702可包括一通路,在上述组件之间传送信息。
通信接口704,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器703可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器703可以是独立存在,通过总线702与处理器701相连接。存储器703也可以和处理器701集成在一起。
其中,存储器703用于存储执行本申请方案的应用程序代码,并由处理器来控制执行。处理器701用于执行存储器703中存储的应用程序代码,从而实现本申请上述实施例提供的水印嵌入或水印提取的方法。
在具体实现中,作为一种实施例,处理器701可以包括一个或多个CPU,例如图7中的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备700可以包括多个处理器,例如图7中的处理器701和处理器707。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备700还可以包括输出设备705和输入设备706。输出设备705和处理器701通信,可以以多种方式来显示信息。例如,输出设备705可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备706和处理器701通信,可以以多种方式接受用户的输入。例如,输入设备706可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机设备700可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(personaldigital assistant,PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备或有图7中类似结构的设备。本申请实施例不限定计算机设备的类型。
本申请实施例也可以根据上述方法实例对水印嵌入装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
比如,在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的水印嵌入装置的一种可能的结构示意图。该水印嵌入装置800包括获取模块801、深度网络建立模块802和嵌入模块803。其中,获取模块801,用于获取待嵌入水印的视频数据以及待嵌入的水印。深度网络建立模块802,用于获取预训练的深度网络模型,建立深度网络。嵌入模块803,用于利用深度网络将上述待嵌入的水印嵌入待嵌入水印的视频数据中,得到嵌入水印的视频数据。
其中,嵌入模块803,用于利用深度网络从待嵌入水印的视频数据中提取特征,根据提取的特征得到水印嵌入模式;再按照水印嵌入模式将待嵌入的水印嵌入待嵌入水印的视频数据中,得到嵌入水印的视频数据。
可选的,深度网络建立模块802获取的预训练的深度网络模型可以为水印嵌入装置800自行训练得到并保存的,也可以为外部设备训练得到并发送给水印嵌入装置800,再由水印嵌入装置保存的,还可以为在需要嵌入水印时由深度网络建立模块从外部设备处获取的。
可选的,水印嵌入装置800还可以包括深度网络模型训练模块804,用于训练得到深度网络模型参数。其中,具体的训练步骤在方法实施例中已经介绍,此处不再赘述。
可选的,待嵌入水印的视频数据可以为多种形式,例如可以为视频帧,也可以为视频码流。
进一步的,当嵌入水印后,嵌入模块803,还用于利用嵌入水印的视频帧替换需要嵌入水印的视频帧,得到嵌入水印的视频帧序列,再将嵌入水印的视频帧序列编码得到嵌入水印的视频。
可选的,当视频数据为视频帧时,获取模块801,用于将待嵌入水印的视频文件解码为视频帧序列,获取用于选取需要嵌入水印的视频帧的密钥,根据密钥从视频帧序列中选择待嵌入水印的视频帧。
可选的,当视频数据为视频帧时,获取模块801,用于将待嵌入水印的视频文件解码为视频帧序列,确定需要嵌入水印的视频帧的帧数,根据该帧数,从视频帧序列中随机选择待嵌入水印的视频帧。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本实施例中,该水印嵌入装置以对应各个功能划分各个功能模块的形式来呈现,或者,该水印嵌入装置以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路(Application-Specific Integrated Circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到水印嵌入装置800可以采用图7所示的形式。比如,图8中的获取模块801、深度网络建立模块802、嵌入模块803和深度网络模型训练模块804可以通过图7的处理器701和存储器703来实现。具体的,获取模块801、深度网络建立模块802、嵌入模块803和深度网络模型训练模块804可以通过由处理器701来调用存储器703中存储的应用程序代码来执行,本申请实施例对此不作任何限制。
由于本申请实施例提供的水印嵌入装置可用于执行上述嵌入水印的方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
比如,在采用对应各个功能划分各个功能模块的情况下,图9示出了上述实施例中所涉及的水印提取装置的一种可能的结构示意图。该水印提取装置900包括获取模块901、深度网络建立模块902和提取模块903。其中,获取模块901,用于获取待提取水印的视频数据。深度网络建立模块902,用于获取预训练的深度网络模型,建立深度网络。提取模块903,用于利用深度网络从待提取水印的视频数据中提取水印。
其中,提取模块903,用于将待提取水印的视频数据作为深度网络的输入,计算待提取水印的视频数据的特征,根据该特征计算得到水印提取模式;再根据水印提取模式从待提取水印的视频数据中提取水印。
可选的,深度网络建立模块902获取的预训练的深度网络模型可以为水印提取装置900自行训练得到并保存的,也可以为外部设备训练得到并发送给水印提取装置900,再保存在水印提取装置900内,还可以在需要嵌入水印时由深度网络建立模块902从外部设备处获取的。
可选的,水印提取装置900还可以包括深度网络模型训练模块904,用于训练得到深度网络模型参数。其中,具体的训练步骤在方法实施例中已经介绍,此处不再赘述。
可选的,待提取水印的视频数据可以为多种形式,例如可以为视频帧,也可以为视频码流。
进一步的,提取模块903,还用于将从待提取水印的视频数据中提取的水印组成完整水印信息。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本实施例中,该水印提取装置以对应各个功能划分各个功能模块的形式来呈现,或者,该水印提取装置以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路(Application-Specific Integrated Circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到水印提取装置900可以采用图7所示的形式。比如,图9中的获取模块901、深度网络建立模块902、嵌入模块903和深度网络模型训练模块904可以通过图7的处理器701和存储器703来实现。具体的,获取模块901、深度网络建立模块902、嵌入模块903和深度网络模型训练模块904可以通过由处理器701来调用存储器703中存储的应用程序代码来执行,本申请实施例对此不作任何限制。
由于本申请实施例提供的水印提取装置可用于执行上述提取水印的方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种嵌入水印的方法,其特征在于,所述方法包括:
获取待嵌入水印的视频数据以及待嵌入的水印;
获取预训练的用于嵌入水印的深度网络模型参数,建立深度网络;
利用所述深度网络将所述待嵌入的水印嵌入所述待嵌入水印的视频数据中,得到嵌入水印的视频数据。
2.如权利要求1所述的方法,其特征在于,所述利用所述深度网络将所述待嵌入的水印嵌入所述待嵌入水印的视频数据中,得到嵌入水印的视频数据,包括:
利用所述深度网络从所述待嵌入水印的视频数据中提取特征,根据所述特征得到水印嵌入模式;
按照所述水印嵌入模式将所述待嵌入的水印嵌入所述待嵌入水印的视频数据中,得到所述嵌入水印的视频数据。
3.如权利要求1所述的方法,其特征在于,在获取预训练的用于嵌入水印的深度网络模型参数之前,所述方法还包括,训练所述深度网络模型参数。
4.如权利要求3所述的方法,其特征在于,在训练所述深度网络模型参数之前,所述方法还包括,获取用于模型训练的数据集,所述数据集包括,用于生成器模型训练的第一训练集,用于判别器模型训练的第二训练集。
5.如权利要求4所述的方法,其特征在于,训练所述深度网络模型参数的步骤包括:
A:将所述第一训练集中的第一数据和随机生成的水印信息传输给生成器,得到带水印的第一数据;
B:对所述带水印的第一数据添加攻击,得到攻击后的带水印的第一数据,对所述第二训练集中的第二数据添加攻击,得到攻击后的第二数据;
C:将所述带水印的第一数据、攻击后的带水印的第一数据、第二数据以及攻击后的第二数据分别传输给判别器,得到概率P,所述概率P为输入所述判别器的数据为无水印数据的概率;
D:将所述概率与对应的输入图片的类型进行比对,根据比对结果,确定所述生成器和所述判别器的参数的更新值;
分别更新所述生成器和所述判别器的参数,重复执行步骤A-D,直到深度网络收敛,得到对应的生成器模型参数和判别器模型参数,所述生成器模型参数为所述用于嵌入水印的深度网络模型参数。
6.如权利要求5所述的方法,其特征在于,所述分别更新所述生成器和所述判别器的参数包括:
当更新所述生成器的参数时,固定所述判别器的参数;或者,
当更新所述判别器的参数时,固定所述生成器的参数。
7.如权利要求1所述的方法,其特征在于,所述视频数据为视频帧或视频码流。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
利用嵌入水印的视频帧替换待嵌入水印的视频帧,得到嵌入水印的视频帧序列;
将所述嵌入水印的视频帧序列编码得到嵌入水印的视频文件。
9.如权利要求7所述的方法,其特征在于,所述获取待嵌入水印的视频数据包括:
将待嵌入水印的视频文件解码为视频帧序列;
获取用于选取待嵌入水印的视频帧的密钥;
根据所述密钥从所述视频帧序列中选择待嵌入水印的视频帧。
10.一种水印嵌入装置,其特征在于,所述装置包括:
获取模块,用于获取待嵌入水印的视频数据以及待嵌入的水印
深度网络建立模块,用于获取预训练的用于嵌入水印的深度网络模型参数,建立深度网络;
嵌入模块,用于利用所述深度网络将所述待嵌入的水印嵌入所述待嵌入水印的视频数据中,得到嵌入水印的视频数据。
11.如权利要求10所述的水印嵌入装置,其特征在于,所述嵌入模块具体用于:
利用所述深度网络从所述待嵌入水印的视频数据中提取特征,根据所述特征得到水印嵌入模式;
按照所述水印嵌入模式将所述待嵌入的水印嵌入所述待嵌入水印的视频数据中,得到所述嵌入水印的视频数据。
12.如权利要求10所述的水印嵌入装置,其特征在于,所述水印嵌入装置还包括深度网络模型训练模块,用于训练得到所述深度网络模型参数。
13.如权利要求10所述的水印嵌入装置,其特征在于,所述视频数据为视频帧或视频码流。
14.如权利要求13所述的水印嵌入装置,其特征在于,所述嵌入模块还用于:
利用嵌入水印的视频帧替换待嵌入水印的视频帧,得到嵌入水印的视频帧序列;
将所述嵌入水印的视频帧序列编码得到嵌入水印的视频文件。
15.如权利要求13所述的方法,其特征在于,所述获取模块用于:
将待嵌入水印的视频文件解码为视频帧序列;
获取用于选取待嵌入水印的视频帧的密钥;
根据所述密钥从所述视频帧序列中选择待嵌入水印的视频帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910076028.6A CN111491170B (zh) | 2019-01-26 | 2019-01-26 | 嵌入水印的方法及水印嵌入装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910076028.6A CN111491170B (zh) | 2019-01-26 | 2019-01-26 | 嵌入水印的方法及水印嵌入装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111491170A true CN111491170A (zh) | 2020-08-04 |
CN111491170B CN111491170B (zh) | 2021-12-10 |
Family
ID=71793927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910076028.6A Active CN111491170B (zh) | 2019-01-26 | 2019-01-26 | 嵌入水印的方法及水印嵌入装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111491170B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111953993A (zh) * | 2020-08-25 | 2020-11-17 | 司马大大(北京)智能系统有限公司 | 水印提取和添加方法、装置、电子设备及存储介质 |
CN112561768A (zh) * | 2020-12-02 | 2021-03-26 | 中国电子科技集团公司第十五研究所 | 基于深度学习的电脑屏幕最佳水印类型确定方法及系统 |
CN112579994A (zh) * | 2020-12-23 | 2021-03-30 | 陈子祺 | 一种基于人工智能的数字产品内容保护系统和方法 |
CN112634120A (zh) * | 2020-12-30 | 2021-04-09 | 暨南大学 | 基于cnn预测的图像可逆水印方法 |
CN113222802A (zh) * | 2021-05-27 | 2021-08-06 | 西安电子科技大学 | 基于对抗攻击的数字图像水印方法 |
CN113837915A (zh) * | 2021-07-26 | 2021-12-24 | 景德镇陶瓷大学 | 一种边界区域二值化的陶瓷水印模型训练方法和嵌密方法 |
CN114727113A (zh) * | 2022-06-07 | 2022-07-08 | 广州易方信息科技股份有限公司 | 实时性场景下鲁棒视频水印的方法及装置 |
CN115243112A (zh) * | 2022-06-07 | 2022-10-25 | 苏州思萃工业互联网技术研究所有限公司 | 一种监控视频溯源的装置 |
CN115564634A (zh) * | 2022-12-05 | 2023-01-03 | 杭州海康威视数字技术股份有限公司 | 视频对抗水印嵌入方法、装置、电子设备及存储介质 |
WO2024032158A1 (zh) * | 2022-08-10 | 2024-02-15 | 大连大学 | 基于混合频域通道注意力的深度图像水印方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003019464A1 (en) * | 2001-08-28 | 2003-03-06 | University Of North Carolina At Charlotte | Automated digital watermarking methods using neural networks |
CN101056392A (zh) * | 2007-05-14 | 2007-10-17 | 华为技术有限公司 | 一种数字水印嵌入方法及其装置 |
WO2014144857A2 (en) * | 2013-03-15 | 2014-09-18 | Power Fingerprinting Inc. | Systems, methods, and apparatus to enhance the integrity assessment when using power fingerprinting systems for computer-based systems |
CN106920206A (zh) * | 2017-03-16 | 2017-07-04 | 广州大学 | 一种基于对抗神经网络的隐写分析方法 |
CN107194863A (zh) * | 2017-04-07 | 2017-09-22 | 广东精点数据科技股份有限公司 | 图像数字水印嵌入系统及方法 |
CN108921764A (zh) * | 2018-03-15 | 2018-11-30 | 中山大学 | 一种基于生成对抗网络的图像隐写方法及系统 |
-
2019
- 2019-01-26 CN CN201910076028.6A patent/CN111491170B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003019464A1 (en) * | 2001-08-28 | 2003-03-06 | University Of North Carolina At Charlotte | Automated digital watermarking methods using neural networks |
CN101056392A (zh) * | 2007-05-14 | 2007-10-17 | 华为技术有限公司 | 一种数字水印嵌入方法及其装置 |
WO2014144857A2 (en) * | 2013-03-15 | 2014-09-18 | Power Fingerprinting Inc. | Systems, methods, and apparatus to enhance the integrity assessment when using power fingerprinting systems for computer-based systems |
CN106920206A (zh) * | 2017-03-16 | 2017-07-04 | 广州大学 | 一种基于对抗神经网络的隐写分析方法 |
CN107194863A (zh) * | 2017-04-07 | 2017-09-22 | 广东精点数据科技股份有限公司 | 图像数字水印嵌入系统及方法 |
CN108921764A (zh) * | 2018-03-15 | 2018-11-30 | 中山大学 | 一种基于生成对抗网络的图像隐写方法及系统 |
Non-Patent Citations (2)
Title |
---|
ANTONIA CRESWELL; ET AL: "Generative Adversarial Networks: An Overview", 《IEEE SIGNAL PROCESSING MAGAZINE》 * |
董黎明等: "深度学习在图像隐写术与隐写分析领域中的研究进展", 《信息安全学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111953993A (zh) * | 2020-08-25 | 2020-11-17 | 司马大大(北京)智能系统有限公司 | 水印提取和添加方法、装置、电子设备及存储介质 |
CN112561768A (zh) * | 2020-12-02 | 2021-03-26 | 中国电子科技集团公司第十五研究所 | 基于深度学习的电脑屏幕最佳水印类型确定方法及系统 |
CN112561768B (zh) * | 2020-12-02 | 2024-03-29 | 中国电子科技集团公司第十五研究所 | 基于深度学习的电脑屏幕最佳水印类型确定方法及系统 |
CN112579994A (zh) * | 2020-12-23 | 2021-03-30 | 陈子祺 | 一种基于人工智能的数字产品内容保护系统和方法 |
CN112634120A (zh) * | 2020-12-30 | 2021-04-09 | 暨南大学 | 基于cnn预测的图像可逆水印方法 |
CN113222802A (zh) * | 2021-05-27 | 2021-08-06 | 西安电子科技大学 | 基于对抗攻击的数字图像水印方法 |
CN113837915A (zh) * | 2021-07-26 | 2021-12-24 | 景德镇陶瓷大学 | 一种边界区域二值化的陶瓷水印模型训练方法和嵌密方法 |
CN114727113A (zh) * | 2022-06-07 | 2022-07-08 | 广州易方信息科技股份有限公司 | 实时性场景下鲁棒视频水印的方法及装置 |
CN114727113B (zh) * | 2022-06-07 | 2022-10-11 | 广州易方信息科技股份有限公司 | 实时性场景下鲁棒视频水印的方法及装置 |
CN115243112A (zh) * | 2022-06-07 | 2022-10-25 | 苏州思萃工业互联网技术研究所有限公司 | 一种监控视频溯源的装置 |
WO2024032158A1 (zh) * | 2022-08-10 | 2024-02-15 | 大连大学 | 基于混合频域通道注意力的深度图像水印方法 |
CN115564634A (zh) * | 2022-12-05 | 2023-01-03 | 杭州海康威视数字技术股份有限公司 | 视频对抗水印嵌入方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111491170B (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111491170B (zh) | 嵌入水印的方法及水印嵌入装置 | |
US9202257B2 (en) | System for determining an illegitimate three dimensional video and methods thereof | |
US20230008085A1 (en) | Method for embedding watermark in video data and apparatus, method for extracting watermark in video data and apparatus, device, and storage medium | |
Fei et al. | Supervised gan watermarking for intellectual property protection | |
Li et al. | Anti-compression JPEG steganography over repetitive compression networks | |
CN112132737B (zh) | 一种无参考生成的图像鲁棒隐写方法 | |
KR101677110B1 (ko) | 제로널리지 기반의 영상 위변조 방지와 탐지를 위한 워터마킹 삽입과 추출 장치 및 그 방법 | |
CN113556582A (zh) | 视频数据处理方法、装置、设备以及存储介质 | |
CN113628090B (zh) | 抗干扰消息隐写与提取方法、系统、计算机设备、终端 | |
CN114445256A (zh) | 一种数字水印的训练方法、装置、设备及存储介质 | |
Al-Otum et al. | Copyright protection of color images for android-based smartphones using watermarking with quick-response code | |
Li et al. | Robust image steganography framework based on generative adversarial network | |
Li et al. | Multi-modality ensemble distortion for spatial steganography with dynamic cost correction | |
Lakshmi et al. | Digital video watermarking tools: an overview | |
Ke et al. | Robust Video watermarking based on deep neural network and curriculum learning | |
Jambhale et al. | A deep learning approach to invisible watermarking for copyright protection | |
CN112669240B (zh) | 高清图像修复方法、装置、电子设备和存储介质 | |
CN114119330A (zh) | 一种基于神经网络的鲁棒数字水印嵌入、提取方法 | |
US20220114241A1 (en) | Detection of modification of an item of content | |
CN115114596A (zh) | 水印处理方法、装置、电子设备和计算机可读存储介质 | |
CN114418882A (zh) | 处理方法、训练方法、装置、电子设备及介质 | |
CN114846464A (zh) | 保护内容处理管道 | |
Korus et al. | Computational sensor fingerprints | |
EP2169939A1 (en) | Data hiding technique | |
CN104244001A (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 |