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
表示不启用)
关键设计说明
- 数据增强:结合几何变换(旋转/缩放)与语义级增强(CopyPaste)
- DB算法适配:通过
MakeBorderMap
/MakeShrinkMap
生成辅助监督信号 - 学习率策略:余弦退火+预热,兼顾训练稳定性和收敛速度
- 模型结构:PPHGNetV2主干 + LKPAN特征金字塔,平衡精度与速度
注:配置基于PaddleOCR实现,适用于文本检测任务。