Edge-AI Camera智能视觉系统-基于Paddle的OCR模型迁移训练(二)

Edge-AI Camera智能视觉系统-基于Paddle的OCR模型迁移训练(二)有小伙伴来咨询 第一篇文章 OpenNCC 智能视觉系统 基于 Paddle 的 OCR 模型迁移训练 一 后续有没有成功 今天有时间赶紧发出来 使用 OpenNCC 来构建 Edge AI OCR 摄象机 第四步 开始训练 在 PaddleOCR 目录下打开一个终端 输入命令 python tools train py

大家好,我是讯享网,很高兴认识大家。

    有小伙伴来咨询,第一篇文章’OpenNCC智能视觉系统-基于Paddle的OCR模型迁移训练(一)‘后续有没有成功,今天有时间赶紧发出来,使用OpenNCC来构建Edge-AI OCR摄象机

    第四步:开始训练

在PaddleOCR目录下打开一个终端,输入命令:

python tools/train.py -c configs/rec/rec_icdar15_train.yml  2>&1 | tee train_rec.log


讯享网

 模型开始迭代。

 

第五步:预测测试

模型在训练过程中所有的中间状态都会保存output目录下,如果需要对当前模型的性能进行测试,可以输入命令:

python3 tools/infer_rec.py -c ./configs/rec/multi_languages/rec_en_lite_train.yml -o Global.checkpoints=./output/en_number/best_accuracy Global.infer_img=./train_data/test/XX.jpg

现在我们对验证图进行预测

 

识别结果:IJTFYQPU

 

结果完全匹配并且置信度也相当高,当然你也可以多制作一些图片进行验证。

第六步:模型导出

如果对训练效果满意并想要在ncc_ocr测试模型效果,需要先导出模型,输入命令:

python3 tools/export_model.py -c ./configs/rec/multi_languages/rec_en_lite_train.yml -o Global.save_inference_dir=./inference_model

 

model文件保存了模型的拓扑结构,params文件保存了模型权重参数。

如何在ncc_ocr中部署训练好的模型?

第七步:paddle模型转nb格式

ncc_ocr使用nb格式的模型作为最终推理格式,所以在导出paddle静态格式之后,需要将静态图格式转化为nb格式。

首先下载编译转换工具:

git clone https://github.com/PaddlePaddle/Paddle-Lite.git

cd Paddle-Lite

git checkout release/v2.7

./lite/tools/build.sh build_optimize_tool

完成编译后,进入编译工具目录

cd build.opt/lite/api/

将第六步中的inference_model文件夹复制到当前目录下,然后输入转化命令:

./opt --model_file=./inference_model/model  --param_file=./inference_model/params  --optimize_out=./inference_model/rec

--valid_targets=arm

得到rec.nb模型文件。

第八步:使用nb模型文件

将得到的rec.nb文件移动到ncc_ocr/inference_lite_lib.armlinux.armv7hf/demo/cxx/ocr/debug目录下,替换对应的模型文件,如果不喜欢改代码,请保持文件名和原先一致。

由于演示中的模型使用区分大小写的英文字典,所以需要用目录

model_train/ppocr/utils/下的ic15_dict.txt字典文件将debug下的字典文件一并替换。同样的,如果不喜欢改代码,请保持文件名和原先一致。

最后运行./ocr_db_crnn测试实机效果。

第九步:paddle模型转blob格式

我们通过paddle2onnx工具将paddle模型转为onnx模型。

首先pip安装paddle2onnx

pip install paddle2onnx

进入det推理模型目录,输入命令:

paddle2onnx --model_dir ./  --model_filename ./model   --params_filenam

e ./params  --save_file onnx_file --opset_version 11 --enable_onnx_checker True

获取onnx_file文件后,再通过openvino模型转化工具将onnx模型装为bin、xml文件,最后优化为blob格式,具体方法请参考openvino官方文档(Converting a ONNX* Model - OpenVINO™ Toolkit)

xml,bin转blob参考命令

/opt/intel/openvino_2020.3.194/deployment_tools/inference_engine/lib/intel64/myriad_compile -m model_input.xml -o model_output.blob -VPU_MYRIAD_PLATFORM VPU_MYRIAD_2480 -VPU_NUMBER_OF_SHAVES 6 -VPU_NUMBER_OF_CMX_SLICES 6

第十步:使用blob模型文件

将得到的blob和xml文件移动到ncc_ocr/mainApp/bin/blob目录下,替换对应的模型文件,如果不喜欢改代码,请保持文件名和原先一致。

小讯
上一篇 2025-01-07 15:37
下一篇 2025-02-10 21:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/66077.html