一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

神经网络训练方法、图像编码和解码方法、装置及介质与流程

2021-11-27 00:14:00 来源:中国专利 TAG:


1.本技术涉及图像技术领域,具体涉及一种神经网络训练方法、图像编码和解码方法、装置及介质。


背景技术:

2.鲁棒数字水印(robust digital watermark)是一种基于内容的计算机信息隐藏技术,将一些标识信息(水印信息),嵌入到数字图像当中,且不影响原图像的使用价值,也不容易被探知和再次修改,但可以被生产方识别和辨认。通过在数字图像中隐藏标识信息,可以达到确认内容创建者、购买者等目的。
3.然而,鲁棒数字水印在传输过程存在可能被他人篡改或替换的风险。例如,在生成鲁棒数字水印的模型和算法泄露的情况下,可使用该模型和算法对鲁棒数字水印进行篡改或替换。因此,鲁棒数字水印在传输过程中的安全性较低。


技术实现要素:

4.本技术实施例提供了一种神经网络训练方法、图像编码和解码方法、装置及介质。提高鲁棒数字水印在传输过程中的安全性。
5.第一方面,本技术实施例提供一种神经网络训练方法,所述神经网络包括第一网络和第二网络,所述方法包括:
6.获取第一水印数据、第一密钥数据和第一图像样本;
7.将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本;
8.对所述第二图像样本进行扰动处理,得到第三图像样本;
9.获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据;
10.根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数。
11.在一些可能的实施方式中,所述根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数,包括:
12.根据所述第一图像样本和所述第二图像样本确定第一损失;
13.对所述第一图像样本和所述第二图像样本进行图像鉴别,得到第二损失,所述图像鉴别用于确定图像样本为包括水印数据的图像的概率;
14.根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第三损失;
15.根据所述第一损失、所述第二损失和所述第三损失调整所述神经网络的网络参数。
16.在一些可能的实施方式中,所述根据所述第一水印数据、所述第二水印数据、所述第一二密钥数据以及所述第二密钥数据确定第三损失,包括:
17.在所述第一密钥数据和所述第二密钥数据相同的情况下,确定所述第一水印数据与所述第二水印数据之间的第一距离,并将所述第一距离确定为所述第三损失;
18.或是,在所述第一密钥数据和所述第二密钥数据不同的情况下,确定所述第一密钥数据与所述第二密钥数据之间的第二距离,以及所述第一水印数据与所述第二水印数据之间的第三距离,并根据所述第二距离和所述第三距离确定所述第三损失。
19.在一些可能的实施方式中,所述将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本,包括:
20.通过所述第一网络对所述第一图像样本进行特征提取,得到第一特征图;
21.将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图;
22.根据所述第二特征图,得到所述第二图像样本。
23.在一些可能的实施方式中,所述将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图,包括:
24.分别对所述第一水印数据和所述第一密钥数据进行多次复制与组合,得到与所述第一水印数据对应的第一三维矩阵,以及与所述第一密钥数据对应的第二三维矩阵;其中,所述第一三维矩阵以及所述第二三维矩阵中每层的维度与所述第一特征图的维度相同;
25.根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图。
26.在一些可能的实施方式中,所述根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图,包括:
27.将所述第一三维矩阵和所述第二三维矩阵中的一个三维矩阵,与所述第一特征图进行拼接,得到第三特征图;
28.将所述第一三维矩阵和所述第二三维矩阵中的另一个三维矩阵,与所述第三特征图进行拼接,得到所述第二特征图。
29.在一些可能的实施方式中,所述将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图,包括:
30.合并所述第一水印数据和所述第一密钥数据,并对合并后数据进行多次复制与组合,得到与所述合并后数据对应的第三三维矩阵;其中,所述第三三维矩阵中每层的维度与所述第一特征图的维度相同;
31.将所述第三三维矩阵与所述第一特征图进行拼接,得到所述第二特征图。
32.在一些可能的实施方式中,所述获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据,包括:
33.通过所述第二网络对所述第三图像样本进行特征提取,得到第四特征图;
34.将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图;
35.根据所述第五特征图,得到所述第二水印数据。
36.在一些可能的实施方式中,所述将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图,包括:
37.对所述第二密钥数据进行多次复制与组合,得到第四三维矩阵,其中,所述第四三维矩阵中每层的维度与所述第四特征图的维度相同;
38.将所述第四三维矩阵与所述第四特征图进行拼接,得到所述第五特征图。
39.在一些可能的实施方式中,在所述获取第一水印数据、第一密钥数据和第一图像样本之前,所述方法还包括:
40.获取第一水印内容,并对所述第一水印内容进行编码,得到所述第一水印数据;
41.和/或,获取第一密钥,并对所述第一密钥进行编码,得到所述第一密钥数据。
42.在一些可能的实施方式中,所述扰动处理包括以下至少一种:图像压缩处理、图像剪切处理、图像覆盖处理和图像中至少部分区域的替换处理。
43.第二方面,本技术实施例提供一种图像编码方法,包括:
44.获取原始图像、第一密钥数据以及第三水印数据;
45.将所述原始图像、所述第一密钥数据以及所述第三水印数据输入到第一网络,得到编码图像;
46.其中,所述第一网络是通过如第一方面任一项所述的方法训练得到。
47.第三方面,本技术实施例提供一种图像解码方法,包括:
48.获取编码图像以及第一密钥数据;
49.将所述编码图像和所述第一密钥数据输入到所述第二网络,得到第四水印数据;
50.其中,所述第二网络是通过如第一方面任一项所述的方法训练得到。
51.第四方面,本技术实施例提供一种神经网络训练装置,所述神经网络包括第一网络和第二网络,包括:
52.获取单元,用于获取第一水印数据、第一密钥数据和第一图像样本;
53.编码单元,用于将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本;
54.扰动单元,用于对所述第二图像样本进行扰动处理,得到第三图像样本;
55.解码单元,用于获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据;
56.调整单元,用于根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数。
57.在一些可能的实施方式中,在根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数方面,所述调整单元,具体用于:
58.根据所述第一图像样本和所述第二图像样本确定第一损失;
59.对所述第一图像样本和所述第二图像样本进行图像鉴别,得到第二损失,所述图像鉴别用于确定图像样本为包括水印数据的图像的概率;
60.根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第三损失;
61.根据所述第一损失、所述第二损失和所述第三损失调整所述神经网络的网络参数。
62.在一些可能的实施方式中,在根据所述第一水印数据、所述第二水印数据、所述第一二密钥数据以及所述第二密钥数据确定第三损失方面,所述调整单元,具体用于:
63.在所述第一密钥数据和所述第二密钥数据相同的情况下,确定所述第一水印数据与所述第二水印数据之间的第一距离,并将所述第一距离确定为所述第三损失;
64.或是,在所述第一密钥数据和所述第二密钥数据不同的情况下,确定所述第一密钥数据与所述第二密钥数据之间的第二距离,以及所述第一水印数据与所述第二水印数据之间的第三距离,并根据所述第二距离和所述第三距离确定所述第三损失。
65.在一些可能的实施方式中,在将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本方面,所述编码单元,具体用于:
66.通过所述第一网络对所述第一图像样本进行特征提取,得到第一特征图;
67.将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图;
68.根据所述第二特征图,得到所述第二图像样本。
69.在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,所述编码单元,具体用于:
70.分别对所述第一水印数据和所述第一密钥数据进行多次复制与组合,得到与所述第一水印数据对应的第一三维矩阵,以及与所述第一密钥数据对应的第二三维矩阵;其中,所述第一三维矩阵以及所述第二三维矩阵中每层的维度与所述第一特征图的维度相同;
71.根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图。
72.在一些可能的实施方式中,在根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图方面,所述编码单元,具体用于:
73.将所述第一三维矩阵和所述第二三维矩阵中的一个三维矩阵,与所述第一特征图进行拼接,得到第三特征图;
74.将所述第一三维矩阵和所述第二三维矩阵中的另一个三维矩阵,与所述第三特征图进行拼接,得到所述第二特征图。
75.在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,所述编码单元,具体用于:
76.合并所述第一水印数据和所述第一密钥数据,并对合并后数据进行多次复制与组合,得到与所述合并后数据对应的第三三维矩阵;其中,所述第三三维矩阵中每层的维度与所述第一特征图的维度相同;
77.将所述第三三维矩阵与所述第一特征图进行拼接,得到所述第二特征图。
78.在一些可能的实施方式中,在获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据方面,所述解码单元,具体用于:
79.通过所述第二网络对所述第三图像样本进行特征提取,得到第四特征图;
80.将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图;
81.根据所述第五特征图,得到所述第二水印数据。
82.在一些可能的实施方式中,在将所述第四特征图与所述第二密钥数据进行拼接,
得到第五特征图方面,所述解码单元,具体用于:
83.对所述第二密钥数据进行多次复制与组合,得到第四三维矩阵,其中,所述第四三维矩阵中每层的维度与所述第四特征图的维度相同;
84.将所述第四三维矩阵与所述第四特征图进行拼接,得到所述第五特征图。
85.在一些可能的实施方式中,在所述获取单元获取第一水印数据、第一密钥数据和第一图像样本之前,所述获取单元,还用于获取第一水印内容,并对所述第一水印内容进行编码,得到所述第一水印数据;和/或,获取第一密钥,并对所述第一密钥进行编码,得到所述第一密钥数据。
86.在一些可能的实施方式中,所述扰动处理包括以下至少一种:图像压缩处理、图像剪切处理、图像覆盖处理和图像中至少部分区域的替换处理。
87.第五方面,本技术实施例提供一种图像编码装置,包括:
88.获取单元,用于获取原始图像、第一密钥数据以及第三水印数据;
89.编码单元,用于将所述原始图像、所述第一密钥数据以及所述第三水印数据输入到第一网络,得到编码图像;
90.其中,所述第一网络是通过如第一方面任一项所述的方法训练得到。
91.第六方面,本技术实施例提供一种图像解码装置,包括:
92.获取单元,用于获取编码图像以及第一密钥数据;
93.解码单元,用于将所述编码图像和所述第一密钥数据输入到所述第二网络,得到第四水印数据;
94.其中,所述第二网络是通过如第一方面任一项所述的方法训练得到。
95.第七方面,本技术实施例提供一种神经网络训练装置,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如第一方面所述的方法中的步骤的指令。
96.第八方面,本技术实施例提供一种图像编码装置,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如第二方面所述的方法中的步骤的指令。
97.第九方面,本技术实施例提供一种神经网络训练装置,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如第三方面所述的方法中的步骤的指令。
98.第十方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得计算机执行如第一方面第二方面所述的方法或第三方面所述的方法。
99.第十一方面,本技术实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机可操作来使计算机执行如第一至第三方面所述的方法中任意一项可能的实现方式。
100.实施本技术实施例,具有如下有益效果:
101.可以看出,在本技术实施例中,在对神经网络进行训练的过程中,使用第一密钥数据对该神经网络进行训练;从而在使用该神经网络对原始图像添加水印数据的情况下,可以使用该第一密钥数据对添加水印数据过程进行加密,即使泄露了该神经网络,但是,由于
没有该第一密钥数据,也无法从添加有水印数据的图像中解码出该第一水印数据或者更改该第一水印数据,提高了水印数据传输过程中的安全性。
附图说明
102.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
103.图1为本技术实施例提供的一种神经网络训练方法的流程示意图;
104.图2为本技术实施例提供的一种对密钥数据和水印数据进行复制和组合的示意图;
105.图3为本技术实施例提供的一种将三维矩阵和特征图进行拼接的示意图;
106.图4为本技术实施例提供的一种第一网络的示意图;
107.图5为本技术实施例提供的一种第二网络的示意图;
108.图6为本技术实施例提供的另一种神经网络训练过程的示意图;
109.图7为本技术实施例提供的一种图像编码方法的流程示意图;
110.图8为本技术实施例提供的一种图像解码方法的流程示意图;
111.图9为本技术实施例提供的一种神经网络训练装置的示意图;
112.图10为本技术实施例提供的一种图像编码装置的示意图;
113.图11为本技术实施例提供的一种图像解码装置的示意图;
114.图12为本技术实施例提供的另一种神经网络训练装置的示意图;
115.图13为本技术实施例提供的另一种图像编码装置的示意图;
116.图14为本技术实施例提供的另一种图像解码装置的示意图。
具体实施方式
117.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
118.本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
119.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
120.参阅图1,图1为本技术实施例提供的一种神经网络训练方法。该神经网络包括第
一网络和第二网络。该方法应用于神经网络训练装置。该方法包括但不限于以下步骤:
121.101:获取第一水印数据、第一密钥数据和第一图像样本。
122.其中,第一水印数据可以是水印内容,即将要添加至第一图像样本中的水印,或是对水印内容处理后得到的可直接添加至第一图像样本的内容,比如,是对水印内容进行编码得到的。即将水印内容编码为数字信息,得到第一水印数据,例如,可以将水印内容对应的ascii码作为该第一水印数据。
123.水印内容可以为字符、字符串和图形中的一种或几种的组合,比如,可以是文字、数字等组合而成的内容。
124.其中,该第一密钥数据可以是第一密钥或者对第一密钥进行编码得到的数字信息。该第一密钥也可以为字符、字符串和图形中的一种或几种的组合。例如,该第一密钥可以为数字和英文字母组合而成的内容。
125.因此,在获取第一水印数据、第一密钥数据和第一图像样本之前,可先获取第一水印内容,并对该第一水印内容进行编码,得到该第一水印数据;和/或,获取该第一密钥,并对该第一密钥进行编码,得到该第一密钥数据。
126.102:将第一水印数据、第一密钥数据以及第一图像样本输入到第一网络进行拼接,得到第二图像样本。
127.通过该第一网络对该第一图像样本进行特征提取,得到第一特征图;将该第一特征图、该第一水印数据以及该第一密钥数据进行拼接,得到第二特征图;根据该第二特征图,得到该第二图像样本。示例性的,可通过该第一网络对该第二特征图进行上采样处理,得到该第二图像样本。
128.上采样处理包括反卷积处理和子像素卷积sub-pixel convolution处理。本技术中以上采样处理为反卷积处理为例,进行说明。
129.需要说明,在得到该第二特征图之后,需要将该第二特征图输入到下个网络层进行处理。在该下个网络层不是反卷积层的情况,则需要通过该第一网络对该第二特征图继续进行特征提取,直至得到该最终的第二特征图;然后,将该最终的第二特征图输入到反卷积层,进行反卷积处理,得到该编码图像。
130.示例性的,可将第一水印数据、第一密钥数据与该第一特征图进行单独拼接,且可以在同一个网络层进行单独拼接,也可以在不同的网络层进行单独拼接。另外,也可以先将该第一水印数据和第一密钥数据进行合并,然后,再与该第一特征图进行拼接。本技术对此对拼接方式不进行限定。
131.具体来说,由于该第一特征图是通过该第一网络的多个通道对该第一图像样本进行特征提取得到的。一般来说,通过每个通道的卷积核对该第一图像样本进行特征提取,得到一个子特征图,将多个通道的子特征图进行组合,得到该第一特征图。因此,该第一特征图本质上可以看做一个三维矩阵。而第一水印数据和第一密钥数据可以看做一个特征向量。
132.因此,在同一个网络层将第一水印数据和第一密钥数据与第一特征图进行单独拼接的情况下,分别对该第一水印数据和该第一密钥数据进行多次复制与组合,得到与该第一水印数据对应的第一三维矩阵以及与该第一密钥数据对应的第二三维矩阵。如图2所示,分别对该第一水印数据以及第一密钥数据进行多次复制与组合,得到第一三维矩阵和第二
三维矩阵。因此,该第一三维矩阵中每层的维度与该第一特征图的维度相同,且每层的数据相同;该第二三维矩阵中每层的维度与该第一特征图的维度相同,且每层的数据相同。
133.进一步地,可将该第一三维矩阵、第二三维矩阵与该第一特征图进行拼接。可以先拼接该第一三维矩阵,也可以先拼接该第二三维矩阵,本技术对此不做限定。因此,将该第一三维矩阵和该第二三维矩阵中的一个三维矩阵与该第一特征图进行拼接,得到第三特征图;然后,将该第一三维矩阵和该第二三维矩阵中的另一个三维矩阵与该第三特征图进行拼接,得到该第二特征图。如图3所示,可先将该第一特征图与该第一三维矩阵进行拼接,得到该第三特征图;然后,再将该第二三维矩阵与该第三特征图进行拼接,得到该第二特征图。
134.在此说明,后续所涉及的对密钥数据和/或水印数据进行复制与组合的过程,可参阅图2所示的过程,不再详细叙述;另外,将三维矩阵与特征图进行拼接的过程,可参阅图3所示的过程,也不再详细叙述。
135.此外,还可在不同的网络层将第一水印数据、第一密钥数据与该第一特征图进行单独拼接,即在不同深度的网络层中先后插入第一水印数据和第一密钥数据,但不对该第一水印数据和第一密钥数据的插入顺序进行限定。本技术中以先插入第一水印数据,后插入第一密钥数据为例进行说明。
136.因此,可先将该第一水印数据进行多次复制与组合,得到该第一三维矩阵,则该第一三维矩阵中每层的维度与该第一特征图的维度相同,并将该第一三维矩阵与该第一特征图进行拼接,得到第六特征图;进一步地,通过该第一网络对该第六特征图进行特征提取,得到第七特征图;然后,将该第一密钥数据进行多次复制与组合,得到五三维矩阵,其中,该第五三维矩阵的维度与该第七特征图的维度相同,且该、每层的数据相同;最后,将该第五三维矩阵与该第七特征图进行拼接,得到该第二特征图。
137.此外,可以先将该第一水印数据和第一密钥数据进行合并。示例性的,可通过拼接的方式对该第一水印数据和第一密钥数据进行合并,例如,该第一水印数据为[01001],第一密钥数据为[10011],通过拼接得到合并后数据为[0100110011];然后,对该合并后数据进行多次复制与组合,得到与该合并后数据对应的第三三维矩阵,其中,该第三三维矩阵中每层的维度与该第一特征图的维度相同;最后,将该第三三维矩阵与该第一特征图进行拼接,得到该第二特征图。预先将第一水印数据与第一密钥数据进行合并,从而在与第一特征图拼接的过程中,只需执行一次拼接过程,进而提高对第一图像样本的编码效率。
[0138]
此外,该第一网络可以为残差网络,则在对第二特征图进行上采样处理的过程中,可以将当前次上采样处理得到的三维矩阵,与特征提取过程得到的维度相同的三维矩阵进行拼接,并将拼接得到的结果,作为下次上采样处理的输入数据,使下次上采样处理的输入数据中包含有该原始图像的更多细节信息,从而使最后输出的第二图像样本与该第一图像样本之间的差异更小,提高第一网络的编码精度。
[0139]
在一些可能的实施方式,在该第一图像样本的原始尺寸与该第一网络规定的尺寸不匹配的情况下,可对该第一图像样本进行缩放处理,以使该第一图像样本的尺寸与该第一网络规定的尺寸匹配,即第一网络可以用于处理调整尺寸后的第一图像样本。并且,在得到第二图像样本后,对该第二图像样本的尺寸进行恢复处理,以将该第二图像样本的尺寸恢复至与该第一图像样本的原始尺寸相同。这样可以在确保第一网络能够将第一图像样本
转换为第二图像样本的情况下,确保第二图像样本在视觉效果上,与第一图像样本相匹配。比如,图像的内容相同、尺寸相同等。
[0140]
103:对第二图像样本进行扰动处理,得到第三图像样本。
[0141]
其中,该扰动处理主要用于模拟造成图像信息丢失的场景。该扰动处理可以包括但不限于以下至少一种或是多种的组合:图像压缩处理、图像剪切处理、图像覆盖处理和图像中至少部分区域的替换处理。
[0142]
由于在训练阶段对第二图像样本进行了扰动处理,考虑到了图像在实际传输过程中会存在信息丢失的问题,从而提高了神经网络的抗干扰能力,使训练好的神经网络可以抵抗噪声的影响。因此,即使对编码有水印数据的图像进行了图像剪切、图像压缩或者替换等操作,仍然可以使用该神经网络成功地该图像中解码出水印数据,从而提高了神经网络的鲁棒性,解决了水印数据在传输过程中的失效问题。
[0143]
104:获取第二密钥数据,并将第三图像样本和第二密钥数据输入到第二网络,得到第二水印数据。
[0144]
在整个训练过程,该第二密钥数据可与该第一密钥数据可以相同,也可以不同。也就是说,在整个训练过程中会使用正样本和负样本对该神经网络进行训练,其中,该正样本中的第二密钥数据和第一密钥数据相同,负样本中的第二密钥数据和第一密钥数据不同;通过正样本对该神经网络进行训练,可以在使用正确的密钥数据进行解码的情况下,让该神经网络会出输出正确的水印数据;通过负样本对该神经网络进行训练,主要是让该神经网络具有分辨密钥数据是否正确的能力,以便在使用错误密钥数据进行解码的情况下,输出不同于实际水印数据的内容,即错误的水印数据。由于使用错误密钥进行解码的过程中,最终输出的水印数据也是经过神经网络得到的,通常神经网络会结合实际处理情况输出随机内容,而随机内容与真实的水印数据不同。
[0145]
示例性的,通过该第二网络对该第三图像样本进行特征提取,得到第四特征图;将该第四特征图与该第二密钥数据进行拼接,得到第五特征图。即将该第二密钥数据进行多次复制与组合,得到第四三维矩阵,其中,该第四三维矩阵中每层的维度与该第四特征图的维度相同;然后,将该第四三维矩阵与该第四特征图进行拼接,得到第五特征图;最后,通过该第二网络对该第五特征图进行特征提取,得到特征向量;根据该特征向量进行分类,得到该第二水印数据。
[0146]
同样,在该第三图像样本的尺寸与该第二神经网络规定的尺寸不匹配的情况下,在将该第三图像样本输入到第二神经网络之前,先对该第三图像样本的尺寸进行缩放处理,以使该第三图像样本的尺寸与该第二神经网络所规定的尺寸匹配。
[0147]
105:根据第一图像样本、第二图像样本、第一水印数据、第二水印数据、第一密钥数据以及第二密钥数据调整神经网络的网络参数。
[0148]
根据该第一图像样本和第二图像样本确定第一损失。即确定该第一图像样本和第二图像样本之间的差异,根据该差异确定该第一损失。示例性的,获取该第一图像样本的特征向量以及第二图像样本的特征向量,将该第一图像样本的特征向量以及第二图像样本的特征向量之间的距离作为该第一损失。
[0149]
然后,对该第一图像样本和第二图像样本进行图像鉴别,得到第二损失,该图像鉴别用于确定图像样本为包括有水印数据的图像的概率。因此,分别将该第一图像样本和第
二图像样本输入到鉴别器,确定该第一图像样本和第二图像样本为包括有水印数据的图像的概率,根据该第一图像样本和第二图像样本为包括水印数据的图像的概率确定该第二损失。其中,该第二损失可以通过公式(1)表示:
[0150]
l
d
=log(softmax(f1;w)) (1-log(softmax(f2;w)))
ꢀꢀꢀ
(1);
[0151]
其中,l
d
为第二损失,f1为第一图像样本的特征向量,f2为第二图像样本的特征向量,w为该鉴别器的分类权重,softmax为分类操作。
[0152]
从本质上来说,相当于对该第一网络连接一个鉴别器,从而与该第一网络组成对抗式训练网络,从该鉴别器是否能分辨出编码图像的维度向第一网络反馈第一图像样本和第二图像样本之间的差异,以提高第一网络的编码性能。可以理解,在该鉴别器确定第一图像样本为包括水印数据的图像的概率为0.5,该第二图像样本为包括水印数据的图像的概率也为0.5,则说明鉴别器难以区分哪个是原始图像,哪个是编码图像,即第一网络编码出的编码图像与原始图像之间几乎没有差异,也就是说,该第一网络的性能趋近于最佳状态。需要说明的是,上述两个概率取值为0.5仅为一种示例,并不作为对本技术的限定。在实际应用中,上述两个概率的取值可基于实际情况进行调整,通常可以再0.5上下一定范围内波动,且波动范围较小,可忽略不计。
[0153]
此外,在实际应用中,为降低承载神经网络运行的设备的压力,减少资源消耗,可以不用对该第一网络连接该鉴别器,仅通过比较该第一图像样本和第二图像之前的差异,即可完成对该神经网络的训练。也就是说,对该神经网络进行训练的过程中,可以不使用该第二损失。本技术中以对该第一网络连接有鉴别器为例进行说明。
[0154]
此外,还根据该第一水印数据、第二水印数据、第一密钥数据以及第二密钥数据确定第三损失。
[0155]
具体地,在该第一密钥数据和第二密钥数据相同的情况下,确定该第一水印数据和第二水印数据之间的第一距离,得到该第三损失。即将第一水印数据和第二水印数据作为两个特征向量,将两个特征向量之间的第一距离作为该第三损失;在该第一密钥数据和第二密钥数据不同的情况下,确定该第一密钥数据和该第二密钥数据之间的第二距离,以及该第一水印数据与该第二水印数据之间的第三距离,并根据该第二距离和第三距离确定该第三损失。在此情况下,该第损失可以通过公式(2)表示:
[0156]
l
min
=min(dist(dist(key1,key2),dist(msg1,msg2)))
ꢀꢀꢀ
(2);
[0157]
其中,l
min
为第三损失,key1为第一密钥数据,key2为第二密钥数据,msg1为第一水印数据,msg2为第二水印数据,dist为求距离操作,min为最小化操作。
[0158]
具体来说,设计公式(2)对应的损失函数,主要是想在第一密钥数据和第二密钥数据相不同的情况下,即使用错误的密钥数据进行解码,使dist(key1,key2)与dist(msg1,msg2)相同,也就保证编码和解码过程所使用的密钥数据之间的差异,与水印数据之间的差异相同。也就是说,若第二密钥数据与第一密钥数据相比,错了n位数据,则第二水印数据与第一水印数据相比,也错n位数据,n为大于等于1的整数,从而在训练过程中,使该神经网络更容易收敛。
[0159]
最后,根据该第一损失、第二损失以及第三损失,调整该神经网络的网络参数。即对该第一损失、第二损失以及第三损失进行加权处理,得到目标损失,根据该目标损失调整该神经网络的网络参数。
[0160]
其中,该目标损失通过公式(3表示):
[0161]
l
g
=α*l
z
β*l
d
γ*l
min
ꢀꢀꢀ
(3);
[0162]
其中,该α、β、γ为预设的权重系数,l
z
为第一损失,其中,α、β、γ均大于等于0,且α β γ=1。
[0163]
可以看出,在本技术实施例中,在对神经网络训练的过程中加入了第一密钥数据,从而在使用该神经网络为图像添加水印数据的过程中,可以使用该第一密钥数据进行加密,在未使用正确的密钥数据的情况下,即使该神经网络泄露,使用该第二网络也无法从图像中解码出水印数据,而是输出随机内容,从而保证水印数据传输过程中的安全性,降低了篡改水印数据的风险。
[0164]
在一些可能的实施方式中,在神经网络模型泄露的情况下,可以使用第二网络解码出随机内容,为了防止出现对该随机内容进行多次尝试,而得到该正确的水印数据(第一水印数据)的情况,在获取该第一水印数据之后,可对该第一水印数据进行哈希变换,从而保证即使正确解码,得到的水印数据也不是真正的第一水印数据。因此,在输出随机内容的情况下,即使通过多次尝试成功解出水印数据,但是由于不知道哈希变换所使用的参数,仍然无法知晓原始的水印内容,进一步保证水印数据传输过程中的安全性。
[0165]
在一些可能的实施方式中,在对该第一密钥数据和/或第一水印数据进行拼接之前,可将该第一密钥数据和/或第一水印数据进行线性变换处理。示例性的,可通过该神经网络中的全连接层对该第一密钥数据和/或第一水印数据进行线性变换处理,从而将该第一密钥数据和/或第一水印数据变换到特定维度,即相当于对该第一密钥数据和/或第一水印数据进行了压缩处理,从而后续在对第二图像样本进行扰动处理(比如,图像压缩)的情况下,该第一密钥数据和/或第一水印数据的维度与第三图像样本的维度匹配,进而提高图像解码成功率,提高该神经网络解码的鲁棒性。
[0166]
下面结合该神经网络的网络层详细说明对该神经网络的训练过程。
[0167]
参阅图4,图4为本技术实施例提供的一种第一神经网络的示意图。
[0168]
如图4所示,该第一网络包括多个卷积层、多个反卷积层、多个池化层以及多个通道(图4仅示出了部分卷积层、反卷积层、池化层以及一个通道);
[0169]
通过该多个卷积层和多个池化层,对第一图像样本进行特征提取,得到第一特征图;然后,将第一特征图、第一水印数据以及第一密钥数据进行拼接,得到第二特征图。图4仅示出了在同一网络层将第一密钥数据和第一水印数据分别与第一特征图进行拼接的过程;
[0170]
最后,通过该多个反卷积层和多个池化层对该第二特征图进行反卷积处理,得到第二图像样本;根据该第二图像样本和该第一图像样本得到第一损失。
[0171]
此外,在该第一网络后连接一个鉴别器,对该第一图像样本和第二图像样本进行图像鉴别,得到第二损失。
[0172]
另外,在反卷积处理的过程中,可以将反卷积处理得到的三维矩阵与进行特征提取过程得到的维度相同的三维矩阵进行拼接(concat),使下一个反卷积层的输入数据包含该第一图像样本中更多的细节信息,从而使输出的第二图像样本与该第一图像样本之间的差异更小,提高第一网络的编码精度。如图4所示,将最后一次卷积得到的三维矩阵(特征图)与第一次反卷积处理得到的三维矩阵进行拼接,得到一个三维矩阵,将这个三维矩阵作
为下一次反卷积处理的输入数据。
[0173]
参阅图5,图5为本技术实施例提供的一种第二神经网络的示意图。
[0174]
如图5所示,第二网络包括多个卷积层、多个池化层以及全连接层(图5仅示出了部分卷积层和部分池化层),通过该多个卷积层、多个池化层以及全连接层对第三图像样本进行特征提取,得到第四特征图;然后,将该第四特征图与该第二密钥数据进行拼接,得到第五特征图;根据该第五特征图进行特征提取,通过全连接层后得到特征向量,根据该特征向量进行分类,得到第二水印数据。并根据该第一密钥数据、第二密钥数据、第一水印数据以及第二水印数据确定第三损失。
[0175]
最后,对该第一损失、第二损失、第三损失进行加权处理,得到目标损失,并通过该目标损失调整该神经网络的网络参数。
[0176]
下面结合实际的例子说明本技术对神经网络的训练过程。参阅图6,图6为本技术实施例提供的另一种神经网络训练过程的示意图。
[0177]
如图6所示,将原图、水印(sssstttt)以及密钥(123456789)输入到第一网络,对原图进行编码,得到水印图片;然后,对该水印图片进行扰动处理,得到扰动后的水印图片,如图6所示,对部分区域进行覆盖处理;最后,将密钥和扰动后的水印图片输入到第二网络,对扰动后的水印图片进行解码,得到解码水印,实际训练过程中,输入到第二网络的密钥和输入到一网络的密钥可以不同。根据该原图、水印图片、水印、密钥以及解码水印调整该神经网络的网络参数值,完成该神经网络的训练。
[0178]
参阅图7,图7为本技术实施例提供的一种图像编码方法的流程示意图。该方法应用于图像编码装置。该方法包括但不限于以下步骤:
[0179]
701:获取原始图像、第一密钥数据以及第三水印数据。
[0180]
702:将原始图像、第一密钥数据以及第三水印数据输入到第一网络,得到编码图像。
[0181]
其中,该第一网络是通过上述的神经网络训练方法进行训练得到。
[0182]
对原始图像进行编码的过程与上述对第一图像样本进行编码的过程类似,不再叙述。
[0183]
当然,在该原始图像的尺寸与该第一网络的尺寸不匹配的情况下,也需要对该原始图像的尺寸进行缩放处理,并在得到编码图像后,对该编码图像进行恢复处理,以使该编码图像的尺寸与该原始图像的尺寸相同。
[0184]
可以看出,在本技术实施例中,通过第一网络以及第一密钥数据,对原始图像添加第三水印数据,得到编码图像;即使该第一网络泄露,由于没有第一密钥数据,也就无法从该编码图像解码出第三水印数据或者更改该第三水印数据,从而保证了水印数据传输过程中的安全性。
[0185]
参阅图8,图8为本技术实施例提供的一种图像解码方法的流程示意图。该方法应用图图像解码装置。该方法包括但不限于以下步骤:
[0186]
801:获取编码图像以及第一密钥数据。
[0187]
802:将编码图像和第一密钥数据输入到第二网络,得到第四水印数据。
[0188]
其中,该第二网络通过上述的神经网络训练进行训练得到。
[0189]
其中,对该编码图像进行解码的过程与上述对第三图像样本进行解码的过程类
似,不再叙述。
[0190]
在该第一密钥数据就是编码时使用到的第一密钥数据的情况下,则该第三水印数据和第四水印数据相同,即从该编码图像中成功解码出水印数据。
[0191]
当然,该编码图像的尺寸与该第二网络的尺寸不匹配的情况下,对该编码图像进行缩放处理,以使缩放后的编码图像的尺寸与该第二网络的尺寸匹配。
[0192]
可以看出,在本技术实施例中,通过第二网络以及第一密钥数据,对编码图像进行解码;即使该第二网络泄露,由于没有第一密钥数据,即使使用该第二网络无法从该编码图像解码出第三水印数据或者更改该第三水印数据,从而保证了水印数据传输过程中的安全性。
[0193]
在向原始图像中编码水印数据的过程中,使用第一密钥数据对编码过程进行加密,从而使编码图像中编码的水印数据不容易被篡改,解决了目前存在的一些安全性问题。下面结合实际的例子说明本技术的应用场景。
[0194]
在一些可能的实施方式中,在该原始图像为价值含量较高的图像的情况下,例如,画作、著作、摄影作品,等等;可通过该第一网络为该原始图像添加第三水印数据,得到编码图像;然后,将该编码图像发布出去,而他人难以对该编码图像中的第三水印数据进行修改或替换,从而别人无法盗用该编码图像,进而保护了该原始图像拥有者的权益。
[0195]
在一些可能的实施方式中,在该原始图像为票据图像的情况下,为了防止票据作假,可在每次开具第一票据图像的情况下,使用该第一网络以及第一密钥数据对第一票据图像进行编码,添加第三水印数据,得到编码图像。在核对第二票据图像的情况下,则可使用该第一密钥数据以及第二网络,对第二票据图像进行解码,得到第四水印数据,在该第四水印数据和第三水印数据不一致的情况下,则确定票据造假,即该第二票据为虚假票据。
[0196]
现有通过添加数字水印防止票据造假的方式,在该第一网络和票据图像中添加的水印数据泄露的情况下,则可通过该第一网络造假出票据图像。而本技术中核对人员可使用正确的密钥数据对造假出的第二票据图像进行解码,无法成功解码出正确的水印数据,从而确定该第二票据图像为造假的票据,所以,即使第一网络和水印数据泄露,仍然能确定出票据造假行为,进一步提高对票据图像的核对精确度。
[0197]
在一些可能的实施方式中,在该原始图像为包含隐私信息的情况下,例如,证件图像、保单图像、学历证或者扫描件,以证件图像为例进行说明。为了防止证件造假,可在每次颁发第一证件图像的情况下,使用该第一网络以及第一密钥数据对该第一证件图像进行编码,添加第三水印数据,得到编码图像;在对第二证件图像进行核对的情况下,使用该第二网络以及第一密钥数据对第二证件图像进行解码,得到第四水印数据;在该第四水印数据与第三水印数据不一致的情况下,则确定证件造假,即该第二证件为虚假证件。
[0198]
现有通过添加数字水印防止证件造假的方式,在该第一网络以和证件图像中添加的水印数据泄露的情况下,则可通过该第一网络造假出证件图像。而本技术中使用正确的密钥数据对造假出的第二证件图像进行解码,无法成功解码出正确的水印数据,从而确定该第二证件图像为造假的证件。所以,即使第一网络和水印数据泄露,仍然能确定出证件造假行为,进一步提高对证件图像的核对精确度。
[0199]
在一些可能的实施方式中,在该神经网络以及水印数据泄露的情况下,可能会存在一些栽赃行为,即某些非法公司发布了一些非法图片,并栽赃该非法图片是通过该神经
网络编码得到的,并演示通过该神经网络可从该非法图片中提取出该水印数据,也就是栽赃该非法图片是由本公司发布的。但是,通过本公司进行图像编码过程中所使用的密钥数据,发现并不能从该非法图片中提取出正确的水印数据,从而可以判断该非法图片并不是通过该第一密钥进行编码得到,也就是说该非法图片并不是本公司发布,排除栽赃事件的发生。
[0200]
参阅图9,图9为本技术实施例提供的一种神经网络训练装置的结构示意图。其中,神经网络训练装置900用于训练神经网络,该神经网络包括第一网络和第二网络。如图9所示,神经网络训练装置包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
[0201]
获取第一水印数据、第一密钥数据和第一图像样本;
[0202]
将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本;
[0203]
对所述第二图像样本进行扰动处理,得到第三图像样本;
[0204]
获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据;
[0205]
根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数。
[0206]
在一些可能的实施方式中,在根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数方面,上述程序具体用于执行以下步骤的指令:
[0207]
根据所述第一图像样本和所述第二图像样本确定第一损失;
[0208]
对所述第一图像样本和所述第二图像样本进行图像鉴别,得到第二损失,所述图像鉴别用于确定图像样本为包括水印数据的图像的概率;
[0209]
根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第三损失;
[0210]
根据所述第一损失、所述第二损失和所述第三损失调整所述神经网络的网络参数。
[0211]
在一些可能的实施方式中,在根据所述第一水印数据、所述第二水印数据、所述第一二密钥数据以及所述第二密钥数据确定第三损失方面,上述程序具体用于执行以下步骤的指令:
[0212]
在所述第一密钥数据和所述第二密钥数据相同的情况下,确定所述第一水印数据与所述第二水印数据之间的第一距离,并将所述第一距离确定为所述第三损失;
[0213]
或是,在所述第一密钥数据和所述第二密钥数据不同的情况下,确定所述第一密钥数据与所述第二密钥数据之间的第二距离,以及所述第一水印数据与所述第二水印数据之间的第三距离,并根据所述第二距离和所述第三距离确定所述第三损失。
[0214]
在一些可能的实施方式中,在将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本方面,上述程序具体用于执行以下步骤的指令:
[0215]
通过所述第一网络对所述第一图像样本进行特征提取,得到第一特征图;
[0216]
将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图;
[0217]
根据所述第二特征图,得到所述第二图像样本。
[0218]
在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,上述程序具体用于执行以下步骤的指令:
[0219]
分别对所述第一水印数据和所述第一密钥数据进行多次复制与组合,得到与所述第一水印数据对应的第一三维矩阵,以及与所述第一密钥数据对应的第二三维矩阵;其中,所述第一三维矩阵以及所述第二三维矩阵中每层的维度与所述第一特征图的维度相同;
[0220]
根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图。
[0221]
在一些可能的实施方式中,在根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图方面,上述程序具体用于执行以下步骤的指令:
[0222]
将所述第一三维矩阵和所述第二三维矩阵中的一个三维矩阵,与所述第一特征图进行拼接,得到第三特征图;
[0223]
将所述第一三维矩阵和所述第二三维矩阵中的另一个三维矩阵,与所述第三特征图进行拼接,得到所述第二特征图。
[0224]
在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,上述程序具体用于执行以下步骤的指令:
[0225]
合并所述第一水印数据和所述第一密钥数据,并对合并后数据进行多次复制与组合,得到与所述合并后数据对应的第三三维矩阵;其中,所述第三三维矩阵中每层的维度与所述第一特征图的维度相同;
[0226]
将所述第三三维矩阵与所述第一特征图进行拼接,得到所述第二特征图。
[0227]
在一些可能的实施方式中,在获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据方面,上述程序具体用于执行以下步骤的指令:
[0228]
通过所述第二网络对所述第三图像样本进行特征提取,得到第四特征图;
[0229]
将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图;
[0230]
根据所述第五特征图,得到所述第二水印数据。
[0231]
在一些可能的实施方式中,在将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图方面,上述程序具体用于执行以下步骤的指令:
[0232]
对所述第二密钥数据进行多次复制与组合,得到第四三维矩阵,其中,所述第四三维矩阵中每层的维度与所述第四特征图的维度相同;
[0233]
将所述第四三维矩阵与所述第四特征图进行拼接,得到所述第五特征图。
[0234]
在一些可能的实施方式中,在所述获取第一水印数据、第一密钥数据和第一图像样本之前,上述程序还用于执行以下步骤的指令:
[0235]
获取第一水印内容,并对所述第一水印内容进行编码,得到所述第一水印数据;
[0236]
和/或,获取第一密钥,并对所述第一密钥进行编码,得到所述第一密钥数据。
[0237]
在一些可能的实施方式中,所述扰动处理包括以下至少一种:图像压缩处理、图像
剪切处理、图像覆盖处理和图像中至少部分区域的替换处理。
[0238]
参阅图10,图10为本技术实施例提供的一种图像编码装置的结构示意图。如图10所示,图像编码装置包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
[0239]
获取原始图像、第一密钥数据以及第三水印数据;
[0240]
将所述原始图像、所述第一密钥数据以及所述第三水印数据输入到第一网络,得到编码图像;
[0241]
其中,所述第一网络是通过上述任一实施例所述的神经网络训练方法训练得到。
[0242]
参阅图11,图11为本技术实施例提供的一种图像解码装置的结构示意图。如图11所示,图像解码装置包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
[0243]
获取编码图像以及第一密钥数据;
[0244]
将所述编码图像和所述第一密钥数据输入到所述第二网络,得到第四水印数据;
[0245]
其中,所述第二网络是通过上述任一实施例所述的神经网络训练方法训练得到。
[0246]
参阅图12,图12为本技术实施例提供的一种神经网络训练装置的功能单元组成框图。神经网络训练装置1200包括:获取单元1201、编码单元1202、扰动单元1203、解码单元1204、调整单元1205,其中:
[0247]
获取单元1201,用于获取第一水印数据、第一密钥数据和第一图像样本;
[0248]
编码单元1202,用于将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本;
[0249]
扰动单元1203,用于对所述第二图像样本进行扰动处理,得到第三图像样本;
[0250]
解码单元1204,用于获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据;
[0251]
调整单元1205,用于根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数。
[0252]
在一些可能的实施方式中,在根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数方面,调整单元1205,具体用于:
[0253]
根据所述第一图像样本和所述第二图像样本确定第一损失;
[0254]
对所述第一图像样本和所述第二图像样本进行图像鉴别,得到第二损失,所述图像鉴别用于确定图像样本为包括水印数据的图像的概率;
[0255]
根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第三损失;
[0256]
根据所述第一损失、所述第二损失和所述第三损失调整所述神经网络的网络参数。
[0257]
在一些可能的实施方式中,在根据所述第一水印数据、所述第二水印数据、所述第
一二密钥数据以及所述第二密钥数据确定第三损失方面,调整单元1205,具体用于:
[0258]
在所述第一密钥数据和所述第二密钥数据相同的情况下,确定所述第一水印数据与所述第二水印数据之间的第一距离,并将所述第一距离确定为所述第三损失;
[0259]
或是,在所述第一密钥数据和所述第二密钥数据不同的情况下,确定所述第一密钥数据与所述第二密钥数据之间的第二距离,以及所述第一水印数据与所述第二水印数据之间的第三距离,并根据所述第二距离和所述第三距离确定所述第三损失。
[0260]
在一些可能的实施方式中,在将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本方面,编码单元1202,具体用于:
[0261]
通过所述第一网络对所述第一图像样本进行特征提取,得到第一特征图;
[0262]
将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图;
[0263]
根据所述第二特征图,得到所述第二图像样本。
[0264]
在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,编码单元1202,具体用于:
[0265]
分别对所述第一水印数据和所述第一密钥数据进行多次复制与组合,得到与所述第一水印数据对应的第一三维矩阵,以及与所述第一密钥数据对应的第二三维矩阵;其中,所述第一三维矩阵以及所述第二三维矩阵中每层的维度与所述第一特征图的维度相同;
[0266]
根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图。
[0267]
在一些可能的实施方式中,在根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图方面,编码单元1202,具体用于:
[0268]
将所述第一三维矩阵和所述第二三维矩阵中的一个三维矩阵,与所述第一特征图进行拼接,得到第三特征图;
[0269]
将所述第一三维矩阵和所述第二三维矩阵中的另一个三维矩阵,与所述第三特征图进行拼接,得到所述第二特征图。
[0270]
在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,编码单元1202,具体用于:
[0271]
合并所述第一水印数据和所述第一密钥数据,并对合并后数据进行多次复制与组合,得到与所述合并后数据对应的第三三维矩阵;其中,所述第三三维矩阵中每层的维度与所述第一特征图的维度相同;
[0272]
将所述第三三维矩阵与所述第一特征图进行拼接,得到所述第二特征图。
[0273]
在一些可能的实施方式中,在获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据方面,解码单元1204,具体用于:
[0274]
通过所述第二网络对所述第三图像样本进行特征提取,得到第四特征图;
[0275]
将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图;
[0276]
根据所述第五特征图,得到所述第二水印数据。
[0277]
在一些可能的实施方式中,在将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图方面,解码单元1204,具体用于:
[0278]
对所述第二密钥数据进行多次复制与组合,得到第四三维矩阵,其中,所述第四三维矩阵中每层的维度与所述第四特征图的维度相同;
[0279]
将所述第四三维矩阵与所述第四特征图进行拼接,得到所述第五特征图。
[0280]
在一些可能的实施方式中,在所述获取单元获取第一水印数据、第一密钥数据和第一图像样本之前,获取单元1201,还用于获取第一水印内容,并对所述第一水印内容进行编码,得到所述第一水印数据;和/或,获取第一密钥,并对所述第一密钥进行编码,得到所述第一密钥数据。
[0281]
在一些可能的实施方式中,所述扰动处理包括以下至少一种:图像压缩处理、图像剪切处理、图像覆盖处理和图像中至少部分区域的替换处理。
[0282]
参阅图13,图13为本技术实施例提供的一种图像编码装置的功能单元组成框图。图像编码装置1300包括:获取单元1301、编码单元1302,其中:
[0283]
获取单元1301,用于获取原始图像、第一密钥数据以及第三水印数据;
[0284]
编码单元1302,用于将所述原始图像、所述第一密钥数据以及所述第三水印数据输入到第一网络,得到编码图像;
[0285]
其中,所述第一网络是通过上述任一实施例所述的神经网络训练方法训练得到。
[0286]
参阅图14,图14为本技术实施例提供的一种图像解码装置的功能单元组成框图。图像解码装置1400包括:获取单元1401、解码单元1402,其中:
[0287]
获取单元1401,用于获取编码图像以及第一密钥数据;
[0288]
解码单元1402,用于将所述编码图像和所述第一密钥数据输入到所述第二网络,得到第四水印数据;
[0289]
其中,所述第二网络是通过上述任一实施例所述的神经网络训练方法训练得到。
[0290]
本技术实施例还提供一种计算机存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如上述方法实施例中记载的任何一种神经网络训练方法的部分或全部步骤;或者,图像编码方法的部分或全部步骤;或者,图像解码方法的部分或全部步骤。
[0291]
本技术实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种一种神经网络训练方法的部分或全部步骤;或者,图像编码方法的部分或全部步骤;或者,图像解码方法的部分或全部步骤。
[0292]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0293]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0294]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可
以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0295]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0296]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
[0297]
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0298]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-only memory,简称:rom)、随机存取器(英文:random access memory,简称:ram)、磁盘或光盘等。
[0299]
以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献