PaddleOCR Android demo替换最新识别库和模型

PaddleOCR的官方Android demo使用的PaddleLite版本目前是2.10,使用的paddle_lite_opt优化后的模型是v2版本。目前最新的PaddleLite版本是2.13RC,最新的模型版本是v4,据说有比较大提升。那么如何在官方demo中体验最新版本的PaddleLite识别库和v4模型呢?

下载PaddleLite

可以直接下载官方编译好的:github.com/PaddlePaddl...

下载后,解压,放到Android demo的app module根目录下,文件夹重命名为PaddleLite(与demo原编译脚本运行后自动生成的文件夹同名)。目录结构为:

如果你想使用低于2.13的版本的PaddleLite,那么需要注意的是,只支持python == 2.7\3.5\3.6\3.7。github.com/PaddlePaddl...

安装paddlelite工具

pip install paddlelite==2.13rc0

需要注意的是,这一步需要安装跟上述PaddleLite同版本的命令行工具,来优化模型。如果使用其他版本的paddlelite工具优化出来的模型,使用时会报错"Error: This model is not supported, because kernel for 'io_copy' is not supported by Paddle-Lite."

由于我上述下载的PaddleLite推理库的版本是2.13RC,所以这里我就安装2.13rc0版本的paddlelite。

优化模型

从这里下载最新的模型:github.com/PaddlePaddl...

需要下载三个模型,分别是文本检测模型、文本识别模型、文本方向分类模型。都各自下载最新的版本。注意下载的是"推理模型",而不是"训练模型"或"nb模型"。

下载之后,使用上述通过pip安装的paddlelite工具进行优化:

paddle_lite_opt --model_file=./inference.pdmodel --param_file=./inference.pdiparams --optimize_out=./output --valid_targets=arm --optimize_out_type=naive_buffer

运行完成后,会得到一个nb文件。对上述下载的文本检测模型、文本识别模型、文本方向分类模型分别执行,得到三个nb文件。将这三个nb文件,放到Android demo的asserts文件夹中替换原始的三个模型文件。

修改CMakeLists.txt

查找文件中对${PaddleLite\_DIR}的使用,注释掉新版PaddleLite中不再存在的文件对应的add\_custom\_command,再修改libpaddle\_light\_api\_shared.so文件的路径。

收尾

修改Android demo中的MiniActivity.java/Predictor.java/string.xml中,对模型文件或者模型文件夹的定义,使其与新的模型文件相匹配

运行

完美运行

参考文献

github.com/PaddlePaddl...

github.com/PaddlePaddl...

github.com/PaddlePaddl...

github.com/PaddlePaddl...

github.com/PaddlePaddl...

github.com/PaddlePaddl...

github.com/PaddlePaddl...

相关推荐
ShareCreators3 小时前
洞见 | 汽车
人工智能·汽车·blueberry
2501_927283583 小时前
荣联汇智立体仓库:为智慧工厂搭建高效“骨骼”与“中枢”
大数据·运维·人工智能·重构·自动化·制造
七夜zippoe3 小时前
OpenClaw 多模型配置与切换详解
人工智能·配置·模型·切换·openclaw
. . . . .3 小时前
Markdown 处理工具 - Remark
人工智能
NOCSAH3 小时前
统好AI数智平台SRM模块:智能采购管理实操
大数据·人工智能
Ai173163915793 小时前
10大算力芯片某某XXU全解析:CPU/GPU/TPU/NPU/LPU/FPGA/RPU/BPU/DPU/GPGPU
大数据·图像处理·人工智能·深度学习·计算机视觉·自动驾驶·知识图谱
连线Insight3 小时前
从流量分发到信任基建:梦饷科技的加速跃迁
人工智能·科技
jonyleek3 小时前
私有化部署大模型时,如何平衡“数据安全”与“推理性能”的矛盾?
人工智能·ai·大模型·jvs·ai套件·jvs-ai套件
我是大聪明.3 小时前
大模型Tokenizer原理:深入理解BPE与WordPiece子词编码技术
人工智能·深度学习·机器学习
qq_411262423 小时前
四博 AI 智能音箱 4G S3 版本工程落地方案:三模联网、远场唤醒、打断播放与 AI 会话框架
人工智能·智能音箱