• 车牌识别 支持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);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37

    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
    • 2
    1. 默认opencv已安装,cuda,cudnn已安装

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

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

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

    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
  • 相关阅读:
    uniapp实现App弹窗更新升级(完整版)热更新
    算法-求和(两数/三数/四数之和)问题
    zabbix模板监控和自定义监控
    Python numpy | 详解 np.unique() 的妙用 去重 + 重排序、统计出现次数
    【Rust日报】2023-09-26 Deadpool v0.10 发布
    航顺HK HK32F103CBT6 MCU
    高效管理企业固定资产的办法
    Jetpack Compose(2) —— 入门实践
    ab压力测试
    Mybatis-Puls MySQL存入json格式数据
  • 原文地址:https://blog.csdn.net/pcb931126/article/details/134520112