OCR—ccpd论文及程序解读

80 篇文章 3 订阅
44 篇文章 6 订阅

OCR——CCPD论文、原理、程序解读

摘要: ECCV2018接收,中科院发表,做车牌检测+识别;并公布了一个相当大的中文车牌数据集,大约12GB,约250K张车牌图片。

1. 数据集

Chinese City Parking Dataset
(CCPD)大约有12GB,约250K张独立的车牌图片,具有不同的背景,不同的拍摄角度,不同的时间,不同逆光程度。总结:样本多,样本样式丰富。数据如图:
在这里插入图片描述

2. 网络模型

现在很多车牌识别算法将整个任务分为两部分:检测+识别,还有的分成三部分:检测+分割+识别。论文分析了一下上述框架的弊端,提出了一个端到端的网络Roadside Parking net (RPnet)
同时17年的这篇论文《Towards end-to-end car license plates detection and recognition with deep neural networks》也是一个端到端的网络(未公开代码),但是采用了区域建议网络(RPN)和双向LSTM(BLSTM)速度较慢,而RPnet只主要采用了卷积和全连接层,在P400上能做到60fps

2.1 网络结构

在这里插入图片描述

  • 检测:车牌检测部分,未采用目标检测的思路,而是直接做的一个目标回归,所以,只能从一张图片中检测出一个目标,不能是多个目标;同时,对于没有目标的图片,依然会输出一个目标区域。
  • 识别:识别部分,利用检测网络第2,4,6层卷积层提取到的特征,crop分割出读数区域,接着分别对3个不同维度的特征做区域自适应池化,将车牌区域的特征变成8 ∗ 16 ∗ 64, 8 ∗ 16 ∗ 160 and 8 ∗ 16 ∗ 192,然后合并成8×16×416,然后向量化为53248维的向量特征,再将特征送入7个不同的分类器(为啥是7个?因为,国内的车牌统一为7位),第1位为38类,表示省份;第2位25类,车牌的英文;后面就是数字和英文35类,同时,这里采用了5个不同的分类器。不知道是否可以用同一个(可以提高推理速度)。
  • 训练:训练时模型采用了两步训练的策略,即先单独训练检测模型,再载入检测模型,同时训练检测部分和识别部分。
  • 损失函数:
    • 检测回归部分:L1loss
      在这里插入图片描述
    • 字符识别部分:交叉熵
      在这里插入图片描述

2.2 结果

论文和Cascade + HC,SSD300,YOLO9000等算法做了对比,结果:
在这里插入图片描述

3. 总结

3.1 优点

  • 一个足够大,足够丰富的数据集
  • 在车牌检测任务中提出了一个端到端的网络
  • 精度和速度都还行(从论文来看)

3.2 缺点

  • 不能做一张图片中有多车牌的检测和识别
  • 对于没有车牌的图片也会输出检测结果
  • 检测部分不支持旋转检测
  • 识别部分不支持不定长字符的识别;使用了7个不同的分类器,模型参数多。

总的来说这篇文章针对是针对车牌识别任务提出来的,很优秀,可迁移性较低。

Reference

  1. https://github.com/detectRecog/CCPD
  2. OCR——CCPD论文、原理、程序解读
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值