掌桥专利:专业的专利平台
掌桥专利
首页

一种基于汉字特征修改和分组的鲁棒文本水印方法

文献发布时间:2023-06-19 18:30:43


一种基于汉字特征修改和分组的鲁棒文本水印方法

技术领域

本发明属于文本内容保护技术领域,涉及分组算法和数字水印方法,具体涉及一种基于汉字特征修改和分组的鲁棒文本水印方法。

背景技术

在信息数字化背景下,多媒体信息在人们的工作生活中得到广泛的应用,虽然极大的提升了信息处理和传播的效率,却也带来了信息泄露和非法传播的安全问题。数字水印技术为解决多媒体信息的安全传播问题提供了一种有效途径。目前针对图像、视频和音频的数字水印技术已经相对成熟,因为这类数字信息中都有大量的冗余信息来嵌入水印信息。但是,文本文档的冗余信息则相对较少,因此如何有效地在文档信息中添加数字水印是相对较困难的。

在日常生活中,许多重要文本文档还时常通过打印、扫描的方式,以纸质载体的形式进行传输。在一些敏感部门,机密文档很可能通过打印和扫描的方式泄露。此外,随着智能手机的广泛普及,泄密者甚至只需要使用手机对纸质文档进行拍照或是对显示屏幕进行拍摄,便可以轻易避开监控系统日志的追踪,从而将文本信息泄露出去。由于屏幕拍摄过程的复杂性和屏幕显示内容的不确定性,文本文档的泄密溯源和内容认证工作变得极其困难。

传统的文本水印技术能够有效解决文本文档的纸质传播问题,但却无法有效解决屏幕显示信息的泄露威胁。由于传统的文本水印技术通常只适用于具有固定格式的文本文件,并且具有鲁棒性差的缺陷,因此出现了基于字库生成的文本水印方法。这类方法通常是修改字库中字体的几何特征来产生人眼几乎难以察觉的变形或扰动,利用不同的变形或扰动来编码不同的水印信息,并生成含水印的字库文件。将字库文件静态或动态地替换原系统字库文件来实现水印信息嵌入工作。目前通过修改字符生成字库的方法主要分为两种,手动修改字体几何特征的方法和基于深度学习的字形扰动生成方法。

现有的基于字库生成的文本水印方法,虽然能够较好地解决文本文档在终端屏幕显示和打印输出为纸质文档时的泄密溯源问题,但是也仍然存在着以下问题:

1)由于中文汉字数量众多且书写样式复杂不一,同时为了保证方法的水印容量和适应范围,生成一款中文字体往往需要设计至少六千多字,甚至能达到一万字;同时,字体的手动设计和修改操作以及深度学习模型的推理和调优,这些都需要大量的专业知识,这显然将耗费大量的人力物力。若能够在不影响方法水印容量和适用范围的前提下,减少字体所需设计和修改的数量,那么这类方法的工作难度将大大减轻。

2)方法鲁棒性较低。在基于字库生成的文本水印方法中,提取水印的常用做法是对含水印的文本图像进行字符切割,然后对分割得到的字符与模板字符进行图像匹配来得到水印信息。然而拍照的过程中会引入更多的失真和干扰,很容易造成文档图像中字体的形变和扭曲,而拍摄屏幕照片还会产生十分常见的摩尔纹现象,从而影响水印的提取准确率。而目前多数方法需要连续嵌入信息量较大的水印序列,在水印提取过程中,因为噪声干扰而导致少数汉字提取水印失败,那么就很可能影响整个水印序列的提取。因此,需要一种改进方法来提升这类方法的鲁棒性。

为此,本发明提供了一种基于汉字特征修改和分组的鲁棒文本水印方法,在减轻字库生成工作难度的同时,能够有效提升方法的鲁棒性,不仅可以解决文本打印输出的溯源追踪问题,还能解决屏幕浏览流式文档内容时的防泄密问题。

发明内容

本发明提供一种基于汉字特征修改和分组的鲁棒文本水印方法,用于解决现有技术中存在的字库生成工作复杂、难度大以及鲁棒性低的问题,在保证方法的水印容量和适应范围的前提下,进一步地提升了方法的水印提取准确率以及方法的鲁棒性,解决了文本内容认证问题和屏幕显示的泄密溯源问题。

本发明提供一种基于汉字特征修改和分组的鲁棒文本水印方法,其特征在于,包括水印嵌入过程和水印提取过程;

所述水印嵌入过程具体步骤包括:

(1)将水印信息转换为二进制序列,并将该序列均匀切分成二进制位串;

(2)统计中文文本语料库中的汉字和词语以及它们的出现频率,根据统计频率特征,结合汉字相关性特征的分组算法,将统计的高频常用汉字划分为长度与二进制序列切分后长度相同的分组;

(3)基于汉字字符的结构特征,通过字体工具修改高频常用汉字字符中笔画的位移特征来生成多种不同的变体字形,每种变体字形使用不同的二进制位串进行编码,用来承载不同的水印信息;

(4)建立分组、汉字、二进制位串和变体字形之间相互映射的分组索引表;

(5)根据切分的二进制位串,在分组索引表中依次选择分组内高频汉字的一种变体字形,将所有变体字形与其余非高频常用汉字的未变体字形进行融合,生成字库类型文件并安装到终端,实现水印的嵌入;

所述水印提取过程具体步骤包括:

(6)获取跨媒介传输后的含水印文本图像,通过OCR技术识别出水印文本图像中的每一个汉字,利用字符图像分割方法,提取出所有被识别汉字对应的字符图像;

(7)对于每一个汉字及其对应的字符图像,根据索引表判断该汉字是否在索引表中,即判断该汉字是否为高频常用汉字,若是高频常用汉字,则采用图像匹配方法将切分的字符图像与该汉字对应的多个变体字形进行匹配相似度计算,并提取出相似度最高的变体字形所承载的水印位串;

(8)依据索引表将提取的水印位串归类到相应的分组内,采用投票策略对分组内的水印位串进行纠错,从而提取出正确的水印序列,完成水印信息的提取。

作为优先方案,所述步骤(1)中将水印信息转换为二进制序列,根据二进制序列的长度,将二进制序列均匀切分成长度为2

作为优先方案,步骤(2)包括:

采用字词频率统计工具对中文文本语料库中所有汉字和词语以及它们出现的频率进行统计,获取并记录出现频率高于设定阈值的汉字和二字词语,及它们的出现频率特征;

依据统计的汉字出现频率特征,对常用高频汉字进行初次简单分组,分组的长度与二进制序列切分后的长度相同;

基于汉字简单分组,利用统计的二字词语及其出现频率特征,采用汉字相关性特征的分组算法进行二次精确分组。

作为优先方案,汉字相关性特征的分组算法具体实现包括:

在初次简单分组后,依次计算每一分组内任意两个汉字之间的点互信息值,并以点互信息值来判断汉字之间的相关性;根据每一分组内汉字的相关性大小,依次对每一个汉字进行二次精确分组:如果分组内的两个汉字的相关性高于设定阈值,则将频率较小的汉字从原分组中取出,然后将该汉字添加到其余分组中累计频率最小的那一分组;由此循环迭代多次,直到所有分组中每一分组内的汉字两两之间都不相关,即视为完成精确分组。

作为优先方案,步骤(3)中根据步骤(1)所切分的二进制位串长度,通过字体修改工具手动将高频常用汉字进行多种不同的笔画特征修改操作,从而产生多种互不相同的变体字形,其中每一种变体字形使用与二进制位串长度相同的二进制数进行编码,不同的变体字形承载不同的水印信息。

作为优先方案,步骤(4)建立一种逻辑上的索引表,该索引表中记录了分组、汉字、二进制位串以及变体字形之间的相互映射关系,通过该索引表能够快速地寻找到各表项之间的联系,将用于简化水印信息的嵌入和提取流程。

作为优先方案,步骤(5)具体实现如下:依次根据切分后的二进制水印信息位串,在索引表的每一个分组中,选择每一个汉字被该位串所编码的变体字形,将所有变体字形与其余非高频常用汉字的未变体字形进行融合,通过字体工具生成字库类型的文件,将生成的字库文件安装到计算机终端,经由该计算机终端所输出的文本内容都将含有水印信息,从而完成水印的嵌入流程。

作为优先方案,步骤(6)包括:

获取跨媒介传输后的含水印文本图像,即在安装有含水印字库的计算机终端,文本文件通过打印或显示输出时,通过截屏或拍照设备将其转换为图像数据;

通过OCR技术识别水印文本图像中的汉字,采用字符图像分割方法,从文本图像中依次切分出所有被识别的汉字及其所对应的字符图像块。

作为优先方案,步骤(7)中具体实现如下:依次遍历每一个被识别的汉字,在索引表中查找其是否属于高频常用汉字,将其切分的字符图像与变体字形进行图像匹配,提取出匹配变体字形所承载的水印位串。

作为优先方案,步骤(8)中采用投票策略对分组内的水印位串进行纠错,即在索引表中的每一个分组内,将出现次数最多的二进制位串作为提取正确的水印信息位串,从而获得正确的二进制水印序列。

本发明有益效果如下:

由于本发明中,统计了中文汉字和词语的使用频率,在生成含水印变形字库时,选取的是高频常用汉字进行字符修改。而根据统计的结果,出现频率高的前一千个汉字的累计出现频率为91.40%,而一千五百字的累计出现频率达到96.50%,三千五百字的累计出现频率便能够达到99.90%。因此,仅仅修改高频常用汉字来生成含水印变形字库,完全能够满足日常适用范围,可以减轻字符修改和生成的工作复杂度和难度。

由于本发明中,提供了一种基于汉字之间相关性特征的分组算法,使得各分组内的汉字尽可能独立不相关。在嵌入水印时,能够实现水印信息尽可能地离散均匀分布在不同的汉字中,例如不会出现高频词“我们”中,两个汉字嵌入的是相同的水印信息。使用分组算法不仅能够增加水印的相对容量,在文本内容较少或有限时也能够实现较高的水印嵌入率和提取率。

由于本发明中,在水印提取时采用了索引表查找机制和投票纠错策略,一方面能够大大提高水印的嵌入和提取效率;另一方面,通过纠错策略能够轻易排除在字符图像分割和匹配时发生的错误,从而提高水印的提取准确率。分组和纠错这样的联合机制,能够保证水印方法的鲁棒性,实现在泄密图像内容被部分破环或图像不完整的情况下也能成功提取出水印信息。

附图说明

图1为本发明水印信息嵌入过程的一种流程图;

图2为本发明字符特征修改示意图;

图3为本发明汉字分组索引表的一种示意图;

图4为本发明水印信息提取过程的一种流程图;

图5为本发明一种基于汉字相关性分组方法的有效性测试结果图;

图6(a)为原含水印文本图像;

图6(b)为含水印文本图像内容被恶意破坏;

图6(c)为含水印文本图像内容部分缺失;

图7为实施例中的不同字体大小文本文件打印输出为纸质文档时,在不同角度下的拍照测试效果;

图8为实施例中的屏幕浏览流式文件时不同字体大小和角度下的拍照测试效果。

具体实施方式

下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,可以理解的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在每一做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,是一种基于汉字特征修改和分组的鲁棒文本水印方法的水印嵌入流程图,包括以下步骤:

步骤S101,将水印信息转换为二进制序列,并进行均匀切分。即将待嵌入的水印信息转换为二进制01比特序列,并将序列均匀切分成二进制位串。

具体地,在本发明实例中,将水印信息转换成长度是32比特的二进制序列,并对该序列以每2位一组进行切分,从而获得16组二进制位串。

步骤S102,统计汉字和词语频率特征,采用基于汉字相关性特征分组算法,对高频常用汉字进行分组。

具体地,采用字词频率统计工具对THUCNews中文语料数据集进行处理,统计语料库中所有汉字和词语以及它们所出现的次数和频率。选取统计结果中出现频率较高的一千个汉字作为高频常用汉字,以及一千个出现频率高的二字词语作为高频常用词语,并保留它们对应的出现频率;

利用基于汉字之间相关性特征的分组算法,将一千个高频常用汉字划分为与水印序列切分等长的16组;

首先,依据频率特征将汉字进行初次简单分组。将高频常用汉字按照其出现频率由大到小进行排序,对于前16个汉字依次划分到16个汉字分组中,并记录每个分组中汉字的累计频率;其余汉字则依次将其添加到累计频率最小的分组中;这样的做法是为了使得16个分组中每一组的字符累计频率能够尽可能的平均。

在完成汉字简单分组的基础上,进行二次精确分组。利用统计的二字词语及其频率特征,依次计算每一分组中任意两个汉字之间的点互信息值,以点互信息值的大小来判断汉字之间的相关性。根据每一分组中汉字的相关性大小,对汉字的简单分组进行二次精确分组,使得每一分组内的汉字两两之间都尽可能互不相关。

点互信息通常用于度量事物之间的相关性,而在自然语言处理的文本分析领域中,可用其计算词语间的语义相似度。点互信息值的基本思想是统计两个词语在文本中同时出现的概率,如果概率越大,其相关性就越大,关联度就越高。借鉴该思想将其用于计算汉字之间的相关性,其计算公式如下:

其中,p(x),p(y)分别是汉字x和y的使用频率,p(x,y)则是汉字x和y组词后的使用频率,如果汉字x和y无法组词,则p(x,y)=0。如果x跟y相关性越大,PMI(x,y)的值就越大,反之则PMI(x,y)值就越小。如果两者不相关,则PMI(x,y)就等于0。

如果分组内的两个汉字的相关性高于设定阈值,则将频率较小的汉字从原分组中取出,然后将该汉字添加到其余分组中累计频率最小的那一分组。由此循环迭代多次,直到16个分组中每一分组内的汉字两两之间都不相关,即视为完成精确分组。

步骤S103,基于汉字字符的结构特征,修改字符中笔画的位移特征来生成变体字形,使用二进制位串进行编码以承载水印信息。

具体地,由于切分的水印位串长度为2位,因此采用字体修改工具手动将一千个高频常用汉字进行四种不同的笔画特征修改操作,从而产生汉字对应的四种互不相同的变体字形。其中,每一种变体字形使用两位的二进制位串对其进行编码,因此四种变体字形分别可以承载“00”、“01”、“10”、“11”四种不同的2位水印信息位串,由此建立变体字形与水印信息之间的关系。如图2所示,将“学”字的笔画分别修改其不同的位移量,从而产生四种变形字符,并使用二进制位串对其进行编码。

步骤S104,建立分组、汉字、二进制位串以及变形字符之间的索引表。

具体地,如图3所示,建立一种逻辑上的索引表,表中记录了分组、汉字、二进制位串以及变形字符之间的映射关系,通过该索引表能够快速地寻找到各表项之间的联系,简化后续过程中水印信息的嵌入和提取流程。

步骤S105,依据切分的水印位串选择变体字形,与未变体字形融合生成字库文件,将字库文件进行按照实现水印嵌入。

具体地,依次根据每一组2位的二进制水印位串,在索引表中获取到每一分组内,汉字在该二进制位串编码下的变体字形,生成高频汉字的变体字形集合;将生成的变体字形集合与其余的非高频常用汉字的未变形字符进行融合,通过字体工具生成字库类型的文件。将生成的字库文件安装到计算机终端,由该计算机终端输出的文本文件都将含有水印信息,从而实现水印的流式嵌入。

本发明实施例的水印信息提取流程图如图4所示:

步骤S401,获取含水印文本的屏幕截图或拍照并进行预处理,采用OCR技术识别图像中的汉字,通过字符分割方法提取出所有被识别汉字的字符图像。

具体地,在安装有含水印字库文件的计算机终端,通过对打印输出文档进行拍照或是对屏幕正在动态浏览的流式文本内容进行截图或拍照,获取含水印信息的文本图像。将图像进行裁剪、缩放、仿射变换、亮度均衡、清晰化等预处理操作,并将其转换为白底黑字图像,尽可能使文本图像中的字符内容清晰可识别。

采用OCR技术识别出白底黑字图像中的每一个字符,并获取到每一个字符在图像上的位置坐标;采用图像投影法将白底黑字图像中的每一个字符分割成单个的白底黑字字符图像块,即先对图像进行水平投影获得文本内容的每一行,然后再对每一文本行进行垂直投影,从而分割得到每一个白底黑字的字符图像块。

步骤S202,依次查找被识别汉字中的高频常用汉字,采用图像匹配方法判断分割得到的汉字字符图像所属的变体字形,提取出其所承载的水印信息。

具体地,依次对识别到的汉字在索引表中进行查找,如果汉字不是高频常用汉字,则不会存在于索引表中且不存在变体字形,因此所分割得到的字符图像未含有水印信息,不对该字符图像进行任何操作;如果被识别汉字是高频常用汉字,则根据索引表找到该汉字所对应的四种不同变体字形,采用图像匹配方法分别计算分割的字符图像与四种变体字形的相似度,匹配出最相似的变形字符,根据索引表中该变体字形的二进制编码提取出变形字符所承载的二进制位串,即分割字符图像所包含的水印信息位串。

步骤S203,利用汉字分组索引表将分割字符中提取的水印信息位串归类到汉字对应分组中,采用投票策略对分组水印位串进行纠错,提取出正确的水印序列。

具体地,由于提取的每一水印信息分组内,可能因字符分割和图像匹配的失误从而产生错误的水印信息位串,导致每一分组中的水印信息位串可能不一致,因此采用投票策略进行纠错,即在每一水印信息分组中选择出现次数最多的2位作为最终提取正确的水印信息位串。最后将16组水印信息位串顺序拼接并转换为明文序列,完成水印信息的提取。依据该水印信息即可识别文本图像的泄密来源,从而定位到泄密终端。

在本实施例中,对本发明中分组算法的有效性进行了测试,如图5所示,相较于随机分组和简单分组,基于汉字相关性特征的精确分组在水印的提取准确率上有了很大的提升效果,而这种提升效果在文本内容较少时尤为明显。这表明当所获得的泄密图像中文本内容有限时,本发明依然能够较为准确的提取出嵌入的水印信息,解决泄密溯源问题。

在本实施例中,通过汉字分组算法和投票纠错策略来进行水印的嵌入和提取,能够增强本发明方法的鲁棒性,在面对泄密文本图像内容被部分恶意破坏或是内容部分缺失的情况,本发明依然能够保持提取水印信息进行文档源头的追踪溯源。例如图6(a)为原始的含水印屏幕截图,图6(b)为图6(a)中部分文本内容被恶意破坏,图6(c)为图6(a)中内容部分缺失,其中的水印信息依然能够正确提取。

在本实施例中,面对拍照时的复杂场景,本发明所采用的水印方法依然具有较强的鲁棒性。例如图7为本实施例中将含水印文本进行打印输出为纸质载体文件,其中的文本内容采用不同的字号大小显示,然后通过智能手机从不同的角度进行拍照,从而将其转换为含水印文本图像;图8为本实施例中使用手机从三个不同视角拍摄的屏幕显示照片,其中,屏幕当前正在浏览不同字体大小的流式文件。可以发现虽然拍摄的图像中都存在着不同程度的噪声、光影及摩尔纹的干扰,本发明实施例依然可以提取出其中的水印信息,表明本发明实施例具有较强的鲁棒性和有效性,能够实现高鲁棒性泄密溯源的需求。

以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。

相关技术
  • 一种基于汉字特征修改和分组的鲁棒文本水印方法
  • 一种鲁棒性的基于分组的数字水印方法
技术分类

06120115598762