OCR 预处理与检测

前言:

通用OCR领域的最难的是预处理与检测,目标检测领域我们常看到的是横平竖直, 也就是说:检测到的边框平行或垂直于图像边界。

但是,在OCR中,文字的方向可以是各种方向;而且长宽比不确定,各种场景,各种尺寸、各种语言、各种艺术字体。而且,目前多角度检测fatal 弱点:文本行比较长,检测框容易断裂; 阵列字极容易找错方向。 当然手写OCR也很难,本文主要对 preprocessdetecton展开讨论, recognition在上一个博客中详细说明 LSTM 与 CTC loss (以及DP、HMM)。

1- Detection (Multi-angle vs line detection)


  • No.1 Multi-angle

1.1 TextBoxes++ src-code-caffe

  • 相关论文
  • SSD: Single Shot MultiBox Detector -16
  • TextBoxes: A Fast Text Detector with a Single Deep Neural Network -17
  • TextBoxes++: A Single-Shot Oriented Scene Text Detector -18

1.2 EAST

  • EAST: An Efficient and Accurate Scene Text Detector -17

1.3 Others

  • Rotation-Sensitive Regression for Oriented Scene Text Detection -18
  • FOTS: Fast Oriented Text Spotting with a Unified Network -18

  • No2. line detection

1.4 CTPN src-code-caffe

  • Detecting Text in Natural Image with Connectionist Text Proposal Network

2- Preprocess (图像模糊、畸变、透视、角度、扭曲、文字弯曲等)

  • 预处理主要完成图像的畸变矫正以及角度预判或者说角度估计
  • A DNN Framework For Text Image Rectification From Planar Transformations -16
  • Robust Scene Text Recognition with Automatic Rectification -16
  • Spatial Transformer Networks

2.1 角度估计

  • 一般使用传统算法MSER,SWT,霍夫变换、通过跳变检测实现角度预估
  • Cooperation of Multi-Layer Perceptrons for the Estimation of Skew Angle in Text Document Images -95 文章首次用多层感知机完成角度预判
  • Document skew estimation without angle range restriction -98 使用传统办法作角度预判
  • 实际上,角度预估的准确性,往往受限于单字检测的水平,例如MSER或者SWT都是在做单字检测,然后使用开操作或者闭运算等传统图像操作实现,然后再各个角度检测最大跳变

3- End2End-OCR

  • STN-OCR: A single Neural Network for Text Detection and Text Recognition -17

4 - 几个关键检测网络的分析

4.1 shufflenet

src/caffe/layers/shuffle_channel_layer.cpp:11:33: error: no member named ‘shuffle_channel_param’ in ‘caffe::LayerParameter’
解决: 在caffe.proto中做如下修改

在LayerParameter加入如下:
message LayerParameter{
	...
	optional ShuffleChannelParameter shuffle_channel_param = 164;
}
同事在caffe.proto文件中末尾加入:
message ShuffleChannelParameter{
	optional uint32 group = 1 [default = 1]; // the number of group
}

5 -多角度目标检测。

5.1 DRbox

  • Learning a Rotation Invariant Detector with Rotatable Bounding Box
  • src-code-caffe
  • Abstract
`trainval.list`  的格式
1.tif 1.tif.rbox
2.tif 2.tif.rbox
每个rbox的标注文件的格式 【对于每个图片中的目标标注一行】:  center_x  center_y  width  height  label  angle 
如一个多目标的图像标注文件的一般形式
217.062684 12.629034 25.000000 9.000000 1 4.000000
272.996253 33.149041 25.000000 9.000000 1 94.000000
279.686045 148.268512 25.000000 9.000000 1 180.000000
267.100690 231.848173 25.000000 9.000000 1 270.000000
243.220787 231.848173 25.000000 9.000000 1 90.000000
230.635433 233.784381 25.000000 9.000000 1 278.000000
219.663585 232.816277 25.000000 9.000000 1 88.000000

本文持续更新ing

你可能感兴趣的:(Algorithm)