Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

文本检测微调模型 转推理模型后识别效果不一致 #13228

Open
zhongmy20230403 opened this issue Jul 1, 2024 · 1 comment
Open

Comments

@zhongmy20230403
Copy link

zhongmy20230403 commented Jul 1, 2024

问题描述 / Problem Description

训练文本检测模型,训练后的checkpoints模型与转换后的inference模型识别效果不一致

运行环境 / Runtime Environment

  • OS: Windows10
  • Paddle: 2.4.2
  • PaddleOCR: 2.7.0

复现代码 / Reproduction Code

训练:tools/train.py -c ./configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_student.yml
评估:tools/eval.py -c ./configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_student.yml -o Global.checkpoints=./output/1-fapiao_putong_ch_PP-OCR_V3_det/best_accuracy.pdparams
预测:tools/infer_det.py -c configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_student.yml -o Global.infer_img=./train_data/wenbenjiance_test Global.checkpoints=./output/1-fapiao_putong_ch_PP-OCR_V3_det/best_accuracy.pdparams
预测结果正常:
image

转推理模型:tools/export_model.py -c configs/det/ch_PP-OCRv3/ch_PP-OCRv3_det_student.yml -o Global.checkpoints=./output/1-fapiao_putong_ch_PP-OCR_V3_det/best_accuracy Global.save_inference_dir=./output/fapiao_putong_ch_PP-OCR_v3_det_inferer

推理模型预测:tools/infer/predict_det.py --image_dir=./train_data/wenbenjiance_test --det_model_dir=./output/fapiao_putong_ch_PP-OCR_v3_det_inferer

预测结果不正常:
image

配置文件ch_PP-OCRv3_det_student.yml
Global:
debug: false
use_gpu: true
epoch_num: 500
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/fapiao_putong_ch_PP-OCR_V3_det/
save_epoch_step: 100
eval_batch_step:

0
500
cal_metric_during_train: false
pretrained_model: ./pretrained_model/ch_PP-OCRv3_det_distill_train/student.pdparams
checkpoints: null
save_inference_dir: null
use_visualdl: false
infer_img: doc/imgs_en/img_10.jpg
save_res_path: ./output/fapiao_putong_checkpoints/det_db/predicts_db.txt
distributed: true
Architecture:
model_type: det
algorithm: DB
Transform:
Backbone:
name: MobileNetV3
scale: 0.5
model_name: large
disable_se: True
Neck:
name: RSEFPN
out_channels: 96
shortcut: True
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:
name: Cosine
learning_rate: 0.00005
warmup_epoch: 2
regularizer:
name: L2
factor: 5.0e-05
PostProcess:
name: DBPostProcess
thresh: 0.3
box_thresh: 0.6
max_candidates: 1000
unclip_ratio: 1.5
Metric:
name: DetMetric
main_indicator: hmean
Train:
dataset:
name: SimpleDataSet
data_dir: ./train_data/wenbenjiance/imgs
label_file_list:

  • ./train_data/wenbenjiance/train.txt
    ratio_list: [1.0]
    transforms:
  • DecodeImage:
    img_mode: BGR
    channel_first: false
  • DetLabelEncode: null
  • IaaAugment:
    augmenter_args:
  • type: Fliplr
    args:
    p: 0.5
  • type: Affine
    args:
    rotate:
  • -10
  • 10
  • type: Resize
    args:
    size:
  • 0.5
  • 3
  • EastRandomCropData:
    size:
  • 960
  • 960
    max_tries: 50
    keep_ratio: true
  • MakeBorderMap:
    shrink_ratio: 0.4
    thresh_min: 0.3
    thresh_max: 0.7
  • MakeShrinkMap:
    shrink_ratio: 0.4
    min_text_size: 8
  • NormalizeImage:
    scale: 1./255.
    mean:
  • 0.485
  • 0.456
  • 0.406
    std:
  • 0.229
  • 0.224
  • 0.225
    order: hwc
  • ToCHWImage: null
  • KeepKeys:
    keep_keys:
  • image
  • threshold_map
  • threshold_mask
  • shrink_map
  • shrink_mask
    loader:
    shuffle: true
    drop_last: false
    batch_size_per_card: 4
    num_workers: 0
    Eval:
    dataset:
    name: SimpleDataSet
    data_dir: ./train_data/wenbenjiance/imgs
    label_file_list:
  • ./train_data/wenbenjiance/val.txt
    transforms:
  • DecodeImage:
    img_mode: BGR
    channel_first: false
  • DetLabelEncode: null
  • DetResizeForTest: null
  • NormalizeImage:
    scale: 1./255.
    mean:
  • 0.485
  • 0.456
  • 0.406
    std:
  • 0.229
  • 0.224
  • 0.225
    order: hwc
  • ToCHWImage: null
  • KeepKeys:
    keep_keys:
  • image
  • shape
  • polys
  • ignore_tags
    loader:
    shuffle: false
    drop_last: false
    batch_size_per_card: 1
    num_workers: 0

完整报错 / Complete Error Message

可能解决方案 / Possible solutions

附件 / Appendix

@UserWangZz
Copy link
Collaborator

转inference模型后,会有一套默认配置,需要确保这个配置和动态图推理时一致。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants