一站式完成车牌识别任务:从模型优化到端侧部署 | 您所在的位置:网站首页 › 车牌识别技术的识别流程 › 一站式完成车牌识别任务:从模型优化到端侧部署 |
交通领域的应用智能化不断往纵深发展,其中最为成熟的车牌识别早已融入人们的日常生活之中,在高速公路电子收费系统、停车场等场景中随处可见。一些企业在具体业务中倾向采用开源方案降低研发成本,但现有公开的方案中少有完成端到端的车牌应用范例。 本次飞桨产业实践范例库开源车牌识别场景应用,提供了从技术方案、模型训练优化,到模型部署的全流程可复用方案,降低产业落地门槛。 项目链接 https://github.com/PaddlePaddle/PaddleOCR/tree/dygraph/applications 所有源码及教程均已开源。欢迎大家使用,star鼓励~ 基于PaddleOCR的轻量级车牌识别系统场景难点 本范例解决车牌识别任务,需完成车牌检测模型和车牌识别模型的微调与串联,并部署到端侧设备中。项目包含以下难点: 车牌在图像中的尺度差异大、在车辆上的悬挂位置不固定;车牌图像质量层次不齐: 角度倾斜、图片模糊、光照不足、过曝等问题严重;边缘和端测场景应用对模型大小有限制,推理速度有要求。![]() 项目方案 针对以上问题,本范例选用PaddleOCR中的超轻量OCR系统PP-OCRv3进行车牌识别系统的开发,通过微调检测和识别模型,在CCPD新能源数据集达到99%的检测精度和94%的识别精度,模型大小为12.8M(检测2.5M+识别10.3M)。基于量化对模型体积进一步压缩到5.8M(1M+4.8M),同时推理速度提升25%。 训练数据 CCPD(Chinese City Parking Dataset)数据集包含蓝底车牌和新能源车牌,覆盖场景包括各类文字形态(倾斜、模糊)与气候环境(如阴雨天、雪天等),其中新能源车牌训练集数量为5769张。CCPD数据标签体现在图片文件名,其命名规范如图2所示。范例中我们通过转换脚本将上述规则转换为PaddleOCR的数据标注格式并划分数据集。 ![]() 模型优化 在少量数据的情况下,优秀的预训练模型能够带来更好的精度和泛化性。本范例选择PaddleOCR最新发布的PP-OCRv3模型完成数据微调。PP-OCRv3在PP-OCRv2的基础上,端到端指标H-means在中文场景再提升5%, 英文数字模型提升11%,如图3所示。 ![]() 在具体策略方面,PP-OCRv3在检测部分使用ResidualSE-FPN(残差注意力机制的FPN结构),识别部分使用SVTR_LCNet轻量级文本识别网络,GuidedTraining of CTCAttention损失指导CTC损失训练策略。上述策略的详细解释将在直播课展开。 ![]() 由于车牌场景均为边端设备部署,因此对速度和模型大小有比较高的要求。采用量化训练的方式能够压缩模型大小、加速模型推理速度。模型量化可以在基本不损失模型精度的情况下,将FP32精度的模型参数转换为Int8精度,减小模型参数大小并加速计算,使用量化后的模型在移动端等部署时更具备速度优势。 综上,对于车牌检测和识别有如下3种方案: PP-OCRv3中英文超轻量预训练模型直接预测基于PP-OCRv3的策略在CCPD数据集中微调基于PP-OCRv3的策略在CCPD数据集中微调后量化最终,检测方案指标如表1所示,识别方案如表2所示。 ![]() ![]() 预测部署 边缘部署和端侧部署是车牌识别的常见部署方式,PaddleLite轻量化推理引擎是飞桨专为手机、IOT端提供的高效推理能力。本范例采用PaddleLite的cpp推理,在骁龙855上完成示例演示,最终端到端预测速度为224ms。 产业实践范例教程,助力企业跨越AI落地鸿沟 飞桨产业实践范例,致力于加速AI在产业落地的前进路径,减少理论技术与产业应用的差距。范例来源于产业真实业务场景,通过完整的代码实现,提供从数据准备到模型部署的方案过程解析,堪称产业落地的“自动导航”。 真实产业场景:与实际具有AI应用的企业合作共建,选取企业高频需求的AI应用场景如智慧城市-安全帽检测、智能制造-表计读数等;完整代码实现:提供可一键运行的代码,在“AIStudio一站式开发平台”上使用免费算力一键Notebook运行;详细过程解析:深度解析从数据准备和处理、模型选择、模型优化和部署的AI落地全流程,共享可复用的模型调参和优化经验;直达项目落地:百度高工手把手教用户进行全流程代码实践,轻松直达项目POC阶段。 |
CopyRight 2018-2019 实验室设备网 版权所有 |