xdwjc / PaddleOCR2Pytorch

PaddleOCR inference in PyTorch. Converted from [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PaddleOCR2Pytorch

简体中文 | English

简介

”白嫖“PaddleOCR

本项目旨在:

  • 学习PaddleOCR
  • 让PaddleOCR训练的模型在pytorch上使用
  • 为paddle转pytorch提供参考

TODO

  • PP-OCRv3,速度可比情况下,中文场景效果相比于PP-OCRv2再提升5%,英文场景提升11%,80语种多语言模型平均识别准确率提升5%以上
  • 2种文本识别算法(SEED、SAR),文档结构化算法新增1种关键信息提取算法(SDMGR),3种DocVQA算法(LayoutLM、LayoutLMv2,LayoutXLM)
  • 文档结构分析PP-Structure工具包,支持版面分析与表格识别(含Excel导出)

注意

PytorchOCRPaddleOCRv2.0+动态图版本移植。

近期更新

  • 2022.04.17 1种文本识别算法(NRTR)
  • 2022.03.20 1种文本检测算法(PSENet)
  • 2021.09.11 PP-OCRv2,CPU推理速度相比于PP-OCR server提升220%;效果相比于PP-OCR mobile 提升7%
  • 2021.06.01 更新SRN
  • 2021.04.25 更新AAAI 2021论文端到端识别算法PGNet
  • 2021.04.24 更新RARE
  • 2021.04.12 更新STARNET
  • 2021.04.08 更新DB, SAST, EAST, ROSETTA, CRNN
  • 2021.04.03 更新多语言识别模型,目前支持语种超过27种,多语言模型下载,包括中文简体、中文繁体、英文、法文、德文、韩文、日文、意大利文、西班牙文、葡萄牙文、俄罗斯文、阿拉伯文等,后续计划可以参考多语言研发计划
  • 2021.01.10 白嫖中英文通用OCR模型

特性

高质量推理模型,准确的识别效果

  • 超轻量PP-OCRv2系列:检测(3.1M)+ 方向分类器(1.4M)+ 识别(8.5M)= 13.0M
  • 超轻量ptocr_mobile移动端系列
  • 通用ptocr_server系列
  • 支持中英文数字组合识别、竖排文本识别、长文本识别
  • 支持多语言识别:韩语、日语、德语、法语等

模型列表(更新中)

PyTorch模型下载链接:https://pan.baidu.com/s/1r1DELT8BlgxeOP2RqREJEg 提取码:6clx

PaddleOCR模型百度网盘链接:https://pan.baidu.com/s/1getAprT2l_JqwhjwML0g9g 提取码:lmv7

更多模型下载(包括多语言),可以参考PT-OCR v2.0 系列模型下载

文档教程

PP-OCRv2 Pipline

[1] PP-OCR是一个实用的超轻量OCR系统。主要由DB文本检测、检测框矫正和CRNN文本识别三部分组成。该系统从骨干网络选择和调整、预测头部的设计、数据增强、学习率变换策略、正则化参数选择、预训练模型使用以及模型自动裁剪量化8个方面,采用19个有效策略,对各个模块的模型进行效果调优和瘦身(如绿框所示),最终得到整体大小为3.5M的超轻量中英文OCR和2.8M的英文数字OCR。更多细节请参考PP-OCR技术方案 https://arxiv.org/abs/2009.09941

[2] PP-OCRv2在PP-OCR的基础上,进一步在5个方面重点优化,检测模型采用CML协同互学习知识蒸馏策略和CopyPaste数据增广策略;识别模型采用LCNet轻量级骨干网络、UDML 改进知识蒸馏策略和Enhanced CTC loss损失函数改进(如上图红框所示),进一步在推理速度和预测效果上取得明显提升。更多细节请参考PP-OCRv2技术报告

效果展示

  • 中文模型
  • 英文模型
  • 其他语言模型

参考

About

PaddleOCR inference in PyTorch. Converted from [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR)

License:Apache License 2.0


Languages

Language:Python 99.8%Language:Cython 0.2%