当前位置: 首页 > news >正文

PaddleOCR----制作数据集,模型训练,验证 QT部署(未完成)

部署环境, windows,文档未写完

目录

  • 1.安装
    • 1.1 paddle框架安装
    • 1.2 paddleOCR安装
  • 2.制作数据集
    • 2.1工具下载
    • 2.2 数据集制作
    • 2.3 划分训练集和测试集
  • 3.训练模型
    • 3.1 代码下载
    • 3.2 预训练模型下载
    • 3.3 文本检测训练
    • 3.4 文本识别模型训练
  • 4.验证模型
    • 4.1 验证文本检测模型
    • 4.3 模型导出
    • 4.2 推理可视化
    • 4.3 文本识别模型
    • 4.4 检测和识别一同验证可视化
  • 5 QT部署c++
    • 5.1 安装Opencv与Paddle Inference
  • 遇到问题
    • AssertionError: The length of ratio_list should be the same as the file_list.
    • 验证时候爆显存

1.安装

1.1 paddle框架安装

conda 创建一个python =3.10的基础环境

根据自己的环境安装paddle框架链接

image-20251105092542387

安装完成后进入环境,输入

python

import paddle

paddle.utils.run_check()

如果看到以下输出则没有问题,输入exit()退出

image-20251105103829851

1.2 paddleOCR安装

pip install paddleocr出现以下说明安装成功,不用指定版本,指定了还出错

image-20251105104449485

2.制作数据集

2.1工具下载

下载数据集制作工具下载地址

解压后,进入环境,cd到解压目录

pip3 install "paddlex[ocr]" -i https://pypi.tuna.tsinghua.edu.cn/simple/安装必要库

启动插件python ./PPOCRLabel.py,此时会一直下载模型,然后就会打开软件

image-20251105131825720

2.2 数据集制作

打开图片文件夹,矩形框标注,可以更改识别结果,标注完成点击确定

image-20251105132036762

制作完成后,点击文件→导出标记结果,点击文件→导出识别结果,得到四个文件

image-20251105160843782

2.3 划分训练集和测试集

打开conda终端进入环境,cd进入PPOCRLabel文件夹,把图片文件夹复制到data文件夹下,执行划分命令

python gen_ocr_train_val_test.py --trainValTestRatio 6:2:2 --datasetRootPath ./data/Tire_data

–trainValTestRatio 6:2:2 #训练集、验证集和测试集的比例

–datasetRootPath #数据集路径

image-20251111104603659

运行完成后再代码的上一级文件夹就会有train_data,里边就是划分好的数据集

image-20251111105011221

3.训练模型

3.1 代码下载

克隆也行,下载也行,下载地址

解压后cd进入,安装必要库pip install -r requirements.txt

image-20251111105735037

3.2 预训练模型下载

https://www.paddleocr.ai/main/version3.x/module_usage/text_detection.html#411下载文本检测和识别的预训练模型

image-20251111110722645

3.3 文本检测训练

windows 端训练 终端输入指令

python tools/train.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml \ # 配置文件路径-o Global.pretrained_model=./model/PP-OCRv5_server_det_pretrained.pdparams \ #模型路径Train.dataset.data_dir=../train_data/det \							# 数据集路径Train.dataset.label_file_list='[../train_data/det/train.txt]' \		# train.txt路径Eval.dataset.data_dir=../train_data/det \							# 数据集路径Eval.dataset.label_file_list='[../train_data/det/val.txt]'			# val.txt路径

python tools/train.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml -o Global.pretrained_model=./model/PP-OCRv5_server_det_pretrained.pdparams Train.dataset.data_dir=../train_data/det Train.dataset.label_file_list=[../train_data/det/train.txt] Eval.dataset.data_dir=../train_data/det Eval.dataset.label_file_list=[../train_data/det/val.txt]

3.4 文本识别模型训练

同理

4.验证模型

4.1 验证文本检测模型

进入终端,环境,cd到目录

python3 tools/eval.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml \-o Global.pretrained_model=output/PP-OCRv5_server_det/latest.pdparams \ # 保存的模型地址Eval.dataset.data_dir=./ocr_det_dataset_examples \						# 数据集路径Eval.dataset.label_file_list='[./ocr_det_dataset_examples/val.txt]'		#valtext 路径

python tools/eval.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml -o Global.pretrained_model=output/PP-OCRv5_server_det/latest.pdparams Eval.dataset.data_dir=../train_data/det Eval.dataset.label_file_list=[../train_data/det/val.txt]

4.3 模型导出

python tools/export_model.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml -o \   # 配置文件Global.pretrained_model=output/PP-OCRv5_server_det/latest.pdparams \			# 模型参数路径Global.save_inference_dir="./PP-OCRv5_server_det_infer/"						#导出地址

python tools/export_model.py -c configs/det/PP-OCRv5/PP-OCRv5_server_det.yml -o Global.pretrained_model=output/PP-OCRv5_server_det/latest.pdparams Global.save_inference_dir="./PP-OCRv5_server_det_infer/"

会得到这三个文件,然后就可以推理

image-20251111140745172

4.2 推理可视化

python tools\infer\predict_det.py \--image_dir "../train_data/det/test/" \				# 预测图像路径--det_model_dir "./output/PP-OCRv5_server_det/" \	# 模型路径--use_gpu true

python tools\infer\predict_det.py --image_dir "../train_data/det/test/" --det_model_dir "./PP-OCRv5_server_det_infer/" --use_gpu true

在这个路径下就能看到识别后的可视化结果

image-20251111141053745

4.3 文本识别模型

同理

4.4 检测和识别一同验证可视化

python tools/infer/predict_system.py  --det_model_dir=./ch_PP-OCRv2_det_infer/ \         # 检测模型目录--rec_model_dir=./ch_PP-OCRv2_rec_infer/  \        # 识别模型目录--image_dir=./datasets/img_dir/ \                  # 测试图片目录--draw_img_save_dir=./ch_PP-OCRv2_results/ \       # 可视化结果保存目录--is_visualize=True

5 QT部署c++

5.1 安装Opencv与Paddle Inference

参考官方教材,直接安装编译包就行,省去编译过程官方教程

image-20251111151456291

遇到问题

AssertionError: The length of ratio_list should be the same as the file_list.

去掉’','[../train_data/det/train.txt]'变为[../train_data/det/train.txt]

验证时候爆显存

打开配置文件,关闭使用gpuuse-gpu=false

http://www.dtcms.com/a/597775.html

相关文章:

  • leetcode 474 一和零
  • ADB点击实战-做一个自动点广告播放领金币的脚本app(下)
  • 系统运维Day06_RSYSLOG系统日志管理
  • LeetCodeHot100| 438.找到字符串中所有字符异位次、和为k 的子数组
  • 网络安全与数字化转型的价值投资
  • 免费网站建设教程厦门建站最新消息
  • 电子辐射能量场的具体过程
  • 住房和城乡规划建设局官方网站士兵突击网站怎么做
  • 文件名精灵2025 v1.0
  • 高端品牌型网站建设店面设计多少钱一个平方
  • git仓库管理
  • SSM基于vuejs的图书管理系统171wx(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Qt 配置Webassemble环境
  • 维力安网站建设公司wordpress 建站 电子书
  • 珠海微信网站上海电商网站开发
  • 成都企业网站的建立网站开发实用技术知识点
  • 网站后台生成html企业培训课程一览表
  • 解锁整车EEA---功能与物理架构的深度剖析
  • 完善EKF可观测性体系:基于ElastAlert2构建k8s智能钉钉日志告警系统
  • 营销网站建设教学我的小程序怎么制作
  • 廊坊网站快速排名优化飓风 网站建设
  • 小迪安全v2023学习笔记(一百四十六讲)—— Webshell篇魔改哥斯拉打乱特征指纹新增后门混淆过云查杀过流量识别
  • 微信如何申请小程序商店公众号微博seo
  • 家居用品:藏在日常里的生活温度
  • 网站片头怎么做网站开发时app打开很慢
  • 利用ARCGIS手搓宗地图详细版
  • Python基础教学:在Python中的迭代器和生成器的区别-由Deepseek产生
  • 哪家网站设计公司好百度快速排名用什
  • 11.10dns作业
  • 湛江制作网站多少钱番禺网站建设品牌好