本项目思路:
PaddleOCR 作为开源 OCR 工具领域的佼佼者,以其出色的效果备受关注。不过,该工具原生仅支持在 paddlepaddle 框架下运行。
在众多实际项目中,Pytorch 框架的应用更为广泛。若在项目中单独安装 paddlepaddle 框架,不仅会导致项目体积变得庞大冗余,还可能引发不同框架之间的兼容性冲突问题。
因此目前有4种常用方法尽量摆脱paddle环境:
第一方法:转成onnx模型,脱离paddle环境直接使用onnxruntime进行推理
第二方法:调用paddle_inference库,直接封装进行推理,常用于C++或者C#开发
第三方法:转成pytorch模型,脱离paddle环境直接使用pytorch进行推理
第四方法:转成openvino模型,脱离paddle环境直接使用openvino进行推理
这个项目就是使用第三种方法:
paddleocrv5推理模型=>pytorch模型
所用模型
检测模型:ptocr_v5_mobile_det.pth
识别模型:ptocr_v5_mobile_rec.pth
字典文件:ppocrv5_dict.txt
如果需要server模型,可从 PaddleOCR2Pytorch 仓库中获取。
项目结构
code/
├── main.py # 主程序入口
├── utils/ # 工具函数目录
│ └── visualize.py # 可视化相关函数
└── test_img/ # 测试图片目录
使用方法
安装环境
conda creat -n py310 python=3.10
conda activate py310
pip install torch==2.2.1+cu118 torchvision==0.17.1+cu118 -f https://download.pytorch.org/whl/torch_stable.html
pip install -r requirements.txt
命令行参数
--data_path
:必需参数,指定输入图片路径或目录路径--save_path
:可选参数,指定保存结果的路径或目录--show_confidence
:可选参数,是否在结果图像中显示置信度(默认不显示)
单图片处理
python main.py --data_path test_img/general_ocr_rec_001.png --save_path output/result.png
目录批量处理
python main.py --data_path test_img --save_path output
推理视频
python main_video.py --video_path test_video/ocr_test.mp4
效果:
原图:
识别效果: