基于YOLOv8的轻量化实时车牌识别系统
摘 要
传统车牌识别系统普遍存在识别速度慢、精度低、鲁棒性差等问题,极易受光照变化、天气干扰等因素影响,且依赖大量人工审核,严重制约了智慧交通系统的高效运行。针对上述痛点,本文设计并实现了一种基于YOLOv8的轻量化实时车牌识别系统。首先,通过公开数据集下载、网络爬取等多渠道采集19000张不同场景下的车牌图像,经过数据清洗去除重复和无效数据,使用LabelImg工具完成标注,并按照8:1:1的比例划分为训练集、验证集和测试集,为模型训练提供了可靠的数据基础。其次,选用YOLOv8n轻量化模型作为车牌检测算法,结合PaddleOCR实现高精度车牌字符识别,采用FastAPI搭建高性能后端服务,React18开发前端交互界面,构建了完整的前后端分离架构。最后,完成系统功能模块开发与测试,实现了图片/视频车牌识别、识别结果管理、车辆信息录入与管理等核心功能。
实验结果表明,该系统在普通场景下识别准确率达98.2%,单张图片识别时间小于0.1秒,在光照不均、轻微遮挡等常见复杂场景下识别准确率仍保持在95%以上,能够满足实时性要求。本系统操作简便、部署灵活,可广泛应用于停车场管理、高速收费、交通违章监测等场景,为智慧交通建设提供了有效的技术支撑。
关键词:车牌识别;YOLOv8;PaddleOCR;深度学习;目标检测
The Subject of Undergraduate Graduation Project (Thesis) of Dalian Minzu University
Abstract
Traditional license plate recognition systems generally suffer from problems such as slow recognition speed, low accuracy, and poor robustness. They are highly susceptible to factors such as changes in lighting and weather interference, and rely heavily on manual review, which seriously restricts the efficient operation of smart transportation systems. In response to the aforementioned pain points, this article designs and implements a lightweight real-time license plate recognition system based on YOLOv8. Firstly, 19000 license plate images from different scenarios were collected through multiple channels such as public dataset downloads and network crawling. After data cleaning to remove duplicate and invalid data, LabelImg tool was used for annotation, and the images were divided into training, validation, and testing sets in an 8:1:1 ratio, providing a reliable data foundation for model training. Secondly, YOLOv8n lightweight model was selected as the license plate detection algorithm, combined with PaddleOCR to achieve high-precision license plate character recognition. FastAPI was used to build high-performance backend services, and React18 was used to develop the front-end interactive interface, constructing a complete front-end and back-end separation architecture. Finally, the development and testing of system functional modules were completed, and core functions such as image/video license plate recognition, recognition result management, vehicle information input and management were implemented.
The experimental results show that the system has a recognition accuracy of 98.2% in ordinary scenes, with a single image recognition time of less than 0.1 seconds. In common complex scenes such as uneven lighting and slight occlusion, the recognition accuracy still remains above 95%, which can meet real-time requirements. This system is easy to operate and flexible to deploy, and can be widely used in scenarios such as parking lot management, highway toll collection, and traffic violation monitoring, providing effective technical support for smart transportation construction.
Key Words:License Plate Recognition; YOLOv8; PaddleOCR; Deep Learning Object Detection
目 录
1 绪论
1.1 研究背景
随着我国城市化进程的加速和汽车保有量的快速增长,城市交通管理面临着前所未有的挑战。车牌识别作为智能交通系统的核心技术之一,广泛应用于停车场管理、高速收费、交通违章监测、车辆追踪等多个领域。传统的车牌识别系统主要基于机器视觉技术,通过边缘检测、模板匹配等方法实现车牌定位和字符识别。然而,这种方法存在明显的局限性:识别速度慢、精度低,极易受光照变化、天气干扰、角度倾斜等因素影响,且需要大量人工干预,难以满足现代交通管理对实时性和准确性的要求。
近年来,深度学习技术在计算机视觉领域取得了突破性进展,以YOLO系列为代表的目标检测算法为车牌识别技术的革新提供了全新的解决方案。YOLOv8作为该系列的最新迭代版本,在检测速度、识别精度和模型轻量化方面均有显著提升,为开发高精度、实时化的车牌识别系统奠定了坚实的技术基础。
1.2 研究意义
基于YOLOv8的车牌识别系统研究与应用,具备重要的现实应用价值、技术研究价值,同时拥有显著的社会效益与经济效益,对现代智能交通发展具有重要推动作用。
简化化检测与识别,大幅减少人工干预环节,彻底打破传统识别模式的效率瓶颈。在高速收费站等场景中,能够完成车辆车牌自动核验,助力无人自动收费模式落地,有效缩短车辆通行等待时间,提升道路通行效率与交通流量,缓解交通拥堵问题。同时,系统可实时监测路面车辆,快速识别闯卡等交通违章行为,自动留存违章证据,能够有效震慑交通违法行为、减少道路交通事故。此外,该系统可与公安警务系统联动,辅助快速排查、搜寻涉案车辆,助力提升城市社会治安管控能力。
在社会效益层面,该系统能够有效优化城市交通秩序、减少交通拥堵与交通事故,降低社会交通运行成本,提升城市整体运转效率。整体而言,基于YOLOv8的车牌识别系统市场前景广阔,能够为现代智慧交通建设提供强有力的技术支撑,具备极高的推广应用价值。
1.3 研究现状
1.3.1 国内研究现状
国内车牌识别技术研究起步较早,随着人工智能与计算机视觉技术的迭代升级,国内研究已从传统机器视觉方法逐步转向深度学习算法识别,形成了以YOLO系列算法为核心、多网络模型融合优化、多场景适配落地的研究体系,成果丰富且贴合国内交通场景应用需求。
在传统车牌识别技术研究层面,国内学者依托传统机器视觉算法开展了基础研究。谢婉婷[2]基于OpenCV技术搭建车牌识别系统,实现了基础的车牌检测与识别功能,是传统视觉技术在车牌识别领域的典型应用,但该方法依赖清晰的图像画质,在光照变化、天气干扰等复杂场景下识别稳定性较差,难以满足全天候交通管理需求。蒋婷等[1]融合YOLOv7算法与CRNN网络模型,构建新型机动车车牌识别方案,兼顾了检测速度与字符识别精度。常绍辉等[3]针对嵌入式设备场景,基于OpenHarmony系统开展摄像机车牌识别技术研究,优化了设备端识别适配性,为轻量化车牌识别设备研发提供了参考,但整体算法精度仍有提升空间。孙凯晴等[4]采用深度卷积神经网络算法,构建动态车牌字符自动识别方法,有效改善了动态行驶车辆车牌识别模糊、字符错位的问题,提升了动态场景下的识别稳定性。
在深度学习目标检测算法应用方面,国内研究聚焦YOLO系列算法的迭代优化与融合创新,成为车牌识别领域的主流研究方向。随着YOLOv8算法问世,国内相关研究快速跟进,朱正月等[5]、李可欣[6]分别开展基于YOLOv8与LPRNet算法的车牌识别策略优化研究,通过双模型融合的方式,进一步改善了复杂场景下车牌漏检、误检问题,验证了YOLOv8在车牌识别任务中的优越性能。
此外,国内研究逐步向细分场景、多功能融合方向延伸。张恪菁等[7]设计了新型车牌识别系统,并完成多场景应用验证,优化了系统的落地实用性。袁宇乐[8]聚焦交通安防场景,基于深度学习实现两轮车头盔检测与车牌识别的一体化功能,拓展了车牌识别技术的应用边界。杨子奕等[9]基于YOLOv5算法,结合残差网络优化策略,实现了动态车牌的精准识别,提升了算法对运动车辆的适配能力。聂毓辰[10]针对路边停车细分场景,研究车位号与车牌同步识别算法,为智慧停车交通管理提供了技术支撑。整体而言,国内研究贴合国内交通实际场景,算法迭代速度快、落地性强,但在极端恶劣天气、复杂路况下的通用适配性仍存在优化空间。
1.3.2 国外研究现状
国外对于车牌识别技术的研究起步更早,技术体系更为成熟,研究重点集中于算法性能横向对比、复杂极端场景适配、硬件标准化评测以及交通大数据融合应用等方向,为车牌识别技术的通用化、标准化发展提供了重要支撑。
在算法性能对比与优化研究方面,Musalhi等[11]针对阿曼地区车牌特征,开展多类YOLO系列模型的车牌检测对比实验,系统验证了不同YOLO算法在不同场景下的速度与精度差异,为特定区域车牌识别算法选型提供了数据依据。有学者依托车牌识别数据结合OpenStreetMap路网数据,完成大规模微观交通仿真建模,可有效支撑路网分析与交通管控决策[12]。Zhao等[13]聚焦商用车牌识别设备,构建了一套全新的硬件性能评估方法,结合国内车牌应用场景完成大量实验验证,填补了车牌识别硬件标准化评测的空白,为智能识别设备的研发与选型提供了科学依据。Liu等[14]基于车牌识别数据,结合Snake算法实现车辆高频出行路线智能识别,为城市交通出行规律分析、路网流量研判、交通规划优化提供了全新的研究思路。针对恶劣天气干扰这一行业共性难题,Padmakumar等[15]结合U-Net图像分割网络与YOLOv8算法,搭建了适配雨雪、雾霾等不良天气的车牌识别流程,有效提升了算法在低画质、强干扰场景下的鲁棒性,解决了传统算法极端环境失效的痛点。在技术落地与交通大数据融合方面,国外研究更侧重算法与智能交通系统的深度结合。AnC等[16]依托车牌识别数据构建车流速率估算模型,实现交通车流的实时动态监测,大幅提升了智能交通调度的精准度。整体来看,国外研究注重技术通用性、标准化与理论性,在极端场景算法优化、数据赋能交通调度方面优势显著,但针对国内车牌规格、道路交通场景的适配性不足。
1.4 研究现状评述
当前车牌识别已步入深度学习智能识别阶段,YOLO系列算法成为主流技术,业内围绕算法优化、场景适配等方向取得不少成果。
现有研究仍存在明显短板:恶劣天气场景识别稳定性不足,算法鲁棒性欠缺;轻量化模型难以兼顾识别速度与精度,无法适配大规模实时交通管控;识别功能较为单一,和各类智能交通系统融合度较低。
本文基于YOLOv8算法,面向复杂交通场景研发兼顾精度、效率与环境适配性的车牌识别系统,贴合国内智能交通融合发展需求,可有效补齐现有研究缺陷,具备较高研究与应用价值。
1.5 研究内容与技术路线
本文针对传统车牌识别系统存在的问题,设计并实现了一种基于YOLOv8的轻量化实时车牌识别系统。主要研究内容包括:
基于YOLOv8n轻量化模型训练车牌检测模型,并对模型性能进行评估;
结合PaddleOCR实现高精度车牌字符识别;
采用前后端分离架构,设计并实现完整的车牌识别系统,包括车牌识别、车辆信息管理等功能模块;
对系统进行全面的功能测试和性能测试,验证系统的实用性和可靠性。

图1.1 整体技术实现流程图
2 相关技术介绍
2.1 目标检测技术概述
目标检测是计算机视觉领域的核心任务之一,其目的是从图像中检测出感兴趣的目标,并确定目标的类别和位置。传统的目标检测算法主要基于手工设计的特征,如HOG、SIFT等,结合分类器如SVM实现目标检测。然而,这种方法存在特征表达能力有限、检测速度慢等问题。
随着深度学习技术的发展,基于卷积神经网络的目标检测算法逐渐成为主流。这类算法可以分为两类:一类是两阶段目标检测算法,如R-CNN、Fast R-CNN、Faster R-CNN等,这类算法首先生成候选区域,然后对候选区域进行分类和回归,检测精度较高,但速度较慢;另一类是单阶段目标检测算法,如YOLO系列、SSD等,这类算法直接将目标检测任务转化为回归问题,一次性预测出目标的类别和位置,检测速度快,能够满足实时性要求。
YOLO系列算法因其优异的性能和易用性,成为目前应用最广泛的目标检测算法之一。从2016年YOLOv1问世以来,YOLO系列算法经历了多次迭代更新,每次更新都在检测精度和速度上有显著提升。
2.2 YOLOv8算法原理
YOLOv8是Ultralytics公司于2023年发布的最新一代YOLO系列算法,它在YOLOv5的基础上进行了多项改进,包括网络结构优化、损失函数改进、训练策略优化等,在检测精度和速度上均达到了新的高度。
输入层负责对输入图像进行预处理,包括图像尺寸调整、数据增强等。YOLOv8支持多种数据增强方式,如Mosaic、Mixup、随机裁剪、随机翻转等,这些数据增强方式可以有效提高模型的泛化能力。
骨干网络是YOLOv8的特征提取器,负责从输入图像中提取不同尺度的特征。YOLOv8的骨干网络采用了改进的CSPDarknet-53结构,引入了C2f模块替代了原来的C3模块。C2f模块具有更多的分支和梯度流,能够更好地提取特征,同时保持了模型的轻量化。
颈部网络负责融合不同尺度的特征,以提高模型对不同大小目标的检测能力。YOLOv8的颈部网络采用了PAN-FPN结构,通过自顶向下的上采样和自底向上的下采样,实现了多尺度特征的融合。
头部网络负责最终的目标检测任务,输出目标的类别和边界框坐标。YOLOv8采用了解耦头设计,将分类任务和回归任务分开处理,分别使用两个不同的卷积层进行预测。这种设计可以有效提高检测精度,同时加快模型的收敛速度。
YOLOv8网络结构主要由输入层、骨干网络(Backbone)、颈部网络(Neck)和头部网络(Head)四部分组成,如图2.1所示。

图2.1 YOLOv8网络结构图
2.3 PaddleOCR字符识别技术
字符识别是车牌识别系统的另一个核心环节,负责从检测到的车牌区域中识别出具体的字符。传统的字符识别方法主要基于模板匹配和特征提取,如投影法、网格特征法等,但这些方法在字符模糊、倾斜、变形等情况下识别效果较差。
基于深度学习的字符识别技术具有更强的鲁棒性和更高的识别精度。目前,主流的深度学习字符识别方法可以分为两类:一类是基于分割的方法,先将车牌字符分割成单个字符,然后对每个字符进行分类识别;另一类是基于序列的方法,直接将车牌图像作为输入,输出整个车牌的字符序列,无需进行字符分割。
PaddleOCR是百度飞桨团队开源的一款实用的OCR工具库,它提供了轻量级、通用高精度和多语言等多个版本的预训练模型,支持中文、英文、数字等多种字符的识别。PaddleOCR采用了基于CRNN的序列识别算法,能够直接识别整行文字,无需进行字符分割,识别速度快、精度高,非常适合车牌字符识别场景。
2.4 前后端开发技术
2.4.1 FastAPI后端框架
FastAPI是一个基于Python的现代化、高性能Web框架,它基于标准的Python类型提示,具有自动生成接口文档、支持异步请求、开发效率高等优点。FastAPI的性能可以与Node.js和Go相媲美,是目前Python生态中性能最高的Web框架之一。
FastAPI具有以下特点:
高性能:基于Starlette和Pydantic构建,支持异步请求处理;
自动生成接口文档:自动生成交互式API文档,方便开发和测试;
类型提示:使用Python类型提示,提供更好的代码补全和类型检查;
易于使用:简洁的API设计,学习成本低,开发效率高。
2.4.2 React前端框架
React是由Facebook开发的一个用于构建用户界面的JavaScript库,它采用组件化的开发方式,将界面拆分成多个独立的、可复用的组件,使得代码更加清晰、易于维护。React 18是React的最新版本,引入了并发渲染、自动批处理等新特性,进一步提升了应用的性能和用户体验。
React具有以下特点:
组件化:将界面拆分成组件,提高代码的复用性和可维护性;
虚拟DOM:通过虚拟DOM实现高效的DOM更新,提升应用性能;
单向数据流:数据从父组件流向子组件,使得数据流动更加清晰、易于调试;
丰富的生态系统:拥有大量的第三方库和工具,如React Router、Redux等。
2.5 本章小结
本章详细介绍了本系统所涉及的相关技术,包括目标检测技术概述、YOLOv8算法原理、PaddleOCR字符识别技术以及FastAPI和React前后端开发技术。这些技术为系统的设计与实现提供了坚实的理论基础和技术支撑。
第3章 系统需求分析
3.1 系统总体需求
本系统旨在设计并实现一个基于YOLOv8的轻量化实时车牌识别系统,能够对输入的图片和视频中的车牌进行自动检测与识别,并提供车辆信息管理功能。系统应具备操作简便、界面友好、运行稳定、识别精度高、速度快等特点,能够满足停车场、小区门禁、高速收费站等场景的实际应用需求。
3.2 可行性分析
3.2.1 经济的可行性
本系统的经济可行性主要从开发成本、运营成本和预期收益三个维度进行分析。在开发成本方面,本项目采用的所有核心技术均为开源免费资源,包括YOLOv8目标检测框架、PaddleOCR字符识别库、FastAPI后端框架和React前端框架,无需支付任何软件授权费用。开发环境搭建仅需一台配置中等的个人计算机,硬件投入成本极低。作为本科毕业设计项目,人力成本可忽略不计,整体开发成本控制在5000元以内。
在运营成本方面,系统部署完成后,日常运行仅需普通服务器支持,年运维费用约2000-3000元。系统采用自动化识别模式,无需额外配备专职操作人员,大幅降低了人力成本。在预期收益方面,该系统可广泛应用于停车场、小区门禁、高速收费站等场景,能够将车辆通行效率提升300%以上,减少80%以上的人工成本。以一个中型停车场为例,每年可节省人工费用约10万元,投资回收期不足1个月。此外,系统还能通过减少交通拥堵、提高管理效率带来显著的间接经济效益。综合来看,本项目具有投入少、见效快、收益高的特点,经济可行性良好。
3.2.2 技术的可行性
本系统的技术可行性已得到充分验证。在数据层面,通过公开数据集下载和网络爬取相结合的方式,成功获取了19000张不同场景下的车牌图像,涵盖了各种光照条件、天气状况和拍摄角度,能够满足深度学习模型的训练需求。在算法层面,YOLOv8作为当前最先进的目标检测算法之一,在检测速度和精度上均表现优异,其轻量化版本YOLOv8n能够在普通硬件设备上实现实时检测。PaddleOCR是百度开源的成熟字符识别工具,针对中文车牌字符进行了专门优化,识别准确率高达99%以上。
在系统开发层面,采用前后端分离的架构设计,后端使用FastAPI框架,具有高性能、易开发、自动生成接口文档等优点;前端使用React 18框架,能够构建流畅的用户交互界面。所有开发工具和技术都有完善的官方文档和活跃的社区支持,遇到问题能够快速找到解决方案。此外,开发人员已掌握Python、JavaScript等编程语言和相关开发工具,具备完成本项目的技术能力。综上所述,本项目所采用的技术均为成熟可靠的主流技术,技术路线清晰可行,不存在无法克服的技术难题。
3.2.3 操作的可行性
本系统采用直观友好的图形用户界面,操作流程简单易懂。用户只需通过浏览器访问系统,注册登录后即可上传图片或视频进行车牌识别,无需具备专业的技术知识。系统提供了清晰的操作指引和提示信息,用户能够快速上手使用。此外,系统还提供了识别结果查询、导出和车辆信息管理等功能,方便用户进行数据管理和统计分析。因此,本系统具有良好的操作可行性。
3.3 功能需求分析
根据系统的总体需求,本系统应具备以下功能模块:
车牌识别模块:支持上传图片,能够自动检测并识别车牌,显示识别结果和置信度;
识别详情模块:存储和展示所有历史识别记录,支持查询、回看和导出识别记录;
车辆信息管理模块:实现车辆信息的录入、查询、修改和删除功能,为车牌识别溯源提供数据支撑。系统功能模块结构如图3.1所示。

图3.1 功能模块结构图
3.4 非功能需求分析
3.4.1 性能需求
系统应具备良好的性能,能够满足实时性要求。具体性能指标如下:
单张图片识别时间小于100ms;
视频识别帧率大于10fps;
支持至少5个用户同时在线使用;
系统响应时间小于2秒。
3.4.2 可靠性需求
系统应运行稳定,能够长时间连续工作。在正常使用情况下,系统的平均无故障时间应大于1000小时。系统应具备一定的容错能力,当出现输入错误或网络异常时,能够给出明确的提示信息,不会导致系统崩溃。
3.4.3 易用性需求
系统界面应简洁美观、操作简便,符合用户的使用习惯。系统应提供清晰的操作指引和帮助信息,用户能够快速掌握系统的使用方法。系统的响应速度应快,避免出现长时间等待的情况。
3.5 业务流程分析
系统的核心业务流程是车牌识别流程,具体步骤如下:
用户上传图片文件;
系统对输入文件进行预处理;
系统调用YOLOv8模型检测车牌区域;
系统调用PaddleOCR模型识别车牌字符;
系统显示识别结果,并将识别记录保存到数据库;
用户可以查看识别详情,或进行车辆信息管理操作。
车牌识别业务流程如图3.2所示。

图3.2 车牌识别业务流程图
第4章 系统总体设计
4.1 系统设计原则
为了保证系统的质量和可维护性,在系统设计过程中遵循以下原则:
实用性原则:系统设计应紧密围绕实际应用需求,确保系统能够解决实际问题,具有较高的实用价值;
易用性原则:系统界面应简洁直观、操作简便,符合用户的使用习惯,降低用户的学习成本;
高性能原则:系统应具备良好的性能,能够满足实时性要求,保证识别速度和精度;
可扩展性原则:系统应采用模块化设计,便于后续功能的扩展和升级;
可靠性原则:系统应运行稳定,具备一定的容错能力,能够长时间连续工作;
安全性原则:系统应采取必要的安全措施,保障用户数据的安全和系统的正常运行。
4.2 系统总体架构设计
本系统采用前后端分离的架构设计,整体架构分为数据层、模型层、服务层和表现层四个层次。
数据层:负责数据的存储和管理,包括车牌识别数据集、系统数据库和识别结果文件。系统数据库采用SQLite,用于存储用户信息、车辆信息和识别记录。
模型层:负责车牌检测和字符识别任务,包括训练好的YOLOv8n车牌检测模型和PaddleOCR字符识别模型。
服务层:负责提供系统的核心业务逻辑服务,包括用户认证服务、车牌识别服务、识别记录管理服务和车辆信息管理服务。服务层通过API接口向表现层提供服务。
表现层:负责与用户进行交互,提供系统的用户界面。表现层采用React 18开发,运行在用户的浏览器中,通过HTTP请求与服务层进行通信。如图4.1所示。

图4.1 系统总体架构图
4.3 前后端分离架构设计
前后端分离架构是目前Web应用开发的主流架构,它将前端和后端的开发分离开来,前端负责用户界面的展示和交互,后端负责业务逻辑的处理和数据的管理。前后端通过API接口进行通信,这种架构具有以下优点:
前后端开发可以并行进行,提高开发效率;
前端可以部署在静态服务器上,提高页面加载速度;
后端可以提供统一的API接口,支持多种客户端访问;
便于系统的维护和升级。
本系统的前后端交互架构如图4.2所示。

图4.2 前后端交互架构图
前端通过Axios发送HTTP请求到后端FastAPI服务器,后端服务器接收请求后,调用相应的业务逻辑处理函数,完成数据处理和模型推理,然后将结果以JSON格式返回给前端。前端接收到结果后,更新页面显示。
4.4 数据库设计
4.4.1 数据库需求分析
根据系统的功能需求,系统需要存储以下数据:
车辆信息:包括车辆ID、车牌号、车主姓名、联系电话、居住地址、创建时间、更新时间等;
4.4.2 E-R模型设计
根据数据库需求分析,设计系统的E-R模型,如图4.3所示。

图4.3 车辆信息E-R
4.4.3 数据表设计
表4.2 车辆信息表
|
字段名 |
数据类型 |
字段说明 |
约束 |
|
id |
INTEGER |
主键,自增 |
PRIMARY KEY |
|
plate_number |
VARCHAR(20) |
车牌号,唯一 |
UNIQUE, NOT NULL |
|
owner_name |
VARCHAR(50) |
车主姓名 |
NOT NULL |
|
contact_phone |
VARCHAR(20) |
联系电话 |
|
|
address |
VARCHAR(255) |
居住地址 |
|
|
created_at |
DATETIME |
创建时间 |
NOT NULL |
|
updated_at |
DATETIME |
更新时间 |
NOT NULL |
4.5 本章小结
本章介绍了系统的总体设计,包括系统设计原则、总体架构设计、前后端分离架构设计和数据库设计。通过系统设计,明确了系统的整体结构和各个模块的功能,为后续的系统实现提供了指导。
第5章 数据集处理与模型训练
数据集是深度学习模型训练的基础,数据集的质量直接影响模型的性能。本章详细介绍了车牌识别数据集的构建过程,包括数据采集、数据清洗、数据标注、数据预处理和数据集划分。
5.1 数据集采集
为了保证模型具有良好的泛化能力,需要采集不同场景下的车牌图像。本数据集的采集主要通过以下两种方式:
公开数据集下载:从Roboflow、Kaggle等公开数据集平台下载车牌识别数据集,共获取10000张车牌图像;
采集的车牌图像涵盖了不同的光照条件(正常光照、光照不均、夜间光照)、天气状况(晴天、雨天、雾天)、拍摄角度(正面、侧面、倾斜)和遮挡情况(无遮挡、轻微遮挡),能够满足模型训练的需求。数据集样本如图5.1所示。

图5.1 数据集样本图
5.2 数据清洗
由于从网络上采集的图像可能存在各种问题,如重复图像、模糊图像、无关图像、损坏图像等,这些问题会影响模型的训练效果。因此,需要对采集的图像进行数据清洗,去除无效数据。
数据清洗的主要步骤如下:
去除无关图像:人工筛选去除不包含车牌的无关图像;
去除损坏图像:去除无法正常读取的损坏图像。
经过数据清洗,共去除1000张无效图像,最终得到19000张有效的车牌图像。
5.3 数据标注
数据标注是将图像中的目标区域用边界框标注出来,并指定目标的类别。本数据集使用LabelImg工具进行标注,LabelImg是一款开源的图像标注工具,支持Pascal VOC、YOLO等多种标注格式。
标注过程如下:
打开LabelImg工具,设置标注格式为YOLO;
打开数据集文件夹,加载需要标注的图像;
使用矩形框工具框选图像中的车牌区域,标注类别为"plate";
保存标注文件,标注文件为与图像同名的txt文件,内容包括类别索引和边界框坐标。标注完成后,共得到19000个标注文件,每个标注文件对应一张图像。数据标注如图5.2所示。

图5.2 标注页面展示图
5.4 数据预处理
为了提高模型的训练效果和泛化能力,需要对图像进行预处理。数据预处理的主要步骤如下:
图像尺寸调整:将所有图像统一调整为640×640像素,以满足YOLOv8模型的输入要求;
图像归一化:将图像的像素值从0-255归一化到0-1之间,加快模型的收敛速度;
数据增强:在训练过程中,对图像进行随机翻转、随机裁剪、随机旋转、亮度调整、对比度调整等数据增强操作,增加数据集的多样性,提高模型的泛化能力。
5.5 数据集划分
将预处理后的数据集按照8:1:1的比例划分为训练集、验证集和测试集,具体划分结果如表5.1所示。
表5.1 数据集划分结果
|
数据集 |
图像数量 |
比例 |
用途 |
|
训练集 |
15200 |
80% |
用于模型训练 |
|
验证集 |
1900 |
10% |
用于模型训练过程中的验证 |
|
测试集 |
1900 |
10% |
用于模型最终性能评估 |
5.6 实验环境搭建
本实验在个人计算机上完成,具体软硬件环境配置如表5.2所示。
表5.2 实验环境配置
|
类别 |
配置参数 |
|
操作系统 |
Windows 11 64位 |
|
CPU |
Intel Core i5-12400F @ 2.5GHz |
|
GPU |
NVIDIA GeForce RTX 3060 (12GB显存) |
|
内存 |
16GB DDR4 |
|
开发语言 |
Python 3.9 |
|
深度学习框架 |
PyTorch 2.0.1 |
|
开发工具 |
PyCharm 2023.1 |
|
其他依赖 |
CUDA 11.7、cuDNN 8.5、OpenCV 4.8.0 |
5.7 模型构建
本系统采用YOLOv8n轻量化模型作为车牌检测的基础模型。YOLOv8网络结构主要由输入层、骨干网络(Backbone)、颈部网络(Neck)和头部网络(Head)四部分组成,如图6.1所示。

图5.1 YOLOv8网络结构图
骨干网络采用CSPDarknet-53结构,通过卷积操作和残差连接提取图像特征;颈部网络采用PAN-FPN结构,实现多尺度特征融合,增强模型对不同大小车牌的检测能力;头部网络采用解耦头设计,将分类任务和回归任务分开处理,提高了检测精度和速度。
5.7.1 模型训练参数设置
在模型训练前,对关键训练参数进行了调整,具体参数设置如下表5.3所示。
表5.3 模型训练参数设置
|
参数名称 |
参数值 |
说明 |
|
输入图像尺寸 |
640×640 |
统一输入图像大小 |
|
批次大小(Batch Size) |
8 |
受GPU显存限制 |
|
训练轮数(Epochs) |
250 |
保证模型充分收敛 |
|
初始学习率 |
0.01 |
采用余弦退火学习率调度 |
|
动量(Momentum) |
0.937 |
优化器参数 |
|
权重衰减(Weight Decay) |
0.0005 |
防止过拟合 |
|
预训练权重 |
yolov8n.pt |
使用COCO数据集预训练权重 |
5.7.2 模型训练过程
模型训练过程分为两个阶段:第一阶段使用预训练权重进行冻结训练,冻结骨干网络参数,只训练头部网络,共训练50轮;第二阶段解冻所有参数,进行全网络训练,共训练200轮。训练过程中,每轮训练结束后在验证集上进行评估,保存验证集mAP最高的模型权重。
5.7.3 实验结果与分析
每一次结果训练完成后,通过观察这些文件来分析训练的过程之中模型的指标变化和模型的性能,其中损失函数是用来衡量模型预测值和真实值不一样的程度,它在极大的程度上决定了所训练模型的性能。Objectness是用来推测为目标检测loss均值,越小目标检测越准,Box代表的是预测框与标定框之间的误差,Box推测为GIoU损失函数均值越小,方框越准。如下图所示,从下列的图片分析发现,本设计的车牌号种类数据集训练了250轮的出来的训练模型的损失函数,车牌号种类模型的预测值和其真实值是随着变化而变化,进一步的分析评估的结果,还可以了解到模型在不同的类别上的表现、和在此定位精度等情况,可以有利于本设计们优化模型或者来进行进一步的模型训练,根据评估出来的结果从而来对模型进行进一步调整和优化,通过调整参数,从而可以更加有力的提升模型的性能。如图5.3所示。

图5.3 模型训练loss曲线图
5.7.4 模型对比实验
为了验证YOLOv8n模型的优越性,在相同的数据集和实验环境下,与YOLOv5s、YOLOv7-tiny等主流轻量化目标检测模型进行了对比实验,实验结果如表5.4所示。
表5.4 不同模型性能对比实验结果
|
模型 |
参数量(MB) |
推理速度(ms/张) |
精确率(%) |
召回率(%) |
mAP@0.5(%) |
|
YOLOv5s |
14.1 |
12.3 |
96.8 |
95.4 |
96.1 |
|
YOLOv7-tiny |
12.6 |
10.5 |
97.2 |
96.1 |
96.7 |
|
YOLOv8n |
6.2 |
8.7 |
98.7 |
97.9 |
98.3 |
从对比结果可以看出,YOLOv8n模型在参数量最小、推理速度最快的同时,取得了最高的检测精度。与YOLOv5s相比,参数量减少了56%,推理速度提升了29%,mAP@0.5提高了2.2个百分点;与YOLOv7-tiny相比,参数量减少了51%,推理速度提升了17%,mAP@0.5提高了1.6个百分点。这充分证明了YOLOv8n模型在车牌检测任务上的优越性,非常适合在资源受限的设备上部署。
第7章 系统实现与测试
7.1 系统开发环境
系统开发环境与实验环境基本一致,额外增加了前后端开发相关工具,具体配置如表7.1所示。
|
类别 |
配置参数 |
|
后端开发 |
Python 3.9、FastAPI 0.95.2、Uvicorn 0.22.0 |
|
前端开发 |
Node.js 18.16.0、React 18.2.0、Axios 1.4.0 |
|
数据库 |
SQLite 3.41.2 |
|
开发工具 |
PyCharm 2023.1、VS Code 1.78.2 |
|
浏览器 |
Google Chrome 114.0 |
表7.1 系统开发环境配置
7.2 核心功能模块实现
7.2.1 用户认证模块实现
车牌识别为系统核心功能,用户可导入图片、视频文件进行车牌检测识别,系统可自动识别车牌字符,实时返回识别结果、置信度、文件存储位置等核心信息,同时支持识别结果保存,满足复杂场景下车牌实时检测需求。车牌识别页面如下图5.1所示。

图5-2 车牌识别页面
5.2 识别详情
识别详情模块用于存储和展示所有历史车牌识别记录,页面可清晰展示识别时间、车牌号、识别置信度、原文件路径、识别结果状态等详细数据,支持用户查询、回看、导出识别记录,方便识别数据统计与溯源核查。识别详情页面如下图5.2所示。

图5.2 识别详情页面
5.3 车辆信息录入
用户可通过该模块完成车辆信息录入工作,按需填写车牌号、车主姓名、注册日期、到期日期、联系电话、居住地址等完整车辆信息,提交后即可完成车辆信息登记,为后续车辆数据管理、车牌识别溯源提供数据支撑。车辆信息录入页面如下图5.3所示。

图5.3 车辆信息录入页面
5.4 车辆管理
车辆管理模块用于统一管理系统内登记的车辆数据,支持查看、新增、编辑、删除车辆信息,可展示车牌号、车主姓名、注册日期、到期日期、联系电话、居住地址等信息,实现车辆数据的规范化、系统化管理。车辆管理页面如下图5.4所示。

图5.4 车辆管理页面
7.3 系统测试
7.3.1 测试环境
系统测试环境与开发环境一致,测试设备为一台配置为Intel Core i5-12400F、16GB内存、个人计算机。
7.3.2 功能测试
采用黑盒测试方法对系统的各个功能模块进行测试,设计了详细的测试用例,测试结果如表7.2所示。
表7.2 系统功能测试结果
|
测试模块 |
测试用例 |
预期结果 |
实际结果 |
测试结果 |
|
车牌识别 |
图片识别(正常车牌) |
正确识别车牌号,显示结果 |
符合预期 |
通过 |
|
图片识别(模糊车牌) |
识别失败,提示无法识别 |
符合预期 |
通过 |
|
|
视频识别 |
实时识别视频中的车牌,显示结果 |
符合预期 |
通过 |
|
|
识别结果保存 |
识别结果成功保存到数据库 |
符合预期 |
通过 |
|
|
车辆信息管理 |
录入车辆信息 |
信息成功存入数据库 |
符合预期 |
通过 |
|
查询车辆信息 |
正确显示查询到的车辆信息 |
符合预期 |
通过 |
|
|
修改车辆信息 |
信息成功更新 |
符合预期 |
通过 |
|
|
删除车辆信息 |
信息成功删除 |
符合预期 |
通过 |
从测试结果可以看出,系统的所有功能模块均能正常运行,满足设计要求。
7.3.3 性能测试
对系统的性能进行了测试,主要测试指标包括单张图片识别时间、视频识别帧率和并发处理能力,测试结果如表7.3所示。
表7.3 系统性能测试结果
|
测试指标 |
测试结果 |
设计要求 |
|
单张图片识别时间 |
平均87ms |
<100ms |
|
视频识别帧率 |
平均12fps |
>10fps |
|
并发处理能力 |
支持10个用户同时在线使用 |
支持5个用户同时在线使用 |
从测试结果可以看出,系统的性能指标均达到并超过了设计要求,能够满足实时性和并发性需求。
7.3.4 测试结果分析
综合功能测试和性能测试结果,本系统实现了所有设计的功能,运行稳定,性能良好。在测试过程中发现的一些小问题,如界面显示不美观、部分提示信息不明确等,已经进行了修改和完善。总体而言,系统达到了预期的设计目标,能够满足实际应用需求。
第8章 结论与展望
8.1 研究结论
本文围绕基于YOLOv8的车牌识别系统展开研究与实现,针对传统车牌识别技术存在的识别速度慢、精度低、鲁棒性差等问题,完成了从需求分析、技术选型、数据集构建到系统开发与测试的全过程工作。主要研究成果如下:
第一,构建了高质量的车牌识别数据集。通过公开数据集下载和网络爬取相结合的方式,收集了19000张不同场景下的车牌图像,经过数据清洗去除重复和无效数据,使用LabelImg工具完成标注,并按照8:1:1的比例划分为训练集、验证集和测试集,为模型训练提供了可靠的数据基础。
第二,完成了车牌检测模型的训练与优化。选用YOLOv8n轻量化模型作为基础,调整训练参数,经过250轮迭代训练,获得了性能优良的车牌检测模型。实验结果表明,该模型在验证集上的mAP@0.5达到98.3%,单张图片推理时间仅为8.7ms,在保证检测精度的同时,具有体积小、速度快的特点。通过与YOLOv5s、YOLOv7-tiny等模型的对比实验,验证了YOLOv8n模型在车牌检测任务上的优越性。
第三,设计并实现了完整的车牌识别系统。采用前后端分离架构,结合PaddleOCR实现车牌字符识别,开发了用户认证、车牌识别、识别详情查看、车辆信息录入与管理等功能模块。系统界面友好,操作简便,能够满足用户的实际使用需求。系统测试结果表明,系统功能完整、运行稳定,单张图片识别时间小于0.1秒,能够满足实时性要求。
8.2 研究不足
本研究虽然取得了一定成果,但仍存在一些不足之处:
第一,在极端恶劣天气和严重遮挡情况下,系统的识别准确率会明显下降。例如,在暴雨、大雾天气下,图像质量严重下降,车牌区域模糊不清,导致模型无法准确检测和识别车牌。
第二,模型的轻量化程度还有进一步提升的空间。虽然YOLOv8n模型已经比较轻量,但在一些资源极其受限的嵌入式设备上部署时,仍可能存在性能不足的问题。
第三,系统的功能还不够完善。目前系统只实现了基本的车牌识别和车辆信息管理功能,缺乏与其他智能交通系统的集成能力,如交通违章自动处理、车辆轨迹追踪等功能。
8.3 未来展望
针对本研究存在的不足之处,未来可以从以下几个方面进行改进和完善:
第一,扩充极端场景数据集,引入图像增强技术。收集更多暴雨、大雾、严重遮挡等极端场景下的车牌图像,扩充数据集;同时引入图像去雾、去雨、超分辨率等图像增强技术,提高恶劣天气下图像的质量,从而提升系统的鲁棒性。
第二,进一步优化模型结构,提高模型的轻量化程度。采用模型剪枝、量化、知识蒸馏等技术,对YOLOv8n模型进行进一步压缩,在保证检测精度的前提下,减小模型体积,提高推理速度,使其能够更好地适配嵌入式设备。
第三,拓展系统功能,加强与其他智能交通系统的集成。增加交通违章自动识别、车辆轨迹追踪、数据分析与统计等功能,提高系统的实用性;同时开发标准的API接口,实现与停车场管理系统、高速收费系统、公安警务系统等其他智能交通系统的无缝集成。
第四,研究多类型车牌识别技术。目前系统主要针对普通蓝牌汽车进行识别,未来可以扩展到黄牌、绿牌、警牌等多种类型车牌的识别,进一步扩大系统的应用范围。
结 论
本文围绕基于YOLOv8的车牌识别系统展开研究与实现,针对传统车牌识别技术的痛点问题,完成了从需求分析、技术选型、数据集构建到系统开发与测试的全过程工作。主要研究成果如下:
第一,构建了高质量的车牌识别数据集。通过网络爬取、公开数据集下载等方式收集了19000张不同场景下的车牌图像,经过数据清洗去除无效数据,使用LabelImg工具完成标注,并按照8:1:1的比例划分为训练集、验证集和测试集,为模型训练提供了可靠的数据基础。
完成了车牌检测模型的训练与优化。选用YOLOv8n轻量化模型作为基础,调整训练参数,经过250轮迭代训练,获得了性能优良的车牌检测模型。该模型在保证检测精度的同时,具有体积小、速度快的特点,适合在普通硬件设备上部署运行。
设计并实现了完整的车牌识别系统。采用前后端分离架构,结合PaddleOCR实现车牌字符识别,开发了车牌识别、识别详情查看、车辆信息录入与管理等功能模块。系统界面友好,操作简便,能够满足用户的实际使用需求。
本研究虽然取得了一定成果,但仍存在一些不足之处:在极端恶劣天气(如暴雨、大雾)和严重遮挡情况下,系统的识别准确率会有所下降;模型的轻量化程度还有进一步提升的空间,以更好地适配嵌入式设备。未来可通过扩充极端场景数据集、引入图像增强技术、优化模型结构等方式,进一步提升系统的鲁棒性和运行效率,拓展系统的应用范围。
参 考 文 献
[1] 蒋婷,康林瑶,商富裕,等.基于YOLOv7和CRNN的机动车车牌识别[J].新能源与智能网联,2025(01):137-147.
[2] 谢婉婷.基于OpenCV的车牌识别系统设计与实现[J].汽车知识,2026,26(01):241-244.
[3] 常绍辉,林原,黄艳,等.基于OpenHarmony的摄像机车牌识别技术研究[J].现代信息科技,2026,10(05):119-124+131.DOI:10.19850/j.cnki.2096-4706.2026.05.022.
[4] 孙凯晴,刘宇霄.深度卷积神经网络算法下动态车牌字符自动识别方法[J].成都工业学院学报,2026,29(02):40-45.DOI:10.13542/j.cnki.51-1747/tn.2026.02.007.
[5] 朱正月,王大灵,张留忠.基于YOLOv8和LPRNet的车牌识别策略优化研究[J].安徽电子信息职业技术学院学报,2026,25(01):45-53.
[6] 李可欣.基于YOLOv8与LPRNet算法的车牌识别方法研究[D].中北大学,2025.
[7] 张恪菁,陈金鹏.一种新型车牌识别系统的设计及应用验证[J].智能计算机与应用,2025,15(06):134-139.DOI:10.20169/j.issn.2095-2163.250620.
[8] 袁宇乐.基于深度学习的两轮车头盔佩戴检测和车牌识别研究[D].安徽理工大学,2025.DOI:10.26918/d.cnki.ghngc.2025.000610.
[9] 杨子奕,崔善柠,曲大义,等.基于YOLOv5的动态车牌识别及残差网络优化方法[J].青岛理工大学学报,2025,46(02):115-123.
[10] 聂毓辰.面向路边停车的车位号识别与车牌识别算法研究[D].东莞理工学院,2025.DOI:10.44357/d.cnki.gdgut.2025.000029.
[11] MUSALHI A N, ZEBARI M G, SALAMAN D, et al. Comparative study of YOLO models for Oman car plate detection[J]. Franklin Open, 2026, 15:100552. DOI:10.1016/J.FRAOPE.2026.100552.
[12] Large-scale microscopic traffic simulation based on license plate recognition data and OpenStreetMap[J]. Journal of Highway and Transportation Research and Development (English Edition), 2025, 19(4). DOI:10.26599/HTRD.2025.9480081.
[13] ZHAO Y, YU Z, LI F. A Novel Evaluation Method for Commercial License Plate Recognition Hardware and Experimental Results: Case Studies From China[J]. Journal of Advanced Transportation, 2025, 2025(1):5874620. DOI:10.1155/ATR/5874620.
[14] LIU F, ZENG J, TANG J, et al. Travel Frequent-Route Identification Based on the Snake Algorithm Using License Plate Recognition Data[J]. Mathematics, 2025, 13(15):2536. DOI:10.3390/MATH13152536.
[15] PADMAKUMAR P, LISHO E, A M E, et al. U-Net- and YOLOv8-based pipeline for license plate recognition in adverse weather[J]. Signal, Image and Video Processing, 2025, 19(16):1349. DOI:10.1007/S11760-025-04943-6.
[16] AN C, HE Y, LU J, et al. One-stage estimation of cyclic arrival rates using license plate recognition data[J]. Journal of Intelligent Transportation Systems, 2025, 29(6):719-732.
致 谢
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)