这段时间阅读研究了EAST算法以及在EAST算法上的改进并完成了复现运用到其他场景中去。
当今社会已进入图像大数据时代,图像数量庞大种类繁多,包含大量的有用知识。从图像中高效、精准、全面地提取文本和地理信息坐标等有用知识这一课题,也成为图像处理的一个重要方向。
随着近些年来深度学习技术不断进步发展,对于一些特定场景的图像文本定位任务成为国内外计算机视觉、模式识别研究方向相关学者的研究方向之一。解决特定场景图像文本信息提取问题依赖于各种神经网络模型算法。需要考虑到各种因素,一般将场景文本提取拆分为两个主要任务:文本定位和文本识别。特定场景图像文本检测算法的大体框架也基于文本定位和文本识别这两大任务.
其中,文本定位算法主要通过计算机自动框定出文本在图像中的位置,作为后续文本识别过程的先行条件,在图像的知识提取中起着重要作用。目前基于深度学习的文本检测算法主要分为两类,一类是基于预选框的文本检测算法,另一类是使用全卷积神经网络直接预测目标位置。文献中提出的EAST(An Efficient and Accurate Scene Text Detector)算法是直接预测文本字符位置的定位算法,算法运行速度快,在基准数据集上准确率高。核心思想是直接预测单词或文本行的倾斜角度及多边形形状,消除多层神经网络中复杂的运算过程,在各种公开的数据集中取得了良好的成果。
同时,文本识别算法主要是通过文本定位的结果定位到文本的位置,然后通过端到端的转录算法将该位置的信息转换为中文文本。
EAST算法是旷世科技在2017年CVPR上提出的一种十分简洁高效的文本检测模型。论文全称是《 EAST: An Efficient and Accurate Scene Text Detector 》。作者在文中提出,过去的文本检测方法虽然实现了不错的效果,但这些方法基本上都是多阶段、多组件的联合作用。换句话说,就是作者认为以往的方法设计的步骤和组件过多,导致它们在一些具有挑战性的场景中表现不够好,速度也不够快。
因此,作者设计了一种十分简洁高效的方法,可以直接通过一个FCN网络来得到字符级或文本行的预测结果。且不论是精度还是速度,在各大基准数据集上都有杰出的表现(在ICDAR2015上得到了0.782的F值和13.2的fps)。方法的整体思路是通过一个FCN直接得到文本框预测,之后将预测通过NMS得到最终结果(two stage)。下面是这项工作的主要贡献:
1. 提出了一个两阶段的场景文本检测方法,FCN+NMS,不需要其他多余耗时的步骤。
2. 该方法可灵活生成字符级或文本行的预测,几何形状可以是旋转框或者矩形框。
3. 在精度和速度都优于当时其他的方法。
那么该算法的优势在于消除传统算法中间冗余而又慢速的步骤,只包含两个主要流程: 一是使用全卷积网络( fully convolutional networks,FCN) 模型直接生成单词或文本行级别预测; 二是将生成的文本预测( 可以是旋转的矩形或四边形) 输入到非极大值抑制 NMS( non-maximum suppression) 中以产生最终结果。而传统的文本检测方法和一些基于深度神经 网络的文本定位方法由若干组件构成,包含多个步骤且在训练时需要对其分别进行调优,耗费时间较多。
我打算先介绍一下EAST算法,然后再详细讲述基于EAST算法的改进。
https://github.com/argman/EAST
这是原作者参与的一份tensorflow版本代码,网上还有其他的实现。
开源代码一般都是在linux环境下编写、测试、运行。
首先是下载源码:
git clone https://github.com/argman/EAST.git
然后就是下载好模型文件放到指定的位置测试。
第一次运行肯定会报错,windows和Linux毕竟不同。
参考博客:https://www.jianshu.com/p/c5a9e1ecf790