端到端OCR算法:Real-time Arbitrarily-Shaped Text Spottingwith Point Gathering Network(PGNet)

1、PGNet网络结构

2、PG-CTC

3、GRM

1、PGNet网络结构

端到端OCR算法:Real-time Arbitrarily-Shaped Text Spottingwith Point Gathering Network(PGNet)_第1张图片

图1 PGNet算法流程图

       该网络结构主要包括主干网络、TBO、TCL、TDO以及TCC。其中,TBO(Text Border Offset):文本边框偏移,TCL(Text Center Line): 文本中心线检测,TDO(Text Direction Offset):文本方向偏移,TCC(Text Character Classification):文本字符分类。

       该算法的主要流程为:

       (1) 首先利用FPN提取特征

       (2) 利用FCN模型同时学习文本区域的各种信息,包括TBO,TCL,TDO pixel-level TCC。在TCL, TDO, TBO, TCC模块分别使用1×1得到输出维度为{1,2,4,37}

       (3) 在后处理阶段,首先利用来自于TBO的边界偏移信息实现对每个文本实例的检测;然后从TCL提取每个文本实例的中心点序列;利用来自于TDO的文本方向偏移信息进行排序,恢复正确的阅读顺序;最后利用PG-CTC Encoder二维文本字符序列化为字符概率序列,并解码为最终的文本识别结果。

2、PG-CTC

       点采集(PG)操作在 PGNet 的训练和推理过程中都起着重要作用,有助于避免字符级标注。 PGNet 的 TCC map为 37 个字符,包括 26 个字母、10 个数字和 1 个背景。 采用点采集操作,根据每个文本区域中心的中心点,从TCC图中采集字符分类概率序列,可表示为:

       其中,={1,2,⋯,}长度为N的中心点序列,且=(,)。输出为大小为N*37的字符分类概率序列。

       在训练过程中,提出的 PG-CTC loss 使得像素级 TCC 的训练不需要字符级别的标注。 典型的 CTC 损失函数解决了源序列和目标序列长度不一致的的训练问题。 CRNN是一种基于1D-CTC的算法,其原理决定无法识别2行或多行的文字,只能单行识别。2D-CTC 将 CTC 的搜索路径扩展到二维空间,但仍然无法处理具有多个文本实例的图像。 通过 PG-CTC 解决了这个问题。 对于有 M 个文本实例的图像,假设中心点坐标序列为 {π1, π1, ..., πM },对应的转录标签为 {L1, L1, ..., LM },定义 PG- CTC 损失为:

       PGNet计算多边形词级标注的中心线,并在训练过程中对其进行密集采样以获得中心点序列πi,而不是使用字符级标注。 通过大数据的训练可以学习到TCC中每个像素的字符分类信息。

3、GRM(Graph Refinement Module)

端到端OCR算法:Real-time Arbitrarily-Shaped Text Spottingwith Point Gathering Network(PGNet)_第2张图片

        为了提高识别性能,提出GRM。该模块将重构的语义图和视觉图进行拼接以用来字符分类。其中,语义图通过对TCC map和输入进行点集操作得到,视觉图通过对和输入进行点集操作得到。

你可能感兴趣的:(端到端OCR,算法,ocr)