打印时触发水印_文本改头换面, 传意如你所愿! 清华提出基于水印的对抗模型对OCR系统精准攻击...

清华大学的研究团队提出了一种利用水印隐藏攻击扰动的对抗模型,针对OCR系统进行精准攻击。该方法通过将扰动隐藏在水印中,生成自然且不易察觉的攻击样本,尤其在对抗中文OCR系统时表现出高效率和隐蔽性。实验结果显示,这种方法对包括谷歌TesseractOCR在内的多个OCR模型具有良好的迁移性和攻击成功率。
摘要由CSDN通过智能技术生成

906e838adff9db26afa9dd02604d3221.gif
From:清华大学 编译:T.R

光学字符识别(optical character recognition, OCR)被广泛应用于身份证识别、文本电子化等重要领域,在文字处理和文本分析中具有十分关键的作用。目前绝大多数先进的OCR系统都采用了深度学习模型,在带来高性能的同时也面临着与大多数模型相似的问题,其中易于受到对抗样本的攻击这一弱点对于OCR系统具有致命的影响。由于文本的语义特性,一字之差失之千里,特别是在对于重要文件、合同以及身份识别的场景下,对抗样本的攻击会带来巨大的损失。​

根据文件和常见OCR文本的特性,来自清华大学交叉信息研究院的科研人员提出了一种利用水印隐藏攻击扰动的方法,不仅生成的攻击结果更为自然人眼不易察觉更在攻击效果上达到了先进的水平,为OCR系统的对抗防御研究提供了新的思路。

OCR系统与对抗样本

本文所述的OCR系统主要针对打印文件进行识别,与绝大多数自然图像相比纸质文件具有清晰干净的背景,现有的攻击方法添加的扰动比较明显,容易为人眼所识别。其次针对像中文这样字符数量较多的复杂语言,在修改句中文字的同时实现对应的攻击语义输出,则需要大量的扰动,也会较为明显容易被人眼识别的结果。此外目前大多数端到端的模型基本上都是序列标记任务,通过一行接一行的不断读入来获取识别结果,针对这种包含上下文信息的处理方法单一字符的扰动还不足以形成有效的目标攻击,需要综合考虑上下文信息来进行对抗攻击。

由于先前生成对抗样本的方法在人类视觉上和在目标准确率上都有着这样或那样的缺陷,所以研究人员们将眼光转向了其他的扰动形式——水印

水印在文件中十分常见,常常用于表明文件的知识产权、密级、公司标识,在亚洲文化里还有印章用于表示文件的授权。人们在阅读文件文本内容时会自动忽略水印或者印章的影响,如果将扰动隐藏到水印中那就可以在不被人眼视觉感知的前提下实现对抗攻击了。

在这样想法的启发下,研究人员提出了水印形式的噪声与原始图像结合,生成较为自然的攻击图像。这种隐藏于水印中的攻击噪声可以使得OCR模型输出特定的结果,同时保留文本的可读性,在一定程度上解决了对抗扰动在干净文本背景上所带来的困难,使得人眼较难察觉。

b81308095ed1895f80fb86e2bb242a4c.png

水印攻击的流程图,基于MIM方法和CTC损失函数为水印区域计算出攻击目标的扰动结果,这一过程不断迭代直到满足对抗目标的阈值。

水印攻击

这一研究的主要方法是将目标攻击扰动隐藏于水印,并将包含扰动噪声的水印添加在图像中合成攻击样本。对于扰动的生成,目前学界主要有基于梯度基于优化的两种攻击方法。研究中假设所要攻击的OCR模型是结构和参数已知的白盒模型,其目标是通过扰动输入来获取期待的目标识别结果。由于现有的OCR模型大都是基于相似的开源代码构建的,研究人员认为这种白盒模型的假设方法可以有效拓展到真实世界的场景中。

本文采用了基于梯度的MIM(Momentum Iteration Method)方法和CTC(connectionist temporal classification)计算出的损失函数来不断迭代生成扰动结果,下式中g为利用MIM方法计算的梯度结果,用于更新x得到对抗样本:

fcbe017c3f47c924a76f47b5767ecf01.png

为了生成目标对抗样本x’,在迭代过程中使得原图x作为初始的对抗样本而后利用下面的约束条件对模型进行优化。

3e108cbbbb07fb75814249969466e4a3.png

其中ε是对抗样本扰动的大小,Ω表示水印区域,t表示攻击后期望的输出结果。在每一个迭代过程中,模型现将得到的扰动图像x’送入OCR模型中并将识别结果与期待的目标结果进行比较计算损失,而后利用MIM的方法计算出扰动的梯度;最后通过水印区域将扰动添加到图像中,不断迭代直到OCR模型的识别结果达到预期。下图显示了算法的完整流程:

2f17270a11ca9b69a8bc66bb4e87b5cc.png

其中α表示梯度限制的步长,clip则保证扰动大小处于ε的范围内。

为了进一步研究水印这种对抗扰动方式,研究人员还在前述水印扰动方法的基础上开发了三种变体。第一种变体为WMinit,其目的是解决生成水印过于稀疏的结果。在初始化时,将水印的灰度值添加到了原始图像中的对应位置。x’0 = x+λ(x > τ) ⊙ Ω,其中λ表示水印的灰度x > τ表示将灰度填充到水印区域中没有文字的位置。

第二种变体为WMneg。由于像素的扰动由基于损失梯度的符号函数生成,有正有负意味着像素变亮或者变暗。但正数对于已经是白色的背景来说没有意义(白色的背景无法再变亮了),所以研究人员就只保留了对抗样本中为负数的部分。

f39ac3e224dd9ed77b70e556bf2b7f5a.png

第三种变体则为WMedge。通过形态学方法获取文字区域,并将扰动限制在文字区域内,使对抗样本看起来像打印机打印不清晰的结果。

cfa27e1481e92db09a51202c3551c551.png

实验结果

为了验证对抗攻击的有效性,研究人员在中文文本数据集上进行了实验,并利用DenseNet+CTC构成的中文OCR模型来作为攻击目标。同时比较了基于梯度的MIM方法,本文提出的水印方法及其三种变体的攻击效果。

5e1bbcaee0e6e34dd3a671cbde7b06d8.png

可以看到MIM方法生成的结果不自然,并且会被人眼感知出来。而WM方法及其变体生成的结果则局限于水印区域中使得背景更加清晰,其扰动更小看起来更像真的水印。三种变体的结果看起来也更为真实。

在实验中研究人员提出了两个指标,其中攻击成功率(attack success rate, ASR)表示对抗样本使得OCR系统无法输出正确结果的比例,目标攻击成功率(targeted attack success rate,ASR*)则表示对抗样本使得OCR系统输出期望(错误)目标的成功率。研究人员定量比较了这些对抗样本生成方法的性能:

21edcce329d15ee26c555d97159a6e9e.png

可以看到与MIM相比,WM和后两种变体的MSE较低,PSNR和SSIM较高,这证明了WM方法所带来的噪声水平较低。同时由于较低的噪声水平使得WM方法的扰动成功率较低。研究人员认为这主要来源于目前的水印在训练过程中固定位置和形状限制了对抗性能。WMedge方法的对抗扰动性能较好,它将噪声限制在文字区域周围,即保证了视觉的隐藏性又实现了良好的结果。

此外,研究人员还针对谷歌最新的OCR模型TesseractOCR进行了黑盒攻击测试,结果表明基于水印的方法具有了较好的迁移性,都具有较高的对抗准确率,这也证明了噪声扰动的确对于各种OCR模型具有很大的影响。但对于目标对抗准确率来说,由于对抗样本是在不同的OCR模型上训练,得出的目标显然会不同。

下图还显示了真实世界中的对抗结果,利用水印将证件号码从 NHL12506717 修改为了NAL12505717 。

5e13f429ca62b9e5878e7e9d87ec58c6.png

下图还显示了一段中文报告输出被对抗噪声改变的结果:

4e76f37cc1025e0ea6f675c2ffb00b1e.png

研究水印攻击的目的是为了防范恶意攻击,研究人员还分析了多种防御方式对于水印攻击的性能:

7468271990b560610d3161b62ff0cfe1.png

分别选用了三种基于平滑的去噪算法、椒盐噪声、图像压缩以及修复算法进行了比较。可以看到中值滤波对于对于对抗扰动很有效,但是造成了图像大幅退化;椒盐噪声使得目标攻击率降到接近0但也大幅降低了最终输出结果的正确性,与图像修复方法一样,它们都在抵制对抗结果的同时让OCR系统失效。压缩方法则显示了基于水印的方法还有很大的概率实现攻击。

在未来研究人员将继续深入研究针对OCR的攻击扰动,利用更为灵活的水印位置和形状实现扰动添加,并寻求更为有效的防御手段。

如果想了解更多详细的实现细节,请参看论文:

Attacking Optical Character Recognition (OCR) Systems with Adversarial Watermarks​arxiv.org

c2c4d7d75b67d89c33d295f8daad6fc8.png

ref:DenseNet+CTC OCR :https://github.com/YCG09/chinese ocrhttps://iiis.tsinghua.edu.cn/zh/chenl/https://iiis.tsinghua.edu.cn/research/

61424a58721372f74115d35781f10745.png
来扫我呀

-The End-

戳右上角【+关注】关注我门↗

如果喜欢,点个【▲赞同】分享给你的小伙伴吧~笔芯❤

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值