APP下载

基于自编码器的矢量地图零水印算法

2022-08-05旭,张长,梁

地理与地理信息科学 2022年4期
关键词:鲁棒性编码器矢量

奚 旭,张 新 长,梁 伟 东

(1.苏州科技大学地理科学与测绘工程学院,江苏 苏州 215009;2.广州大学地理科学与遥感学院,广东 广州 510006;3.广州市城市规划设计有限公司,广东 广州 510030)

0 引言

数字水印作为信息安全防护的前沿技术,在矢量地图的版权保护中发挥重要作用,有效促进了矢量地图的安全共享[1-3]。但传统的嵌入式水印算法不可避免地会影响矢量地图的精度,从而影响数据的可用性,因此,具有无损性质的零水印算法越来越受到关注[2-7]。零水印算法不修改被保护数据的任何信息,通过提取数据的重要特征构建水印,并依托权威的第三方保存和验证版权信息[8,9],颠覆了传统水印的嵌入机制,实现了对数据的零干扰,非常契合矢量地图的使用需求。

目前,矢量地图的零水印研究已取得丰硕成果。例如:李文德等[10]将相邻特征点构成的直线斜率调制成二值矩阵作为特征信息,与二值版权信息异或生成零水印,该方法对旋转、平移、缩放以及压缩简化有良好的鲁棒性;Wang等[11]用同心圆将矢量地图分为多个环,以每个环中的顶点数作为特征信息构建零水印,该方法对平移、缩放、旋转、随机噪声和裁剪等攻击有较强的鲁棒性;Peng等[12]利用各特征点到矢量地图几何中心的距离比作为特征信息构建零水印,利用特征点距离比的几何不变性提升水印方案性能。以上研究均通过挖掘统计信息实现零水印算法,利用统计信息的稳定性提升算法的鲁棒性。此外,部分学者基于频率域构建零水印,如吕文清等[13]将特征点的DFT相位按符号值转为二值矩阵作为特征信息构建零水印,该方法在平移、缩放、坐标点增减等方面表现出很好的鲁棒性;李文德等[14]将DFT的相位由弧度值转换为角度值,并选取均匀分布的角度值取整转化为二进制特征值构建零水印,同样继承了DFT系数不变性的优点;韩志聪[15]对特征点进行DWT分解,利用DWT的低频系数构建零水印,在抗简化、裁剪、平移、缩放等方面有较好的鲁棒性。基于频率域的零水印继承了频率域系数的几何不变性,但也是一种特殊的统计特征零水印,对应的水印算法也具有鲜明的几何稳定性。

综上,挖掘稳定的特征信息是零水印算法的基础,目前研究集中在稳定统计信息的构建与挖掘,方式单一易导致针对性攻击,故本文结合深度学习方法中的自编码器(Auto Encoder,AE)挖掘矢量地图中深层、稳定的内蕴特征,构建一种鲁棒性较强的零水印算法,为地理空间数据版权保护提供技术参考。

1 自编码器及其在水印算法中的可行性

1.1 自编码器工作原理

自编码器是深度学习的重要组成模块[16],其核心思想是对原始输入值进行特征映射(编码),通过反向传播算法的训练,将其重构为输出值且尽可能等于输入值。自编码器结构(图1)是包含输入层、隐藏层和输出层的3层神经网络,输入层与输出层规模相同,一般情况下隐藏层的神经元节点数量少于输入层,可得到输入层的压缩表示。自编码器工作原理为:1)设未标签数据集X(X={x1,x2,…,xn},n为输入层神经元节点数量)为输入层,隐藏层由m个神经元节点构成,一般情况下n>m,利用式(1)进行映射,其中激活函数(Sigmoid函数或Tanh函数)用于进行非线性映射,得到X的特征表达,即隐藏层layer_hide;2)对隐藏层利用式(2)重构输出层Y,神经元节点数量同样为n;3)使用重构代价函数(式(3))计算输入和输出间的误差;4)通过误差反向传导和批量梯度下降法,迭代寻找最优的G和B,使输入与输出间误差最小[17]。

图1 自编码器结构Fig.1 Structure of Auto Encoder

(1)

式中:Ge、Be分别为随机生成的权值矩阵和偏置矩阵,激活函数选用Sigmoid函数。

(2)

(3)

1.2 可行性分析

1个隐藏层对输入数据的特征提取能力有限,若将多个自编码器堆叠,则抽取能力会更强大,这种多层自编码器称为栈式自编码器(Stacked Auto Encoder,SAE),其结构如图2所示。栈式自编码器工作原理与自编码器相似,采用无监督的逐层贪婪训练法,输入原始数据X,在第一隐藏层编码压缩得到X的一阶特征h1;将该特征作为第二隐藏层的输入,编码压缩后得到二阶特征h2;经过多次编码压缩,最终得到的特征即为X的深层特征描述。在此基础上将最后一层的输出与X进行误差逐层反向传播,对各隐藏层参数进行有监督的微调。

图2 栈式自编码器结构Fig.2 Structure of stacked Auto Encoder

自编码器作为一种无监督学习方法,与其他无监督学习方法有相似之处:若激活函数使用线性函数,重构代价函数使用平方误差,则其原理类似于主成分分析;若激活函数使用量化编码,重构代价函数使用平方误差,则与K-means聚类等相似[18]。但自编码器与K-means聚类不同之处在于,前者用于提取数据中的高阶特征,同时,有学者发现自编码器的数据压缩能力优于主成分分析[19]。综上,自编码器的结构简单,对数据能进行有效压缩,并提取出数据深层、稳定的特征,因此,将自编码器运用到水印算法中具有可行性。

2 基于自编码器的矢量地图零水印构建

本文选用栈式自编码器对矢量地理数据提取特征信息,因其多应用于图像识别和分类领域,算法中部分内容(如使用softmax分类、参数微调操作等)可在水印构建过程中略去,另外,自编码器应用于图像分类时需要较多的训练数据,而在水印算法中,可构建的训练数据受到一定限制,所以在模型训练中采用放回式训练。

2.1 零水印构建

本文提出的基于自编码器的零水印算法实现流程(图3)为:1)水印图像生成及处理:生成包含版权信息的二值水印图像W,大小为p×p像素;为提升安全性,对其进行Arnold置乱[20],生成加密水印图像WA,并按照一定规则读取WA灰度值,转为水印矩阵WM;灰度值为255,则WM内元素记为1,其他不变,形成由0与1构成的初始水印序列。2)特征点提取:为提升水印算法抗坐标点攻击的能力,对原始矢量地图DO采用道格拉斯—普克算法提取特征点,算法的阈值设为τ,可得特征点集合Vτ={v1,v2,…,vi,…,vn},n为特征点数量。3)特征信息构建:根据式(4)计算Vτ中各特征点的横纵坐标之差,对Vτ各点坐标差值的数值大小进行排列,按式(5)取其整数部分末两位,转为二进制,组成坐标差序列集C={C1,C2,…,Ci,…,Cn}。4)模型训练集生成:坐标差序列集C的长度为dC,设自编码器模型训练集中各图像大小为d×d,则转化为一维序列后,其长度为d2,按式(6)对C进行补位操作。将C分为3个序列C1、C2、C3,并均转化为d×d的二维矩阵,再将矩阵图像化,各二值图像组成模型的训练集L。5)模型训练:新建一个空白矩阵,行列大小由训练集L的图像数量和d2决定;模型读取L各训练图像后,将其转成长度为d2的一维序列,逐行写入空白矩阵中,生成训练矩阵E。本文的模型训练次数为10,每次训练可有多次迭代,若某次训练从E中随机抽取a行样本组成样本矩阵Es,则每次训练可迭代d/a次。设栈式自编码器的层数为3,每层均为1个自编码器,每个自编码器均包含1个编码器和1个解码器,每个自编码器的学习率r设定为0.01,选取不同的Es输入式(1)中生成编码器,再将编码器输入解码器中,利用式(2)还原矩阵Er,并通过式(3)计算从编码输入到解码输出间的损失,采用式(7)进行模型优化。提取第10次训练第3层AE的隐藏层M,并保存同批次的各层权值矩阵Ge与偏置矩阵Be,作为水印检测时的模型参数。6)零水印生成:由于各次训练选取训练样本数量设定为a,根据栈式自编码器的运算性质,得到的矩阵M大小为p×p,即与水印序列矩阵WM大小一致。M中各元素均为实数,且mi,j∈[0,1],按式(8)将M转换成特征矩阵Mf,并与矩阵WM按位进行异或操作,生成零水印图像Wzero(式(9))。7)将Wzero提交至IPR( Intellectual Property Rights )注册中心,用于后续版权验证。

图3 零水印构建流程Fig.3 Construction process of zero-watermarking

(4)

(5)

(6)

式中:“≪”为补位符,即在原序列C末尾,按条件补上若干个或者若干位C序列,补位后d≥3d2。

optimizer(r,cost)=AdamOptimizer(r).minimize(cost)

(7)

式中:r为学习率;minimize表示最大限度地最小化;cost为模型定义的代价函数。式(7)为TensorFlow的内嵌函数,引入二次方梯度校正,用于寻找全局最优点的优化算法。

(8)

Wzero=Mf⊕WM

(9)

2.2 水印检测

采用相同的阈值τ对待检测矢量地图进行道格拉斯—普克压缩,提取特征点集V′1;构建V′1的坐标差序列C′并转换成二值图像集L′;调取构建零水印时保存的各层权值矩阵Ge和偏置矩阵Be,作为自编码器模型的参数,将L′输入训练好的自编码器中,构建相同的训练矩阵E′和E′s,获得矩阵M′(m′i,j为M′中元素),利用式(10)生成待检测数据的特征矩阵M′f。

(10)

从IPR注册中心获取零水印图像Wzero,将其矩阵化后,与M′f进行异或操作,得到1个加密水印图像W′A(式(11)),对W′A进行Arnold逆置乱后得到待检测数据的水印图像W′,计算W与W′之间的NC值(式(12))[21],若NC值大于设定的阈值,则认为验证成功,否则不能判定待检测数据的版权所属。同时,采用比特误差率BER(Bit Error Ratio)[4](式(13))定量验证提取的水印信息误差。

W′A=M′f⊕Wzero

(11)

(12)

式中:Wi,j与W′i,j分别为原始水印图像与还原的水印图像在第(i,j)位的水印信息;NC值范围为0~1。

(13)

式中:N为水印信息的长度。

3 实验与分析

3.1 实验数据及预处理

本文选择道路矢量和建筑物矢量作为实验数据(图4),数据的基本信息与预处理后信息如表1所示,两组数据设置的压缩阈值均为10 m,压缩比分别达到85.65%和69.33%。图5为待嵌入的二值水印图像以及进行Arnold置乱加密的过程,水印图像中含有意义的版权内容“地理学院”,大小为60×60像素。在Arnold置乱公式中所有参数均取1的情况下,可得本文实验图像的置乱周期为120次,即在第120次时恢复为原始状态。为提升安全性,本文选用第80次置乱时的水印图像用于零水印构建。在还原水印图像时,本文设定NC阈值为0.8,当NC大于0.8时,认为版权认证成功,否则认证失败。

图4 原始实验数据Fig.4 Original experimental data

表1 实验数据的基本信息Table 1 Basic information of the experimental data

图5 水印图像置乱加密Fig.5 Scrambling encryption of watermark image

3.2 抗几何攻击分析

常见的几何攻击主要包括平移、旋转和缩放3种方式,因此,水印算法能否抵抗几何攻击是检验鲁棒性的重要指标。实验进行了3次不同强度的平移、旋转和缩放攻击,在此基础上还原水印图像,并进行对比验证(表2)。可以看出,在不同强度的几何攻击下,两组数据均可还原出高质量的水印图像,版权内容清晰可见;NC值均不低于0.98,远大于设定的阈值,BER值也仅为3%左右,表明本文提出的零水印算法展现了良好的抗几何攻击能力。但也发现,还原水印图像的NC值均未达到1,因为在几何攻击下,坐标值发生了变化,导致自编码器在特征提取过程中发生偏移,但偏移程度不会影响水印功能的正常实现,同样展现了自编码器强大的特征提取能力。

表2 几何攻击结果Table 2 Results of geometric attacks

3.3 抗坐标点攻击分析

坐标点攻击主要包括随机增点、随机删点和压缩3种攻击方式,不同攻击类型同样设定3次不同的攻击强度,攻击结果如表3所示。在随机增点和随机删点的实验中,均可提取出NC值大于0.98的高质量水印图像,成功验证版权;且随着攻击强度增点,提取结果出现轻微下滑趋势。因此,本文提出的零水印算法对随机增点和随机删点的鲁棒性很强。在压缩攻击下,本文两组实验数据的压缩比阈值分别为85.65%和69.33%,当压缩阈值不超过本文预设的阈值时,即压缩比小于特征点提取阈值时,可以提取出NC为1的完整水印图像。因此,当输入值相同,本文的自编码器水印算法可提取出相同的特征信息。在建筑物数据中,压缩比为75%,超过预设的压缩阈值时,可提取出的水印图像NC值为0.9749,仍能有效完成版权验证。综上所述,本文提出的零水印算法对坐标点攻击具有较强的鲁棒性。

表3 坐标点攻击结果Table 3 Results of vertex attacks

3.4 唯一性检验

为检验零水印的唯一性,将两组实验数据得到的零水印图像进行交叉提取,并将提取结果与原始水印图像进行相似性检验(表4)。可以看出,交叉提取得到的水印图像NC值分别为0.5049和0.5128,无法识别出有效水印信息,表明不同数据基于本文算法生成的零水印图像无法提取、还原其他数据生成的水印信息,算法具有唯一性。

表4 唯一性检验结果(NC值)Table 4 Results of uniqueness test (NC value)

3.5 算法对比分析

本文选取前人研究中两组鲁棒性较强、可抵御多种水印攻击的零水印算法[13,14],与本文提出的零水印算法进行鲁棒性对比(表5,“√”表示可成功验证版权,“×”表示无法验证版权)。从表5可以看出,相较对比水印算法,本文算法在对抗常见的几何攻击、坐标点攻击时,显示出更强、更全面的鲁棒性,但对抵抗裁剪攻击的能力较差。

表5 对比实验结果Table 5 Results of contrast experiments

4 结论

本文引入深度学习中的栈式自编码器模型构建零水印算法,因其能有效提取数据深层、稳定的特征,进行相应的改造后可应用于提取矢量地理数据中的特征信息,实验证明,利用栈式自编码器特征信息构建的零水印算法对几何攻击、坐标点攻击、数据压缩攻击等具有较强鲁棒性,可为矢量地图版权保护提供技术参考。但本文算法抵抗裁剪攻击的能力较差,且在构建训练图像集方面,是否还有比坐标差序列更合适的方法,有待进一步研究。

猜你喜欢

鲁棒性编码器矢量
融合CNN和Transformer编码器的变声语音鉴别与还原
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
武汉轨道交通重点车站识别及网络鲁棒性研究
舞台机械技术与设备系列谈(二)
——编码器
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于确定性指标的弦支结构鲁棒性评价
基于双增量码道的绝对式编码器设计
一种基于三维小波变换的鲁棒视频水印方案
基于矢量最优估计的稳健测向方法