基于循环神经网络的图像特定文本抽取方法
作者的模型整体框架包含两部分,分别为
- OCR 部分 (采用人家的模型, 输出文本)
- 特定文本抽取部分 (作者的工作)
1. 引言
早期图像特定文本抽取主要是通过 OCR 中的版面分析(Layout analysis)来实现。即首先利用 版面分析 的方法得到图像中特定的文本区域,然后对特定文本区域进行文字识别。版面分析的方法可归结为三大类:
- 自顶向下(Top down) 分析法
- 自底向上(Bottom up)分析法
- 混合分析法
这些方法对文档图像的依赖性较强, 且其分析过程包含大量复杂的图像处理技术,导致其不能很好的泛化到其他类型的图像上。
近年来 OCR 主要研究的 问题 :
- 拍摄角度不均
- 光线不均
- 低分辨率
的自然场景图像上的问题. 采用的方法 :
- 端到端(End-to-End)的 场景文字检测(Scene text detection)
- 端到端(End-to-End)的 场景文字识别(Scene text recognition)
其中,场景文字检测 的方法主要包括:
- 基于连通域法
- 滑窗(Sliding window)法
- 深度学习(Deep learning)法
目前 深度学习法 表现出的效果最好。
场景文字识别 主要采用的方法是:
Shi 等人设计了一种基于序列建模的端到端的模型来识别文字:由 CNN 提取特征,BLSTM 对 序列建模,CTC(Connectionist temporal classification)转录,最终取得了较好的识别效果,因此该模型也成为了文字识别领域目前主流的识别框架。
但是上述方法提取的文本含有大量噪声信息,本文提出一种新的特定文本抽取思路: Bidirectional long short-term memory-Condition random fields (BLSTM-CRFs)模型。将该问题类比于 NLP 中 序列标注(Sequence labeling) 的问题。
首先,通过双向长短时记忆网络捕获 OCR 输出结果序列的上下文信息,为其建立内在的联系;然后通过 条件随机场(Conditional random field, CRF)显式的根据整个序列的标签做出决策,得到最佳的标签结果;最后根据标签即可得到特定的文本。
2. 原理
BLSTM-CRFs 模型主要由两部分构成,
第一部分为 双向长短时记忆网络,用于捕获上下文信息并编码序列 ,
第二部分为 条件随机场,统计分析得到最后的标签。
将两部分结合起来进行序列标注
2.1 序列标注
序列标注通常是给定一串输入序列 x=x1,x2,...,xnx={x_1, x_2, ..., x_n}x=x1,x2,...,xn, 来预测对应的标签序列y=y1,y2,...,yny={y_1, y_2, ..., y_n}y=y1,y2,...,yn, 其中 n 为序列的长度.
序列标注任务包括:
- 词性标注(Parts of speech, POS)
- 语义角色标注(Sematic Role Labelling, SRL)
- 命名实体识别(Name entity recognition, NER)
近年来 循环神经网络 通过获得序列之前时刻的依赖关系协助决策当前时刻的输出,在标注任务中表现出色。
2.2 长短时记忆网络单元 (LSTM unit)
由于 RNN 训练过程存在梯度消失, 梯度爆炸问题, 导致难以获得长距离依赖 , 针对该问题, 提出 长短时记忆 (Long short-term memory, LSTM) 网络.
此部分须阅读参考论文
2.3 双向长短时记忆网络 (BLSTM)
双向长短时记忆网络是对长短时记忆网络的优化, 在结构上为一个前向和一个后向长短时记忆网络, 分别用来编码序列上、下文信息,然后将两个网络的输出向量结合起来,得到具有上下文信息的输出。
此部分须阅读参考论文
2.4 条件随机场 (CRF)
条件随机场是一个基于统计的模型, 它预测序列的标签, 以整个序列的标签为单位来考虑最佳路径的序列标签,显式的结合了序列的整体信息(优于传统方法的点), 这种方法可以避免一些歧义。
2.5 BLSTM-CRFs 模型
将双向长短时记忆网络 (BLSTM)和条件随机场 (CRF)结合起来, 得到BLSTM-CRFs 模型, 用来预测序列的标签y=y1,y2,...,yny={y_1, y_2, ..., y_n}y=y1,y2,...,yn
2.6 场景文字检测与识别
检测部分为 CTPN 模型,可以有效监测自然场景中的文字.
识别部分为 CRNN 模型, 进行文本识别.
本章小结:
序列标注任务采用模型的选择:
⟹\Longrightarrow⟹ RNN — 训练时候存在梯度消失和梯度爆炸, 难以获得长距离依赖
⟹\Longrightarrow⟹ 长短时记忆网络 (LSTM unit) — 无法得到具有上下文信息的输出
⟹\Longrightarrow⟹ 双向长短时记忆网络 (BLSTM) — 可利用前一个输入与后一个输入的信息得到当前输入的标签
+++ 条件随机场 (CRF) — 结合序列的整体信息 (基于统计)(作为和BLSTM的区别) 进行输出
得到 BLSTM-CRFs 模型