96SEO 2026-02-20 05:15 12
二、安装1.anaconda基础环境1anaconda的基本操作2搭建飞浆的基础环境

4.安装PPOCRLabel12.6版本paddleocr和PPOCRLabel的版本对应22.7版本paddleocr和PPOCRLabel的版本对应
三、PPOCRLabel标注四、PaddleOCR训练与测试1.文本检测模型训练与测试1下载预训练模型2修改参数配置文件3可视化训练过程4模型评估测试
2.文本识别模型训练1下载预训练模型2修改参数配置文件3可视化训练过程4模型评估测试
OCR光学字符识别是一种将图像中的文字自动转换为可编辑文本的技术。
现在各大厂商均有提供各种场景的OCR识别的API。
但是也有一些开源的OCR框架和工具可以支持自我定制和训练使得开发人员能够更加灵活地应对不同场景下的OCR需求。
1、图像预处理首先对输入的图像进行预处理包括灰度化、二值化、去噪等操作。
这些操作有助于提高字符识别的准确性和稳定性。
2、文本区域检测使用图像处理技术如边缘检测、轮廓分析等找到图像中可能包含文本的区域。
这些区域通常是字符或文本行的边界。
3、字符分割对于文本行需要将其分割为单个字符。
这可以通过字符之间的间距、连通性等特征进行分割。
4、特征提取对于每个字符提取其特征表示。
常见的特征包括形状、角度、纹理等。
特征提取有助于将字符转化为可供分类器处理的数值表示。
5、字符分类使用分类器如机器学习算法或深度学习模型对提取的字符特征进行分类将其识别为相应的字符类别。
分类器可以是预训练模型也可以是自定义训练的模型。
6、后处理对识别的字符进行后处理如纠正错误、校正倾斜、去除冗余等。
这可以提高最终结果的准确性和可读性。
7、输出结果将识别的字符组合成最终的文本输出可以是单个字符、单词或完整的文本。
飞桨首次开源文字识别模型套件PaddleOCR目标是打造丰富、领先、实用的文本识别模型/工具库。
Recognition光学字符识别系统。
其技术体系包括文字检测、文字识别、文本方向检测和图像处理等模块。
以下是其优点
高精度PaddleOCR采用深度学习算法进行训练可以在不同场景下实现高精度的文字检测和文字识别。
多语种支持PaddleOCR支持多种语言的文字识别包括中文、英文、日语、韩语等。
同时它还支持多种不同文字类型的识别如手写字、印刷体、表格等。
高效性PaddleOCR的训练和推理过程都采用了高效的并行计算方法可大幅提高处理速度。
同时其轻量化设计也使得PaddleOCR能够在移动设备上进行部署适用于各种场景的应用。
易用性PaddleOCR提供了丰富的API接口和文档说明用户可以快速进行模型集成和部署实现自定义的OCR功能。
同时其开源代码也为用户提供了更好的灵活性和可扩展性。
鲁棒性PaddleOCR采用了多种数据增强技术和模型融合策略能够有效地应对图像噪声、光照变化等干扰因素并提高模型的鲁棒性和稳定性。
总之PaddleOCR具有高精度、高效性、易用性和鲁棒性等优点为用户提供了一个强大的OCR解决方案。
使用anaconda的环境复制命令复制一个已经安装好常用库的虚拟环境这样就可以省下重新安装大部分库的工作了可以参考虚拟环境部署
假设已有环境名为A需要生成的环境名为B我自己用过在同一台机器上克隆原始环境到另一个环境挺好用的
根据对应的cuda和cudnn版本安装对应的paddlepaddle版本
建议不要安装最新的paddlepaddle版本我安装最新的一直失败
https://pypi.tuna.tsinghua.edu.cn/simple2验证
paddlepaddle.utils.run_check()3.pip安装paddleocr
推荐使用2.0.1版本最新版本为2.7我选择2.6版本但是2.6版本的paddleocr和PPOCRLabel之间出现一些未解决环境bug所以关于2.6版本的paddleocr安装仅供参考安装命令如下
paddleocr2.6使用了以上命令安装却出现PyMuPDF错误如下
首先使用以下命令查看虚拟环境中的paddleocr是不是2.6版本
ocr_predict(img):det_model_dir:文本检测rec_model_dir:文本识别cls_model_dir:方向分类ocr
PaddleOCR(det_model_dir路径/det/ch/ch_PP-OCRv4_det_infer/,rec_model_dir路径/rec/ch/ch_PP-OCRv4_rec_infer/,cls_model_dir路径/cls/ch_ppocr_mobile_v2.0_cls_infer/,langch,
use_angle_clsTrue,use_gpuFalse)result
路径/ys.jpegocr_predict(img_path)测试图片
(‘十组收购地址文昌市蓬莱镇绿涛收购点、琼海市塔洋镇里文收购点’,
12.6版本paddleocr和PPOCRLabel的版本对应
以上完成了paddlepaddle和paddleocr的安装并成功通过测试
https://github.com/PaddlePaddle/PaddleOCR/archive/refs/heads/release/2.6.zip
PaddleOCR-release-2.6/PPOCRLabel安装PPOCRLabel为标注数据作准备运行以下代码
bdist_wheel该目录下dist文件夹中会生成一个whl文件
dist/PPOCRLabel-2.1.3-py2.py3-none-any.whl可能会提示缺少polygon
https://pypi.tuna.tsinghua.edu.cn/simple命令安装。
https://pypi.tuna.tsinghua.edu.cn/simple命令安装即可。
str2int_tuple/anaconda3/envs/ocr/lib/python3.6/site-packages/paddleocr/tools/infer
目录下的utility.py文件内部缺少str2int_tuple函数是因为源码安装与命令行安装的paddleocr所导致的根据源码的utility.py文件去修改虚拟环境下的utility.py文件即可主要进行以下修改
1)#在str2bool函数后面添加str2int_tuple函数
v.split(,)])PPOCRLabel安装成功后运行以下命令打开
QFactoryLoader::QFactoryLoader()
/anaconda3/envs/ocr/bin/platforms
/anaconda3/envs/ocr/lib/python3.8/site-packages/cv2/qt/plugins/platforms/libqxcb.so
/anaconda3/envs/ocr/lib/python3.8/site-packages/cv2/qt/plugins
webgl.这是一个QT问题很多人都遇见这个问题常见的解决方法如下
QT_DEBUG_PLUGINS1查看是否缺少某些库文件sudo
2、降低opencv-contrib-python和opencv-python的版本
3、调整pyqt5的版本或者使用conda安装不使用pip安装pyqt5
。
。
。
。
。
。
我遇到的这个这个问题其实是pyqt5与cv2之间的冲突问题pyqt5与anaconda3/envs/ocr/lib/python3.8/site-packages/cv2/qt/plugins/platforms发生了冲突以上的方法大多数也是倾向于解决掉cv2中的platforms。
https://pypi.tuna.tsinghua.edu.cn/simple如果不想修改cv版本那么就去把anaconda3/envs/ocr/lib/python3.8/site-packages/cv2/qt/plugins/platforms中的platforms重命名即可。
按理来说到这里就没有问题了但是我在启动PPOCRLabel时又出现以下报错而且打不开PPOCRLabel至今没有解决
QFactoryLoader::QFactoryLoader()
/anaconda3/envs/ocr/bin/xcbglintegrations
/anaconda3/envs/ocr/lib/python3.8/site-packages/PyQt5/Qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
false折腾了几天后觉得是2.6版本paddleocr和PPOCRLabel之间的bug导致的因为使用2.7版本就能够打开PPOCRLabel。
22.7版本paddleocr和PPOCRLabel的版本对应
paddleocr2.7与2.6版本的PPOCRLabel源码安装类似
PaddleOCR-release-2.7/PPOCRLabel安装PPOCRLabel为标注数据作准备运行以下代码
bdist_wheel该目录下dist文件夹中会生成一个whl文件
dist/paddleocr-2.7.0.1-py3-none-any.whl可能会提示缺少polygon
https://pypi.tuna.tsinghua.edu.cn/simple命令安装。
https://pypi.tuna.tsinghua.edu.cn/simple命令安装即可。
QFactoryLoader::QFactoryLoader()
/anaconda3/envs/ocr/bin/platforms
/anaconda3/envs/ocr/lib/python3.8/site-packages/cv2/qt/plugins/platforms/libqxcb.so
/anaconda3/envs/ocr/lib/python3.8/site-packages/cv2/qt/plugins
https://pypi.tuna.tsinghua.edu.cn/simple如果不想修改cv版本那么就去把anaconda3/envs/ocr/lib/python3.8/site-packages/cv2/qt/plugins/platforms中的platforms重命名即可。
QFactoryLoader::QFactoryLoader()
/anaconda3/envs/ocr/bin/xcbglintegrations
/anaconda3/envs/ocr/lib/python3.8/site-packages/PyQt5/Qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so
2打开左上角的PaddleOCR选项列表点击选择模型选项然后选择中文英文确认
3打开左上角的文件选项列表点击打开目录选项打开需要标注的图片所在文件夹
4点击左下角的自动标注选项PPOCRLabel会自动调用模型对每张图片进行标注等待进度条100%然后OK
5自动标注结束以后打开左上角的文件选项列表点击导出标记结果和导出识别结果选项
6开始对每张图片进行检查点击矩形标注和多点标注选项手动修改不好的检测框和标签没问题的点击确认不喜欢的点击删除图片选项PPOCRLabel工具操作快捷键如下
7标注结束以后再次点击导出标记结果和导出识别结果选项然后检查图片文件夹中是否生成以下文件
文件名说明Label.txt检测标签可直接用于PPOCR检测模型训练。
用户每确认5张检测结果后程序会进行自动写入。
当用户关闭应用程序或切换文件路径后同样会进行写入。
fileState.txt图片状态标记文件保存当前文件夹下已经被用户手动确认过的图片名称。
Cache.cach缓存文件保存模型自动识别的结果。
rec_gt.txt识别标签。
可直接用于PPOCR识别模型训练。
需用户手动点击菜单栏“文件”
导出识别结果后产生。
crop_img识别数据。
按照检测框切割后的图片。
与rec_gt.txt同时产生。
是训练集、验证集、测试集的图像数量划分比例根据实际情况设定默认是6:2:2
/home/完整数据集存放路径/train_datatrain_data格式如下
...划分好的数据集会保存在PaddleOCR/train_data下面
为了加强垂直领域或者说特殊环境下的检测能力所以会专门使用对应环境的数据集进行训练得到我们理想中的的模型。
根据官方文本检测教程中最简单直接的思路进行训练至于其他训练方法可以深入参考官方教程。
MobileNetV3_large_x0_5_pretrained模型下载
https://paddleocr.bj.bcebos.com/pretrained/MobileNetV3_large_x0_5_pretrained.pdparams
https://paddleocr.bj.bcebos.com/pretrained/ResNet18_vd_pretrained.pdparams
https://paddleocr.bj.bcebos.com/pretrained/ResNet50_vd_ssld_pretrained.pdparams下载之后在paddleocr根目录下建立pretrain_models文件夹并将训练模型放在该文件夹下并解压。
修改/PaddleOCR/configs/det目录下的det_mv3_db.yml或者复制一份重命名。
Global.pretrained_model./pretrain_models/MNV3_x0_5/MobileNetV3_large_x0_5_pretrained如果提示RuntimeError:
memory.就需要降低batch或者清理GPU缓存总会有奇奇怪怪的进程占着资源不放。
训练过程中PaddleOCR文件夹下再开一个终端输入以下命令模型输出地址可视化训练过程
./output/db_mv3打开http://localhost:8040/点击标量数据即可看见实时信息
Global.checkpoints./output/db_mv3/best_accuracy对训练好的模型导出导出到/inference/det_db文件夹下输入以下命令
Global.pretrained_model./output/db_mv3/best_accuracy
Global.save_inference_dir./inference/det_db最后使用以下代码把自己训练的模型更新到det_model_dir进行测试
ocr_predict(img):det_model_dir:文本检测rec_model_dir:文本识别cls_model_dir:方向分类ocr
PaddleOCR(det_model_dir路径/inference/det_db/,rec_model_dir路径/rec/ch/ch_PP-OCRv4_rec_infer/,cls_model_dir路径/cls/ch_ppocr_mobile_v2.0_cls_infer/,langch,
use_angle_clsTrue,use_gpuFalse)result
路径/ys.jpegocr_predict(img_path)同样成功获取到文本坐标再根据坐标信息使用ch_PP-OCRv4_rec_infer模型进行识别具体结果与上文一样不在此复诉。
根据官方文本识别教程中最简单直接的思路进行训练至于其他训练方法可以深入参考官方教程。
中英文超轻量ch_PP-OCRv3_rec_train模型下载
https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_rec_train.tar
https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_train.tar
https://paddleocr.bj.bcebos.com/PP-OCRv3/english/en_PP-OCRv3_rec_train.tar下载之后将训练模型放在pretrain_models文件夹下并解压。
ch_PP-OCRv4_rec_train模型训练涉及到模型蒸馏所以退而求其次使用ch_PP-OCRv3_rec_train模型。
修改/PaddleOCR/configs/rec/PP-OCRv3/目录下的cn_PP-OCRv3_rec.yml或者复制一份重命名。
configs/llw/ch_PP-OCRv3_rec.yml
Global.pretrained_model./pretrain_models/ch_PP-OCRv3_rec_train/best_accuracy如果提示RuntimeError:
memory.就需要降低batch或者清理GPU缓存总会有奇奇怪怪的进程占着资源不放。
训练过程中PaddleOCR文件夹下再开一个终端输入以下命令模型输出地址可视化训练过程
./output/rec_ppocr_v3打开http://localhost:8040/点击标量数据即可看见实时信息
configs/rec/ch_PP-OCRv3_rec.yml
Global.checkpoints./output/rec_ppocr_v3/latest对训练好的模型导出导出到/inference/rec_v3文件夹下输入以下命令
configs/rec/ch_PP-OCRv3_rec.yml
Global.pretrained_model./output/rec_ppocr_v3/best_accuracy
Global.save_inference_dir./inference/rec_v3最后使用以下代码把自己训练的模型更新到rec_model_dir进行测试
ocr_predict(img):det_model_dir:文本检测rec_model_dir:文本识别cls_model_dir:方向分类ocr
PaddleOCR(det_model_dir路径/inference/det_db/,rec_model_dir路径inference/rec_v3/,cls_model_dir路径/cls/ch_ppocr_mobile_v2.0_cls_infer/,langch,
use_angle_clsTrue,use_gpuFalse)result
路径/ys.jpegocr_predict(img_path)五、补充
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback