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

PP-OCRv5_server_det.yml参数解释

以下是OCR检测模型配置文件各参数的详细解释,按模块分类说明:


Global(全局配置)

  • model_name: 模型标识符(PP-OCRv5服务器版检测模型)
  • debug: 是否开启调试模式(false表示关闭)
  • use_gpu: 是否使用GPU训练/推理(true启用GPU)
  • epoch_num: 总训练轮数(设为500轮)
  • log_smooth_window: 日志平滑窗口大小(取20个batch的损失平均值)
  • print_batch_step: 每隔多少batch打印一次日志(每10个batch打印)
  • save_model_dir: 模型保存目录(./output/PP-OCRv5_server_det
  • save_epoch_step: 每隔多少轮保存一次模型(每10轮保存)
  • eval_batch_step: 在哪些batch进行模型评估(初始batch和1500 batch)
  • cal_metric_during_train: 训练中是否实时计算指标(false表示不计算)
  • checkpoints: 本地预训练模型路径(此处未设置)
  • pretrained_model: 预训练模型下载地址(官方提供的PPHGNetV2_B4权重)
  • save_inference_dir: 推理模型保存目录(null表示不单独保存)
  • use_visualdl: 是否使用VisualDL可视化工具(false表示关闭)
  • infer_img: 单张测试图片路径(doc/imgs_en/img_10.jpg
  • save_res_path: 推理结果保存路径(./checkpoints/det_db/predicts_db.txt
  • distributed: 是否使用分布式训练(true表示启用)

Architecture(模型结构)

  • model_type: 任务类型(det表示检测任务)
  • algorithm: 核心算法(DB即Differentiable Binarization)
  • Transform: 输入图像预处理(null表示无需额外变换)
  • Backbone:
    • name: 主干网络(PPHGNetV2_B4,高性能CNN)
    • det: 是否为检测任务定制(true
  • Neck:
    • name: 特征融合模块(LKPAN,改进的特征金字塔)
    • out_channels: 输出通道数(256)
    • intracl: 是否使用层内连接(true
  • Head:
    • name: 检测头类型(PFHeadLocal,渐进式特征头)
    • k: 关键点数量(50)
    • mode: 规模模式(large表示大模型)

Loss(损失函数)

  • name: 损失类型(DBLoss,专用于DB算法)
  • balance_loss: 是否平衡正负样本损失(true启用)
  • main_loss_type: 主损失函数(DiceLoss,处理类别不平衡)
  • alpha: 二值图损失权重(5)
  • beta: 阈值图损失权重(10)
  • ohem_ratio: 难例挖掘比例(3:1的负/正样本比例)

Optimizer(优化器)

  • name: 优化器类型(Adam
  • beta1/beta2: Adam动量参数(0.9/0.999)
  • lr:
    • name: 学习率调度策略(Cosine余弦退火)
    • learning_rate: 初始学习率(0.001)
    • warmup_epoch: 学习率预热轮数(2轮)
  • regularizer:
    • name: 正则化方法(L2权重衰减)
    • factor: 正则化系数(1e-6)

PostProcess(后处理)

  • name: 后处理方法(DBPostProcess
  • thresh: 二值化阈值(0.3)
  • box_thresh: 框得分阈值(高于0.6才保留)
  • max_candidates: 最大候选框数量(1000)
  • unclip_ratio: 框扩展比例(1.5倍)

Metric(评估指标)

  • name: 指标计算器(DetMetric
  • main_indicator: 核心评估指标(hmean即F1-score)

Train(训练配置)

  • dataset:
    • name: 数据集类型(SimpleDataSet
    • data_dir: 训练数据目录(ICDAR2015路径)
    • label_file_list: 训练标签文件路径
    • ratio_list: 数据采样比例([1.0]表示全采样)
    • transforms: 数据增强流水线:
      • DecodeImage: 图像解码(BGR格式)
      • DetLabelEncode: 标签解析
      • CopyPaste: 复制粘贴增强
      • IaaAugment: 多策略增强(翻转/旋转/缩放)
      • EastRandomCropData: 随机裁剪(640x640)
      • MakeBorderMap: 生成阈值图(配合DB算法)
      • MakeShrinkMap: 生成二值图(文本区域收缩)
      • NormalizeImage: 标准化(ImageNet均值/方差)
      • ToCHWImage: 转换张量维度(HWC → CHW)
      • KeepKeys: 指定需保留的数据键
  • loader:
    • shuffle: 数据打乱(true
    • drop_last: 是否丢弃末尾不完整batch(false
    • batch_size_per_card: 单GPU batch大小(8)
    • num_workers: 数据加载线程数(8)

Eval(验证配置)

  • dataset:
    • 与训练相似,但使用测试集标签(test_icdar2015_label.txt
    • transforms去除了数据增强,增加DetResizeForTest适配推理尺寸
  • loader:
    • batch_size_per_card: 设为1(逐张评估)
    • num_workers: 线程数减至2

其他

  • profiler_options: 性能分析工具选项(null表示不启用)

关键设计说明

  1. 数据增强:结合几何变换(旋转/缩放)与语义级增强(CopyPaste)
  2. DB算法适配:通过MakeBorderMap/MakeShrinkMap生成辅助监督信号
  3. 学习率策略:余弦退火+预热,兼顾训练稳定性和收敛速度
  4. 模型结构:PPHGNetV2主干 + LKPAN特征金字塔,平衡精度与速度

注:配置基于PaddleOCR实现,适用于文本检测任务。

http://www.xdnf.cn/news/12474.html

相关文章:

  • Java中==和equals的区别
  • 如何使用索引和条件批量更改Series数据
  • VS如何编译QuaZip库
  • MPO接口型光模块的失效检测
  • boost::qvm 使用示例
  • EtherNet/IP转DeviceNet协议网关详解
  • 手机号段数据库的作用
  • 【技术】跨设备链路聚合的技术——M-LAG
  • 扫地机器人舵机方案升级,舵机品牌伟创动力Kpower方案评测
  • MS31912TEA 多通道半桥驱动器 氛围灯 照明灯 示宽灯 转向灯驱动 后视镜方向调节 可替代DRV8912
  • UFC911B108 3BHE037864R0108
  • 电工基础【8】常用的电气元件符号
  • 发版前后的调试对照实践:用 WebDebugX 与多工具构建上线验证闭环
  • 五子棋网络对战游戏的设计与实现设计与实现【源码+文档】
  • c++ set与multiset的介绍
  • ​​TPS3808​​低静态电流、可编程延迟电压监控电路,应用笔记
  • 2025服装收银系统推荐:智能管理助力服装商家高效经营
  • 中医的十问歌和脉象分类
  • 原理图与 PCB 设计流程及注意事项
  • vue组件的data为什么是函数?
  • Python_标记一带一路各个国家
  • 【Ragflow】26.RagflowPlus(v0.4.0):完善解析逻辑/文档撰写模式全新升级
  • API标准的本质与演进:从 REST 架构到 AI 服务集成
  • 26.【新型数据架构】-零ETL架构
  • 22N60-ASEMI光伏逆变器专用22N60
  • python时间操作笔记
  • Flux ControlNet工作流详细教程
  • 蓝桥春晚魔术(欧拉定理+快速幂)
  • CETOL 6σ v12.1 三维公差分析软件现已可供下载
  • 有意向往gis开发靠,如何规划学习?