基于paddelOCR的车票识别
任务简介
车牌识别就是从图片或者视频中提取车牌信息
任务难点
- 尺度差异大,悬挂位置不固定;
- 角度倾斜,图片模糊,光照不足,过曝等问题;
- 边缘和端测场景应用对模型大小有限制,推理速度有要求;
数据集介绍
- CCPD数据集2019(25w)
- CCPD数据集2020(5k)
解决方案流程
- 车牌检测
- 车牌识别 (PP-OCR)
- 模型量化剪枝(PaddleSlim)
- 推理(PaddleLite)
PaddleOCR
PaddleOCR是一个领先的OCR使用工具库。
PaddleOCR的结构:
- 文本检测
- LK-PAN: 大感受野的PAN结构
- DML:教师模型互学习策略
- RSE-FPN:残差注意力机制的FPN结构
- 文本识别
- SVTR_LCNet: 轻量级文本识别网络
- GTC:Attention指导CTC训练策略
- TextConAug:挖掘上下文信息的数据增广策略
- TextRotNet:自监督的预训练模型
- UDML:联合互学习策略
- UIM:无标注数据挖掘方案
知识蒸馏
车牌识别方案
检测优化结果
识别优化结果
评价指标:
- acc:整个字符串是否相等
- norm_edit_dis:归一化的编辑距离,整张图片上的文字对了几个
识别case分析
识别优化结果
finetune会提升垂类场景效果
End2End结果
将检测和识别结合到一起:
case分析
- 检测框倾斜角度不对
- 字符长度不符合车牌规则
解决上述问题方法:
- 检测框dilation and flip(缩放和反转)
- 识别结果长度限制
方向不对就上下翻转一下 dilation放大或者缩小方框
处理之后,精度提升了许多。
动手实践
微调是在预训练模型上跑10个epoch左右
微调
学习率设置为之前的1/20
量化训练
手写体不好收集, text render生成
基于业务场景做后处理,ppstruct vqa
检测 2000张
- https://live.polyv.cn/watch/3110906
PCB板上应用
- https://live.baidu.com/m/media/pclive/pchome/live.html?room_id=7380176421&source=h5pre