cdwa-scu-ai / PPOCR

paddleOCR想法,信息交流
0 stars 0 forks source link

《PP-OCR:一个实用的超轻量级OCR系统》文献分享与相关疑问 #1

Open Sincerely12 opened 1 year ago

Sincerely12 commented 1 year ago

在《PP-OCR:一个实用的超轻量级OCR系统》这一文献中提到很重要的一个问题在于: 权衡模型的大小和性能是困难的,但是有很大是价值,在本次开发中,模型的大小和性能直接影响到后续整体效果的性能,以此在这个文章中提到了ppocr是由文本检测,检测框纠错,文本识别,并针对这三个模块提出了相应的数据增强和模型瘦身的策略,例如:

  1. 文本检测:文本检测目的是定位图像中的文本区域,在PP-OCR中使用DB算法(可微分二值化)作为基于简单分割网络的文本检测器,DB的简单后处理使得其非常高效,为进一步提高其性能和效率,采用采用了轻主干、轻头部、去除SE模块、余弦学习率衰减、学习率预热、FPGM剪枝等六种策略。最后,将文本检测器的模型尺寸减小到1.4M。
  2. 检测框纠错:主要是在识别检测到文本之前,需要将文本框转换为水平矩形框,便于后续进行文本识别,在此由于检测帧由四个点组成,易于通过几何变换实现。然而,整流后的盒子可能会被反转。因此,需要一个分类器来确定文本的方向。如果判定一个盒子是反的,则需要进一步翻转。训练文本方向分类器是一个简单的图像分类任务。为了增强模型能力和减小模型尺寸,我们采用了四种策略:轻主干、数据增强、输入分辨率和PACT量化。最后,文本方向分类器的模型大小为500KB。
  3. 文本识别:在PPCOR中,我们使用CRNN作为文本识别器,CRNN在文本识别中广泛应用。CRNN集成了特征提取和序列建模,它采用了连接时间分类(CTC)的损失来避免预测与标签不一致,为了提高文本识别器的建模能力,减少模型尺寸,采用了轻骨干,数据增强,余弦学习率衰减,特征图分辨率,正则化参数,学习率预热,预训练模型和PACT量化九种策略,最后,文本识别器的模型大小对于中英文识别仅为1.6M,对于字母数字符号识别仅为900KB。

并由后续的实验数据,我发现在单纯使用模型,不采用这些策略其效果均不佳,上述是策略不仅可以实现缩减模型大小,还可以提高检测准确率,那我的疑问如下:

  1. 现在的系统,即我们在终端调用的配置文件亦或者算法,是否是已经采用了这些策略,即我们使用是就是成熟的模型
  2. 目前我还未找到其在那里使用是这些策略,这些是否需要根据实际的开发场景进行相应的一步一步的调用,再次训练。

PP-OCR A Practical Ultra Lightweight OCR System.pdf

julycd commented 1 year ago