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

图像溯源方法、装置及介质与流程

2022-02-24 18:48:14 来源:中国专利 TAG:


1.本技术涉及图像技术领域,具体涉及一种图像溯源方法、装置及介质。


背景技术:

2.鲁棒数字水印(robust digital watermark)是一种基于内容的计算机信息隐藏技术,将一些标识信息(水印信息),嵌入到数字图像当中,且不影响原图像的使用价值,也不容易被探知和再次修改,但可以被生产方识别和辨认。通过在数字图像中隐藏标识信息,可以达到确认内容创建者、购买者等目的。
3.由于鲁棒数字水印的安全性高,且不影响原图像的使用价值,所以,在原图像中添加数字水印是防止图像侵权、图像泄密的有效手段。比如,原图作者为了保护自己的图像隐私,通常在将原图像授予他人前会对原图像添加水印数据,得到编码图像,然后将编码图像授予他人使用。虽然编码图像中添加有水印数据,但是还是会有人把编码图像泄露出来,但是由于作者可能将编码图像授予了多人使用,导致作者并不知道是谁将编码图像泄露出去,进而对图像溯源比较困难。


技术实现要素:

4.本技术实施例提供了一种图像溯源方法、装置及介质。在图像泄露的情况下,通过标识数据确定出泄露者,对图像实现精准溯源。
5.第一方面,本技术实施例提供一种图像溯源方法,所述方法包括:
6.获取待溯源图像以及与所述待溯源图像对应的指定密钥数据;
7.根据所述指定密钥数据,从所述待溯源图像中获得标识水印数据;
8.根据所述标识水印数据,确定与所述标识水印数据对应的目标对象,并将所述目标对象确定为所述待溯源图像所属对象。
9.在一些可能的实施方式中,所述根据所述指定密钥数据,从所述待溯源图像中获得标识水印数据,包括:
10.将所述指定密钥数据以及所述待溯源图像输入完成训练的神经网络,以获得所述标识水印数据。
11.在一些可能的实施方式中,所述神经网络包括第一网络和第二网络,所述神经网络的训练过程,包括:
12.获取第一水印数据、第一密钥数据和第一图像样本;
13.将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本;
14.对所述第二图像样本进行扰动处理,得到第三图像样本;
15.获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据;
16.根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数
据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数。
17.在一些可能的实施方式中,所述第一密钥数据与所述第二密钥数据的数据长度相同,且所述第一水印数据的数据长度分别为所述第一密钥数据以及所述第二密钥数据的数据长度的n倍,所述n为大于或等于1的整数。
18.在一些可能的实施方式中,所述根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数,包括:
19.根据所述第一图像样本和所述第二图像样本确定目标损失,所述目标损失包括第一损失、第二损失和第三损失中的一个或多个;
20.根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失;
21.根据所述目标损失和所述第四损失调整所述神经网络的网络参数。
22.在一些可能的实施方式中,所述根据所述第一图像样本和所述第二图像样本确定目标损失,包括如下至少一项:
23.确定所述第一图像样本和所述第二图像样本在第一颜色空间的第一距离,并将所述第一距离作为所述第一损失;
24.确定所述第一图像样本和所述第二图像样本在第二颜色空间的多层级结构相似性,并将所述多层级结构相似性作为所述第二损失;
25.确定所述第一图像样本和所述第二图像样本在第三颜色空间的第二距离,并将所述第二距离作为所述第三损失。
26.在一些可能的实施方式中,所述第一颜色空间、所述第二颜色空间和所述第三颜色空间均包括以下中的一项:rgb颜色空间、cmy颜色空间、hsv颜色空间、lab颜色空间、yuv颜色空间。
27.在一些可能的实施方式中,所述根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失,包括:
28.根据所述第一密钥数据和所述第二密钥数据,确定第一比值;
29.根据所述第一比值和所述第一水印数据,得到第三水印数据;
30.根据所述第三水印数据和所述第二水印数据,确定所述第四损失。
31.在一些可能的实施方式中,所述根据所述第一密钥数据和所述第二密钥数据,确定第一比值,包括:
32.从所述第二密钥数据中,获取与所述第一密钥数据相比,位置对应,但取值不同的目标密钥数据;
33.将所述目标密钥数据的数据长度与所述第一密钥数据的数据长度之间的比值,确定为所述第一比值。
34.在一些可能的实施方式中,所述根据所述第一比值和所述第一水印数据,得到第三水印数据,包括:
35.从所述第一水印数据中,获取与所述第一水印数据相比,位置对应,但取值不同的目标水印数据,其中,所述目标水印数据的数据长度与所述第一水印数据的数据长度的比值为所述第一比值。
36.在一些可能的实施方式中,所述根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失,包括:
37.对所述第一密钥数据和所述第二密钥数据进行异或处理,得到第三密钥数据;
38.将所述第三密钥数据进行n次复制与组合,得到第四密钥数据;
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.获取原始图像、第三密钥数据以及第三水印数据,其中,所述第三水印数据的数据长度为所述第三密钥数据的数据长度的n倍,其中,所述n为大于等于1的整数;
69.将所述原始图像、所述第三密钥数据以及所述第三水印数据输入到第一网络,得到编码图像;
70.其中,所述第一网络是通过第一方面任意实施例所述的方法训练得到。
71.第三方面,本技术实施例提供一种图像解码方法,包括:
72.获取编码图像以及第三密钥数据;
73.将所述编码图像和所述第三密钥数据输入到所述第二网络,得到第四水印数据;
74.其中,所述第二网络是通过第一方面任意实施例所述的方法训练得到。
75.第四方面,本技术实施例提供一种图像溯源装置,所述神经网络包括第一网络和第二网络,包括:
76.获取单元,用于获取待溯源图像以及与所述待溯源图像对应的指定密钥数据;
77.处理单元,用于根据所述指定密钥数据,从所述待溯源图像中获得标识水印数据;
78.所述处理单元,还用于根据所述标识水印数据,确定与所述标识水印数据对应的目标对象,并将所述目标对象确定为所述待溯源图像所属对象。
79.在一些可能的实施方式中,在根据所述指定密钥数据,从所述待溯源图像中获得标识水印数据方面,所述处理单元,具体用于:将所述指定密钥数据以及所述待溯源图像输入完成训练的神经网络,以获得所述标识水印数据。
80.在一些可能的实施方式中,所述神经网络包括第一网络和第二网络,在训练所述神经网络的过程中,所述处理单元,用于:
81.获取第一水印数据、第一密钥数据和第一图像样本;
82.将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本;
83.对所述第二图像样本进行扰动处理,得到第三图像样本;
84.获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二
网络,得到第二水印数据;
85.根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数。
86.在一些可能的实施方式中,所述第一密钥数据与所述第二密钥数据的数据长度相同,且所述第一水印数据的数据长度分别为所述第一密钥数据以及所述第二密钥数据的数据长度的n倍,所述n为大于或等于1的整数。
87.在一些可能的实施方式中,在根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数方面,所述处理单元,具体用于:
88.根据所述第一图像样本和所述第二图像样本确定目标损失,所述目标损失包括第一损失、第二损失和第三损失中的一个或多个;
89.根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失;
90.根据所述目标损失和所述第四损失调整所述神经网络的网络参数。
91.在一些可能的实施方式中,在根据所述第一图像样本和所述第二图像样本确定目标损失方面,所述处理单元,具体用于执行至少一项:
92.确定所述第一图像样本和所述第二图像样本在第一颜色空间的第一距离,并将所述第一距离作为所述第一损失;
93.确定所述第一图像样本和所述第二图像样本在第二颜色空间的多层级结构相似性,并将所述多层级结构相似性作为所述第二损失;
94.确定所述第一图像样本和所述第二图像样本在第三颜色空间的第二距离,并将所述第二距离作为所述第三损失。
95.在一些可能的实施方式中,所述第一颜色空间、所述第二颜色空间和所述第三颜色空间均包括以下中的一项:rgb颜色空间、cmy颜色空间、hsv颜色空间、lab颜色空间、yuv颜色空间。
96.在一些可能的实施方式中,在根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失方面,所述处理单元,具体用于:
97.根据所述第一密钥数据和所述第二密钥数据,确定第一比值;
98.根据所述第一比值和所述第一水印数据,得到第三水印数据;
99.根据所述第三水印数据和所述第二水印数据,确定所述第四损失。
100.在一些可能的实施方式中,在根据所述第一密钥数据和所述第二密钥数据,确定第一比值方面,所述处理单元,具体用于:
101.从所述第二密钥数据中,获取与所述第一密钥数据相比,位置对应,但取值不同的目标密钥数据;
102.将所述目标密钥数据的数据长度与所述第一密钥数据的数据长度之间的比值,确定为所述第一比值。
103.在一些可能的实施方式中,在根据所述第一比值和所述第一水印数据,得到第三水印数据方面,所述处理单元,具体用于:
104.从所述第一水印数据中,获取与所述第一水印数据相比,位置对应,但取值不同的
目标水印数据,其中,所述目标水印数据的数据长度与所述第一水印数据的数据长度的比值为所述第一比值。
105.在一些可能的实施方式中,在根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失方面,所述处理单元,具体用于:
106.对所述第一密钥数据和所述第二密钥数据进行异或处理,得到第三密钥数据;
107.将所述第三密钥数据进行n次复制与组合,得到第四密钥数据;
108.将所述第四密钥数据与所述第一水印数据进行异或处理,得到第三水印数据;
109.根据所述第三水印数据和所述第二水印数据,确定所述第四损失。
110.在一些可能的实施方式中,在将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本方面,所述处理单元,具体用于:
111.通过所述第一网络对所述第一图像样本进行特征提取,得到第一特征图;
112.将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图;
113.根据所述第二特征图,得到所述第二图像样本。
114.在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,所述处理单元,具体用于:
115.分别对所述第一水印数据和所述第一密钥数据进行多次复制与组合,得到与所述第一水印数据对应的第一三维矩阵,以及与所述第一密钥数据对应的第二三维矩阵;其中,所述第一三维矩阵以及所述第二三维矩阵中每层的维度与所述第一特征图的维度相同;
116.根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图。
117.在一些可能的实施方式中,在根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图方面,所述处理单元,具体用于:
118.将所述第一三维矩阵和所述第二三维矩阵中的一个三维矩阵,与所述第一特征图进行拼接,得到第三特征图;
119.将所述第一三维矩阵和所述第二三维矩阵中的另一个三维矩阵,与所述第三特征图进行拼接,得到所述第二特征图。
120.在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,所述处理单元,具体用于:
121.合并所述第一水印数据和所述第一密钥数据,并对合并后数据进行多次复制与组合,得到与所述合并后数据对应的第三三维矩阵;其中,所述第三三维矩阵中每层的维度与所述第一特征图的维度相同;
122.将所述第三三维矩阵与所述第一特征图进行拼接,得到所述第二特征图。
123.在一些可能的实施方式中,在获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据方面,所述处理单元,具体用于:
124.通过所述第二网络对所述第三图像样本进行特征提取,得到第四特征图;
125.将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图;
126.根据所述第五特征图,得到所述第二水印数据。
127.在一些可能的实施方式中,在将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图方面,所述处理单元,具体用于:
128.对所述第二密钥数据进行多次复制与组合,得到第四三维矩阵,其中,所述第四三维矩阵中每层的维度与所述第四特征图的维度相同;
129.将所述第四三维矩阵与所述第四特征图进行拼接,得到所述第五特征图。
130.在一些可能的实施方式中,在所述获取第一水印数据、第一密钥数据和第一图像样本之前,所述处理单元,还用于执行如下至少一项:
131.获取第一水印内容,并对所述第一水印内容进行编码,得到所述第一水印数据;
132.获取第一密钥,并对所述第一密钥进行编码,得到所述第一密钥数据。
133.在一些可能的实施方式中,所述扰动处理包括以下至少一种:图像压缩处理、图像剪切处理、图像覆盖处理、图像中至少部分区域的替换处理、添加预设噪声、图像旋转处理以及色彩变换处理;
134.其中,所述预设噪声包括以下至少一种高斯噪声、加性噪声、随机噪声以及椒盐噪声;
135.其中,所述色彩变换处理包括以下至少一种:对比度变换处理、亮度变换处理、饱和度变换处理以及色调变换处理。
136.第五方面,本技术实施例提供一种图像编码装置,包括:
137.获取单元,用于获取原始图像、第三密钥数据以及第三水印数据,其中,所述第三水印数据的数据长度为所述第三密钥数据的数据长度的n倍,其中,所述n为大于等于1的整数;
138.处理单元,用于将所述原始图像、所述第三密钥数据以及所述第三水印数据输入到第一网络,得到编码图像;
139.其中,所述第一网络是通过第一方面中任一实施方式所述的方法训练得到。
140.第六方面,本技术实施例提供一种图像解码装置,包括:
141.获取单元,用于获取编码图像以及第三密钥数据;
142.处理单元,用于将所述编码图像和所述第三密钥数据输入到所述第二网络,得到第四水印数据;
143.其中,所述第一网络是通过第一方面中任一实施方式所述的方法训练得到。
144.第七方面,本技术实施例提供一种图像溯源装置,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如第一方面所述的方法中的步骤的指令。
145.第八方面,本技术实施例提供一种图像编码装置,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如第二方面所述的方法中的步骤的指令。
146.第九方面,本技术实施例提供一种图像溯源装置,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如第三方面所述的方法中的步骤的指令。
147.第十方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序使得计算机执行如第一方面第二方面所述的方法或
第三方面所述的方法。
148.第十一方面,本技术实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机可操作来使计算机执行如第一至第三方面所述的方法中任意一项可能的实现方式。
149.实施本技术实施例,具有如下有益效果:
150.可以看出,在本技术实施例中,在图像信息泄露的情况下,可从待溯源图像中获得标识水印数据,然后根据该标识水印数据确定出对应的目标对象,并将该目标对象作为该待溯源图像所属对象,从而快速、准确的找到图像泄露者,实现图像溯源。此外,在图像溯源的过程中,使用密钥数据才可以从待溯源图像中获得标识水印数据,进而保证该标识水印数据在传播中的安全性,降低了篡改水印数据的风险。
附图说明
151.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
152.图1为本技术实施例提供的一种图像溯源方法的流程示意图;
153.图2为本技术实施例提供的一种神经网络训练方法的流程示意图;
154.图3为本技术实施例提供的一种对密钥数据和水印数据进行复制和组合的示意图;
155.图4为本技术实施例提供的一种将三维矩阵和特征图进行拼接的示意图;
156.图5为本技术实施例提供的一种第一网络的示意图;
157.图6为本技术实施例提供的一种第二网络的示意图;
158.图7为本技术实施例提供的另一种神经网络训练过程的示意图;
159.图8为本技术实施例提供的一种图像编码方法的流程示意图;
160.图9为本技术实施例提供的一种图像解码方法的流程示意图;
161.图10为本技术实施例提供的一种图像溯源装置的示意图;
162.图11为本技术实施例提供的一种图像编码装置的示意图;
163.图12为本技术实施例提供的一种图像解码装置的示意图;
164.图13为本技术实施例提供的另一种图像溯源装置的示意图;
165.图14为本技术实施例提供的另一种图像编码装置的示意图;
166.图15为本技术实施例提供的另一种图像解码装置的示意图。
具体实施方式
167.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
168.本技术的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第
四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
169.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结果或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
170.参阅图1,图1为本技术实施例提供的一种图像溯源方法的流程示意图。该方法应用于图像溯源装置。该方法包括但不限于以下步骤:
171.101:获取待溯源图像以及与所述待溯源图像对应的指定密钥数据。
172.其中,该待溯源图像是通过指定密钥数据以及该标识水印数据,对原始图像进行编码得到的。具体的,可将该原始图像、指定密钥数据以及该标识水印数据输入到完成训练的神经网络,对该原始图像进行编码,得到该待溯源图像。后面详细叙述该神经网络的训练过程,以及使用该神经网络对原始图像进行编码的过程,在此不做过多描述。
173.示例性的,该待溯源图像可以为泄露信息的图像。比如,图像所有方将编码后的保密图像发送给了授权用户使用,但是,不允许授权用户在市场上公开这个保密图像。如果市场上出现了该保密图像,这个保密图像就是泄露信息的图像,即本技术中的待溯源图像。
174.102:根据所述指定密钥数据,从所述待溯源图像中获得标识水印数据。
175.使用该指定密钥数据,从该待溯源图像解码出该标识水印数据。具体的,可将该指定密钥数据以及该待溯源图像输入到该完成训练的神经网络进行解码,得到该标识水印数据。同样,后面详细叙述使用该神经网络进行解码的过程,在此不做过多描述。
176.103:根据所述标识水印数据,确定与所述标识水印数据对应的目标对象,并将所述目标对象确定为所述待溯源图像所属对象。
177.示例性的,根据标识水印数据与目标对象之间的对应关系,确定该标识水印数据对应的目标对象,并将该目标对象作为该待溯源图像所属对象,进而确定出该待溯源图像的泄密者。
178.示例性的,图像所有方为了保证自己的保密图像被泄露的情况下,准确溯源,找到泄密者,则可以对不同的授权用户在原始图像中添加不同的水印数据,比如,可以将每个授权用户的姓名作为每个授权用户的标识水印数据。示例性的,图像所有方在将原始图像分别发送给授权用户a、授权用户b以及授权用户c之前,在发送给授权用户a、授权用户b以及授权用户c的原始图像中分别添加标识水印数据a

、标识水印数据b

以及标识水印数据c

。图像所有方发现市场上泄露有自己的保密图像(待溯源图像),则图像所有方可以使用自己的私人密钥以及该神经网络,对待溯源图像进行解码,得到标识水印数据,根据该标识水印数据与授权用户的对应的关系,即可确定出该待溯源图像的泄露者,实现图像溯源的目的。比如,图像所有方解码出的水印数据为标识水印数据a

,则确定该待溯源图像的泄露者为授权用户a


179.可以看出,在本技术实施例中,在图像信息泄露的情况下,可从待溯源图像中获得标识水印数据,然后根据该标识水印数据确定出对应的目标对象,并将该目标对象作为该
待溯源图像所属对象,从而快速、准确的找到图像泄露者,实现图像溯源。此外,在图像溯源的过程中,使用密钥数据才可以从待溯源图像中获得标识水印数据,进而保证该标识水印数据在传播中的安全性,降低了篡改水印数据的风险。
180.在一些可能的实施方式中,该神经网络包括第一网络和第二网络,其中,该第一网络用于对待编码图像进行编码,以向待编码图像中编码水印数据;该第二网络用于对已编码图像进行解码,以从已编码图像中解码出水印数据。
181.下面结合附图说明对该神经网络进行训练的过程。
182.参阅图2,图2为本技术实施例提供的一种神经网络训练方法的流程示意图。该方法包括但不限于以下步骤:
183.201:获取第一水印数据、第一密钥数据和第一图像样本。
184.其中,第一水印数据可以是水印内容,即将要添加至第一图像样本中的水印,或是对水印内容处理后得到的可直接添加至第一图像样本的内容,比如,是对水印内容进行编码得到的。即将水印内容编码为数字信息,即比特流,得到第一水印数据,例如,可以将水印内容对应的ascii码作为该第一水印数据。本技术中以第一水印数据为比特流为例进行说明。
185.水印内容可以为字符、字符串和图形中的一种或几种的组合,比如,可以是文字、数字等组合而成的内容。
186.其中,该第一密钥数据可以是第一密钥或者对第一密钥进行编码得到的数字信息,即比特流。该第一密钥也可以为字符、字符串和图形中的一种或几种的组合。例如,该第一密钥可以为数字和英文字母组合而成的内容。其中,该第一密钥数据可以通过随机函数生成。
187.因此,在获取第一水印数据、第一密钥数据和第一图像样本之前,可先获取第一水印内容,并对该第一水印内容进行编码,得到该第一水印数据;和/或,获取该第一密钥,并对该第一密钥进行编码,得到该第一密钥数据。
188.此外,该第一水印数据的数据长度为该第一密钥数据的数据长度的n倍,该n为大于等于1的整数,该数据长度即为数据所对应的比特位的个数。示例性的,第一水印数据为10001111,则该第一水印数据的数据长度为8。这样,将第一水印数据的数据长度设置为该第一密钥数据的数据长度的n倍,便于在后续训练过程中,模型更容易收敛。
189.在实际应用中,可将第一水印数据以及第一密钥数据的数据长度设置为固定长度,并保证该第一水印数据的数据长度为该第一密钥数据的数据长度的n倍。例如,可将第一水印数据的固定长度设置为160,将第一密钥数据的固定长度设置为20,则n为8。在第一水印数据或第一密钥数据的数据长度小于各自的固定长度的情况下,可对第一水印数据或第一密钥数据进行扩充,以使第一水印数据或第一密钥数据的数据长度达到各自的固定长度。比如,可通过对第一水印数据或第一密钥数据添加空格所对应的ascii码,来扩充第一水印数据或第一密钥数据的数据长度。
190.202:将第一水印数据、第一密钥数据以及第一图像样本输入到第一网络进行拼接,得到第二图像样本。
191.通过该第一网络对该第一图像样本进行特征提取,得到第一特征图;将该第一特征图、该第一水印数据以及该第一密钥数据进行拼接,得到第二特征图;根据该第二特征
图,得到该第二图像样本。示例性的,可通过该第一网络对该第二特征图进行上采样处理,得到该第二图像样本。
192.上采样处理包括反卷积处理和子像素卷积sub-pixel convolution处理。本技术中以上采样处理为反卷积处理为例,进行说明。
193.需要说明,在得到该第二特征图之后,需要将该第二特征图输入到下个网络层进行处理。在该下个网络层不是反卷积层的情况,则需要通过该第一网络对该第二特征图继续进行特征提取,直至得到该最终的第二特征图;然后,将该最终的第二特征图输入到反卷积层,进行反卷积处理,得到该编码图像。
194.示例性的,可将第一水印数据、第一密钥数据与该第一特征图进行单独拼接,且可以在同一个网络层进行单独拼接,也可以在不同的网络层进行单独拼接。另外,也可以先将该第一水印数据和第一密钥数据进行合并,然后,再与该第一特征图进行拼接。本技术对拼接方式不进行限定。
195.具体来说,由于该第一特征图是通过该第一网络的多个通道对该第一图像样本进行特征提取得到的。一般来说,通过每个通道的卷积核对该第一图像样本进行特征提取,得到一个子特征图,将多个通道的子特征图进行组合,得到该第一特征图。因此,该第一特征图本质上可以看做一个三维矩阵。而第一水印数据和第一密钥数据可以看做一个特征向量。
196.因此,在同一个网络层将第一水印数据和第一密钥数据与第一特征图进行单独拼接的情况下,分别对该第一水印数据和该第一密钥数据进行多次复制与组合,得到与该第一水印数据对应的第一三维矩阵以及与该第一密钥数据对应的第二三维矩阵。如图3所示,分别对该第一水印数据以及第一密钥数据进行多次复制与组合,得到第一三维矩阵和第二三维矩阵。因此,该第一三维矩阵中每层的维度与该第一特征图的维度相同,且每层的数据相同;该第二三维矩阵中每层的维度与该第一特征图的维度相同,且每层的数据相同。
197.进一步地,可将该第一三维矩阵、第二三维矩阵与该第一特征图进行拼接。可以先拼接该第一三维矩阵,也可以先拼接该第二三维矩阵,本技术对此不做限定。因此,将该第一三维矩阵和该第二三维矩阵中的一个三维矩阵与该第一特征图进行拼接,得到第三特征图;然后,将该第一三维矩阵和该第二三维矩阵中的另一个三维矩阵与该第三特征图进行拼接,得到该第二特征图。如图4所示,可先将该第一特征图与该第一三维矩阵进行拼接,得到该第三特征图;然后,再将该第二三维矩阵与该第三特征图进行拼接,得到该第二特征图。
198.在此说明,后续所涉及的对密钥数据和/或水印数据进行复制与组合的过程,可参阅图3所示的过程,不再详细叙述;另外,将三维矩阵与特征图进行拼接的过程,可参阅图3所示的过程,也不再详细叙述。
199.此外,还可在不同的网络层将第一水印数据、第一密钥数据与该第一特征图进行单独拼接,即在不同深度的网络层中先后插入第一水印数据和第一密钥数据,但不对该第一水印数据和第一密钥数据的插入顺序进行限定。本技术中以先插入第一水印数据,后插入第一密钥数据为例进行说明。
200.因此,可先将该第一水印数据进行多次复制与组合,得到该第一三维矩阵,则该第一三维矩阵中每层的维度与该第一特征图的维度相同,并将该第一三维矩阵与该第一特征
图进行拼接,得到第六特征图;进一步地,通过该第一网络对该第六特征图进行特征提取,得到第七特征图;然后,将该第一密钥数据进行多次复制与组合,得到第五三维矩阵,其中,该第五三维矩阵的维度与该第七特征图的维度相同,且每层的数据相同;最后,将该第五三维矩阵与该第七特征图进行拼接,得到该第二特征图。
201.此外,可以先将该第一水印数据和第一密钥数据进行合并。示例性的,可通过拼接的方式对该第一水印数据和第一密钥数据进行合并,例如,该第一水印数据为[01001],第一密钥数据为[10011],通过拼接得到合并后数据为[0100110011];然后,对该合并后数据进行多次复制与组合,得到与该合并后数据对应的第三三维矩阵,其中,该第三三维矩阵中每层的维度与该第一特征图的维度相同;最后,将该第三三维矩阵与该第一特征图进行拼接,得到该第二特征图。预先将第一水印数据与第一密钥数据进行合并,从而在与第一特征图拼接的过程中,只需执行一次拼接过程,进而提高对第一图像样本的编码效率。
[0202]
此外,该第一网络可以为残差网络,则在对第二特征图进行上采样处理的过程中,可以将当前次上采样处理得到的三维矩阵,与特征提取过程得到的维度相同的三维矩阵进行拼接,并将拼接得到的结果,作为下次上采样处理的输入数据,使下次上采样处理的输入数据中包含有该原始图像的更多细节信息,从而使最后输出的第二图像样本与该第一图像样本之间的差异更小,提高第一网络的编码精度。
[0203]
在一些可能的实施方式,在该第一图像样本的原始尺寸与该第一网络规定的尺寸不匹配的情况下,可对该第一图像样本进行缩放处理,以使该第一图像样本的尺寸与该第一网络规定的尺寸匹配,即第一网络可以用于处理调整尺寸后的第一图像样本。并且,在得到第二图像样本后,对该第二图像样本的尺寸进行恢复处理,以将该第二图像样本的尺寸恢复至与该第一图像样本的原始尺寸相同。这样可以在确保第一网络能够将第一图像样本转换为第二图像样本的情况下,确保第二图像样本在视觉效果上,与第一图像样本相匹配。比如,图像的内容相同、尺寸相同等。
[0204]
203:对第二图像样本进行扰动处理,得到第三图像样本。
[0205]
其中,该扰动处理主要用于模拟造成图像信息丢失的场景。该扰动处理包括以下至少一种:图像压缩处理、图像剪切处理、图像覆盖处理、图像中至少部分区域的替换处理、添加预设噪声、图像旋转处理以及色彩变换处理;其中,该预设噪声包括以下至少一种高斯噪声、加性噪声、随机噪声以及椒盐噪声;其中,该色彩变换处理包括以下至少一种:对比度变换处理、亮度变换处理、饱和度变换处理以及色调变换处理。
[0206]
由于在训练阶段对第二图像样本进行了扰动处理,考虑到了图像在实际传输过程中会存在信息丢失的问题,从而提高了神经网络的抗干扰能力,使训练好的神经网络可以抵抗噪声的影响,进而使该神经网络的鲁棒性较高。因此,即使对编码有水印数据的图像进行了图像剪切、图像压缩或者替换等操作,由于该神经网络的鲁棒性较高,仍然可以使用该神经网络成功地该图像中解码出水印数据,解决了水印数据在传输过程中的失效问题。
[0207]
204:获取第二密钥数据,并将第三图像样本和第二密钥数据输入到第二网络,得到第二水印数据。
[0208]
其中,该第二密钥数据和第一密钥数据的数据长度相同,且该第二密钥数据和第一密钥数据类似,也可以通过随机函数生成,不再详细叙述。因此,在整个训练过程,该第二密钥数据可与该第一密钥数据可以相同,也可以不同。也就是说,在整个训练过程中会使用
正样本和负样本对该神经网络进行训练,其中,该正样本中的第二密钥数据和第一密钥数据相同,负样本中的第二密钥数据和第一密钥数据不同;通过正样本对该神经网络进行训练,可以在使用正确的密钥数据进行解码的情况下,让该神经网络会出输出正确的水印数据;通过负样本对该神经网络进行训练,主要是让该神经网络具有分辨密钥数据是否正确的能力,以便在使用错误密钥数据进行解码的情况下,输出不同于实际水印数据的内容,即错误的水印数据。由于使用错误密钥进行解码的过程中,最终输出的水印数据也是经过神经网络得到的,通常神经网络会结合实际处理情况输出随机内容,而随机内容与真实的水印数据不同。
[0209]
示例性的,通过该第二网络对该第三图像样本进行特征提取,得到第四特征图;将该第四特征图与该第二密钥数据进行拼接,得到第五特征图。即将该第二密钥数据进行多次复制与组合,得到第四三维矩阵,其中,该第四三维矩阵中每层的维度与该第四特征图的维度相同;然后,将该第四三维矩阵与该第四特征图进行拼接,得到第五特征图;最后,通过该第二网络对该第五特征图进行特征提取,得到特征向量;根据该特征向量进行分类,得到该第二水印数据。
[0210]
同样,在该第三图像样本的尺寸与该第二神经网络规定的尺寸不匹配的情况下,在将该第三图像样本输入到第二神经网络之前,先对该第三图像样本的尺寸进行缩放处理,以使该第三图像样本的尺寸与该第二神经网络所规定的尺寸匹配。
[0211]
205:根据第一图像样本、第二图像样本、第一水印数据、第二水印数据、第一密钥数据以及第二密钥数据调整神经网络的网络参数。
[0212]
根据该第一图像样本和第二图像样本确定目标损失,其中,该目标损失包括第一损失、第二损失和第三损失中的一个或多个。即确定该第一图像样本和第二图像样本之间的差异,根据该差异确定该目标损失。
[0213]
示例性的,确定该第一图像样本和第二图像样本在第一颜色空间的第一距离,并将该第一距离作为该第一损失。其中,该第一颜色空间包括以下中的一项:rgb颜色空间、cmy颜色空间、hsv颜色空间、lab颜色空间、yuv颜色空间。以该第一颜色空间为颜色yuv空间为例,该第一损失可通过公式(1)表示:
[0214]
l1=||yuv(im1)-yuv(im2)||2ꢀꢀꢀ
(1);
[0215]
其中,l1为第一损失,im1为第一图像样本,im2为第二图像样本,|| ||2为求距离操作。
[0216]
示例性的,确定该第一图像样本和该第二图像样本在第二颜色空间的多层级结构相似性ms-ssim(multi-scale-structural similarity),并将该ms-ssim作为该第二损失。其中,该第二颜色空间包括以下中的一项:rgb颜色空间、cmy颜色空间、hsv颜色空间、lab颜色空间、yuv颜色空间。以该第二颜色空间为rgb颜色空间为例,该第二损失可通过公式(2)表示:
[0217]
l2=ms-ssim(im1,im2)
ꢀꢀꢀ
(2);
[0218]
其中,l2为第二损失。
[0219]
示例性的,确定该第一图像样本和第二图像样本在第三颜色空间的第二距离,并将该第二距离作为第三损失。其中,该第三颜色空间包括以下中的一项:rgb颜色空间、cmy颜色空间、hsv颜色空间、lab颜色空间、yuv颜色空间。以该第三颜色空间为rgb颜色空间为
例,该第三损失可通过公式(3)表示:
[0220]
l3=||rgb(im1)-rgb(im2)||2ꢀꢀꢀ
(3);
[0221]
其中,l3为第三损失。
[0222]
应理解,该第一颜色空间和该第三颜色空间为不同的颜色空间。需要说明的是,上述例举的各颜色空间可能的实现形式,仅为一种示例的情况,还可以包括除上述例举情况以外的其他颜色空间,在此对于第一至第三颜色空间具体为哪类颜色空间不予限定。
[0223]
示例性的,根据该第一密钥数据和该第二密钥数据,确定第一比值,即从该第二密钥数据中,获取与该第一密钥数据相比,位置对应,但取值不同的目标密钥数据,将该密钥数据的数据长度与第一密钥数据的数据长度之间的比值,确定为该第一比值;换句话说,可以将该第一密钥数据作为发送数据,将该第二密钥数据作为接收数据,然后,该第一比值即为该第一密钥数据和该第二密钥数据之间的第一误码率;然后,根据该第一比值以及该第一水印数据,得到第三水印数据,即根据该第一比值,从该第一水印数据中,确定出与第一水印数据相比,位置对应,但取值不同的目标水印数据,其中,目标水印数据的数据长度与第一水印数据的数据长度的比值为该第一比值。同样,可以将该第一水印数据和该第三水印数据分别作为发送数据和接收数据,则该目标水印数据的数据长度与该第一水印数据的数据长度的比值,实质上就是第一水印数据和该第三水印数据之间的误码率。最后,根据该第三水印数据和该第一水印数据确定第四损失,即将该第一水印数据和第三水印数据之间的交叉熵损失作为该第四损失。
[0224]
可以看出,保证水印数据之间的误码率与该密钥数据之间的误码率相同,即保证在第一密钥数据和第二密钥数据不同的情况下,解码的第二水印数据相对于编码的第一水印数据之间的误码率,与第一密钥数据和第二密钥数据之间的误码率相同,这样更符合机器执行过程中的判断逻辑,从而保证在训练过程中,使该神经网络更容易收敛。
[0225]
示例性的,可对该第一密钥数据和第二密钥数据进行异或处理,得到第三密钥数据;将该第三密钥数据进行n次赋值与组合,得到第四密钥数据,该n即是水印数据和密钥数据的数据长度的比值,即将该第三密钥数据复制n次,并拼接到一起,从而使该第四密钥数据的数据长度与该第一水印数据的数据长度相同;将该第四密钥数据与该第一水印数据进行异或处理,得到该第三水印数据。因此,该第三水印数据可通过公式(4)表示:
[0226][0227]
其中,m3为第三水印数据,k1为第一密钥数据,k2为第二密钥数据,repeat
(n)
为将k1和k2的异或结果进行n次复制与组合,m1为第一水印数据,

为异或处理。
[0228]
最后,根据第三水印数据和第二水印数据,确定第四损失。
[0229]
示例性的,可通过计算该第三水印数据和该第二水印数据之间的交叉熵损失,得到该第四损失。因此,该第四损失可通过公式(5)表示:
[0230]
l4=cross-entropy-loss(m2,m3)
ꢀꢀꢀ
(5);
[0231]
其中,l4为第四损失,m2为第二水印数据,m3为第三水印数据,cross-entropy-loss为交叉熵损失。
[0232]
最后,根据该目标损失以及该第四损失,调整神经网络的网络参数。即对该目标损失以及该第四损失进行加权处理,得到最终的损失,根据该最终的损失以及梯度下降法调整该神经网络的网络参数。
[0233]
可以看出,在本技术实施例中,在对神经网络训练的过程中加入了密钥数据,即使用了密钥数据对编码的水印数据进行加密。因此,图像所有方在使用该神经网络为图像添加水印数据的过程中,可以使用自己的密钥数据对水印数据进行加密,即使窃取到该神经网络的第三方或者该神经网络的提供者,在未使用正确的密钥数据的情况下,使用该第二网络也无法从编码图像中解码出水印数据,而是输出随机内容,从而保证水印数据传输过程中的安全性,避免水印信息被第三方破解降低了篡改水印数据的风险。
[0234]
此外,在实际应用中,还可对该第一图像样本和第二图像样本进行图像鉴别,得到第五损失,该图像鉴别用于确定图像样本为包括有水印数据的图像的概率。因此,分别将该第一图像样本和第二图像样本输入到鉴别器,确定该第一图像样本和第二图像样本为包括有水印数据的图像的概率,根据该第一图像样本和第二图像样本为包括水印数据的图像的概率确定该第五损失。其中,该第五损失可以通过公式(6)表示:
[0235]
l5=log(softmax(f1;w)) (1-log(softmax(f2;w)))
ꢀꢀꢀ
(6);
[0236]
其中,l5为第五损失,f1为第一图像样本的特征向量,f2为第二图像样本的特征向量,w为该鉴别器的分类权重,softmax为分类操作。
[0237]
从本质上来说,相当于对该第一网络连接一个鉴别器,从而与该第一网络组成对抗式训练网络,从该鉴别器是否能分辨出编码图像的维度向第一网络反馈第一图像样本和第二图像样本之间的差异,以提高第一网络的编码性能。可以理解,在该鉴别器确定第一图像样本为包括水印数据的图像的概率为0.5,该第二图像样本为包括水印数据的图像的概率也为0.5,则说明鉴别器难以区分哪个是原始图像,哪个是编码图像,即第一网络编码出的编码图像与原始图像之间几乎没有差异,也就是说,该第一网络的性能趋近于最佳状态。需要说明的是,上述两个概率取值为0.5仅为一种示例,并不作为对本技术的限定。在实际应用中,上述两个概率的取值可基于实际情况进行调整,通常可以再0.5上下一定范围内波动,且波动范围较小,可忽略不计。
[0238]
因此,还可对该目标损失、第四损失以及第五损失进行加权处理,得到最终的损失,根据该最终的损失调整该神经网络的网络参数。
[0239]
此外,在实际应用中,为降低承载神经网络运行的设备的压力,减少资源消耗,也可以不用对该第一网络连接该鉴别器,可以像上述方案,仅通过比较该第一图像样本和第二图像之前的差异,得到目标损失,即可完成对该神经网络的训练。
[0240]
在一些可能的实施方式中,在神经网络模型泄露的情况下,可以使用第二网络解码出随机内容,为了防止出现对该随机内容进行多次尝试,而得到正确的水印数据(第一水印数据)的情况,在获取该第一水印数据之后,不是直接将该第一水印数据编码到第一图像样本中,而是先对该第一水印数据进行哈希变换,从而保证即使正确解码,得到的水印数据也不是真正的第一水印数据。因此,在输出随机内容的情况下,即使通过多次尝试成功解出水印数据,也是解码出了哈希变换后的水印数据,但是由于不知道哈希变换所使用的变换参数,仍然无法知晓真正的第一水印数据,进一步保证水印数据传输过程中的安全性。
[0241]
在一些可能的实施方式中,在对该第一密钥数据和/或第一水印数据进行拼接之前,可将该第一密钥数据和/或第一水印数据进行线性变换处理。示例性的,可通过该神经网络中的全连接层对该第一密钥数据和/或第一水印数据进行线性变换处理,从而将该第一密钥数据和/或第一水印数据变换到特定维度,即相当于对该第一密钥数据和/或第一水
印数据进行了压缩处理,从而后续在对第二图像样本进行扰动处理(比如,图像压缩)的情况下,该第一密钥数据和/或第一水印数据的维度与第三图像样本的维度匹配,进而提高图像解码成功率,提高该神经网络解码的鲁棒性。
[0242]
因此,在对该神经网络训练完成后,可使用该指定密钥数据以及标识水印数据,并通过第一网络对原始图像进行编码,得到该待溯源图像,其中,对该原始图像进行编码的过程与上述对第一图像样本进行编码的过程类似,不再叙述;使用该指定密钥数据,从该待溯源图像中解码出标识水印数据的过程与上述从第三图像样本中解码出第二水印数据的过程类似,不再叙述。
[0243]
下面结合该神经网络的网络层详细说明对该神经网络的训练过程。
[0244]
参阅图5,图5为本技术实施例提供的一种第一神经网络的示意图。
[0245]
如图5所示,该第一网络包括多个卷积层、多个反卷积层、多个池化层以及多个通道(图5仅示出了部分卷积层、反卷积层、池化层以及一个通道);
[0246]
通过该多个卷积层和多个池化层,对第一图像样本进行特征提取,得到第一特征图;然后,将第一特征图、第一水印数据以及第一密钥数据进行拼接,得到第二特征图。图5仅示出了在同一网络层将第一密钥数据和第一水印数据分别与第一特征图进行拼接的过程;
[0247]
最后,通过该多个反卷积层和多个池化层对该第二特征图进行反卷积处理,得到第二图像样本;根据该第二图像样本和该第一图像样本得到目标损失。
[0248]
此外,实际应用中,还可以在该第一网络后连接一个鉴别器,对该第一图像样本和第二图像样本进行图像鉴别,得到第五损失。
[0249]
另外,在反卷积处理的过程中,可以将反卷积处理得到的三维矩阵与进行特征提取过程得到的维度相同的三维矩阵进行拼接,比如,通过concat函数连接维度相同的多个三维矩阵,使下一个反卷积层的输入数据包含该第一图像样本中更多的细节信息,从而使输出的第二图像样本与该第一图像样本之间的差异更小,提高第一网络的编码精度。如图5所示,将最后一次卷积得到的三维矩阵(特征图)与第一次反卷积处理得到的三维矩阵进行拼接,得到一个三维矩阵,将这个三维矩阵作为下一次反卷积处理的输入数据。
[0250]
参阅图6,图6为本技术实施例提供的一种第二神经网络的示意图。
[0251]
如图6所示,第二网络包括多个卷积层、多个池化层以及全连接层(图6仅示出了部分卷积层和部分池化层),通过该多个卷积层、多个池化层以及全连接层对第三图像样本进行特征提取,得到第四特征图;然后,将该第四特征图与该第二密钥数据进行拼接,得到第五特征图;根据该第五特征图进行特征提取,通过全连接层后得到特征向量,根据该特征向量进行分类,得到第二水印数据。并根据该第一密钥数据、第二密钥数据、第一水印数据以及第二水印数据确定第四损失。
[0252]
最后,对该目标损失以及第四损失进行加权处理得到目标损失;在连接有鉴别器的情况下,可对该目标损失、第四损失以及第五损失进行加权处理得到目标损失,并通过该目标损失调整该神经网络的网络参数。
[0253]
下面结合实际的例子说明本技术对神经网络的训练过程。参阅图7,图7为本技术实施例提供的另一种神经网络训练过程的示意图。
[0254]
如图7所示,将原图、水印(sssstttt)以及密钥(123456789)输入到第一网络,对原
图进行编码,得到水印图片;然后,对该水印图片进行扰动处理,得到扰动后的水印图片,如图7所示,对部分区域进行覆盖处理;最后,将密钥和扰动后的水印图片输入到第二网络,对扰动后的水印图片进行解码,得到解码水印,实际训练过程中,输入到第二网络的密钥和输入到一网络的密钥可以不同。根据该原图、水印图片、水印、密钥以及解码水印调整该神经网络的网络参数,完成该神经网络的训练。
[0255]
参阅图8,图8为本技术实施例提供的一种图像编码方法的流程示意图。该方法应用于图像编码装置。该方法包括但不限于以下步骤:
[0256]
801:获取原始图像、第三密钥数据以及第三水印数据。
[0257]
示例性的,图像所有方可向该图像编码装置输入该原始图像、第三密钥数据以及第三水印数据。
[0258]
其中,该第三密钥数据以及该第三水印数据与训练阶段类似,该第三水印数据的数据长度为该第三密钥数据的数据长度的n倍,其中,该n为大于等于1的整数。
[0259]
具体地,该第三密钥数据以及第三水印数据的数据长度,分别与对神经网络训练过程中第一密钥数据以及第一水印数据的数据长度(固定长度)相同。示例性的,在训练过程中,第一水印数据的数据长度为160位,则该第三水印数据的数据长度也需要保持160位,第一密钥数据的数据长度为20位,则该第三密钥数据的数据长度也为20。对于第三水印数据或第三密钥数据的数据长度小于固定长度的情况,则可通过扩充的方式将第三水印数据或第三密钥数据的数据长度扩充为各自的固定长度,对于第三水印数据或第三密钥数据的数据长度大于固定长度的情况,则提示图像所有方需要重新输入长度合适的第三水印数据或第三密钥数据。
[0260]
802:将原始图像、第三密钥数据以及第三水印数据输入到第一网络,得到编码图像。
[0261]
其中,该第一网络是通过上述的神经网络训练方法进行训练得到。
[0262]
应理解,在该编码图像为泄露信息的图像情况下,该编码图像就是一个待溯源图像。可以通过上述的图像溯源方法进行图像溯源。
[0263]
对原始图像进行编码的过程与上述对第一图像样本进行编码的过程类似,不再叙述。
[0264]
当然,在该原始图像的尺寸与该第一网络的尺寸不匹配的情况下,也需要对该原始图像的尺寸进行缩放处理,并在得到编码图像后,对该编码图像进行恢复处理,以使该编码图像的尺寸与该原始图像的尺寸相同。
[0265]
可以看出,在本技术实施例中,通过第一网络以及第三密钥数据,对原始图像添加第三水印数据,得到编码图像;即使该第一网络泄露,由于没有第三密钥数据,也就无法从该编码图像中解码出第三水印数据或者更改该第三水印数据,从而保证了水印数据传输过程中的安全性。
[0266]
下面以一个实际的场景说明上述图像编码的用途。
[0267]
在图像所有方将保密图像(原始图像)授权给他人(比如,授权用户)使用的过程中,可以将被授权用户的信息(第三水印数据)和图像所有方的私人密钥(第三密钥数据)输入到该神经网络,得到编码图像,则该编码图像视觉效果上几乎与原始图像不可分辨,因此该编码图像可以像原始图像一样使用,不会影响原始图像的使用价值。由于,该私人密钥仅
被图像所有方拥有,所以该编码图像在传播的过程中,其中编码的被授权用户的信息不容易被篡改,保证了编码图像传播的安全性。
[0268]
其中,被授权用户的信息包括以下至少一项:被授权方的姓名、公司名称的中文全拼或首字母缩写或公司的英文名称,或其他用于标志被授权用户的字符串。
[0269]
参阅图9,图9为本技术实施例提供的一种图像解码方法的流程示意图。该方法应用图图像解码装置。该方法包括但不限于以下步骤:
[0270]
901:获取编码图像以及第三密钥数据。
[0271]
902:将编码图像和第三密钥数据输入到第二网络,得到第四水印数据。
[0272]
其中,该第二网络通过上述的神经网络训练进行训练得到。对该编码图像进行解码的过程与上述对第三图像样本进行解码的过程类似,不再叙述。
[0273]
在该第三密钥数据就是编码时使用到的第三密钥数据的情况下,则该第三水印数据和第四水印数据相同,即可从该编码图像中成功解码出水印数据。
[0274]
应理解,在编码图像为待溯源图像的情况下,对该编码图像进行解码得到第四水印数据之后,可根据该第四水印数据确定目标对象,将该目标对象作为该编码图像的所属对象,实现图像溯源。
[0275]
当然,该编码图像的尺寸与该第二网络的尺寸不匹配的情况下,对该编码图像进行缩放处理,以使缩放后的编码图像的尺寸与该第二网络的尺寸匹配。
[0276]
可以看出,在本技术实施例中,通过第二网络以及第三密钥数据,对编码图像进行解码;即使该第二网络泄露,由于没有图像所有方的第三密钥数据,即使使用该第二网络无法从该编码图像中编码的水印数据,从而保证了水印数据传输过程中的安全性。
[0277]
在向原始图像中编码水印数据的过程中,使用第三密钥数据对编码过程进行加密,从而使编码图像中编码的水印数据不容易被篡改,解决了目前存在的一些安全性问题。下面结合实际的例子说明本技术的应用场景。
[0278]
在一些可能的实施方式中,在该原始图像为价值含量较高的图像的情况下,例如,画作、著作、摄影作品,等等;可通过该第一网络为该原始图像添加第三水印数据,得到编码图像;然后,将该编码图像发布出去,而他人难以对该编码图像中的第三水印数据进行修改或替换,从而别人无法盗用该编码图像,进而保护了该原始图像拥有者的权益。
[0279]
在一些可能的实施方式中,在该原始图像为票据图像的情况下,为了防止票据作假,可在每次开具第一票据图像的情况下,使用该第一网络以及第三密钥数据对第一票据图像进行编码,添加第三水印数据,得到编码图像。在核对第二票据图像的情况下,则可使用该第二密钥数据以及第二网络,对第二票据图像进行解码,得到第四水印数据,在该第四水印数据和第三水印数据不一致的情况下,则确定票据造假,即该第二票据为虚假票据。
[0280]
现有通过添加数字水印防止票据造假的方式,在该第一网络和票据图像中添加的水印数据泄露的情况下,则可通过该第一网络造假出票据图像。而本技术中核对人员可使用正确的密钥数据对造假出的第二票据图像进行解码,无法成功解码出正确的水印数据,从而确定该第二票据图像为造假的票据,所以,即使第一网络和水印数据泄露,仍然能确定出票据造假行为,进一步提高对票据图像的核对精确度。
[0281]
在一些可能的实施方式中,在该原始图像为包含隐私信息的情况下,例如,证件图像、保单图像、学历证或者扫描件,以证件图像为例进行说明。为了防止证件造假,可在每次
颁发第一证件图像的情况下,使用该第一网络以及第三密钥数据对该第一证件图像进行编码,添加第三水印数据,得到编码图像;在对第二证件图像进行核对的情况下,使用该第二网络以及第三密钥数据对第二证件图像进行解码,得到第四水印数据;在该第四水印数据与第三水印数据不一致的情况下,则确定证件造假,即该第二证件为虚假证件。
[0282]
现有通过添加数字水印防止证件造假的方式,在该第一网络以和证件图像中添加的水印数据泄露的情况下,则可通过该第一网络造假出证件图像。而本技术中使用正确的密钥数据对造假出的第二证件图像进行解码,无法成功解码出正确的水印数据,从而确定该第二证件图像为造假的证件。所以,即使第一网络和水印数据泄露,仍然能确定出证件造假行为,进一步提高对证件图像的核对精确度。
[0283]
在一些可能的实施方式中,在该神经网络以及水印数据泄露的情况下,可能会存在一些栽赃行为,即某些非法公司发布了一些非法图片,并栽赃该非法图片是通过该神经网络编码得到的,并演示通过该神经网络可从该非法图片中提取出该水印数据,也就是栽赃该非法图片是由本公司发布的。但是,通过本公司进行图像编码过程中所使用的第三密钥数据,发现并不能从该非法图片中提取出正确的水印数据,从而可以判断该非法图片并不是通过该第三密钥数据进行编码得到,也就是说该非法图片并不是本公司发布,避免栽赃事件的发生。
[0284]
参阅图10,图10为本技术实施例提供的一种图像溯源装置的结构示意图。其中,图像溯源装置1000用于训练神经网络,该神经网络包括第一网络和第二网络。如图10所示,图像溯源装置包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
[0285]
获取待溯源图像以及与所述待溯源图像对应的指定密钥数据;
[0286]
根据所述指定密钥数据,从所述待溯源图像中获得标识水印数据;
[0287]
根据所述标识水印数据,确定与所述标识水印数据对应的目标对象,并将所述目标对象确定为所述待溯源图像所属对象。
[0288]
在一些可能的实施方式中,所述根据所述指定密钥数据,从所述待溯源图像中获得标识水印数据,包括:
[0289]
将所述指定密钥数据以及所述待溯源图像输入完成训练的神经网络,以获得所述标识水印数据。
[0290]
在一些可能的实施方式中,所述神经网络包括第一网络和第二网络,在训练所述神经网络的过程中,上述程序具体用于执行以下步骤的指令:
[0291]
获取第一水印数据、第一密钥数据和第一图像样本;
[0292]
将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本;
[0293]
对所述第二图像样本进行扰动处理,得到第三图像样本;
[0294]
获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据;
[0295]
根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数。
[0296]
在一些可能的实施方式中,所述第一密钥数据与所述第二密钥数据的数据长度相同,且所述第一水印数据的数据长度分别为所述第一密钥数据以及所述第二密钥数据的数据长度的n倍,所述n为大于或等于1的整数。
[0297]
在一些可能的实施方式中,在根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数方面,上述程序具体用于执行以下步骤的指令:
[0298]
根据所述第一图像样本和所述第二图像样本确定目标损失,所述目标损失包括第一损失、第二损失和第三损失中的一个或多个;
[0299]
根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失;
[0300]
根据所述目标损失和所述第四损失调整所述神经网络的网络参数。
[0301]
在一些可能的实施方式中,在根据所述第一图像样本和所述第二图像样本确定目标损失方面,上述程序具体用于执行以如下至少一项的指令:
[0302]
确定所述第一图像样本和所述第二图像样本在第一颜色空间的第一距离,并将所述第一距离作为所述第一损失;
[0303]
确定所述第一图像样本和所述第二图像样本在第二颜色空间的多层级结构相似性,并将所述多层级结构相似性作为所述第二损失;
[0304]
确定所述第一图像样本和所述第二图像样本在第三颜色空间的第二距离,并将所述第二距离作为所述第三损失。
[0305]
在一些可能的实施方式中,所述第一颜色空间、所述第二颜色空间和所述第三颜色空间均包括以下中的一项:rgb颜色空间、cmy颜色空间、hsv颜色空间、lab颜色空间、yuv颜色空间。
[0306]
在一些可能的实施方式中,在根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失方面,上述程序具体用于执行以下步骤的指令:
[0307]
根据所述第一密钥数据和所述第二密钥数据,确定第一比值;
[0308]
根据所述第一比值和所述第一水印数据,得到第三水印数据;
[0309]
根据所述第三水印数据和所述第二水印数据,确定所述第四损失。
[0310]
在一些可能的实施方式中,在根据所述第一密钥数据和所述第二密钥数据,确定第一比值方面,上述程序具体用于执行以下步骤的指令:
[0311]
从所述第二密钥数据中,获取与所述第一密钥数据相比,位置对应,但取值不同的目标密钥数据;
[0312]
将所述目标密钥数据的数据长度与所述第一密钥数据的数据长度之间的比值,确定为所述第一比值。
[0313]
在一些可能的实施方式中,在根据所述第一比值和所述第一水印数据,得到第三水印数据方面,上述程序具体用于执行以下步骤的指令:
[0314]
从所述第一水印数据中,获取与所述第一水印数据相比,位置对应,但取值不同的目标水印数据,其中,所述目标水印数据的数据长度与所述第一水印数据的数据长度的比值为所述第一比值。
[0315]
在一些可能的实施方式中,在根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失方面,上述程序具体用于执行以下步骤的指令:
[0316]
对所述第一密钥数据和所述第二密钥数据进行异或处理,得到第三密钥数据;
[0317]
将所述第三密钥数据进行n次复制与组合,得到第四密钥数据;
[0318]
将所述第四密钥数据与所述第一水印数据进行异或处理,得到第三水印数据;
[0319]
根据所述第三水印数据和所述第二水印数据,确定所述第四损失。
[0320]
在一些可能的实施方式中,在将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本方面,上述程序具体用于执行以下步骤的指令:
[0321]
通过所述第一网络对所述第一图像样本进行特征提取,得到第一特征图;
[0322]
将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图;
[0323]
根据所述第二特征图,得到所述第二图像样本。
[0324]
在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,上述程序具体用于执行以下步骤的指令:
[0325]
分别对所述第一水印数据和所述第一密钥数据进行多次复制与组合,得到与所述第一水印数据对应的第一三维矩阵,以及与所述第一密钥数据对应的第二三维矩阵;其中,所述第一三维矩阵以及所述第二三维矩阵中每层的维度与所述第一特征图的维度相同;
[0326]
根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图。
[0327]
在一些可能的实施方式中,在根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图方面,上述程序具体用于执行以下步骤的指令:
[0328]
将所述第一三维矩阵和所述第二三维矩阵中的一个三维矩阵,与所述第一特征图进行拼接,得到第三特征图;
[0329]
将所述第一三维矩阵和所述第二三维矩阵中的另一个三维矩阵,与所述第三特征图进行拼接,得到所述第二特征图。
[0330]
在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,上述程序具体用于执行以下步骤的指令:
[0331]
合并所述第一水印数据和所述第一密钥数据,并对合并后数据进行多次复制与组合,得到与所述合并后数据对应的第三三维矩阵;其中,所述第三三维矩阵中每层的维度与所述第一特征图的维度相同;
[0332]
将所述第三三维矩阵与所述第一特征图进行拼接,得到所述第二特征图。
[0333]
在一些可能的实施方式中,在获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据方面,上述程序具体用于执行以下步骤的指令:
[0334]
通过所述第二网络对所述第三图像样本进行特征提取,得到第四特征图;
[0335]
将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图;
[0336]
根据所述第五特征图,得到所述第二水印数据。
[0337]
在一些可能的实施方式中,在将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图方面,上述程序具体用于执行以下步骤的指令:
[0338]
对所述第二密钥数据进行多次复制与组合,得到第四三维矩阵,其中,所述第四三维矩阵中每层的维度与所述第四特征图的维度相同;
[0339]
将所述第四三维矩阵与所述第四特征图进行拼接,得到所述第五特征图。
[0340]
在一些可能的实施方式中,在所述获取第一水印数据、第一密钥数据和第一图像样本之前,上述程序还用于执行以下步骤的指令:
[0341]
获取第一水印内容,并对所述第一水印内容进行编码,得到所述第一水印数据;
[0342]
获取第一密钥,并对所述第一密钥进行编码,得到所述第一密钥数据。
[0343]
在一些可能的实施方式中,所述扰动处理包括以下至少一种:图像压缩处理、图像剪切处理、图像覆盖处理、图像中至少部分区域的替换处理、添加预设噪声、图像旋转处理以及色彩变换处理;
[0344]
其中,所述预设噪声包括以下至少一种高斯噪声、加性噪声、随机噪声以及椒盐噪声;
[0345]
其中,所述色彩变换处理包括以下至少一种:对比度变换处理、亮度变换处理、饱和度变换处理以及色调变换处理。
[0346]
参阅图11,图11为本技术实施例提供的一种图像编码装置的结构示意图。如图10所示,图像编码装置包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
[0347]
获取原始图像、第三密钥数据以及第三水印数据,其中,所述第三水印数据的数据长度为所述第三密钥数据的数据长度的n倍,其中,所述n为大于等于1的整数;
[0348]
将所述原始图像、所述第三密钥数据以及所述第三水印数据输入到第一网络,得到编码图像;
[0349]
其中,所述第一网络是通过上述所述的神经网络训练方法训练得到。
[0350]
参阅图12,图12为本技术实施例提供的一种图像解码装置的结构示意图。如图11所示,图像解码装置包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序不同于上述一个或多个应用程序,且上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
[0351]
获取编码图像以及第三密钥数据;
[0352]
将所述编码图像和所述第三密钥数据输入到所述第二网络,得到第四水印数据;
[0353]
其中,所述第二网络是通过第一方面任意实施例所述的方法训练得到。
[0354]
参阅图13,图13为本技术实施例提供的一种图像溯源装置的功能单元组成框图。图像溯源装置1300包括:获取单元1301和处理单元1302,其中:
[0355]
获取单元,1301,用于获取待溯源图像以及与所述待溯源图像对应的指定密钥数据;
[0356]
处理单元1302,用于根据所述指定密钥数据,从所述待溯源图像中获得标识水印数据;
[0357]
处理单元1302,还用于根据所述标识水印数据,确定与所述标识水印数据对应的
目标对象,并将所述目标对象确定为所述待溯源图像所属对象。
[0358]
在一些可能的实施方式中,在根据所述指定密钥数据,从所述待溯源图像中获得标识水印数据方面,处理单元1302,具体用于:将所述指定密钥数据以及所述待溯源图像输入完成训练的神经网络,以获得所述标识水印数据。
[0359]
在一些可能的实施方式中,所述神经网络包括第一网络和第二网络,在训练所述神经网络的过程中,处理单元1302,用于:
[0360]
获取第一水印数据、第一密钥数据和第一图像样本;
[0361]
将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本;
[0362]
对所述第二图像样本进行扰动处理,得到第三图像样本;
[0363]
获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据;
[0364]
根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数。
[0365]
在一些可能的实施方式中,所述第一密钥数据与所述第二密钥数据的数据长度相同,且所述第一水印数据的数据长度分别为所述第一密钥数据以及所述第二密钥数据的数据长度的n倍,所述n为大于或等于1的整数。
[0366]
在一些可能的实施方式中,在根据所述第一图像样本、所述第二图像样本、所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据调整所述神经网络的网络参数方面,处理单元1302,具体用于:
[0367]
根据所述第一图像样本和所述第二图像样本确定目标损失,所述目标损失包括第一损失、第二损失和第三损失中的一个或多个;
[0368]
根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失;
[0369]
根据所述目标损失和所述第四损失调整所述神经网络的网络参数。
[0370]
在一些可能的实施方式中,在根据所述第一图像样本和所述第二图像样本确定目标损失方面,处理单元1302,具体用于执行至少一项:
[0371]
确定所述第一图像样本和所述第二图像样本在第一颜色空间的第一距离,并将所述第一距离作为所述第一损失;
[0372]
确定所述第一图像样本和所述第二图像样本在第二颜色空间的多层级结构相似性,并将所述多层级结构相似性作为所述第二损失;
[0373]
确定所述第一图像样本和所述第二图像样本在第三颜色空间的第二距离,并将所述第二距离作为所述第三损失。
[0374]
在一些可能的实施方式中,所述第一颜色空间、所述第二颜色空间和所述第三颜色空间均包括以下中的一项:rgb颜色空间、cmy颜色空间、hsv颜色空间、lab颜色空间、yuv颜色空间。
[0375]
在一些可能的实施方式中,在根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失方面,处理单元1302,具体用于:
[0376]
根据所述第一密钥数据和所述第二密钥数据,确定第一比值;
[0377]
根据所述第一比值和所述第一水印数据,得到第三水印数据;
[0378]
根据所述第三水印数据和所述第二水印数据,确定所述第四损失。
[0379]
在一些可能的实施方式中,在根据所述第一密钥数据和所述第二密钥数据,确定第一比值方面,处理单元1302,具体用于:
[0380]
从所述第二密钥数据中,获取与所述第一密钥数据相比,位置对应,但取值不同的目标密钥数据;
[0381]
将所述目标密钥数据的数据长度与所述第一密钥数据的数据长度之间的比值,确定为所述第一比值。
[0382]
在一些可能的实施方式中,在根据所述第一比值和所述第一水印数据,得到第三水印数据方面,处理单元1302,具体用于:
[0383]
从所述第一水印数据中,获取与所述第一水印数据相比,位置对应,但取值不同的目标水印数据,其中,所述目标水印数据的数据长度与所述第一水印数据的数据长度的比值为所述第一比值。
[0384]
在一些可能的实施方式中,在根据所述第一水印数据、所述第二水印数据、所述第一密钥数据以及所述第二密钥数据确定第四损失方面,处理单元1302,具体用于:
[0385]
对所述第一密钥数据和所述第二密钥数据进行异或处理,得到第三密钥数据;
[0386]
将所述第三密钥数据进行n次复制与组合,得到第四密钥数据;
[0387]
将所述第四密钥数据与所述第一水印数据进行异或处理,得到第三水印数据;
[0388]
根据所述第三水印数据和所述第二水印数据,确定所述第四损失。
[0389]
在一些可能的实施方式中,在将所述第一水印数据、所述第一密钥数据以及所述第一图像样本输入到所述第一网络进行拼接,得到第二图像样本方面,处理单元1302,具体用于:
[0390]
通过所述第一网络对所述第一图像样本进行特征提取,得到第一特征图;将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图;根据所述第二特征图,得到所述第二图像样本。
[0391]
在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第一密钥数据进行拼接,得到第二特征图方面,处理单元1302,具体用于:
[0392]
分别对所述第一水印数据和所述第一密钥数据进行多次复制与组合,得到与所述第一水印数据对应的第一三维矩阵,以及与所述第一密钥数据对应的第二三维矩阵;其中,所述第一三维矩阵以及所述第二三维矩阵中每层的维度与所述第一特征图的维度相同;
[0393]
根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图。
[0394]
在一些可能的实施方式中,在根据所述第一三维矩阵、所述第二三维矩阵以及所述第一特征图,得到所述第二特征图方面,处理单元1302,具体用于:
[0395]
将所述第一三维矩阵和所述第二三维矩阵中的一个三维矩阵,与所述第一特征图进行拼接,得到第三特征图;
[0396]
将所述第一三维矩阵和所述第二三维矩阵中的另一个三维矩阵,与所述第三特征图进行拼接,得到所述第二特征图。
[0397]
在一些可能的实施方式中,在将所述第一特征图、所述第一水印数据以及所述第
一密钥数据进行拼接,得到第二特征图方面,处理单元1302,具体用于:
[0398]
合并所述第一水印数据和所述第一密钥数据,并对合并后数据进行多次复制与组合,得到与所述合并后数据对应的第三三维矩阵;其中,所述第三三维矩阵中每层的维度与所述第一特征图的维度相同;
[0399]
将所述第三三维矩阵与所述第一特征图进行拼接,得到所述第二特征图。
[0400]
在一些可能的实施方式中,在获取第二密钥数据,并将所述第三图像样本和所述第二密钥数据输入到所述第二网络,得到第二水印数据方面,处理单元1302,具体用于:
[0401]
通过所述第二网络对所述第三图像样本进行特征提取,得到第四特征图;
[0402]
将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图;
[0403]
根据所述第五特征图,得到所述第二水印数据。
[0404]
在一些可能的实施方式中,在将所述第四特征图与所述第二密钥数据进行拼接,得到第五特征图方面,处理单元1302,具体用于:
[0405]
对所述第二密钥数据进行多次复制与组合,得到第四三维矩阵,其中,所述第四三维矩阵中每层的维度与所述第四特征图的维度相同;
[0406]
将所述第四三维矩阵与所述第四特征图进行拼接,得到所述第五特征图。
[0407]
在一些可能的实施方式中,在所述获取第一水印数据、第一密钥数据和第一图像样本之前,处理单元1302,还用于执行如下至少一项:
[0408]
获取第一水印内容,并对所述第一水印内容进行编码,得到所述第一水印数据;
[0409]
获取第一密钥,并对所述第一密钥进行编码,得到所述第一密钥数据。
[0410]
在一些可能的实施方式中,所述扰动处理包括以下至少一种:图像压缩处理、图像剪切处理、图像覆盖处理、图像中至少部分区域的替换处理、添加预设噪声、图像旋转处理以及色彩变换处理;
[0411]
其中,所述预设噪声包括以下至少一种高斯噪声、加性噪声、随机噪声以及椒盐噪声;
[0412]
其中,所述色彩变换处理包括以下至少一种:对比度变换处理、亮度变换处理、饱和度变换处理以及色调变换处理。
[0413]
参阅图14,图14为本技术实施例提供的一种图像编码装置的功能单元组成框图。图像编码装置1400包括:获取单元1401和处理单元1402,其中:
[0414]
获取单元1401,用于获取原始图像、第三密钥数据以及第三水印数据,其中,所述第三水印数据的数据长度为所述第三密钥数据的数据长度的n倍,其中,所述n为大于等于1的整数;
[0415]
处理单元1402,用于将所述原始图像、所述第三密钥数据以及所述第三水印数据输入到第一网络,得到编码图像;
[0416]
其中,所述第一网络是通过第一方面中任一实施方式所述的方法训练得到。
[0417]
参阅图15,图15为本技术实施例提供的一种图像解码装置的功能单元组成框图。图像解码装置1500包括:获取单元1501和处理单元1502,其中:
[0418]
获取单元1501,用于获取编码图像以及第三密钥数据;
[0419]
处理单元1502,用于将所述编码图像和所述第三密钥数据输入到所述第二网络,得到第四水印数据;
[0420]
其中,所述第一网络是通过第一方面中任一实施方式所述的方法训练得到。
[0421]
本技术实施例还提供一种计算机存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现如上述方法实施例中记载的任何一种图像溯源方法的部分或全部步骤;或者,图像编码方法的部分或全部步骤;或者,图像解码方法的部分或全部步骤。
[0422]
本技术实施例还提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种图像溯源方法的部分或全部步骤;或者,图像编码方法的部分或全部步骤;或者,图像解码方法的部分或全部步骤。
[0423]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0424]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0425]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0426]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0427]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
[0428]
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0429]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-only memory,简称:rom)、随机存取器(英文:
random access memory,简称:ram)、磁盘或光盘等。
[0430]
以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

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

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

相关文献