AI计算机视觉笔记二十一:PaddleOCR训练自定义数据集

简介: 在完成PaddleOCR环境搭建与测试后,本文档详细介绍如何训练自定义的车牌检测模型。首先,在`PaddleOCR`目录下创建`train_data`文件夹存放数据集,并下载并解压缩车牌数据集。接着,复制并修改配置文件`ch_det_mv3_db_v2.0.yml`以适应训练需求,包括设置模型存储目录、训练可视化选项及数据集路径。随后,下载预训练权重文件并放置于`pretrain_models`目录下,以便进行预测与训练。最后,通过指定命令行参数执行训练、断点续训、测试及导出推理模型等操作。

续上一篇,PaddleOCR环境搭建好了,并测试通过,接下来训练自己的检测模型和识别模型。

paddleocr检测模型训练

1、准备数据集

在PaddleOCR目录下新建文件夹:train_data, 这个文件夹用于存放数据集的。

使用的是恩培提供的车牌识别数据集,下载car_plate_images.zip后,解压到train_data目录下
image.png

2、配置文件

在PaddleOCR主目录下:configs/det/ch_ppocr_v2.0/下,

复制ch_det_mv3_db_v2.0.yml为ch_det_mv3_db_v2.0.yml_car_plate.yml
image.png
打开ch_det_mv3_db_v2.0.yml_car_plate.yml配置文件,修改以下4个内容:

1.训练后模型存储目录;

2.是否训练可视化;

3.训练数据集图片和标注位置;

4.测试数据集图片和标注位置;

其他参数如pretrained_model等可以在训练时在命令行中指定.其它的看官方文档

ch_det_mv3_db_v2.0.yml_car_plate.yml文件内修改

我的电脑没有gpu,所以use_gpu需要修改成false

配置文件完后,创建保存模型目录output/ch_ppocr_mobile_v2.0_det:
image.png

3、使用官方的权重文件进行预测

打开PaddleOCR/doc/doc_ch/models_list.md at release/2.6 · PaddlePaddle/PaddleOCR · GitHub

下载权重文件

image.png
下载后,解压,把权重文件放到PaddleOCR\pretrain_models\目录下,pretrain_models目录自己创建。

image.png
先预测一下:

预测命令:

python tools/eval.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.checkpoints="./pretrain_models/ch_ppocr_server_v2.0_det_train/best_accuracy"

image.png

4、训练

训练命令:

python tools/train.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.pretrained_model="./pretrain_models/ch_ppocr_server_v2.0_det_train/best_accuracy"

参数解释:

-c 是配置文件的路径

-o 是权重文件的路径

预测 -o Global.checkpoints=

训练 -o Global.pretrained_model=

注意这两个不一样。
image.png
断点续训: -o Global.checkpoints:保存的文件路径

python tools/train.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.pretrained_model="./mode/det/ch_ppocr_server_v2.0_det_train/best_accuracy" -o Global.checkpoints="./output/ch_db_mv3/latest"

5、測試

使用训练模型–测试1张图 -o Global.infer_img:文件位置

python tools/infer_det.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml"  -o Global.infer_img="./train_data/car_plate_images/images_det/test/test_5.jpg" Global.pretrained_model="./output/ch_ppocr_mobile_v2.0_det/latest"

使用训练模型–测试文件夹内所有图片 新建文件夹imgs 放测试的图片 -o Global.infer_img:文件夹位置

python tools/infer_det.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml"  -o Global.infer_img="./imgs/" Global.pretrained_model="./output/ch_db_mv3/latest"

训练模型保存为用于部署的推理模型 保存路径:output文件夹内

python tools/export_model.py -c "./configs/det/ch_ppocr_v2.0/ch_det_mv3_db_v2.0.yml_car_plate.yml" -o Global.pretrained_model="./output/ch_db_mv3/latest" Global.save_inference_dir="./output/"

使用推理模型–预测命令: #det_algorithm 检测使用的算法 #det_model_dir 检测模型位置 #image_dir 测试图片路径 #use_gpu 是否使用GPU

python tools/infer/predict_det.py --det_algorithm="DB" --det_model_dir="./output/" --image_dir="./car_plate_images/images_det/test/" --use_gpu=True

如有侵权,或需要完整代码,请及时联系博主。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
2月前
|
人工智能 测试技术 API
AI计算机视觉笔记二十 九:yolov10竹签模型,自动数竹签
本文介绍了如何在AutoDL平台上搭建YOLOv10环境并进行竹签检测与计数。首先从官网下载YOLOv10源码并创建虚拟环境,安装依赖库。接着通过官方模型测试环境是否正常工作。然后下载自定义数据集并配置`mycoco128.yaml`文件,使用`yolo detect train`命令或Python代码进行训练。最后,通过命令行或API调用测试训练结果,并展示竹签计数功能。如需转载,请注明原文出处。
|
2月前
|
JSON 人工智能 数据格式
AI计算机视觉笔记二十六:YOLOV8自训练关键点检测
本文档详细记录了使用YOLOv8训练关键点检测模型的过程。首先通过清华源安装YOLOv8,并验证安装。接着通过示例权重文件与测试图片`bus.jpg`演示预测流程。为准备训练数据,文档介绍了如何使用`labelme`标注工具进行关键点标注,并提供了一个Python脚本`labelme2yolo.py`将标注结果从JSON格式转换为YOLO所需的TXT格式。随后,通过Jupyter Notebook可视化标注结果确保准确性。最后,文档展示了如何组织数据集目录结构,并提供了训练与测试代码示例,包括配置文件`smoke.yaml`及训练脚本`train.py`,帮助读者完成自定义模型的训练与评估。
|
25天前
|
Python 机器学习/深度学习 人工智能
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
【10月更文挑战第1天】本文通过构建一个简单的强化学习环境,演示了如何创建和训练智能体以完成特定任务。我们使用Python、OpenAI Gym和PyTorch搭建了一个基础的智能体,使其学会在CartPole-v1环境中保持杆子不倒。文中详细介绍了环境设置、神经网络构建及训练过程。此实战案例有助于理解智能体的工作原理及基本训练方法,为更复杂应用奠定基础。首先需安装必要库: ```bash pip install gym torch ``` 接着定义环境并与之交互,实现智能体的训练。通过多个回合的试错学习,智能体逐步优化其策略。这一过程虽从基础做起,但为后续研究提供了良好起点。
81 4
手把手教你从零开始构建并训练你的第一个强化学习智能体:深入浅出Agent项目实战,带你体验编程与AI结合的乐趣
|
2月前
|
机器学习/深度学习 人工智能 PyTorch
AI计算机视觉笔记三十二:LPRNet车牌识别
LPRNet是一种基于Pytorch的高性能、轻量级车牌识别框架,适用于中国及其他国家的车牌识别。该网络无需对字符进行预分割,采用端到端的轻量化设计,结合了squeezenet和inception的思想。其创新点在于去除了RNN,仅使用CNN与CTC Loss,并通过特定的卷积模块提取上下文信息。环境配置包括使用CPU开发板和Autodl训练环境。训练和测试过程需搭建虚拟环境并安装相关依赖,执行训练和测试脚本时可能遇到若干错误,需相应调整代码以确保正确运行。使用官方模型可获得较高的识别准确率,自行训练时建议增加训练轮数以提升效果。
|
2月前
|
人工智能 开发工具 计算机视觉
AI计算机视觉笔记三十:yolov8_obb旋转框训练
本文介绍了如何使用AUTODL环境搭建YOLOv8-obb的训练流程。首先创建虚拟环境并激活,然后通过指定清华源安装ultralytics库。接着下载YOLOv8源码,并使用指定命令开始训练,过程中可能会下载yolov8n.pt文件。训练完成后,可使用相应命令进行预测测试。
|
2月前
|
人工智能 并行计算 测试技术
AI计算机视觉笔记三十一:基于UNetMultiLane的多车道线等识别
该项目基于开源数据集 VIL100 实现了 UNetMultiLane,用于多车道线及车道线类型的识别。数据集中标注了六个车道的车道线及其类型。项目详细记录了从环境搭建到模型训练与测试的全过程,并提供了在 CPU 上进行训练和 ONNX 转换的代码示例。训练过程约需 4 小时完成 50 个 epoch。此外,还实现了视频检测功能,可在视频中实时识别车道线及其类型。
|
2月前
|
传感器 人工智能 算法
AI计算机视觉笔记二十七:YOLOV8实现目标追踪
本文介绍了使用YOLOv8实现人员检测与追踪的方法。通过为每个人员分配唯一ID,实现持续追踪,并可统计人数,适用于小区或办公楼出入管理。首先解释了目标检测与追踪的区别,接着详细描述了使用匈牙利算法和卡尔曼滤波实现目标关联的过程。文章提供了基于IOU实现追踪的具体步骤,包括环境搭建、模型加载及追踪逻辑实现。通过示例代码展示了如何使用YOLOv8进行实时视频处理,并实现人员追踪功能。测试结果显示,该方法在实际场景中具有较好的应用潜力。
|
2月前
|
人工智能 监控 算法
AI计算机视觉笔记二十 八:基于YOLOv8实例分割的DeepSORT多目标跟踪
本文介绍了YOLOv8实例分割与DeepSORT视觉跟踪算法的结合应用,通过YOLOv8进行目标检测分割,并利用DeepSORT实现特征跟踪,在复杂环境中保持目标跟踪的准确性与稳定性。该技术广泛应用于安全监控、无人驾驶等领域。文章提供了环境搭建、代码下载及测试步骤,并附有详细代码示例。
|
3天前
|
机器学习/深度学习 人工智能 供应链
AI技术在医疗领域的应用与未来展望###
本文深入探讨了人工智能(AI)技术在医疗领域的多种应用及其带来的革命性变化,从疾病诊断、治疗方案优化到患者管理等方面进行了详细阐述。通过具体案例和数据分析,展示了AI如何提高医疗服务效率、降低成本并改善患者体验。同时,文章也讨论了AI技术在医疗领域面临的挑战和未来发展趋势,为行业从业者和研究人员提供参考。 ###
|
3天前
|
机器学习/深度学习 人工智能 算法
AI技术在医疗领域的应用与挑战
【10月更文挑战第21天】 本文探讨了人工智能(AI)在医疗领域的多种应用,包括疾病诊断、治疗方案推荐、药物研发和患者管理等。通过分析这些应用案例,我们可以看到AI技术如何提高医疗服务的效率和准确性。然而,AI在医疗领域的广泛应用也面临诸多挑战,如数据隐私保护、算法透明度和伦理问题。本文旨在为读者提供一个全面的视角,了解AI技术在医疗领域的潜力和面临的困难。

热门文章

最新文章