速看 | OpenCSG算法团队提升PaddleOCR的OCR识别精度

百度⻜桨出品的PaddleOCR,作为业界领先的光学字符识别解决方案,自推出以来一直备受开发者和企业的⻘睐。它基于深度学习的强大能力,提供从文本检测、文本识别到版面分析的一站式OCR服务,助力用户轻松应对多场景下的文字识别需求。 作为PaddleOCR的核心模块,PP-Structure提供了版面分析、表格识别、关键信息抽取和版面恢复等功能。

01  问题识别

OpenCSG算法团队在使用过程中发现,PP-Structure模块在版面分析中进行文字识别时,**会因为布局区域坐标的误差而导致OCR精度下降。**这是因为PP-Structure首先使用版面分析模型检测出布局区域,接着会根据每个布局区域对图像进行裁剪,随后使用OCR-rec模型识别裁剪图像中的文字。如果布局区域的坐标不准确,可能会导致裁剪出的图像区域有误,从而影响文字识别结果。

                               OCR识别精度提升之前

02  解决方案

为了解决这一问题,OpenCSG算法团队提出了一个混合解决方案。该方案的核心思想是:

  1. 文本区域检测: 首先,使用OCR-det模型检测出所有可能的文本区域;

  2. **文本识别:**对于每个文本区域,根据区域坐标对图像进行裁剪,再使用OCR-rec模型识别出其中包含的文本;

  3. 布局区域检测: 然后,使用版面分析模型检测出所有的布局区域;

  4. 区域交集过滤: 对于每个布局区域,筛选出与之相交的所有文本区域;

  5. 文本关联: 最后,将交集区域中的文本信息关联到对应的布局区域,作为该布局区域的最终识别结果。

03  优化效果:

这一改进涉及到对PaddleOCR/ppstructure/predict_system.py文件的修改。  过优化图像裁剪的坐标计算,确保了从布局区域中裁剪出的图像区域的准确性,从而提高了文字识别的精度。

                               OCR识别精度提升之后

近日,OpenCSG团队已将其研发的优化成果贡献给了PaddleOCR项目,这一贡献不仅体现了团队对开源社区的深厚情感,也彰显了他们对技术精进的不懈追求。具体详情,请参阅PaddleOCR官方GitHub仓库的第11916号合并请求。欢迎加入传神社区。

详情参见:https://github.com/PaddlePaddle/PaddleOCR/pull/11916