论文链接:https://arxiv.org/abs/2012.08096
代码:https://github.com/strongman1995/Fast-Adversarial-Watermark-Attack-on-OCR
光学字符识别(optical character recognition, OCR)被广泛应用于身份证识别、文本电子化等重要领域,在文字处理和文本分析中具有十分关键的作用。目前绝大多数先进的OCR系统都采用了深度学习模型,在带来高性能的同时也面临着与大多数模型相似的问题,其中易于受到对抗样本的攻击这一弱点对于OCR系统具有致命的影响。由于文本的语义特性,一字之差失之千里,特别是在对于重要文件、合同以及身份识别的场景下,对抗样本的攻击会带来巨大的损失。
根据文件和常见OCR文本的特性,来自清华大学交叉信息研究院的科研人员提出了一种利用水印隐藏攻击扰动的方法,不仅生成的攻击结果更为自然人眼不易察觉更在攻击效果上达到了先进的水平,为OCR系统的对抗防御研究提供了新的思路。
OCR系统与对抗样本
本文所述的OCR系统主要针对打印文件进行识别,与绝大多数自然图像相比纸质文件具有清晰干净的背景,现有的攻击方法添加的扰动比较明显,容易为人眼所识别。其次针对像中文这样字符数量较多的复杂语言,在修改句中文字的同时实现对应的攻击语义输出,则需要大量的扰动,也会较为明显容易被人眼识别的结果。此外目前大多数端到端的模型基本上都是序列标记任务,通过一行接一行的不断读入来获取识别结果,针对这种包含上下文信息的处理方法单一字符的扰动还不足以形成有效的目标攻击,需要综合考虑上下文信息来进行对抗攻击。
由于先前生成对抗样本的方法在人类视觉上和在目标准确率上都有着这样或那样的缺陷,所以研究人员们将眼光转向了其他的扰动形式——水印!
水印在文件中十分常见,常常用于表明文件的知识产权、密级、公司标识,在亚洲文化里还有印章用于表示文件的授权。人们在阅读文件文本内容时会自动忽略水印或者印章的影响,如果将扰动隐藏到水印中那就可以在不被人眼视觉感知的前提下实现对抗攻击了。
在这样想法的启发下,研究人员提出了水印形式的噪声与原始图像结合,生成较为自然的攻击图像。这种隐藏于水印中的攻击噪声可以使得OCR模型输出特定的结果,同时保留文本的可读性,在一定程度上解决了对抗扰动在干净文本背景上所带来的困难,使得人眼较难察觉。

水印攻击
这一研究的主要方法是将目标攻击扰动隐藏于水印,并将包含扰动噪声的水印添加在图像中合成攻击样本。对于扰动的生成,目前学界主要有基于梯度和基于优化的两种攻击方法。研究中假设所要攻击的OCR模型是结构和参数已知的白盒模型,其目标是通过扰动输入来获取期待的目标识别结果。由于现有的OCR模型大都是基于相似的开源代码构建的,研究人员认为这种白盒模型的假设方法可以有效拓展到真实世界的场景中。
本文采用了基于梯度的MIM(Momentum Iteration Method)方法和CTC(connectionist temporal classification)计算出的损失函数来不断迭代生成扰动结果,下式中g为利用MIM方法计算的梯度结果,用于更新x得到对抗样本:

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

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

其中α表示梯度限制的步长,clip则保证扰动大小处于ε的范围内。
为了进一步研究水印这种对抗扰动方式,研究人员还在前述水印扰动方法的基础上开发了三种变体。第一种变体为WMinit,其目的是解决生成水印过于稀疏的结果。在初始化时,将水印的灰度值添加到了原始图像中的对应位置。x’0 = x+λ(x > τ) ⊙ Ω,其中λ表示水印的灰度x > τ表示将灰度填充到水印区域中没有文字的位置。
第二种变体为WMneg。由于像素的扰动由基于损失梯度的符号函数生成,有正有负意味着像素变亮或者变暗。但正数对于已经是白色的背景来说没有意义(白色的背景无法再变亮了),所以研究人员就只保留了对抗样本中为负数的部分。

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

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

可以看到MIM方法生成的结果不自然,并且会被人眼感知出来。而WM方法及其变体生成的结果则局限于水印区域中使得背景更加清晰,其扰动更小看起来更像真的水印。三种变体的结果看起来也更为真实。
在实验中研究人员提出了两个指标,其中攻击成功率(attack success rate, ASR)表示对抗样本使得OCR系统无法输出正确结果的比例,目标攻击成功率(targeted attack success rate,ASR*)则表示对抗样本使得OCR系统输出期望(错误)目标的成功率。研究人员定量比较了这些对抗样本生成方法的性能:

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