手写OCR提升指标利器-Word Beam Search

手写英文OCR比较难识别主要是因为并不是单词中的每个字符都人眼可以看清。或者有些字符是容易混淆的,我们单纯从字符上来看是无法分辨0-O-o-a、 I-1-L 等,甚至是有拼写错误。

本文针对上述问题,分析常用的decode方案。进行简要的对比。

1. CNN识别易混淆

手写OCR提升指标利器-Word Beam Search_第1张图片

  • CNN神经网络在识别oi 与a 是一个不稳定的状态。也就是根据你训练数据的倾向性,做出感知层面的识别。看到什么就输出什么,不假思索,没有推理认知过程。
  • 这也是CNN的缺点,实际上RNN(LSTM)有一定的认知能力,对上下文进行推断,不过这个是很浅的推断。

2. 解码

序列解码大致上有以下几种方式:

1、Best path decoding

  • 每一步都给出当前预测的最大概率的字符输出。直到输出结束。感觉有点像贪心思想

2、 Beam search

3、Beam search with character-LM(语言模型)

4、 Token passing

  • 限制输出所有的字符都在先验的字典中,可以避免拼写错误

Ref
【1】https://towardsdatascience.com/word-beam-search-a-ctc-decoding-algorithm-b051d28f3d2e

你可能感兴趣的:(手写OCR提升指标利器-Word Beam Search)