来一波技术流:文字识别技术在内容安全场景应用实践 – 作者:小盾安全XIAODUN

在近日召开的智能风控技术峰会上,同盾科技旗下业务安全品牌小盾安全算法专家在内容安全分论坛上带来了“文字识别技术在内容安全场景应用实践”的主题演讲。

小盾安全算法专家重点介绍了文字识别领域当前最前沿的算法和小盾安全实践方案,并通过CPU、GPU和系统级三个层面的优化部署,探究内容识别如何寻找到识别效果和运行速度“两全其美”的解决方案。

文字是人们传递信息和知识的重要方式,经历了几千年演化的中文更是世界最复杂的语言之一。进入人工智能时代,文字识别应用的重要性更加凸显出来,不论是学术界还是工业界,文字识别就像是一片深邃又迷人的海洋,它具有广阔探索空间,有无数未知的宝藏等待挖掘。

小盾安全算法专家的主题演讲以学术视角聚焦图片文字识别,这也是黑产及欺诈分子最常利用的场景。

他指出,常见图片文字违规风险,主要分为涉黄、涉暴、涉政、涉赌以及广告这几个典型类别。

比如一些图片中含有“加V、加Q”等信息,一些图片中含有“在线发牌”等涉赌内容;以及在一些互联网平台发布含有个人或公司ID水印广告的图片来进行导流等。

这些在网络生活中已经无孔不入了,相信几乎每个人或多或少都会看到过类似的内容,这对个人和网络平台来说都带来了一定的困扰。

识别图片中的文字,需要分几步?

小盾安全专家指出,要想真正对违规图片进行识别和防控,重点工作是要对图片中的文字进行有效识别。一般来说我们会通过文字检测、字条矫正、文字识别三个阶段,对图片中的文字进行提取,并对识别出的文字通过后续NLP模型以及敏感词规则,完成内容风控的决策。

在检测环节,当一张原始的图像通过检测的环节输入到系统里,系统会定位到图像中具体文字的位置。通过字条矫正模块,系统会对这些字条进行方向的调整,统一成水平方向的字条文字,最终将其输入到文字识别模型。

文字识别模型接收到矫正后的字条,最终将图片翻译成具体的文本。

可以看出,从图片到文字的转换过程中,文字的定位和识别是关键的两步。流程上看似非常简单,但简单的背后运用了很多先进的算法作为支撑。

文本检测算法

小盾安全专家介绍,进入深度学习时代,文本检测算法主要分为基于回归和基于分割的两大类。

基于回归的算法,主要是基于通用目标检测的方案,通过网络直接回归文本行包围框的信息,主要的算法有CTPN、SegLink、Textboxes/Textboxes++、EAST等,这些算法的优点是,在规则形状文本上效果较好;而在那些不规则文本或长文本上效果则相对差,比如在字体比较长的时候,两端的定位不是很精准,进而影响最终的文字识别效果。

另外一类是基于分割的方案,基于分割的文本检测网络中,借鉴语义分割的思想,对每个像素进行一个是否为文字区域的二分类预测,再通过一个二值化过程得到文字区域,结合形状分析,得到最终的文本实例包围框。这类算法对不规则文本有较好的检测效果,但通常会有比较复杂的后处理过程,造成整个识别流程耗时增加。

当前,工业领域比较流行的一个算法是DBNet,这项技术的论文发表于2020年,它的具体流程如下图箭头所示。

d24b6f30346d4198af12bff25b6f780d.jpeg文本定位算法DBNet

DBNet围绕后处理流程进行优化,引入threshold map分支和DB算子,通过增加更多的监督信息,将二值化过程集成到网络训练流程中,使得最终得到的概率图边界更加清晰。论文也通过实验发现,最终推理阶段中可直接采用标准的二值化算子,完成二值化。DBNet对整个文本检测流程进行了简化,实现了文本检测模块速度的提升。

文字识别算法

接下来我们看文字识别的基本流程。

55a155eca8e445f9a2ba3d1fc017454a.jpeg文字识别基本流程

如图所示,一张输入的图像会首先经过一个矫正的模块,输入到图像视觉特征提取模块,然后结合序列信息,并以此为依据最终预测得到识别结果。序列信息主要是利用文本上下文信息,做出更符合人类语言习惯的预测。举例来说,我们看到这里有一个含有“生命重于泰山”的图片,用人类肉眼看起来图片中的字体是非常模糊的,尤其是“于”字,如果是机器很容易就识别为“千”或“干”字。而通过CRNN算法再结合上下文语义,就能很准确地输出更符合人类认知的“于”字。

ae1f595ce0cc4663bca16259c15b9f8f.jpeg

文字识别算法当前以CRNN为主,该算法可以说是综合了性能和速度后的一个折中方案。

CRNN到底有什么神奇之处呢?

接下来我们着重介绍一下CRNN算法,它是由CNN+RNN+CTC三部分结合而成,它充分吸收了三者的精髓,将文本识别变成一个图像序列的预测,CRNN算法的创新之处在于引入了RNN模型,增强了特征的表达能力,引入了CTC识别模块,简化了整体预测流程,极大地降低了数据标注的成本。

CRNN算法具有“划时代”的意义,它首次将文字识别从单字的预测跨入到了文本行预测的时代。

CRNN算法出现之前,文字的识别都需要完成单个文字的精确定位,然后再进行单字的预测。CRNN算法出现之后整个字条的输入成为可能,从单字到整句,效率得到极大的提升,标注流程也得到了极大的促进。

77b18f613edd4cc5a9f67db52f86ab2f.jpeg文字识别算法CRNN

三重优化 让效果和速度齐头并进

技术的价值还是要在应用中得以体现价值的,人工智能也是如此。事实上,历史上有很多技术陷入“过于先进,却无法使用”的尴尬局面。

对于很多AI技术而言,制约技术落地的重要因素是识别效果和速度之间的微妙关系。

为了更好的让技术落地,我们还要在部署方面上进行全面的优化。

小盾安全在自数据集上进行了一个OCR应用耗时分布的统计,通过统计发现检测模型推理和识别模型推理占据了最主要的耗时,同时图片的解码和检测模型的预处理也大概占到8%的耗时。

因此,优化的重点放在以下这几项上,小盾安全的优化手段主要分为三类。

第一部分主要发生在CPU上的计算,通过大量的调研比较发现,在图像解码环节,广泛应用的opencv更加倾向于利用多线程并行的能力,对CPU的simd等指令加速利用不够充分,另外在解码阶段也做了较多的冗余操作,导致解码过程变慢。最终我们从众多解码库中挑选出最高效的库来实现图像解码。

另外一个优化是在预处理。包括图像的缩放,以及输入图像的归一化操作。比如,将图像的归一化过程,合并到第一层卷积参数中。

第二部分是GPU的优化,主要方法是模型的简化压缩。我们对模型的网络部分进行通道数量的优化压缩,在保证性能没有降低的情况下,提升速度。同时,小盾安全也采用了高效的推理引擎进行部署,该引擎内部进行了大量的OP融合操作,并基于当前部署的硬件资源选择OP的最佳实现方式,从而最大效率利用当前显卡的硬件资源。另外我们也采用了低精度推理,进一步提升运算速度。

第三部分是系统级的整体优化。包括模型输入分辨率调整,我们要结合整体的识别效果,在检测阶段和识别阶段的输入都可以进行分辨率的调优。图片中通常会出现多条文本行,我们还可以利用多batch的方案提高整张图片的推理效率。同时也结合多个实例,充分提升显卡的利用率。

通过运用上述优化手段,QPS效率提升一倍以上。此外,我们也会遇到一些有对抗的场景,这些相对来说是非常棘手的。比如一张“鲜艳”的图片,我们不仅看到它的各种颜色,里面还有艺术字体、有一些部分缺失、对比度低以及特殊的字体,这些都对文字的识别和定位带来了更大的挑战。

下面这个是手写体的识别案例,手写体的识别难度也是非常大,尤其是一些连笔或者草书非常严重的字体,这张图片即便是人们认真识别都很困难,但通过我们的文字识别技术,可以非常准确和完整的“读”了出来。

8b48aa59cd7d4058939ba9c15c36aa82.jpeg

总之,文本安全防控体系是内容安全智能平台的重要组成部分,小盾安全结合深度学习算法、政策权威指令等能全面解决诸如跳词检测、误匹配矫正、火星文识别、组合词识别、同音词识别、形近字识别等问题。

来源:freebuf.com 2021-06-09 11:10:05 by: 小盾安全XIAODUN

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论