PaddleOCR训练和测试自己的数据集_paddleocr训练自己的数据集

1、数据集划分

import random

train_txt = open("train.txt", "w", encoding="utf-8")
val_txt = open("val.txt", "w", encoding="utf-8")
with open("Label.txt", "r", encoding="utf-8") as f:
    data = f.readlines()
    f.close()

li_all = []
for da in data:
    data1 = da.strip('\n')
    li_all.append(data1)

count = len(data)
tra = int(0.9 \* count)
li = range(count)
print("训练集个数:", tra)
print("验证集个数:", count-tra)
train = random.sample(li, tra)   # 随机从li列表中选取tra个数据

for i in li:
    if i in train:
        train_txt.write(li_all[i] + "\n")
    else:
        val_txt.write(li_all[i] + "\n")

2、修改配置文件

配置文件目录:./PaddleOCR/configs/det/det_mv3_db.yml
注: 这里的训练图像存放路径和标注label都在./data目录下。

Global:
  use\_gpu: True   # 默认是True
  use\_xpu: false
  use\_mlu: false
  epoch\_num: 500  # ======================改====================================
  log\_smooth\_window: 20
  print\_batch\_step: 10
  save\_model\_dir: ./output/db_mv3/    # ======================改====================================
  save\_epoch\_step: 100          # ======================改====================================
  # evaluation is run every 2000 iterations
  eval\_batch\_step: [0, 2000]
  cal\_metric\_during\_train: False
  pretrained\_model: ./pretrain_models/MobileNetV3_large_x0_5_pretrained/ch_ppocr_mobile_v2.0_det_train/best_accuracy    # ======================改====================================
  checkpoints:
  save\_inference\_dir:
  use\_visualdl: False
  infer\_img: doc/imgs_en/img_10.jpg
  save\_res\_path: ./output/det_db/predicts_db.txt

Architecture:
  model\_type: det
  algorithm: DB
  Transform:
  Backbone:
    name: MobileNetV3
    scale: 0.5
    model\_name: large
  Neck:
    name: DBFPN
    out\_channels: 256
  Head:
    name: DBHead
    k: 50

Loss:
  name: DBLoss
  balance\_loss: true
  main\_loss\_type: DiceLoss
  alpha: 5
  beta: 10
  ohem\_ratio: 3

Optimizer:
  name: Adam
  beta1: 0.9
  beta2: 0.999
  lr:
    learning\_rate: 0.001
  regularizer:
    name: 'L2'
    factor: 0

PostProcess:
  name: DBPostProcess
  thresh: 0.3
  box\_thresh: 0.6
  max\_candidates: 1000
  unclip\_ratio: 1.5

Metric:
  name: DetMetric
  main\_indi
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PaddleOCR是一个基于深度学习的开源OCR系统,主要用于文字识别任务。它支持多种语言的文字识别,并且可以通过训练自己的数据集来提升识别效果。 要训练自己的数据集,首先需要准备好包含文字的视频数据集。然后,我们需要将视频中的每一帧提取出来,并将每一帧上的文字区域标注。可以使用图像处理技术,如图像分割、文本检测等方法来实现文字区域的标注。 接下来,需要将数据集划分为训练集和验证集,一般按照80%的比例进行划分。然后,使用PaddleOCR提供的工具,如label_tools、utility等工具,将数据集格式转化为PaddleOCR可识别的格式,比如txt或json格式。 接着,可以使用PaddleOCR提供的训练脚本进行模型的训练。在训练时,可以根据需要设置各种参数,如网络结构、学习率、训练轮数等。可以通过调整这些参数来优化模型的训练效果。 训练完成后,可以使用PaddleOCR提供的预测脚本来进行文字识别。首先,需要加载训练好的模型,并将视频中的每一帧输入到模型中进行识别。识别结果可以保存在文本文件中,或者在视频中进行展示。 总之,通过使用PaddleOCR训练自己的数据集,可以实现对视频中文字的识别。这对于一些需要从视频中提取文字信息的应用场景,如视频字幕生成、视频内容分析等具有重要的意义。需要注意的是,在训练过程中,数据集的质量对于模型效果有着重要的影响,因此需要尽量保证数据集的准确性和完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值