一种矢量图水印嵌入、溯源方法及系统与流程

文档序号:26484244发布日期:2021-08-31 17:40阅读:170来源:国知局
一种矢量图水印嵌入、溯源方法及系统与流程

本发明属于矢量图编辑的技术领域,特别涉及一种矢量图水印嵌入、溯源方法及系统。



背景技术:

针对2d矢量图溯源方法,目前常用的是提取2d矢量图顶点序列,构建极坐标系,利用顶点的几何不变特征,将带有rs编码密钥的哈希函数嵌入至2d矢量图中;解码时需要重构极坐标系,将图像还原到原始大小,然后对2d矢量图按照水印嵌入算法的逆过程提取水印。

相关技术中存在的问题如下:所有过程都是基于2d矢量图进行,版权保护方式受限;编解码过程对矢量图源数据造成一定的破坏。



技术实现要素:

针对上述问题,为了方便进行2d矢量图的水印嵌入和溯源,本发明公开了一种矢量图水印嵌入、溯源方法及系统,

第一方面,本发明公开了一种矢量图水印嵌入方法,包括以下技术特征,

一种矢量图水印嵌入方法,所述方法包括以下步骤,

提取待检索位图的特征信息;

根据所述待检索位图的特征信息以及已有的特征信息计算检索出目标矢量图;

获取用户登录信息,并根据所述用户登录信息匹配溯源标识;

将所述溯源标识嵌入目标矢量图的标注区域,转换成数据流。

更进一步的,所述嵌入方法还包括,建立特征库,

在提取所述待检索位图的特征信息后,将所述特征信息存入到所述特征库中。

更进一步的,将所述溯源标识嵌入目标矢量图的标注区域,转换成数据流之后,将带有所述溯源标识的矢量图保存至客户端。

第二方面,本发明公开了一种矢量图水印嵌入系统,包括以下技术特征,

一种矢量图水印嵌入系统,所述嵌入系统包括:

特征提取模块,用于提取所述待检索位图的特征信息;

计算检索模块,用于根据所述待检索位图的特征信息以及已有的特征信息计算检索出目标矢量图;

标识匹配模块,用于获取用户登录信息,并根据所述用户登录信息匹配溯源标识;

标识嵌入模块,用于将所述溯源标识嵌入目标矢量图的标注区域,转换成数据流。

更进一步的,所述嵌入系统还包括特征库,所述特征库用于存储所述特征提取模块提取的所述位图的特征信息。

更进一步的,所述嵌入系统还包括数据保存模块,用于将带有所述溯源标识的矢量图保存至客户端。

第三方面,本发明公开了一种矢量图水印溯源方法,包括以下技术特征,

一种矢量图水印溯源方法,包括以下步骤:

获取目标位图和待检索图像的特征信息;

对比所述目标位图和所述待检索图像的特征信息,从所述目标位图中筛选出与待检索图像相关的多个目标图像;

根据位图和矢量图的特征差异,对所述目标图像进行排序;

计算出所述目标图像的角度变化并沿正方向对所述角度变化进行排序;

根据所述角度变化的排序获取有序编码并根据所述编码提取用户信息,实现溯源。

更进一步的,在根据位图和所述矢量图的特征差异,对所述目标位图进行排序之后,对所述目标图像进行图像矫正。

更进一步的,对所述目标图像进行排序具体包括:

根据所述待检索图像对每个所述目标图像分别进行哈希编码;

根据所述哈希编码的结果对所述目标图像通过汉明距离进行相关度排序。

第四方面,本发明公开了一种矢量图水印溯源系统,包括以下技术特征,

一种矢量图水印溯源系统,所述溯源系统包括:

特征获取单元,用于获取目标位图和待检索图像的特征信息;

对比筛选单元,用于对比所述目标位图和所述待检索图像的特征信息,并从目标位图中筛选出与待检索图像相关的多个目标图像;

图像排序单元,用于根据位图和矢量图的特征差异,对所述目标图像进行排序;

特征计算单元,用于计算出所述目标图像的角度变化并沿正方向对所述角度变化进行排序;

编码提取单元,用于根据所述角度变化的排序获取有序编码并根据所述编码提取用户信息,实现溯源。

更进一步的,所述溯源系统还包括图像矫正单元,所述图像矫正单元用于对所述目标图像进行图像矫正。

更进一步的,所述图像排序单元包括哈希编码子单元和汉明排序子单元,所述哈希编码子单元用于根据所述待检索图像对每个所述目标图像分别进行哈希编码;所述汉明排序子单元用于根据所述哈希编码的结果对所述目标图像通过汉明距离进行相关度排序。

本发明具有如下的优点,

可以将下载用户的信息对应的溯源标识借助矢量图的尺度不变特征嵌入矢量图中,并且可以利用矢量图检索模块进行溯源。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请实施例的水印嵌入和下载过程示意图;

图2示出了本申请实施例的溯源过程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请公开了一种矢量图水印嵌入系统,包括特征提取模块、计算检索模块、特征库、标识匹配模块、标识嵌入模块和数据保存模块。

此外嵌入系统还是通过windows通信框架来提供服务的,其主要的功能如下:

1、服务端使用servicecontroller组件创建windows服务;

2、创建服务端程序(宿主windowsforms);

3、创建服务协定(servicecontract)与实现服务协定(operationcontract);

4、配置和承载服务:为服务建立servicehost对象(确保端口不冲突)并指定要寄存的服务类和服务基地址;公开终结点;启用元数据交换,建立一个服务元数据行为对象;最后,启动/关闭宿主,开始/结束服务;

5、创建和使用客户端(windows窗体及控件);

6、为客户端添加指向服务基地址的服务引用以下载元数据;客户端使用代理类调用服务操作(客户登录、文件流上传/下载、特征提取等)。

本申请实施例还公开了一种矢量图水印嵌入方法,结合上述的矢量图水印嵌入系统,参照图1对矢量图水印嵌入方法进行介绍。

本嵌入方法包括有以下步骤:

步骤一,获取矢量图并根据矢量图生成与矢量图对应的位图。

在本实施例中客户端通过批量解析矢量图的visio文件中的group部件,来生成相互关联并对应的矢量图和位图。

其具体包括如下的步骤:

1、安装sdk;

2、调用visio的程序(microsoft.office.interop.visio.invisibleapp.documents.open(文件目录))打开一个visio文件,利用type.gettypefromprogid可避免调用系统软件过程中的闪屏现象;

3、获取shape对象(visio.document.pages[1].shapes[i]),以名称删除非感兴趣对象、以shape大小移除作图时间较少的shape对象等筛除操作;

4、将筛除后的所有感兴趣shape对象保存为一个visio文件(矢量图)和png文件(位图)。

步骤二、通过文件组合模块将矢量图和位图进行组合并生成带有标识信息的多个文件流;

上述的解析后的文件流带有的标识信息为guid信息,文件流通过通信框架进入到服务器进入到服务器中,以字节数据形式(zip)存储在服务端数据库(sqlserver)中。

每一份文件流(vector_package)属性均包含:文件信息(fileinfo:id、name、size等)以及解析后的一个visio文件(矢量图)和png文件(位图)转换的字节信息,使用streamutil来拷贝文件流(vector_package),然后利用服务协定(operationcontract)上传至服务器,按照逆过程将文件流转换成数据并添加至sqlserver。也即,客户端将visio文件和png文件转换成字节数组,然后转换成文件流传入服务器,在服务器端逆过程(文件流转换成字节数组),将字节数组添加至数据库。

步骤三,客户端上传截图,特征提取模块提取待检索位图的特征信息;

特征提取模块用于进行特征提取的工作,通过服务端来完成。提取待检索位图的特征信息之后将特征信息存入到特征库。位图的特征获取卷积神经网络(python)获取特征信息,特征库采用新建的h5py特征库或者已有的h5py特征库。

步骤四、计算检索模块根据待检索位图的特征信息以及已有的特征信息计算检索出目标矢量图;

上述的已有的特征信息为特征库中已有的特征信息,计算检索的过程通过服务端完成,通过计算检索的过程得到了数据库的目标矢量图,等待进行后续的标识嵌入工作。

步骤五,在用户执行下载时,标识匹配模块获取用户登录信息,并根据用户登录信息匹配溯源标识;

用户登录信息的获取同样通过服务端来完成,用户在执行下载时,可以获取客户特有的用户登录信息,标识匹配系统在获取用户登录信息的同时,获取溯源标识,溯源标识和用户登录信息相对应,还用于进行溯源标识的分配。

步骤六,标识嵌入模块将所述溯源标识嵌入目标矢量图的标注区域,转换成数据流,之后,含有溯源标识的矢量图保存至客户端。

溯源标识嵌入到矢量图在服务端完成,在进行溯源标识嵌入时,需要依据质心为原点的极坐标角度不变特征。

用户的登录信息对应一种服务器随机分配的溯源标识,由于矢量图(标注区域)是具有坐标信息的,所以需要将坐标信息转换成极坐标信息,在下载时从质心垂直上方开始按极坐标信息逆时针(正方向)排序标注区域,按序依次嵌入。

在将溯源标识嵌入到矢量图的标识区域之后,完成了对矢量图的水印嵌入,并且可以下载到客户端。

本申请实施例还公开了一种矢量图水印的溯源系统,溯源系统包括有特征获取单元、对比筛选单元、图像排序单元、图像矫正单元、特征计算单元和编码提取单元,图像排序单元还包括哈希编码子单元和汉明排序子单元。

本申请同时还公开了一种矢量图水印的溯源方法,请参照图2,结合图2和矢量图水印的溯源系统,对上述的溯源方法进行描述。

溯源方法包括以下步骤:

步骤一、特征获取单元获取目标位图和待检索图像的特征信息。

在获取特征信息前,使用者先通过客户端进行截图,通过前处理来得到目标位图。

一般情况下,通过截图获取待处理图像,截图后,感兴趣区域所占图像过小、噪声过多,通过前处理将感兴趣区域适度占满整个图像区域,并且适当擦除过多的噪声。同上文的记载相同,位图的特征获取卷积神经网络(python)获取特征信息。

步骤二、对比筛选单元,对比目标位图和待检索图像的特征信息,并从目标位图中筛选出与待检索图像相关的多个目标图像。

其中,在对比目标位图和待检索图像的特征信息的步骤中,具体为:基于余弦距离对所述待检索图像的特征信息和所述特征库内的特征信息进行计算,从目标位图中初步筛选出与所述待检索图像相关的多个目标图像。

步骤三、图像排序单元根据位图和矢量图的特征差异,对目标图像进行相关度的排序,选取一张目标图像进行溯源,并且矢量图会传送给客户端。

矢量图与位图的特征差异包括线条粗细、位置偏移、噪声、缩放中的一项或多项差异信息。

其中,基于待检索图像,通过哈希编码子单元对每个目标图像分别进行哈希编码,包括:缩小图片尺寸、将其化为灰度图、计算灰度均值、计算差异值得到二值图、将二值图转换成哈希值指纹。

基于哈希编码结果通过汉明排序子单元对目标图像的top100通过汉明距离进行相关度排序。

步骤四、在目标图像排序之后,图像矫正单元会对目标图像以及待检索图像进行图像矫正,得到结果更加准确的图像。

步骤五、特征计算单元计算出目标图像的角度变化并沿正方向对角度变化进行排序。

计算过程的依据是基于质心为原点的极坐标系以及标注区域的相同特征点。

上述过程的具体计算过程包括:

1.对图像做不同尺度的高斯模糊(高斯金字塔)

l(x,y,δ)=g(x,y,δ)*i(x,y)

g(x,y,δ)是变化尺度的高斯函数δ

i(x,y)是原图像。

2.对图像做降采样(隔点采样)

其中

m、n为原图像大小,t为最后一层图像的最小维数的对数值。

3.使用高斯金子塔每组中相邻上下两层图像相减,得到高斯差分图像。

4.寻找dog函数的极值点

dog函数:

g(x,y,kδ)-g(x,y,δ)

5.通过

保留关键点;

其中:

tr(h)=dxx+dyy=α+β

det(h)=dxxdyy-(dxy)2=αβ

h的特征值αβ代表x和y方向的梯度。

6.对于在dog金字塔中检测出的关键点,采集其所在高斯金字塔图像3δ邻域窗口内像素的梯度和方向分布特征。

7.用一组含有位置、尺度以及方向信息的向量将这个关键点描述出来

8.从样本集中随机抽选一个含4个匹配点对的样本。

9.根据这4个匹配点对计算变换矩阵m。

10.根据样本集,变换矩阵m,和误差度量函数计算满足当前变换矩阵的一致集。

11.更新当前错误概率p,若p大于允许的最小错误概率则重复(9)至(10)继续迭代,直到当前错误概率p小于最小错误概率。

12.选取4个特征点,透视变换,将目标位图变换与检索图像一致大小方向。

13.获取两图质心建立极坐标系,获取每一对标注区域众多相同特征,计算角度均差,按照嵌入逆过程计算得到溯源标识。

步骤六、编码提取单元根据上述过程中得到的角度变化的排序,来获取有序编码并根据此编码提取用户信息,在得到所需的用户信息之后,实现了根据位图得到所需用户信息的溯源过程。

需要说明的是,本说明书所述的步骤一、步骤二、步骤三等为便于阅读,并不表示执行步骤一后必须执行步骤二,并不排除步骤一和步骤二之间执行有其他步骤。

以上所述仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案的范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1