车牌识别难点克服,c++部署

车牌识别工程

车牌检测

难点痛点

车牌不是一个矩形,传统的目标检测存在缺陷
光照

解决方案

基于centernet的思想,使用任意四边形的检测头,增加角度的回归

车牌识别

crnn在边缘端部署比较麻烦

去除rnn
去除全连接,用conv替代

c++部署工程

工程地址:

https://github.com/JiangYongYu1/PlateRecognize
[github地址](https://github.com/JiangYongYu1/PlateRecognize)

基于onnxruntime-gpu的c++部署,支持linux和windows,提供两个检测和两个识别模型,可以任意组合,支持蓝绿车牌

轻量级检测模型,只能检测-45 -> +45 plate/center_text_mbv3.onnx
稍大检测模型,可以检测360°车牌 plate/center_text_640.onnx
轻量级识别模型, 2.8M,未使用rnn和全连接 plate/plate_reg_res.onnx 
稍大识别模型, plate/plate_reg_best.onnx 精度比轻量级高1.3个点

libtorch的c++部署

只提供轻量级模型的torchscript

用法

准备依赖库

编译运行

mkdir build
cd build
cmake ..

./plate_demo ../plate/config_lite.yml ../plate/canvas.png

精度

  • lite模型精度:检测和识别合起来的精度 ccpd 95.6%
  • big模型精度:检测和识别合起来的精度 ccpd 96.9%

你可能感兴趣的:(ocr,c++,边缘计算,人工智能,目标检测)