一站式完成车牌识别任务:从模型优化到端侧部署
交通领域的应用智能化不断往纵深发展,其中最为成熟的车牌识别早已融入人们的日常生活之中,在高速公路电子收费系统、停车场等场景中随处可见。一些企业在具体业务中倾向采用开源方案降低研发成本,但现有公开的方案中少有完成端到端的车牌应用范例。
本次飞桨产业实践范例库开源车牌识别场景应用,提供了从技术方案、模型训练优化,到模型部署的全流程可复用方案,降低产业落地门槛。
项目链接
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阶段。
一站式完成车牌识别任务:从模型优化到端侧部署相关推荐
- 一个方案搞定从模型量化到端侧部署全流程
量化的背景 得益于海量数据.超强算力和最新技术,深度学习在视觉.自然语言处理等领域都取得了巨大成功.然而,深度学习模型的网络结构越来越复杂.参数越来越多.计算量越来越大,给模型部署应用带来了不小挑战, ...
- Tensorflow模型优化 端侧部署 tflite 量化 稀疏 quantization sparsity
Tensorflow模型优化 文章目录 Tensorflow模型优化 为什么要模型优化 端侧部署 模型优化方式 Quantization 工具包支持 32 bit float ->16 bit ...
- 基于SpringBoot的车牌识别系统(附源码和环境部署文档)
若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用. 前端采用Vue.Element UI. 后端采用Spring Boot.Spring Security.Redis & Jwt ...
- 深度学习模型在移动端的部署
简介 自从 AlphaGo 出现以来,机器学习无疑是当今最火热的话题,而深度学习也成了机器学习领域内的热点,现在人工智能.大数据更是越来越贴近我们的日常生活,越来越多的人工智能应用开始在移植到移动端上 ...
- 「自然语言处理(NLP)论文解读」中文命名实体识别(Lattice-LSTM模型优化)
来源:AINLPer微信公众号 编辑: ShuYini 校稿: ShuYini 时间: 2019-8-27 引言 今天主要和大家分享一篇关于中文命名实体识别的文章,本文分析Lattice-LS ...
- 智能驾驶 车牌检测和识别(五)《C++实现车牌检测和识别(可实时车牌识别)》
智能驾驶 车牌检测和识别(五)<C++实现车牌检测和识别(可实时车牌识别)> 目录 智能驾驶 车牌检测和识别(五)<C++实现车牌检测和识别(可实时车牌识别)> 1. 前言 2 ...
- NVIDIA中文车牌识别系列-1” 在Jetson上用DeepStream识别中文车牌
前言 这是NVIDIA在2021年初公布的一个开源项目,用NVIDA Jetson设备上的DeepStream视频分析套件实现"车牌识别"的功能,这是个实用性非常高的应用,能应用在 ...
- 车牌识别算法_PC端车牌识别SDK融入好算法
PC端车牌识别SDK介绍 易泊PC端车牌识别SDK融合了车牌定位.车牌字符切分.车牌字符识别等算法,使该系统具有识别效率高.速度快.适应性强.使用方便等优势,技术处于国际先进水平.大力发展机器人.人工 ...
- ios开发ocr识别_车牌识别技术
核心技术:移动车牌识别技术,ios车牌识别,车牌识别技术移动端,移动端车牌识别技术,手机端车牌识别,OCR车牌识别,手机端车牌识别 移动端车牌识别OCR技术描述 移动端车牌识别OCR技术是我公司开发的 ...
最新文章
- [WP]关于WP7的后台的一些小事情
- 透视表提取不反复记录(3)-每组最小值
- 工业级光纤收发器和协议转换器有什么区别呢?
- HDU - 4497 GCD and LCM
- 11尺寸长宽 iphone_弱电工程LED显示屏尺寸规格及计算方法
- android view gesturedetector,如何在Android中利用 GestureDetector进行手势检测
- 异步读取数据库中数据
- Ubuntu启动密码丢失的找回
- Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作
- Flutter实战之AS快键键
- 静态初始化--我的理解
- java中的Date类
- 精心整理了40个Python办公自动化真实案例,一口一个,高效办公!
- 影子系统、沙盒、虚拟机的区别
- 股票学习-量柱和k线-第四天
- uiautomatorviewer 定位提示Error obtaining UI hierarchy
- 马王堆汉墓帛书‧老子乙本——德经
- php映射脚本,代替php脚本
- H3C交换机如何进行批量端口配置
- 学习之Java(方法)
热门文章
- 河北省纪委举报网站:JS代码的错误导致没有人能举报成功
- Differentiable Learning of Logical Rules for Knowledge Base Reasoning
- 2028全球子宫癌诊断试验行业调研及趋势分析报告
- java分页工具封装
- ajax开发 短期班,一个简单的ajax 来mock数据
- windows操作系统中SID是什么??
- 《围城》---方鸿渐 v1
- Java深海拾遗系列(8)--- 10 个最难回答的 Java 问题
- C/C++基于easyX库实现三星环绕小项目(C/C++)
- htcm8android5.0root,【04.25】【技术贴】港版M8 soff折腾完毕~顺便OTA成功带ROOT!!