首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >基于YOLO11的车牌(CCPD2020)检测系统(Python源码+数据集+Pyside6界面)

基于YOLO11的车牌(CCPD2020)检测系统(Python源码+数据集+Pyside6界面)

原创
作者头像
AI小怪兽
发布2025-03-17 10:07:57
发布2025-03-17 10:07:57
5510
举报
文章被收录于专栏:毕业设计毕业设计YOLO大作战

💡💡💡本文摘要:基于YOLO11的车牌(CCPD2020)检测,阐述了整个数据制作和训练可视化过程

博主简介

AI小怪兽,YOLO骨灰级玩家,1)YOLOv5、v7、v8、v9、v10、11优化创新,轻松涨点和模型轻量化;2)目标检测、语义分割、OCR、分类等技术孵化,赋能智能制造,工业项目落地经验丰富;

添加图片注释,不超过 140 字(可选)

1.YOLO11介绍

Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

结构图如下:

添加图片注释,不超过 140 字(可选)

1.1 C3k2

C3k2,结构图如下

添加图片注释,不超过 140 字(可选)

C3k2,继承自类C2f,其中通过c3k设置False或者Ture来决定选择使用C3k还是Bottleneck

添加图片注释,不超过 140 字(可选)

实现代码ultralytics/nn/modules/block.py

1.2 C2PSA介绍

借鉴V10 PSA结构,实现了C2PSA和C2fPSA,最终选择了基于C2的C2PSA(可能涨点更好?)

添加图片注释,不超过 140 字(可选)

实现代码ultralytics/nn/modules/block.py

1.3 11 Detect介绍

分类检测头引入了DWConv(更加轻量级,为后续二次创新提供了改进点),结构图如下(和V8的区别):

添加图片注释,不超过 140 字(可选)

实现代码ultralytics/nn/modules/head.py

2.车牌检测系统

车牌检测是识别和确定车辆牌照位置的过程。它在交通管理、安防监控、智能停车场等领域有重要意义,具体如下:

交通管理方面

  • 规范交通行为:车牌检测是交通执法的重要手段,可自动识别超速、闯红灯等违法行为的车辆牌照,为处罚提供依据,促使驾驶员自觉遵守交通规则,减少交通事故。
  • 车辆统计与规划:通过车牌检测技术,能统计道路上的车辆流量、分类及分布,为交通流量分析、高峰时段和路段确定提供数据支持,助力交通规划和管理优化。
  • 交通流量控制:实时检测车牌,结合车辆行驶数据,可监测交通流量和密度,为交通信号灯的智能控制提供依据,缓解拥堵,提高通行效率。

安防监控方面

  • 车辆追踪与定位:车牌检测在安防监控中协助警方追踪嫌疑车辆,通过城市监控系统快速定位其位置和轨迹,提高破案效率。
  • 区域安全防控:在重要场所如政府机关、军事禁区等周边,通过车牌检测系统可对进入车辆实时监控,发现异常及时预警处理,增强区域安全。
  • 安防监控整合:车牌检测可与安防监控系统整合,实现智能化管理。如车辆进入禁行区域时,系统自动告警并记录车牌信息,便于后续处理。

智能停车场管理方面

  • 车辆身份识别:车牌检测是停车场车辆身份识别的重要依据,自动识别车牌可实现快速入场、出场,避免人工取卡刷卡的繁琐,提高通行效率。
  • 停车收费管理:结合车牌识别和停车时间,系统自动计算停车费用,支持多种支付方式,简化缴费流程,提高停车场运营效率。
  • 车位引导与管理:通过车牌检测和车位占用情况监测,系统可为车主提供车位引导,帮助快速找到空位,同时实现车位级管理,提高利用率。

2.1 车牌数据集介绍

数据集大小一共11776张

类别1类:

names: ['plate']

细节图:

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

2.2 配置CCPD.yaml

ps:建议填写绝对路径

代码语言:javascript
复制
path: F:/ultralytics-ccpd/data/CCPD # dataset root dir
train: train.txt  # train data/PCB_DATASET/images (relative to 'path') 118287 data/PCB_DATASET/images
val: val.txt  # val data/PCB_DATASET/images (relative to 'path') 5000 data/PCB_DATASET/images
 
# number of classes
nc: 1
 
# class names
names:
  0: plate

2.3 如何训练

代码语言:javascript
复制
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO('ultralytics/cfg/models/11/yolo11.yaml')
    model.train(data='data/CCPD.yaml',
                cache=False,
                imgsz=640,
                epochs=200,
                batch=8,
                close_mosaic=10,
                device='0',
                optimizer='SGD', # using SGD
                project='runs/train',
                name='exp',
                )

2.4 训练结果可视化结果

代码语言:javascript
复制
YOLO11 summary (fused): 238 layers, 2,582,347 parameters, 0 gradients, 6.3 GFLOPs
                 Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 34/34 [00:33<00:00,  1.02it/s]
                   all       2120       2120          1          1      0.995       0.92

添加图片注释,不超过 140 字(可选)

预测结果:

添加图片注释,不超过 140 字(可选)

3. 车牌检测系统设计

3.1 PySide6介绍

受益于人工智能的崛起,Python语言几乎以压倒性优势在众多编程语言中异军突起,成为AI时代的首选语言。在很多情况下,我们想要以图形化方式将我们的人工智能算法打包提供给用户使用,这时候选择以python为主的GUI框架就非常合适了。

PySide是Qt公司的产品,PyQt是第三方公司的产品,二者用法基本相同,不过在使用协议上却有很大差别。PySide可以在LGPL协议下使用,PyQt则在GPL协议下使用。

PySide目前常见的有两个版本:PySide2和PySide6。PySide2由C++版的Qt5开发而来.,而PySide6对应的则是C++版的Qt6。从PySide6开始,PySide的命名也会与Qt的大版本号保持一致,不会再出现类似PySide2对应Qt5这种容易混淆的情况。

3.2 安装PySide6

pip install --upgrade pip pip install pyside6 -i https://mirror.baidu.com/pypi/simple

基于PySide6开发GUI程序包含下面三个基本步骤:

  • 设计GUI,图形化拖拽或手撸;
  • 响应UI的操作(如点击按钮、输入数据、服务器更新),使用信号与Slot连接界面和业务;
  • 打包发布;

3.3 车牌检测系统设计

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.YOLO11介绍
  • 1.1 C3k2
  • 1.2 C2PSA介绍
  • 1.3 11 Detect介绍
  • 2.车牌检测系统
  • 2.1 车牌数据集介绍
  • 2.2 配置CCPD.yaml
  • 2.3 如何训练
  • 2.4 训练结果可视化结果
  • 3. 车牌检测系统设计
  • 3.1 PySide6介绍
  • 3.2 安装PySide6
  • 3.3 车牌检测系统设计
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档