计算机毕业设计271—基于python+深度学习+YOLOV7的车牌识别系统(源代码+数据库+3万字论文)

毕设所有选题:
https://blog.csdn.net/2303_76227485/article/details/131104075

基于python+深度学习+YOLOV7的车牌识别系统(源代码+数据库+3万字论文)

项目编号:271

一、系统介绍

1、用户:

  • 在界面中选择各种图片,可以是自己在路边拍摄的图片,可以选择视频,可以调用摄像头,进行车牌识别,检测速度快,检测精度高。
  • 使用yolov7来进行模型训练
  • 车牌定位采用yolov7,数据集来自CCPD可以定位蓝色和绿色车牌,精准率99.8%。
  • 车牌识别采用LPRnet,数据集来自CCPD和自己生成的车牌图像,可以识别蓝牌和绿牌,训练后模型准确率98.2%。
  • 生成车牌图像模型使用CycleGAN,使用虚假车牌用gan网络生成真实车牌,用于扩充车牌数据集。
  • 可视化界面使用的pyqt5,可以实现对图像的定位识别和视频或摄像头的车牌识别,ui界面根据自己需求可以进行更改

二、所用技术

python3.8、opencv、PyQt5、torch1.9、tensorflow、深度学习框架需要安装的是GPU版本

三、环境介绍

基础环境 :IDEA/pycharm, python3.8

所有项目以及源代码本人均调试运行无问题 可支持远程调试运行

四、页面截图

1、用户:







五、部署教程

  1. 使用IDEA/PyCharm导入trafficSignDetection项目,File>setting>Project>Python interpreter配置虚拟环境

  2. 安装软件所需的依赖库(注意:输入命令前,命令行需先进入项目目录的路径下,不然会提示找不到文件)

    方法一: 运行下方命令

    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

  3. 按照以上两步环境配置完成后,直接运行LPR_GUI.py文件即可打开程序。命令为:python LPR_GUI.py

六、模型训练

训练相关代码位置:

  1. YOLOv7检测模型训练入口:yolov7/train.py
  2. 数据集配置文件:yolov7/data/ccpd.yaml
  3. 模型结构配置:yolov7/cfg/training/yolov7.yaml
  4. 车牌字符识别训练入口(可选,若你要自己训练识别头):lprnet/train.py

训练步骤:

  1. 配好环境:Python + PyTorch(GPU版)+ 项目依赖。
  2. 准备数据集:按 YOLO 格式整理图片和标签,并划分 train/val(可加 test)。
  3. 修改 ccpd.yaml:把 train/val/test 路径改成你本机真实路径,确认 ncnames 正确。
  4. 准备预训练权重:如 yolov7.pt(用于迁移学习,收敛更快)。
  5. yolov7 目录启动训练:指定 train.py + data/ccpd.yaml + cfg/training/yolov7.yaml + 预训练权重 + epochs/batch/img-size/device
  6. 训练完成后取模型:runs/train/exp*/weights/best.pt 一般作为最终检测模型。
    ce`。
  7. 若需要完整"车牌识别"链路(检测+字符识别),再单独训练 lprnet/train.py,得到字符识别权重并与检测模型联调。
相关推荐
m0_377618232 小时前
c++如何将双精度浮点数以科学计数法写入文件_scientific标志【详解】
jvm·数据库·python
weixin_424999362 小时前
如何检测SQL注入风险_利用模糊测试技术发现漏洞
jvm·数据库·python
2301_775148152 小时前
如何用正则具名捕获组 (-) 提升复杂数据的提取效率
jvm·数据库·python
2501_914245932 小时前
Go语言如何在VSCode中开发_Go语言VSCode配置教程【避坑】.txt
jvm·数据库·python
2301_782659182 小时前
MongoDB如果有一个分片完全宕机集群还能用吗_受影响数据的不可读与分片隔离感知
jvm·数据库·python
justjinji2 小时前
JavaScript中严格模式use-strict对引擎解析的辅助
jvm·数据库·python
Absurd5872 小时前
CSS如何使用-default获取默认选项样式_通过状态伪类突出预选表单项
jvm·数据库·python
Predestination王瀞潞2 小时前
Java EE3-我独自整合(第七章:Spring AOP 通知类型)
python·spring·java-ee
weixin_458580122 小时前
CSS如何让flex布局支持老版本浏览器_添加-webkit-前缀与兼容性写法
jvm·数据库·python