### 板上运行+评测结果 (A榜)
ℹ 如无特殊说明,以下实验均使用超参数 `DET_SEG_THRESH=0.5` 和 `DET_MIN_SIZE=5`
关于评分 & 得分的讨论
- 评分公式中,判为 TP 的条件是: `iou(box) > 0.5` && `strsim(txt) > 0.5` (严格大于!!)
- box条件相对容易达成 (det模型要求低),txt条件不容易达成 (rec模型要求高)
- `v3_det + mb_rec` 和 `v2_det + mb_rec` 的得分差异虽然不大,但是前者错字率确实更低,而后者召回的框更多
- 板上精度不容易提高的原因
- recall: 要求 det 模型 分割阈值低 + 预测碎片少、要求 rec 模型推理快;这两条都很难做到
- precision: rec 模型量化后预测就是不太好,甚至有字典外词
- 刷分思路 & 矛盾
- 尽可能多召回框,每个框的文本错字率少于一半就成功!
- CRNN太慢了、有的框里其实没有字,为了降低板上计算量、加快推理速度,我们不得不提高阈值减少待 rec 框的数量
推理时间分析
- det
- v3: 244.60 ms/img
- v2: 228.71 ms/img (⭐)
- mb: 223.63 ms/img
- rec
- v2: 105.21 ms/crop
- mb (bf16): 33.35 ms/crop (⭐)
- mb (mix-fine): 33.17 ms/crop (精度很烂)
- mb (mix): 18.07 ms/crop (精度很烂)
----
⚪ v3_det + mb_rec
⚠ 这条路线精度收益不大,可能 det 模型的预测还是太支离破碎了
```shell
[root@milkv-duo]~/tpu-sdk-cv180x-ocr/samples# nice -n -19 ./bin/cvi_sample_ppocr_sys_many ../cvimodels/ppocrv3_det_int8.cvimodel ../cvimodels/ppocr_mb_rec_bf16.cvimodel /data/train_full_images_0
version: 1.4.0
ppocrv3_det Build at 2024-11-01 13:08:39 For platform cv180x
Max SharedMem size:8793600
version: 1.4.0
ppocr_mb_rec Build at 2024-11-01 12:56:51 For platform cv180x
Max SharedMem size:1075360
find shared memory(8793600), saved:1075360
ts_model_load: 824.000 ms
ts_model_unload: 118.216 ms
================================
n_img: 2350
n_crop: 13293
--------------------------------
ts_img_load: 459602.250 ms
ts_img_crop: 72313.211 ms
ts_det_pre: 213001.766 ms
ts_det_infer: 574809.625 ms
ts_det_post: 61579.309 ms
ts_rec_pre: 18722.221 ms
ts_rec_infer: 443212.906 ms
ts_rec_post: 78747.188 ms
--------------------------------
ts_avg_pre: 98.606 ms
ts_avg_infer: 433.201 ms
ts_avg_post: 59.713 ms
================================
Total time: 1925107.125 ms
```
Judge score:
```shell
python eval_score.py ^
--gt_path ..\datasets\train_full_images.json ^
--result_json ..\results\res_v3.json ^
--inference_time 433.201
100%|████████████████████████████████████████████████████████████████| 2350/2350 [00:07<00:00, 333.88it/s]
F-score: 0.42010, Precision: 0.54821, Recall: 0.34052
Inference time: 433.20100
Score: 69.98178
```
⚪ v2_det + mb_rec/v2_rec
⚠ 这条路线争取更高的精度
```shell
[root@milkv-duo]~/tpu-sdk-cv180x-ocr/samples# nice -n -19 ./bin/cvi_sample_ppocr_sys_many ../cvimodels/ppocrv2_det_int8.cvimodel ../cvimodels/ppocr_mb_rec_bf16.cvimodel /data/train_full_images_0
version: 1.4.0
ppocrv2_det Build at 2024-11-01 13:47:17 For platform cv180x
Max SharedMem size:8179200
version: 1.4.0
ppocr_mb_rec Build at 2024-11-01 12:56:51 For platform cv180x
Max SharedMem size:1075360
find shared memory(8179200), saved:1075360
ts_model_load: 1272.000 ms
ts_model_unload: 112.709 ms
================================
n_img: 2350
n_crop: 10963
--------------------------------
ts_img_load: 483269.844 ms
ts_img_crop: 68317.258 ms
ts_det_pre: 225042.297 ms
ts_det_infer: 533648.875 ms
ts_det_post: 75878.125 ms
ts_rec_pre: 16939.449 ms
ts_rec_infer: 365749.844 ms
ts_rec_post: 64983.641 ms
--------------------------------
ts_avg_pre: 102.971 ms
ts_avg_infer: 382.723 ms
ts_avg_post: 59.941 ms
================================
Total time: 1837247.125 ms
# with DET_SEG_THRESH=0.6
[root@milkv-duo]~/tpu-sdk-cv180x-ocr/samples# nice -n -19 ./bin/cvi_sample_ppocr_sys_many ../cvimodels/ppocrv2_det_int8.cvimodel ../cvimodels/ppocr_mb_rec_bf16.cvimodel /data/train_full_images_0
version: 1.4.0
ppocrv2_det Build at 2024-11-03 17:18:35 For platform cv180x
Max SharedMem size:8179200
version: 1.4.0
ppocr_mb_rec Build at 2024-11-01 12:56:51 For platform cv180x
Max SharedMem size:1075360
find shared memory(8179200), saved:1075360
ts_model_load: 625.641 ms
ts_model_unload: 99.197 ms
================================
n_img: 2350
n_crop: 10232
------------[Total]-------------
ts_img_load: 433020.969 ms
ts_img_crop: 55789.320 ms
ts_det_pre: 181388.703 ms
ts_det_infer: 523809.938 ms
ts_det_post: 43271.453 ms
ts_rec_pre: 14800.529 ms
ts_rec_infer: 340858.406 ms
ts_rec_post: 60596.555 ms
-----------[Average]------------
ts_det_pre: 77.187 ms
ts_rec_pre: 1.446 ms
ts_pre: 83.485 ms
ts_det_infer: 222.898 ms
ts_rec_infer: 33.313 ms
ts_infer: 367.944 ms
ts_det_post: 18.413 ms
ts_rec_post: 5.922 ms
ts_post: 44.199 ms
================================
Total time: 1655957.500 ms
# with DET_SEG_THRESH=0.6 (input_size=480)
[root@milkv-duo]~/tpu-sdk-cv180x-ocr/samples# nice -n -19 ./bin/cvi_sample_ppocr_sys_many_480 ../cvimodels/ppocrv2_det_int8_480.cvimodel ../cvimodels/ppocr_mb_rec_bf16.cvimodel /data/train_full_images_0
ts_model_load: 646.000 ms
ts_model_unload: 110.351 ms
================================
n_img: 2350
n_crop: 7693
------------[Total]-------------
ts_img_load: 441338.875 ms
ts_img_crop: 31840.477 ms
ts_det_pre: 142039.766 ms
ts_det_infer: 286345.406 ms
ts_det_post: 29885.529 ms
ts_rec_pre: 10698.371 ms
ts_rec_infer: 257174.625 ms
ts_rec_post: 45597.750 ms
-----------[Average]------------
ts_det_pre: 60.442 ms
ts_rec_pre: 1.391 ms
ts_pre: 64.995 ms
ts_det_infer: 121.849 ms
ts_rec_infer: 33.430 ms
ts_infer: 231.285 ms
ts_det_post: 12.717 ms
ts_rec_post: 5.927 ms
ts_post: 32.121 ms
================================
Total time: 1246885.750 ms
# with DET_SEG_THRESH=0.6 (input_size=320)
[root@milkv-duo]~/tpu-sdk-cv180x-ocr/samples# nice -n -19 ./bin/cvi_sample_ppocr_sys_many_320 ../cvimodels/ppocrv2_det_int8_320.cvimodel ../cvimodels/ppocr_mb_rec_bf16.cvimodel /data/train_full_images_0
ts_model_load: 532.000 ms
ts_model_unload: 108.762 ms
================================
n_img: 2350
n_crop: 4639
------------[Total]-------------
ts_img_load: 421119.094 ms
ts_img_crop: 12319.597 ms
ts_det_pre: 60890.621 ms
ts_det_infer: 100069.352 ms
ts_det_post: 12054.046 ms
ts_rec_pre: 5543.258 ms
ts_rec_infer: 154795.125 ms
ts_rec_post: 27532.229 ms
-----------[Average]------------
ts_det_pre: 25.911 ms
ts_rec_pre: 1.195 ms
ts_pre: 28.270 ms
ts_det_infer: 42.583 ms
ts_rec_infer: 33.368 ms
ts_infer: 108.453 ms
ts_det_post: 5.129 ms
ts_rec_post: 5.935 ms
ts_post: 16.845 ms
================================
Total time: 796164.125 ms
# with dilate
[root@milkv-duo]~/tpu-sdk-cv180x-ocr/samples# nice -n -19 ./bin/cvi_sample_ppocr_sys_many ../cvimodels/ppocrv2_det_int8.cvimodel ../cvimodels/ppocr_mb_rec_bf16.cvimodel /data/train_full_images_0
version: 1.4.0
ppocrv2_det Build at 2024-11-01 13:47:17 For platform cv180x
Max SharedMem size:8179200
version: 1.4.0
ppocr_mb_rec Build at 2024-11-01 12:56:51 For platform cv180x
Max SharedMem size:1075360
find shared memory(8179200), saved:1075360
ts_model_load: 746.000 ms
ts_model_unload: 104.360 ms
================================
n_img: 2350
n_crop: 12632
--------------------------------
ts_img_load: 532231.375 ms
ts_img_crop: 95815.852 ms
ts_det_pre: 251827.391 ms
ts_det_infer: 541911.875 ms
ts_det_post: 191669.469 ms
ts_rec_pre: 18334.904 ms
ts_rec_infer: 422575.875 ms
ts_rec_post: 74878.844 ms
--------------------------------
ts_avg_pre: 114.963 ms
ts_avg_infer: 410.420 ms
ts_avg_post: 113.425 ms
================================
Total time: 2132573.75
没有合适的资源?快使用搜索试试~ 我知道了~
BDCI 2024基于TPU平台的OCR模型性能优化源码.zip
共98个文件
py:15个
json:15个
onnx:14个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 5 浏览量
2024-11-28
10:42:18
上传
评论
收藏 83.03MB ZIP 举报
温馨提示
CCF BDCI 2024 基于 TPU 平台的 OCR 模型性能优化。它部署了 PaddleOCR 项目到 MilkV-Duo 板上运行,并对模型在 A 榜、B 榜和 B2 榜上的性能进行了评估和对比。 主要功能点 将 PaddleOCR 模型转换为 ONNX 格式,并编译为 cvimodel 格式以在 TPU 上运行 在 A 榜、B 榜和 B2 榜上测试不同输入尺寸的模型性能,并对结果进行分析 提供了环境搭建和模型编译的相关脚本和说明 技术栈 Python MLIR Shell C++ Batchfile
资源推荐
资源详情
资源评论
收起资源包目录
BDCI 2024基于TPU平台的OCR模型性能优化源码.zip (98个子文件)
mk_cali_set_rec.py 1KB
downloads
download.cmd 861B
experimental
repo
init_repos.cmd 131B
xutils.py 7KB
run_repo_infer.cmd 590B
run_repo_infer.py 5KB
.gitignore 96B
test_repo_infer.py 6KB
README.md 6KB
submit
exam
exam_input
gt_113.jpg 308KB
gt_198.jpg 454KB
gt_97.jpg 325KB
exam_output
gt_113.jpg 399KB
gt_198.jpg 487KB
gt_97.jpg 371KB
code
ppocr_sys_many.cpp 13KB
run_ppocr_sys 30KB
run_utils.py 7KB
README.md 2KB
output
.keep 0B
user_data
lib
libopencv_imgproc.so.3.2 2.13MB
libcvikernel.so 301KB
libz.so.1 110KB
libopencv_imgcodecs.so.3.2 2.64MB
libopencv_core.so.3.2 2.07MB
libcviruntime.so 272KB
files
unclip_algo.pdf 129KB
ppocr_keys_v1.txt 26KB
cvimodel
ppocrv2_det_int8_480.cvimodel 1.66MB
ppocrv2_det_int8_320.cvimodel 1.41MB
ppocrv2_det_int8_640.cvimodel 3.91MB
ppocrv3_rec_mix.cvimodel 5.07MB
ppocrv3_det_int8.cvimodel 4.19MB
ppocr_mb_rec_bf16.cvimodel 4.89MB
ppocrv3_rec_bf16.cvimodel 8.14MB
requirements.txt 76B
.gitignore 128B
README.md 12KB
README.zip 2KB
run_utils_B2.py 4KB
compile_cvimodel_all.sh 1KB
run_docker.cmd 187B
datasets
train_full_images.json 5.57MB
run_infer_datasets.sh 4KB
build
ppocr_mb_rec_qtable 751B
ppocrv3_rec.withoutlast.mlir 43KB
judge-code
ppocr_sys_opencv_cvi.py 13KB
ppocr_det_opencv_cvi.py 12KB
assets
image-20240915220837651.png 85KB
image-20240915220245647.png 149KB
run_eval.cmd 1KB
eval_score.py 5KB
ppocr_rec_opencv_cvi.py 8KB
make_train_full_images.py 1KB
run_eval.sh 1KB
requirements.txt 59B
ppocr_cls_opencv_cvi.py 6KB
.gitignore 19B
README.md 1KB
评测说明.md 2KB
vis_results.py 3KB
requirements.txt 106B
vis_results_B.py 1KB
models
ch_PP-OCRv4_det_infer.onnx 4.51MB
ch_PP-OCRv3_det_infer.onnx 2.31MB
ch_ppocr_mobile_v2.0_cls_infer.onnx 559KB
ch_ppocr_mobile_v2.0_det_infer.onnx 2.23MB
ch_PP-OCRv3_rec_infer.modify.onnx 10.19MB
ch_PP-OCRv2_rec_infer.onnx 7.99MB
ch_ppocr_mobile_v2.0_cls_infer.modify.onnx 562KB
ch_ppocr_mobile_v2.0_rec_infer.modify.onnx 4.26MB
ch_PP-OCRv2_det_infer.onnx 2.23MB
ch_ppocr_mobile_v2.0_rec_infer.onnx 4.23MB
ch_PP-OCRv4_rec_infer.onnx 10.34MB
ch_PP-OCRv2_rec_infer.modify.onnx 8.02MB
ch_PP-OCRv3_rec_infer.onnx 10.19MB
ch_ppocr_mobile_v2.0_det_prune_infer.onnx 1.73MB
download_and_convert.cmd 2KB
compile_cvimodel_rec_mb_mix_fine.sh 2KB
results
resB2_480_fix.json 2.54MB
res_v3.json 3.15MB
res_v2_det_thresh=0.6_size=320.json 1.16MB
resB_320.json 270KB
resB2_640_fix.json 3.08MB
res_v2_det_thresh=0.6_size=480.json 1.93MB
resB_480.json 344KB
resB2_640.json 3.03MB
res_v2_recv2.json 2.59MB
res_v2.json 2.72MB
res_v2_det_thresh=0.6.json 2.57MB
resB2_480.json 2.5MB
BAD_CASE.md 1KB
resB_640.json 374KB
README.md 20KB
res_mb.json 2.03MB
compile_cvimodel.sh 4KB
run_tpu_mlir_visual.sh 842B
vis_results_blank.py 1KB
共 98 条
- 1
资源评论
Scikit-learn
- 粉丝: 5008
- 资源: 3581
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 小程序项目-基于微信小程序的游乐园智慧向导小程序(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的ssm基于微信小程序的付费自习室系统(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的springboot微信小程序的点餐系统(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的ssm基于微信小程序的短视频系统(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的ssm基于微信小程序的跳蚤市场的设计与实现修改(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的智能停车场管理系统(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的在线办公小程序(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的游泳馆管理系统(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的ssm基于微信小程序的高校课堂教学管理系统(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的自助购药小程序(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的自习室预约系统(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的足浴城消费系统(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的ssm基于微信小程序的食堂窗口自助点餐系统(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的“健康早知道”(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的“最多跑一次”(包括源码,数据库,教程).zip
- 小程序项目-基于微信小程序的党建工作小秘书(包括源码,数据库,教程).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功