1 Star 4 Fork 5

pcb9382 / PlateRecognition

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

简体中文 | English

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

Acknowledgments & Contact

1.WeChat ID: cbp931126

2.QQ Group:517671804

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

PlateAlgorithm

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

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

识别效果

drawing drawing drawing drawing drawing drawing drawing drawing

特性

  1. 车牌识别在线体验:http://zhoujiayao.com:8200/

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

    文件夹 State 说明
    PLateDetection_yolov5 Done yolov5 车牌检测
    PLateDetection_yolov7 Done yolov7 车牌检测
    PLateDetection_yolov8 Doing yolov8 车牌检测
    PlateRecognition Done 车牌识别
    PlateDetectionRecognition Done 车牌检测->车牌校正->车牌识别
  3. 所有模型均使用C++和TensorRT加速推理,yolov7plate的前后处理使用cuda加速,(其他模型加速优化也可参考);

  4. 所有模型使用C++和OnnxRuntime.OpenVINO,NCNN加速推理(TO DO);

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

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

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

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

    测试类别 enable 说明
    yolov5_plate 1 yolov7车牌检测
    yolov7_plate 1 yolov5 车牌检测
  9. 车牌识别准确率(测试集数量:2.4w张)

    模型 size 准确率 速度 平台
    plate_recognition_color s 92.40% 452.480us RTX3090
    plate_recognition_s s 98.90% 452.597us RTX3090
    plate_recognition_m m 99.35% 463.316us RTX3090
    plate_recognition_l l 99.56% 507.082us RTX3090

算法说明

算法接口

/** 
 * @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
MIT License Copyright (c) 2023 pcb9382 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

License-Plate-Recognition 支持12种车牌检测识别,包含yolov5,yolov7,yolov8车牌检测,车牌矫正,车牌识别等,准确率高达99.5% 还有车牌数据集提供下载 展开 收起
C/C++ 等 4 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C/C++
1
https://gitee.com/peng-chuanbo/PlateRecognition.git
git@gitee.com:peng-chuanbo/PlateRecognition.git
peng-chuanbo
PlateRecognition
PlateRecognition
main

搜索帮助