\u200E
一站式完成车牌识别任务:从模型优化到端侧部署
发布日期:2022-05-30T03:43:14.000+0000 浏览量:3023次


交通领域的应用智能化不断往纵深发展,其中最为成熟的车牌识别早已融入人们的日常生活之中,在高速公路电子收费系统、停车场等场景中随处可见。一些企业在具体业务中倾向采用开源方案降低研发成本,但现有公开的方案中少有完成端到端的车牌应用范例


本次飞桨产业实践范例库开源车牌识别场景应用,提供了从技术方案、模型训练优化,到模型部署的全流程可复用方案,降低产业落地门槛。


⭐   项目链接   
点击阅读原文一键GET
https://github.com/PaddlePaddle/PaddleOCR/tree/dygraph/applications
所有源码及教程均已开源
欢迎大家使用,star鼓励~






场景难点

本范例解决车牌识别任务,需完成车牌检测模型和车牌识别模型的微调与串联,并部署到端侧设备中。 项目包含以下难点:
  • 车牌在图像中的尺度差异大、在车辆上的悬挂位置不固定;

  • 车牌图像质量层次不齐: 角度倾斜、图片模糊、光照不足、过曝等问题严重;

  • 边缘和端测场景应用对模型大小有限制,推理速度有要求。

  图1 CCPD绿牌数据集图像[1]




项目方案

针对以上问题,本范例选用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的数据标注格式并划分数据集。


图2 文件名称命名规则

 模型优化 

在少量数据的情况下,优秀的预训练模型能够带来更好的精度和泛化性。本范例选择PaddleOCR最新发布的PP-OCRv3模型完成数据微调。PP-OCRv3在PP-OCRv2的基础上,端到端指标H-means在中文场景再提升5%, 英文数字模型提升11%,如图3所示


图3 不同模型精度/耗时/大小对比

在具体策略方面,PP-OCRv3在检测部分使用ResidualSE-FPN(残差注意力机制的FPN结构),识别部分使用SVTR_LCNet轻量级文本识别网络,GuidedTraining of CTCAttention损失指导CTC损失训练策略。上述策略的详细解释将在直播课展开。


图4 PP-OCRv3具体策略展示

由于车牌场景均为边端设备部署,因此对速度和模型大小有比较高的要求。采用量化训练的方式能够压缩模型大小、加速模型推理速度。模型量化可以在基本不损失模型精度的情况下,将FP32精度的模型参数转换为Int8精度,减小模型参数大小并加速计算,使用量化后的模型在移动端等部署时更具备速度优势。

综上,对于车牌检测和识别有如下3种方案:
  • PP-OCRv3中英文超轻量预训练模型直接预测

  • 基于PP-OCRv3的策略在CCPD数据集中微调

  • 基于PP-OCRv3的策略在CCPD数据集中微调后量化


最终,检测方案指标如表1所示,识别方案如表2所示。

表1 检测方案指标
 

表2 识别方案指标
 
预测部署 

边缘部署和端侧部署是车牌识别的常见部署方式,PaddleLite轻量化推理引擎是飞桨专为手机、IOT端提供的高效推理能力。本范例采用PaddleLite的cpp推理,在骁龙855上完成示例演示,最终端到端预测速度为224ms。



产业实践范例教程
助力企业跨越AI落地鸿沟



飞桨产业实践范例,致力于加速AI在产业落地的前进路径,减少理论技术与产业应用的差距。范例来源于产业真实业务场景,通过完整的代码实现,提供从数据准备到模型部署的方案过程解析,堪称产业落地的“自动导航”。

  • 真实产业场景 :与实际具有AI应用的企业合作共建,选取企业高频需求的AI应用场景如智慧城市-安全帽检测、智能制造-表计读数等;
  • 完整代码实 现:提供可一键运行的代码,在“AIStudio一站式开发平台”上使用免费算力一键Notebook运行;
  • 详细过程解析 :深度解析从数据准备和处理、模型选择、模型优化和部署的AI落地全流程,共享可复用的模型调参和优化经验;
  • 直达项目落地 :百度高工手把手教用户进行全流程代码实践,轻松直达项目POC阶段。


精彩课程预告




为了让小伙伴们更便捷地应用车牌识别范例教程,我们邀请了百度高级研发工程师于5月25日20:00-21:00为大家深度解析从数据准备、方案设计到模型优化部署的开发全流程,手把手教大家进行代码实践。欢迎小伙伴们扫码进群,免费获取直播课和回放视频链接,更有机会免费获取企业专享资源包。


扫码报名直播课

加入技术交流群





参考文献

[1] Xu Z, Yang W, Meng A, et al. Towards end-to-end license platedetection and recognition: A large dataset and baseline[C]//Proceedings of the European conference on computer vision (ECCV). 2018: 255-271.


关注【飞桨PaddlePaddle】公众号

获取更多技术内容~