当前位置: 首页 > article >正文

车牌识别 支持12种中文车牌类型 车牌数据集下载

开源代码
如果觉得有用,不妨给个Star⭐️🌟支持一下吧~ 谢谢!

Acknowledgments & Contact

1.WeChat ID: cbp931126

2.QQ Group:517671804

加微信(备注:PlateAlgorithm),进讨论群可以获得10G大小的车牌检测和识别数据

3.车牌识别在线体验

在线体验地址

PlateAlgorithm

车牌识别算法,支持12种中文车牌类型

1.单行蓝牌
2.单行黄牌
3.新能源车牌
4.白色警用车牌
5 教练车牌
6 武警车牌
7 双层黄牌
8 双层武警
9 使馆车牌
10 港澳牌车
11 双层农用车牌
12 民航车牌

识别效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特性

  1. 车牌检测(yolov5plate,yolov7plate,yolov8playe),车牌校正,车牌识别,车牌检测识别;

    文件夹State说明
    PLateDetection_yolov5Doneyolov5 车牌检测
    PLateDetection_yolov7Doneyolov7 车牌检测
    PLateDetection_yolov8Doingyolov8 车牌检测
    PlateRecognitionDone车牌识别
    PlateDetectionRecognitionDone车牌检测->车牌校正->车牌识别
  2. 所有模型均使用C++和TensorRT加速推理,yolov7plate的前后处理使用cuda加速,(其他模型加速优化也可参考);
    3 所有模型使用C++和OnnxRuntime.OpenVINO,NCNN加速推理(TO DO);

  3. 提供C接口,可以直接移植在项目里;

  4. 提供python调用,C#调用的demo(TODO)

  5. 根据不同的显卡型号自动生成对应的engine(如果文件夹下有其他显卡适配engine,则删除engine才能重新生成使用中的显卡对应的engien);

  6. PlateDetectionRecognition->test->main.cpp文件中的条件编译测试说明

    测试类别enable说明
    yolov5_plate1yolov7车牌检测
    yolov7_plate1yolov5 车牌检测
  7. 车牌识别准确率(测试集数量:2.4w张)

    模型size准确率速度平台
    plate_recognition_colors92.40%452.480usRTX3090
    plate_recognition_ss98.90%452.597usRTX3090
    plate_recognition_mm99.35%463.316usRTX3090
    plate_recognition_ll99.56%507.082usRTX3090

算法说明

算法接口

/** 
 * @brief                  车牌初始化函数
 * @param config           模块配置参数结构体
 * @return                 HZFLAG
 */
void*Initialize(Config*config);

/** 
 * @brief                  车牌检测识别(yolov5)
 * @param img              Plate_ImageData
 * @param PlateDet         车牌检测识别结果列表
 * @return                 HZFLAG
 */		
int PlateRecognition_yolov5(void*p,Plate_ImageData*img,PlateDet*PlateDets);

/** 
 * @brief                  车牌检测(yolov7_plate)
 * @param img              Plate_ImageData
 * @param PlateDet         车牌检测识别结果列表
 * @return                 HZFLAG
 */		
int PlateRecognition_yolov7(void*p,Plate_ImageData*img,PlateDet*PlateDets);


/** 
 * @brief                  车牌检测(yolov8_plate)
 * @param img              Plate_ImageData
 * @param PlateDet         车牌检测识别结果列表
 * @return                 HZFLAG
 */		
int PlateRecognition_yolov8(void*p,Plate_ImageData*img,PlateDet*PlateDets);

/** 
 * @brief                  反初始化
 * @return                 HZFLAG 
 */		
int Release(void*p,Config*config);

2.环境

  1. ubuntu20.04+cuda11.1+cudnn8.2.1+TensorRT8.2.5.1(测试通过)
  2. ubuntu18.04+cuda10.2+cudnn8.2.1+TensorRT8.2.5.1(测试通过)
  3. Win10+cuda11.1+cudnn8.2.1+TrnsorRT8.2.5.1 (测试通过)
  4. 其他环境请自行尝试或者加群了解

3.编译

  1. 更改根目录下的CMakeLists.txt,设置tensorrt的安装目录
set(TensorRT_INCLUDE "/xxx/xxx/TensorRT-8.2.5.1/include" CACHE INTERNAL "TensorRT Library include location")
set(TensorRT_LIB "/xxx/xxx/TensorRT-8.2.5.1/lib" CACHE INTERNAL "TensorRT Library lib location")
  1. 默认opencv已安装,cuda,cudnn已安装

  2. 为了Debug默认编译 -g O0版本,如果为了加快速度请编译Release版本

  3. 使用Visual Studio Code快捷键编译(4,5二选其一):

   ctrl+shift+B
  1. 使用命令行编译(4,5二选其一):
   mkdir build
   cd build
   cmake ..
   make -j6

References

  1. https://github.com/deepcam-cn/yolov5-face
  2. https://github.com/derronqi/yolov7-face/tree/main
  3. https://github.com/we0091234/yolov7-face-tensorrt
  4. https://github.com/derronqi/yolov8-face
  5. https://github.com/we0091234/crnn_plate_recognition
  6. https://github.com/we0091234/Chinese_license_plate_detection_recognition

http://www.kler.cn/a/135885.html

相关文章:

  • 如何在K8S集群中查看和操作Pod内的文件?
  • MFC用List Control 和Picture控件实现界面切换效果
  • Leetcode中最常用的Java API——util包
  • MES系统工作流的单元测试方案
  • 【读书笔记】《论语别裁》寂寞的享受
  • 鸿蒙学习笔记:用户登录界面
  • 多参数训练Isolation Forest
  • Python---函数的嵌套(一个函数里面又调用了另外一个函数)
  • Asp.net MVC Api项目搭建
  • GitHub如何删除仓库
  • 支付宝沙箱支付
  • Unity中Shader矩阵的逆矩阵
  • openfeign、nacos获取接口提供方真实IP
  • new/delete 和malloc/free的区别
  • uni-app 使用vscode开发uni-app
  • 接口自动化和UI自动化的区别
  • 实现CAS自旋锁
  • 工程项目立项需要做哪些准备?
  • 视频转码方法:多种格式视频批量转FLV视频的技巧
  • 【Linux网络】详解使用http和ftp搭建yum仓库,以及yum网络源优化
  • git常用命令和参数有哪些?【git看这一篇就够了】
  • 【开题报告】基于SpringBoot的网上摄影工作室的设计与实现
  • 前端面试考核点【更持续新中】
  • 根据nginx日志统计页面访问次数
  • 指针变量和地址
  • 11.1 文件拷贝移动与删除