horcham

Results 16 comments of horcham

I meet the same problem.

从结果来看,可能是det阶段就又比较大的精度问题 1. 由于atlas 300I推理卡(3010)目前对离线推理的动态shape支持不完善,需要接受固定wh的shape。而ppocr系列对于det的预处理,是对长边等比例缩放到960。所以ppocr系列的模型在离线推理效果不佳。 2. db++ResNet-50(ch+en)的模型转换,可否提供converte_lite时的config.txt文件内容?该模型的input_shape是[1,3,1152,2048]

您好,针对ch_pp_det_OCRv3,ch_pp_det_OCRv4等检测模型,在310上暂不支持动态shape。ppocr预处理会将图片,按长边缩放到960,维持长宽比不变。所以进行分档时,可以固定长边为960,只对短边进行分档,类似于 ```bash [ascend_context] input_format=NCHW input_shape=x:[1,3,-1,-1] dynamic_dims=[552,960],[576,960],[672,960],[768,960],[960,960] ``` 这样的配置可以让预处理结果比较契合模型输入。转换过程的WARNING一般不会导致效果差的,其实上在910或310P上的动态shape转换也会有类似的WARNING抛出,但不影响结果。 从您提供的结果,db++ResNet-50(ch+en)的det模型和CRNN ResNet34 ch的rec模型文本识别,在bbox边缘的文本容易识别错误,可以尝试以下方法 - 调整扩张比例,适当扩张bbox,避免bbox框出的文字不全。改设置位于yaml文件中的`postprocess.expand_ratio`,将它调整到更大的比例。如`dbpp_r50_icdar15.yaml`中 ```yaml system: ... model: ... postprocess: ... expand_ratio: 1.5 # coefficient for expanding predictions ``` - rec部分的crnn_resnet34_ch精度满意满足要求,可以尝试用ppocr的识别模型ch_pp_rec_OCRv4,替代crnn_resnet34_ch。ch_pp_rec_OCRv4接受固定shape的输入,为48x320。

抱歉久等了,期间我们在跟进您所提的问题。 1. 针对上述的问题, ”/mindspore/mindocr/deploy/py_infer/src/data_process/preprocess/transforms/det_transforms.py中,DetResize类里: super().init( target_size=None, keep_ratio=keep_ratio, padding=padding, limit_type="none", limit_side_len=960, force_divisable=False, interpolation=interpolation, **kwargs, ) limit_type设定的是none,这样在推断的时候,会根据[ascend_context]中设定的shape来对图像进行resize。“ 这部分的limit_type的策略,是从yaml文件中的predict.dataset.transform_pipeline.DetResize传入,而非固定是none。 2. ch_pp_rec_OCRv4在310上支持似乎存在问题,我们复验之后,ch_pp_rec_OCRv3可以转换成功。可以进行尝试。但当前离线推理的前后处理是对齐ppocrv4的,所以推理结果仍会与ppocrv3有差异的,如要使用,需适配对齐ppocrv3的前后处理。且ppocrv3中预处理未对图片放缩到固定长宽,可能潜在有动态shape的问题对不齐的问题。潜在工作量较大。 3. 由于mindocr在300I上看护和验证比较少,推荐用300Ipro。其在ch_pp_det_OCRv4+ch_pp_rec_OCRv4,这一个组合我们验证过精度更贴合ppocrv4。建议可以找一台300Ipro的机器,验证一下精度是否满足需求。

你好,910b机器可以使用如下步骤 1. 用docker简化安装。请见主页"安装教程"下的"通过docker安装"章节。910b选择此docker ```bash docker pull swr.cn-central-221.ovaijisuan.com/mindocr/mindocr_dev_ms_2_2_10_cann7_0_py39:v1 ``` 2. 进入docker,配置环境变量 3. 拉取mindocr主仓代码 4. `cd tools`,执行以下命令,自动下载,转换ppocrv4模型。 ```bash bash paddle2mindir.sh -m=ch_PP-OCRv4 ``` 详细见链接:https://github.com/mindspore-lab/mindocr/blob/main/docs/cn/inference/inference_thirdparty_quickstart.md 下的"3.5 快速转换工具"章节 5. 执行推理,见 https://github.com/mindspore-lab/mindocr/blob/main/docs/cn/inference/inference_thirdparty_quickstart.md 下的"3.4 端到端推理"章节

涉及算子修改,需复验精度。验证精度用以下命令: rec类模型(例如svtr_tiny): python tools/benchmarking/multi_dataset_eval.py --config configs/rec/svtr/svtr_tiny.yaml det类模型(例如dbnet_r50): python tools/eval.py --config configs/det/dbnet/db_r50_icdar15.yaml

Atlas 300I Model 3010下的310,可能对动态shape转换支持不完全。可以尝试以下方法 1. 静态模型,config.txt改为静态。需注意`[ascend_context]`, `input_shape`这两个字段,和动态shape的config.txt不一样。例如 ``` [ascend_context] input_format=NCHW input_shape=x:[1,3,736,1280] ``` 详细见 https://github.com/horcham/mindocr/blob/main/docs/cn/inference/convert_tutorial.md 2. ch_PP-OCRv4_rec_infer模型,检查input_shape的大小是否正确?其应为[1,3,48,320]

可能det模型检测结果存在问题,可能因为310对动态shape存在不适配,但对ppocr的模型静态或分档后,图片放缩到对应shape喂入网络,导致检测效果不好。可以尝试下用dbnet_resnet50等自有模型,或ch_pp_det_OCRv4,单独跑det看看效果. ``` python deploy/py_infer/infer.py --input_images_dir=XXX --det_model_path=xxx/xxxx.mindir --det_model_name_or_config=xxxx --res_save_dir=/path/to/results --vis_det_save_dir=/path/to/vis_results ``` 如使用dbnet_resnet50跑模型,则config文件用`configs/det/dbnet/db_r50_icdar15.yaml`

Hello, for only detection, you could run ```bash python tools/infer/text/predict_det.py --image_dir {path_to_img or dir_to_imgs} --det_algorithm DB++ ``` please refer to https://github.com/mindspore-lab/mindocr/blob/main/tools/infer/text/README.md for more details. In the stats, the F-score and...

Hello, [issue 670](https://github.com/mindspore-lab/mindocr/issues/670) have a similar problem with this problem, you could refer to it. We suggest you could try the following solutions: 1. Check the MindSpore and CANN version...