智能车牌识别系统:YOLOv5+LPRNet深度学习引擎,车辆信息库+性能监控!
智能车牌识别系统:YOLOv5+LPRNet深度学习引擎,车辆信息库+性能监控!
想要代码点击此处系统链接闲鱼
1. 项目简介
本系统基于深度学习技术构建,相比传统图像处理方法(依赖图像分割和模板匹配)局限性明显,对光照、角度和遮挡极为敏感。本系统采用YOLOv5 目标检测 + LPRNet 字符识别,实现端到端的高精度中文车牌识别,支持蓝牌(普通燃油车)、新能源绿牌、黄牌自动分类。
- Github链接: https://github.com/znmeister/YOLOv5-LPRNet-GUI
2. 核心功能
2.1 双引擎深度学习识别
- YOLOv5目标检测:高精度车牌定位,支持复杂背景
- LPRNet字符识别:专为车牌识别的轻量级CNN网络,由Intel公司提出并商用,能够处理各种光照、角度甚至倾斜条件下的车牌图像
- 多车牌类型支持:蓝牌、新能源绿牌、黄牌自动分类(HSV颜色空间判别)
2.2 多源识别模式
- 单张图片识别:支持JPG/PNG,上传即识别,自动标注车牌框
- 批量图片处理:一键识别整个文件夹,结果自动导出
- 摄像头实时识别:开启摄像头,实时预览并识别车牌
2.3 车辆信息智能数据库
- 品牌/型号匹配:识别车牌后自动查询预设车辆信息(内置大众、特斯拉等演示数据)
- 动态增删改查:用户可自行添加车辆品牌、型号、颜色,存入SQLite
- 识别历史记录:每次识别自动保存,支持导出CSV
2.4 实时性能监控看板
- FPS趋势图表:动态绘制识别帧率曲线
- 内存占用监控:实时显示进程内存使用量
- CPU状态:动态展示CPU占用率
- GPU检测:自动检测CUDA并显示GPU型号
2.5 多主题界面切换
- 内置 flatly(明亮)、darkly(暗黑)、superhero(英雄)四种主题,一键切换,编辑器中实时生效
- 现代化卡片式布局:基于ttkbootstrap的GUI设计
2.6 识别结果可视化增强
- 原图+检测框:绿色矩形标注车牌位置
- 中文车牌绘制:使用PIL在图像上直接叠加识别出的车牌号
- 车牌缩略图:右侧卡片单独展示裁剪后的车牌区域
- 颜色标签:蓝牌/绿牌/黄牌用不同背景色区分
2.7 多线程异步处理
- 界面不卡顿:识别过程在后台线程运行
- 摄像头帧率控制:每1.5秒识别一次,兼顾实时性与CPU占用
- 资源自动释放:关闭摄像头/图片后释放内存
3. 环境要求
| 依赖项 | 版本推荐 | 说明 |
|---|---|---|
| Python | 3.8 ~ 3.10 | Anaconda虚拟环境推荐 |
| PyTorch | ≥1.10 | GPU或CPU版本均可 |
| opencv-python | ≥4.5 | 图像处理与摄像头调用 |
| ttkbootstrap | ≥1.10 | 现代GUI主题库 |
| Pillow | ≥9.0 | 图像显示与中文绘图 |
| matplotlib | ≥3.3 | 性能图表绘制 |
| psutil | ≥5.8 | 系统资源监控 |
4. 安装与配置
4.1 克隆/下载项目
git clone https://github.com/znmeister/YOLOv5-LPRNet-GUI.git cd YOLOv5-LPRNet-GUI4.2 创建虚拟环境(推荐)
conda create-n license_plate python=3.9conda activate license_plate7.项目文件结构
YOLOv5-LPRNet-GUI/├── GUI.py# 主程序(包含所有界面与逻辑)├── weights/│ ├── yolov5_best.pt# YOLOv5检测权重│ └── lprnet_best.pth# LPRNet识别权重├── models/# YOLOv5模型定义│ ├── experimental.py │ ├── LPRNet.py# LPRNet网络结构 + CHARS字符集│ └──...├── utils/# 辅助函数(nms, scale_coords等)│ └── utils.py ├── vehicle_records.db# 自动生成的SQLite数据库└── requirements.txt