本文档记录 DBNet (Differentiable Binarization) 文字检测模型在昇腾 NPU (Ascend 910B3) 上的迁移适配与精度验证结果。
DBNet 是 OCR 流水线中的文字检测环节,基于 ResNet18 骨干网络,通过可微分二值化实现文本区域的像素级分割。模型输出二值分割图,后处理通过轮廓提取得到文本行边界框。
相关获取地址:
参考文档:
| 组件 | 版本 |
|---|---|
CANN | 8.5.1 |
torch | 2.8.0 |
torch_npu | 2.8.0.post4 |
modelscope | 1.37.0 |
numpy | 1.24.4 |
opencv-python-headless | 4.13.0 |
Ascend 910B3,单卡推理pip install torch==2.8.0 torch_npu==2.8.0.post4 modelscope opencv-python-headless numpy \
pyclipper shapely sortedcontainers simplejson addict datasets pyarrow \
-i https://mirrors.huaweicloud.com/repository/pypi/simplepython inference.py --image document.jpg --device npu[1, 1, 640, 640] 分割图,正常| 指标 | CPU | NPU (Ascend 910B3) |
|---|---|---|
| 平均耗时 | 1444.6 ms | 6.2 ms |
| 中位耗时 | 1421.6 ms | 6.2 ms |
| 加速比 | — | 233.3x |
| 指标 | 数值 |
|---|---|
| 输出形状 | [1, 1, 640, 640] |
| 鲁棒平均相对误差 | 0.1116% |
| 精度要求 | 平均相对误差 < 1% |
| 精度评测 | 通过 |
model.detector 获取 DBModel,直接输入 Tensor [1,3,H,W] 得到分割图pyclipper + shapely 库