深度实践OCR:基于深度学习的文字识别
上QQ阅读APP看书,第一时间看更新

1.2 文字检测

文字检测方法分布如图1-6所示。

图1-6 文字检测脑图

在深度学习方法尚未占据主导地位之前,文字检测主要还是以手动提取特征为主,比较经典的方法有之前提到的SWT、MSER、HOG等。传统的方式是先对图像设置特征金字塔,然后使用滑动窗口进行扫描,之后进入手动提取特征阶段(SWT、MSER、HOG等),再通过滑动窗口提取分类,最后汇总为文本区域。

深度学习的发展,特别是物体检测领域的发展,极大地促进了文本检测的发展,当然文字检测相较于一般的物体检测而言具有其特殊性,具体说明如下。

1)背景多样化。自然场景下,文本行的背景可以为任意背景,同时会受一些纹理结构相近的背景影响。

2)文本行形状和方向的多样化。如水平、垂直、倾斜、曲线等。

3)文本行颜色、字体、尺度的多样化(文本的长度变化多样,长宽比可以达到1:100,甚至更高)。

4)不同程度的透视变换。

5)恶劣的光照条件和不同程度的遮挡。

慢慢地,文本检测也衍生出了独有的方法,但都在物体检测的框架体系之内,主要包含:基于候选框(Anchor)的文本检测、基于语义分割(Segmentation)的文本检测,以及基于两种方法的混合方法(Hybrid)。基于候选框的方式是首先预生成若干候选框,然后回归坐标和分类,最后经过NMS得到最终的检测结果。基于语义分割的基本方式是通过FPN直接进行像素级别的语义分割,然后进行后处理得到相关的坐标即可。当然,这两种方式各有利弊,因此最后产生了混合方式。除此之外,还有将识别网络和检测网络一起进行端到端训练的方式,例如FOTS[6]、TextSpotter[7]等,因为识别网络可以帮助检测网络去除一些非文字的候选区域。图1-7展示的是一些文字检测的示例。

图1-7 一些文字检测的例子