跳到主要内容

车牌识别模型部署

参考资料:

1.获取原始模型

1.进入RK Zoo 中车牌识别的模型目录:

cd ~/Projects/rknn_model_zoo/examples/LPRNet/model/

2.下载原始模型

chmod +x ./download_model.sh
./download_model.sh

运行效果:

(base) baiwen@dshanpi-a1:~/Projects/rknn_model_zoo/examples/LPRNet/model$ chmod +x ./download_model.sh
(base) baiwen@dshanpi-a1:~/Projects/rknn_model_zoo/examples/LPRNet/model$ ./download_model.sh
--2025-08-20 09:15:01-- https://ftrg.zbox.filez.com/v2/delivery/data/95f00b0fc900458ba134f8b180b3f7a1/examples/LPRNet/lprnet.onnx
Resolving ftrg.zbox.filez.com (ftrg.zbox.filez.com)... 180.184.171.46
Connecting to ftrg.zbox.filez.com (ftrg.zbox.filez.com)|180.184.171.46|:443... connected.
HTTP request sent, awaiting response... 200
Length: 1785792 (1.7M) [application/octet-stream]
Saving to: ‘./lprnet.onnx’

./lprnet.onnx 100%[============================================================================>] 1.70M 4.99MB/s in 0.3s

2025-08-20 09:15:02 (4.99 MB/s) - ‘./lprnet.onnx’ saved [1785792/1785792]

2.模型转换

1.使用Conda激活rknn-toolkit2环境

conda activate rknn-toolkit2

2.进入车牌识别模型转换目录

cd ~/Projects/rknn_model_zoo/examples/LPRNet/python

3.执行模型转换

python3 convert.py ../model/lprnet.onnx rk3576

运行效果如下:

(rknn-toolkit2) baiwen@dshanpi-a1:~/Projects/rknn_model_zoo/examples/LPRNet/python$ python3 convert.py ../model/lprnet.onnx rk3576
I rknn-toolkit2 version: 2.3.2
--> Config model
done
--> Loading model
I Loading : 100%|█████████████████████████████████████████████████| 36/36 [00:00<00:00, 7991.26it/s]
done
--> Building model
I OpFusing 0: 100%|██████████████████████████████████████████████| 100/100 [00:00<00:00, 427.21it/s]
I OpFusing 1 : 100%|█████████████████████████████████████████████| 100/100 [00:00<00:00, 140.03it/s]
I OpFusing 0 : 100%|█████████████████████████████████████████████| 100/100 [00:00<00:00, 100.88it/s]
I OpFusing 1 : 100%|██████████████████████████████████████████████| 100/100 [00:01<00:00, 95.81it/s]
I OpFusing 2 : 100%|██████████████████████████████████████████████| 100/100 [00:01<00:00, 82.78it/s]
I OpFusing 0 : 100%|██████████████████████████████████████████████| 100/100 [00:01<00:00, 76.95it/s]
I OpFusing 1 : 100%|██████████████████████████████████████████████| 100/100 [00:01<00:00, 73.15it/s]
I OpFusing 2 : 100%|██████████████████████████████████████████████| 100/100 [00:01<00:00, 56.02it/s]
I GraphPreparing : 100%|███████████████████████████████████████████| 71/71 [00:00<00:00, 964.54it/s]
I Quantizating : 100%|█████████████████████████████████████████████| 71/71 [00:00<00:00, 239.84it/s]
W build: The default input dtype of 'input' is changed from 'float32' to 'int8' in rknn model for performance!
Please take care of this change when deploy rknn model with Runtime API!
W build: The default output dtype of 'output' is changed from 'float32' to 'int8' in rknn model for performance!
Please take care of this change when deploy rknn model with Runtime API!
I rknn building ...
I rknn building done.
done
--> Export rknn model
done

执行完成后可以在../model/目录下看到端侧推理的RKNN模型

(rknn-toolkit2) baiwen@dshanpi-a1:~/Projects/rknn_model_zoo/examples/LPRNet/python$ ls ../model/
dataset.txt download_model.sh lprnet.onnx lprnet.rknn test.jpg

3.模型推理

执行推理测试代码:

python3 lprnet.py --model_path ../model/lprnet.rknn --target rk3576

运行效果如下:

(rknn-toolkit2) baiwen@dshanpi-a1:~/Projects/rknn_model_zoo/examples/LPRNet/python$ python3 lprnet.py --model_path ../model/lprnet.rknn --target rk3576
I rknn-toolkit2 version: 2.3.2
done
rk3576
--> Init runtime environment
I target set by user is: rk3576
done
--> Running model
W inference: The 'data_format' is not set, and its default value is 'nhwc'!
--> PostProcess
车牌识别结果: 湘F6CL03