原始模型: ModelScope - ModelBulider/AIDoc1_3 模型架构: PP-OCRv5 Server (文本检测) 支持设备: CPU (PaddlePaddle) / NPU (ONNX Runtime)
| 文件 | 说明 |
|---|---|
inference.py | 推理脚本,支持 CPU 和 NPU 两种模式 |
compare_cpu_npu.py | CPU vs NPU 精度对比脚本 |
requirements.txt | Python 依赖包 |
README.md | 本文件 |
使用内置测试图像 test_ocr_image.png(800x400,5 行混合中英文文本)进行测试:
检测到 5 个文本区域, 耗时 7.9932s
[1] 检测框: [53, 53, 145, 58], 置信度: 0.9709
[2] 检测框: [52, 123, 87, 128], 置信度: 0.9476
[3] 检测框: [52, 193, 92, 198], 置信度: 0.9314
[4] 检测框: [53, 263, 103, 268], 置信度: 0.9323
[5] 检测框: [55, 333, 166, 340], 置信度: 0.8330检测到 5 个文本区域, 耗时 1.0402s
[1] 检测框: [53, 53, 145, 58], 置信度: 0.9709
[2] 检测框: [52, 123, 87, 128], 置信度: 0.9476
[3] 检测框: [52, 193, 92, 198], 置信度: 0.9314
[4] 检测框: [53, 263, 103, 268], 置信度: 0.9323
[5] 检测框: [55, 333, 166, 340], 置信度: 0.8330| 指标 | 值 |
|---|---|
| 平均 IoU (检测框重叠度) | 100.00% |
| 检测框匹配率 | 100.00% |
| 平均置信度差异 | 0.0000 |
| CPU 推理耗时 | 7.9932s |
| NPU 推理耗时 | 1.0402s |
| 性能提升 | 7.68x |
| 精度误差 | 0.00% ✓ |
结论: NPU 与 CPU 推理结果完全一致(5/5 检测框精确匹配),IoU 100%,检测框匹配率 100%,综合精度误差 0.00%,符合精度误差小于 1% 的要求。
# CPU 推理
python inference.py --image test_ocr_image.png --device cpu --output result.json
# NPU 推理
python inference.py --image test_ocr_image.png --device npu --output result.json
# 精度对比(需先运行 CPU 和 NPU 推理生成结果文件)
python compare_cpu_npu.pypip install -r requirements.txt主要依赖:PyTorch 2.0+, torch-npu 2.2+, OpenCV, Pillow, ONNX Runtime
det_model.onnx,模型文件位于 aidoc_model/ 目录本仓库提供完整的推理脚本,支持 CPU 和 NPU 双平台推理:
# NPU 推理
python3 inference.py --device npu
# CPU 推理
python3 inference.py --device cpu推理完成后会输出推理结果和耗时,表明模型在 NPU 上推理成功。