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

技术编号:37125824 阅读:34 留言:0更新日期:2023-04-01 05:22
本发明专利技术公开了一种用于文档信息隐藏的矢量字体生成方法,通过训练基于图像载体的编码器

【技术实现步骤摘要】
一种用于文档信息隐藏的矢量字体生成方法


[0001]本专利技术涉及文档信息处理
,尤其涉及一种用于文档信息隐藏的矢量字体生成方法。

技术介绍

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

技术实现思路

[0004]本专利技术的目的是提供一种用于文档信息隐藏的矢量字体生成方法,该方法能极大程度减少字体设计的人工代价,并在真实场景中保证更高的溯源成功率和取证成功率,生成的字体可以用来在文档中嵌入对截屏、打印拍摄、打印扫描、屏幕拍摄等过程失真鲁棒的秘密信息。
[0005]本专利技术的目的是通过以下技术方案实现的:一种用于文档信息隐藏的矢量字体生成方法,所述方法包括:步骤1、通过训练基于图像载体的编码器

解码器,对原始字体图像进行隐形编码,使其携带不同的比特信息;步骤2、在步骤1的训练过程中引入噪声层,与编码器和解码器一起工作,用于模拟日常文档使用场景中的失真;步骤3、在训练完成后,使用可微分渲染器来建立编码后字体图像和原始矢量字体之间的联系;步骤4、通过优化算法将编码后字体图像中的信息传递到相应的矢量字体上,得到经过编码的矢量字体;步骤5、利用经过编码的矢量字体来替换文档中的原始字体,在文档中嵌入不可见信息,该信息在文档经过各种失真后仍然能够被正确提取。
[0006]由上述本专利技术提供的技术方案可以看出,上述方法能极大程度减少字体设计的人工代价,并在真实场景中保证更高的溯源成功率和取证成功率,生成的字体可以用来在文档中嵌入对截屏、打印拍摄、打印扫描、屏幕拍摄等过程失真鲁棒的秘密信息,在常见的文档泄密场景中能够对泄密内容进行取证和溯源,以达到对军、政、企业、私人文档内容的保护目的。
附图说明
[0007]为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
[0008]图1为本专利技术实施例提供的用于文档信息隐藏的矢量字体生成方法流程示意图。
[0009]图2为本专利技术实施例所生成的部分字体结果展示图。
具体实施方式
[0010]下面结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,这并不构成对本专利技术的限制。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。
[0011]如图1所示为本专利技术实施例提供的用于文档信息隐藏的矢量字体生成方法流程示意图,所述方法包括:步骤1、通过训练基于图像载体的编码器

解码器,对原始字体图像进行隐形编码,使其携带不同的比特信息;在该步骤中,编码器的输入包括一个原始字体图像和多比特待编码信息;编码器的输出是被编码的有比特信息的字体图像,具体来说:编码器被训练在每个原始字体图像上编码比特信息,同时最小化原始字体图像和编码后字体图像之间的感知差异;它首先对输入的原始字体图像应用卷积来形成中间表示;然后将待编码比特消息复制到与输入图像相同的形状,并与中间表示连接;经过几次后续卷积后,编码器产生编码后的字体图像;同时为了保证视觉质量,引入基本损失函数,用于计算原始字体图像和编码后字体图像之间的均方误差,表示为:为了更好地保留字体图像在特征层面的细节,引入图像感知损失,即通过计算VGG网络不同层的特征距离,用表示;除此之外,还引入对抗损失来进一步提高视觉质量;具体来说,通过训练一个辨别器,用于分辨出编码器输出的图像和原始图像;与此同时,编码器生成以假乱真的图
像,让辨别器无法正确分辨,两者形成不断对抗的训练方式,从而提高生成的字体图像的视觉质量;解码器用于从编码后的字体图像中提取出携带的比特信息。
[0012]步骤2、在步骤1的训练过程中引入噪声层,与编码器和解码器一起工作,用于模拟日常文档使用场景中的失真;在该步骤中,引入可微分噪声来在编码器和解码器之间模拟物理打印和显示文档所引起的失真,通过分析真实文档使用场景,引入的噪声层包括:平移:对字形区域进行随机平移;缩放:对字形区域的长和宽进行随机比例(范围在0.5到1.5之间,根据不同场景需求可以适当修改)的拉伸和缩窄;旋转:对字形区域进行随机角度(范围在

10
°
到10
°
之间,根据不同场景需求可以适当修改)的旋转;透视变换:在固定范围内(
±
4像素,根据不同场景需求可以适当修改)随机扰动图像四个角的位置;模糊:使用常见的运动模糊函数(Blur)对图像模拟出模糊效果;高斯噪声:我们使用高斯噪声模型来模拟图像噪声(标准差σ从[0,0.02]随机采样);色彩修改:随机对输入图像进行颜色变换,即亮度和对比度修改;经过编码器编码后的字体图像在被送入解码器之前将通过所引入的噪声层。
[0013]上述噪声层的引用可以保证对低分辨率截图、打印和相机拍摄失真的鲁棒性。
[0014]步骤3、在训练完成后,使用可微分渲染器来建立编码后字体图像和原始矢量字体之间的联系;在该步骤中,使用可微分渲染器将矢量绘图命令(包括坐标类型和坐标值等离散非结构化数据)渲染为指定大小的对应字体图像;可微分渲染器是将输入的原始矢量字体的绘制指令以可微分的形式渲染为2D图像(光栅化)的渲染器,使用C表示绘制指令的原始坐标值;可微分渲染器输出绘制指令对应的字体渲染图像;然后渲染出的字体图像同样会被噪声层扭曲,产生一个带噪声的字体渲染图像;解码器从中提取对应长度的比特信息。
[0015]步骤4、通过优化算法将编码后字体图像中的信息传递到相应的矢量字体上,得到经过编码的矢量字体。
[0016]在该步骤中,具体优化算法如下:1)首先将绘图指令的原始坐标值C设置为待优化的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于文档信息隐藏的矢量字体生成方法,其特征在于,所述方法包括:步骤1、通过训练基于图像载体的编码器

解码器,对原始字体图像进行隐形编码,使其携带不同的比特信息;步骤2、在步骤1的训练过程中引入噪声层,与编码器和解码器一起工作,用于模拟日常文档使用场景中的失真;步骤3、在训练完成后,使用可微分渲染器来建立编码后字体图像和原始矢量字体之间的联系;步骤4、通过优化算法将编码后字体图像中的信息传递到相应的矢量字体上,得到经过编码的矢量字体;步骤5、利用经过编码的矢量字体来替换文档中的原始字体,在文档中嵌入不可见信息,该信息在文档经过各种失真后仍然能够被正确提取。2.根据权利要求1所述用于文档信息隐藏的矢量字体生成方法,其特征在于,在步骤1中,编码器的输入包括一个原始字体图像和多比特待编码信息;编码器的输出是被编码的有比特信息的字体图像,具体来说:编码器被训练在每个原始字体图像上编码比特信息,同时最小化原始字体图像和编码后字体图像之间的感知差异;它首先对输入的原始字体图像应用卷积来形成中间表示;然后将待编码比特消息复制到与输入图像相同的形状,并与中间表示连接;经过几次后续卷积后,编码器产生编码后的字体图像;同时为了保证视觉质量,引入基本损失函数,用于计算原始字体图像和编码后字体图像之间的均方误差,表示为:为了更好地保留字体图像在特征层面的细节,引入图像感知损失,即通过计算VGG网络不同层的特征距离,用表示;解码器用于从编码后的字体图像中提取出携带的比特信息。3.根据权利要求1所述用于文档信息隐藏的矢量字体生成方法,其特征在于,在步骤2中,引入可微分噪声来在编码器和解码器之间模拟物理打印和显示文档所引起的失真,通过分析真实文档使用场景,引入的噪声层包括:平移:对字形区域进行随机平移;缩放:对字形区域的长和宽进行随机比例的拉伸和缩窄;旋转:对字形区域进行随机角度的旋转;透视变换:在固定范围内...

【专利技术属性】
技术研发人员:杨曦张卫明陈可江张杰方涵俞能海
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1