PaddleOCR icon indicating copy to clipboard operation
PaddleOCR copied to clipboard

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

Open zhongmy20230403 opened this issue 8 months ago • 0 comments

问题描述 / 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

zhongmy20230403 avatar Jul 01 '24 01:07 zhongmy20230403