💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌
温馨提示:文末有 优快云 平台官方提供的老师 Wechat / QQ 名片 :)
介绍
[摘 要] 随着交通管理的智能化发展,我们知道基于深度学习的车牌检测系统在安全监控和交通管理等领域发挥着关键作用,然而传统车牌识别方法受复杂场景和光照条件影响,性能还不够高,所以本文设计了一种采用YOLOv5模型进行车牌检测,并结合PlateNet模型进行车牌识别的系统,目的在于在提高车牌识别的准确性和效率。我们通过深度学习技术,使该系统实现了对车牌的快捷且精准的检测与识别,并且还提出一些优化方案,包括数据预处理与模型设计以及参数调优,从而提升系统在复杂环境下的鲁棒性。本次实验通过大量实验验证,证明该系统在不同场景和光照条件下可以取得较好的效果,实现了对车辆行驶状态的实时监测和识别。所以该系统在提高交通安全、优化交通管理和提升道路通行效率方面具有广泛应用前景,本研究对深度学习在车牌检测技术领域的探索,以及智能交通系统的进一步发展具有重要意义。
[关键词] 深度学习;车牌检测;YOLOv5;PlateNet
演示视频
基于深度学习的车牌检测系统的设计与实现(安卓、YOLOV、CRNNLPRNet)+文档_哔哩哔哩_bilibili
系统功能
- 模型选择及搭建
我们为了解决传统车牌识别方法效率与准确率不高的问题,采用基于深度学习的无分割车牌识别方法。通过构建车牌检测和识别系统,利用YOLOv5进行车牌检测,结合PlateNet模型进行车牌识别。同时,针对端上部署需求,提出了 PlateNet模型,支持部署到Android SDK或开发板。
车牌号码是车辆身份的重要标识,其编制规则反映了一定的地理和行政管理信息。根据中国的车牌编制规则,车牌号码的第一位是汉字,代表车辆所在省级行政区的 简称,比如“京”代表北京,“沪”代表上海,“粤”代表广东。第二位是英文字 母,表示车辆所在地级行政区的代码,例如“A”代表省会或直辖市中心区域, “B”、“C”、“D”等依次代表其他地级市。在字母编制过程中,通常跳过了"I" 和"O",因为它们容易与数字“1”和“0”混淆。车牌号码后续的字符则代表车辆的 具体编号。
车牌还分为蓝牌和绿牌两种类型。蓝牌车辆是传统燃油车辆的标识,采用纯蓝色设计,字体为白色,号码共有7位字符。绿牌车辆是新能源汽车的标识,采用渐变绿或黄绿双拼色设计,字体为黑色,号码长度为8位字符,其中包括省份简称、地市代码和车辆序号等信息。
CCPD(Chinese City Parking Dataset)是中国城市车牌数据集的缩写,分为 CCPD2019(图3-1)和CCPD2020(图3-2)两个版本。CCPD2019主要包含蓝牌数据,约有30万张图片,而CCPD2020则主要收集了新能源绿牌数据,约有1万张图片。这些数据集是由中国各地城市停车场拍摄获得的,涵盖了多种场景下的车牌图像,包括倾斜、模糊、雨雪天气等。我们同时使用了这两个数据集进行训练,使系统可以在更多环境下进行较为良好的识别检测且可以检测蓝绿两种车牌。
图 3‑1 CCPD2019数据集
表 3‑1 CCPD2019数据集类型说明
类型 |
图片数 |
说明 |
ccpd_base |
199998 |
正常车牌 |
ccpd_challenge |
10006 |
比较有挑战的车牌 |
ccpd_db |
20001 |
光线较暗或较亮车牌 |
ccpd_fn |
19999 |
距离摄像头较远或较近 |
ccpd_np |
3036 |
没上牌的新车 |
ccpd_rotate |
9998 |
水平倾斜20-50度,垂直倾斜-10-10度 |
ccpd_tilt |
10000 |
水平倾斜15-45度,垂直倾斜-15-45度 |
ccpd_weather |
9999 |
雨天、雪天或大雾的车牌 |
图 3‑2 CCPD2020数据集
我们使用了一种直观清晰的命名规则对CCPD数据集的格式进行标注,以方便数据的管理和处理。CCPD车牌数据集标注了车牌四个角点,车牌水平和垂直角度以及车牌号码等信息,并以图片文件名的方式进行命名(图3-3),如【025-95_113-154&383_386&473-386&473_177&454_154&383_363&402-0_0_22_27_27_33_16-37-15.jpg】,其文件名的含义如下表3-2:
表 3‑2文件名含义对照表
命名 |
具体含义 |
025 |
车牌区域占整个画面的比例 |
95_113 |
车牌水平和垂直角度, 水平95°, 竖直113° |