PaddlePaddle / PaddleOCR

Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80+ languages recognition, provide data annotation and synthesis tools, support training and deployment among server, mobile, embedded and IoT devices)
https://paddlepaddle.github.io/PaddleOCR/
Apache License 2.0
43.9k stars 7.8k forks source link

训练模型和inference模型预测结果相差比较大 #270

Closed Simon-liusheng closed 4 years ago

Simon-liusheng commented 4 years ago

训练的识别模型crnn+mv3+ctc,数据集是一些车牌的数据集,训练的文字dict也已经配置好,转换inference模型是,config文件是训练时候的config,执行预测时候,训练的best accuracy模型,预测结果全部正确,转换inference模型后,预测结果是英文部分是正确的,但是车牌前面的省份大部分有错误。测试了windows和百度aistudio平台,结果都是有错误。

  1. 训练好的模型预测代码 python3 tools/infer_rec.py -c configs/rec/rec_icdar15_train.yml -o Global.checkpoints=output/rec_CRNN/best_accuracy Global.infer_img=test_img

2.inference模型预测代码 ‘python3 tools/infer/predict_rec.py --image_dir="test_img" --rec_model_dir="inference/rec_crnn" --rec_image_shape="3, 32, 100" --rec_char_type="ch" --rec_char_dict_path="ppocr/utils/plate_dict.txt"’ 3.测试图片和配置文件,结果截图如下 inference预测 训练预测

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 plate_dict.txt

Simon-liusheng commented 4 years ago

请求大佬这个是啥原因,难道还要用转换后的模型继续训练吗?

tink2123 commented 4 years ago

识别模型使用 predict_rec.py 时,默认在 rec_char_type= "ch" 模式下根据图片长宽比resize,你指定的shape可能没有生效,可以试着注释掉这两行,看下结果会不会一致: https://github.com/PaddlePaddle/PaddleOCR/blob/ed4313d611b7708a7763d4612f00cb7f318a0e1f/tools/infer/predict_rec.py#L54-L55

这个issue与您的问题类似,可以参考一下 #214

Simon-liusheng commented 4 years ago

@tink2123 非常感谢,试了一下,问题已经解决。

tink2123 commented 4 years ago

不客气~