一种用于文档信息隐藏的矢量字体生成方法

文档序号:33712047发布日期:2023-04-01 00:18阅读:48来源:国知局
一种用于文档信息隐藏的矢量字体生成方法

1.本发明涉及文档信息处理技术领域,尤其涉及一种用于文档信息隐藏的矢量字体生成方法。


背景技术:

2.文档是我们日常生活中使用最广泛的媒体之一,通过阅读文档,我们可以有效地获取有用的信息。同时在文档中隐藏更多的信息,可以实现大规模的实际商业应用。例如在文档中嵌入超链接,可以通过手机扫描将更多更丰富的信息推送给读者;嵌入隐形的水印可以帮助保护文档所有者的知识产权;嵌入身份辨识信息(如员工号)可以帮助政府机关、军队以及企业追溯机密文件的泄密者。由于图像的冗余特性,自然图像中的信息隐藏技术已经得到了很广泛的研究,主要是基于像素级别的修改。但是与自然图像相比,文档图像只有简单的文本结构和背景,缺乏复杂的纹理和颜色,这使得隐蔽地在文档中嵌入信息更具挑战性。
3.由于字体矢量的非结构化特征,它比字体图像更难合成,现有的方法主要是雇佣人类设计师手工设计字体,费时费力;此外由于字体在语言和风格上的多样性,人工设计的修改方案不能推广到不同的字体。并且在实践中,由于文档文件在传输过程中会经历各种失真,因此确保失真下的可提取性也是一个重要的要求。因此,本领域对矢量字体生成提出了三个要求:自动性、通用性和鲁棒性。然而现有的方法都不能很好地同时满足这些要求。


技术实现要素:

4.本发明的目的是提供一种用于文档信息隐藏的矢量字体生成方法,该方法能极大程度减少字体设计的人工代价,并在真实场景中保证更高的溯源成功率和取证成功率,生成的字体可以用来在文档中嵌入对截屏、打印拍摄、打印扫描、屏幕拍摄等过程失真鲁棒的秘密信息。
5.本发明的目的是通过以下技术方案实现的:一种用于文档信息隐藏的矢量字体生成方法,所述方法包括:步骤1、通过训练基于图像载体的编码器-解码器,对原始字体图像进行隐形编码,使其携带不同的比特信息;步骤2、在步骤1的训练过程中引入噪声层,与编码器和解码器一起工作,用于模拟日常文档使用场景中的失真;步骤3、在训练完成后,使用可微分渲染器来建立编码后字体图像和原始矢量字体之间的联系;步骤4、通过优化算法将编码后字体图像中的信息传递到相应的矢量字体上,得到经过编码的矢量字体;步骤5、利用经过编码的矢量字体来替换文档中的原始字体,在文档中嵌入不可见信息,该信息在文档经过各种失真后仍然能够被正确提取。
6.由上述本发明提供的技术方案可以看出,上述方法能极大程度减少字体设计的人工代价,并在真实场景中保证更高的溯源成功率和取证成功率,生成的字体可以用来在文档中嵌入对截屏、打印拍摄、打印扫描、屏幕拍摄等过程失真鲁棒的秘密信息,在常见的文档泄密场景中能够对泄密内容进行取证和溯源,以达到对军、政、企业、私人文档内容的保护目的。
附图说明
7.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
8.图1为本发明实施例提供的用于文档信息隐藏的矢量字体生成方法流程示意图。
9.图2为本发明实施例所生成的部分字体结果展示图。
具体实施方式
10.下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,这并不构成对本发明的限制。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
11.如图1所示为本发明实施例提供的用于文档信息隐藏的矢量字体生成方法流程示意图,所述方法包括:步骤1、通过训练基于图像载体的编码器-解码器,对原始字体图像进行隐形编码,使其携带不同的比特信息;在该步骤中,编码器的输入包括一个原始字体图像和多比特待编码信息;编码器的输出是被编码的有比特信息的字体图像,具体来说:编码器被训练在每个原始字体图像上编码比特信息,同时最小化原始字体图像和编码后字体图像之间的感知差异;它首先对输入的原始字体图像应用卷积来形成中间表示;然后将待编码比特消息复制到与输入图像相同的形状,并与中间表示连接;经过几次后续卷积后,编码器产生编码后的字体图像;同时为了保证视觉质量,引入基本损失函数,用于计算原始字体图像和编码后字体图像之间的均方误差,表示为:为了更好地保留字体图像在特征层面的细节,引入图像感知损失,即通过计算vgg网络不同层的特征距离,用表示;除此之外,还引入对抗损失来进一步提高视觉质量;具体来说,通过训练一个辨别器,用于分辨出编码器输出的图像和原始图像;与此同时,编码器生成以假乱真的图
像,让辨别器无法正确分辨,两者形成不断对抗的训练方式,从而提高生成的字体图像的视觉质量;解码器用于从编码后的字体图像中提取出携带的比特信息。
12.步骤2、在步骤1的训练过程中引入噪声层,与编码器和解码器一起工作,用于模拟日常文档使用场景中的失真;在该步骤中,引入可微分噪声来在编码器和解码器之间模拟物理打印和显示文档所引起的失真,通过分析真实文档使用场景,引入的噪声层包括:平移:对字形区域进行随机平移;缩放:对字形区域的长和宽进行随机比例(范围在0.5到1.5之间,根据不同场景需求可以适当修改)的拉伸和缩窄;旋转:对字形区域进行随机角度(范围在-10
°
到10
°
之间,根据不同场景需求可以适当修改)的旋转;透视变换:在固定范围内(
±
4像素,根据不同场景需求可以适当修改)随机扰动图像四个角的位置;模糊:使用常见的运动模糊函数(blur)对图像模拟出模糊效果;高斯噪声:我们使用高斯噪声模型来模拟图像噪声(标准差σ从[0,0.02]随机采样);色彩修改:随机对输入图像进行颜色变换,即亮度和对比度修改;经过编码器编码后的字体图像在被送入解码器之前将通过所引入的噪声层。
[0013]
上述噪声层的引用可以保证对低分辨率截图、打印和相机拍摄失真的鲁棒性。
[0014]
步骤3、在训练完成后,使用可微分渲染器来建立编码后字体图像和原始矢量字体之间的联系;在该步骤中,使用可微分渲染器将矢量绘图命令(包括坐标类型和坐标值等离散非结构化数据)渲染为指定大小的对应字体图像;可微分渲染器是将输入的原始矢量字体的绘制指令以可微分的形式渲染为2d图像(光栅化)的渲染器,使用c表示绘制指令的原始坐标值;可微分渲染器输出绘制指令对应的字体渲染图像;然后渲染出的字体图像同样会被噪声层扭曲,产生一个带噪声的字体渲染图像;解码器从中提取对应长度的比特信息。
[0015]
步骤4、通过优化算法将编码后字体图像中的信息传递到相应的矢量字体上,得到经过编码的矢量字体。
[0016]
在该步骤中,具体优化算法如下:1)首先将绘图指令的原始坐标值c设置为待优化的参数,使用可微分渲染器将原始坐标值c对应的矢量指令渲染为字体渲染图像,将经过噪声层,得到失真后的字体渲染图像;2)将失真后的字体渲染图像输入到解码器中提取消息,得到提取出的信息;3)计算与原始嵌入的消息之间的距离,用表示;
4)计算字体渲染图像和编码后的字体图像之间的距离,用表示;5)利用和产生的梯度优化调整坐标值,得到优化后的坐标值;6)迭代上述过程,直到渲染出的图像携带与编码后的字体图像相同的消息;然后利用含有优化后的坐标值的编码后的绘图指令直接构建携带比特信息的矢量字体,使编码后的字体图像上携带的不可见的、鲁棒的信息传递到矢量字体上,得到经过编码的矢量字体。
[0017]
步骤5、利用经过编码的矢量字体来替换文档中的原始字体,在文档中嵌入不可见信息,该信息在文档经过各种失真后仍然能够被正确提取。
[0018]
在该步骤中,在得到经过编码的矢量字体之后,通过替换文档中的原始字体,在文档中嵌入鲁棒水印来保证文档的可追溯性,使用于嵌入信息的字体能够被自动生成,并且用这些字体嵌入的水印抵抗常见的文档传输过程。具体实现中,即使文档内容被截屏、打印拍照、扫描、屏幕拍照等过程传播,也可以使用被保留的水印信息来进行溯源,以此来保护文档所有者的版权和隐私。
[0019]
为了说明本发明实施例所述方法的技术效果,下面通过实验进行说明:1、针对生成字体的视觉质量的评估。
[0020]
使用了psnr和ssim两种具有代表性的视觉质量评估指标,目的是评估本发明实施例生成字体的视觉质量,如表1所示。
[0021]
表1在fod场景下的人脸伪造检测准确率实验结果表明本发明方法生成的字体具有较高的视觉质量,如图2所示为本发明实施例所生成的部分字体结果展示图。
[0022]
2、针对截屏过程失真的鲁棒性的评估。
[0023]
在针对截屏失真的鲁棒性的评估中,首先在pdf文件中打印所有编码的字形,并以不同的分辨率(即字体大小)进行屏幕截图。然后,计算提取信息的平均提取准确率(acc)。如表2所示。
[0024]
表2在截屏场景下的平均提取准确率(%)
可知,本技术在英文字体上获得了比中文字体更好的鲁棒性。而且在大多数情况下,获得了90%以上的成功提取,这比基线方法(qi)有很大的优势。注意,本技术使基线方法对字体的修改量与本发明方法对齐,即使在字体大小为16px的情况下,acc大于80%仍然是有保证的。这意味着,即使在非常低的分辨率下,本技术仍然可以通过使用像bch这样的纠错码来实现正确的信息提取。
[0025]
3、针对打印拍照过程失真的鲁棒性的评估。
[0026]
在针对打印拍照失真的鲁棒性的评估中,将上述文档打印并拍照,然后计算提取信息的平均提取准确率(acc),如表3所示。
[0027]
表3在打印拍照场景下的平均提取准确率(%)当字体大于20px时,本技术仍然可以达到90%以上的提取精度。
[0028]
4、针对屏幕拍照过程失真的鲁棒性的评估。
[0029]
在针对屏幕拍照失真的鲁棒性的评估中,将上述文档用不同显示器显示,并用不同手机进行拍摄;然后计算提取信息的平均提取准确率(acc),如表4所示。
[0030]
表4在屏幕拍照场景下的平均提取准确率(%)
在这种严重的噪声下,本技术仍然具有较好的效果。
[0031]
以上实验结果表明:本发明实施例所述方法可以自动合成高质量的矢量字体,并用字体在文档中嵌入信息以保护文档,比起现有方法能达到更高的提取准确率。
[0032]
值得注意的是,本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
[0033]
另外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0034]
综上所述,本发明实施例所述方法与传统文档泄密溯源方法相比,可以自动地生成任意给定矢量字体,并用生成的矢量字体嵌入秘密信息,全过程不需要人类字体设计师的参与,并且对打印-拍摄、屏幕-拍摄等常见文档泄密过程产生的失真具有鲁棒性。
[0035]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。本文背景技术部分公开的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1