我用AI回怼美女汽车销售系列[yolo车牌识别](一)

事情的起因

做了这么多年程序猿,正当我准备买辆代步车犒劳日益飙升的发际线,纠结于新能源还是油车之时,某新能源美女销售直接跟我说“现在买油车的都是傻子,谁还考虑买油车”。我感觉受到了极大的侮辱,这不是在说我嘛。随后,美女销售稍微放缓态度,说销售不骗人,让我自己去路上看看,路上开的一大半都是电车。作为爱较真的我,对“路上一大半是电车”的结论深表怀疑。但是又苦于拿不出证据。于是我准备对路上的汽车进行一个较大的采样和统计。然后狠狠的怼回去。到时候,美女销售一定会被我的智慧所深深折服。。。

有了上面的起因。我就准备着手开始统计路上的油车和新能源车的比例。而最容易的判断就是车牌。蓝牌为油车,绿牌为电车。于是就想着使用目标检测训练一个识别蓝牌与绿牌的网络。然后带着笔记本到外面兜一圈,不就可以快速且自动的统计了。

正当我庆幸自己的聪明才智之时,一个致命缺陷出现了。就是由于只是判断蓝牌和绿牌,那么当摄像头对着同一辆车的时候(例如等红灯),这一辆车会被统计非常多次,这无疑对最后的统计结果产生较大的偏差。因此不能只识别蓝牌还是绿牌,需要对车牌号进行识别,一个车牌号只统计一次。多次检测到同一个车牌号需要丢弃。问题似乎变得复杂了一些,从单纯的目标检测变成了车牌识别。然后为了折服美女销售,我并没有打算放弃。

实际上已经有一些车牌识别的成熟网络存在。然而作为爱折腾且爱较真的直男,我不想直接拿一个现成的车牌识别网络进行调用,那样太没有乐趣了。于是就想直接用目标检测网络扩展一个车牌识别网络出来。自己设计网络,才更有乐趣和成就感!由于以前从来没有做过车牌车别以及OCR之类的工作。凭着直觉感觉应该不难(针对我这个项目确实不难,因为不需要一些苛刻条件下的识别,并且识别错误几个数值影响不大)。因此我准备直接在比较流行的检测网络(yolox)上扩展一个车牌识别的网络。设计的网络如下,大致上是一个two stage的流程,先用传统的yolox检测出车牌,然后通过RoiAlign从特征图中抠出车牌进行后面网络的车牌识别(使用简单的分类)。

为了验证该网络的可行性,我决定先做一个实验。并且为了降低编码复杂性,我准备把网络一拆为二,使用yolox进行车牌的检测,然后将车牌从原图中抠出来,送到一个独立的分类网络进行车牌的分类。我们知道车牌有蓝牌和绿牌之分,蓝牌的位数是7位,绿牌的位数是8位,于是使用了两个分类网络,一个做蓝牌的识别,一个做绿牌的识别。检测网络负责检测蓝牌和绿牌,检测出蓝牌,抠图后送入蓝牌分类网络,检测出绿牌,抠图后送入绿牌分类网络。

设计好网络,下面就是训练数据了。这是深度学习一个绕不过去的坑。好在车牌识别这种通用任务,已经有一些比较好的开源数据集了。我这里使用CCPD数据集。

CCPD数据集简介

由中科大团队建立,并发表在ECCV2018会议上,论文题目是《Towards End-to-End License Plate Detection and Recognition: A Large Dataset and Baseline》官网地址是 https://github.com/detectRecog/CCPD

该数据集在合肥市的停车场采集得来的,采集时间早上7:30到晚上10:00。涉及多种复杂环境,包括模糊、倾斜、阴雨天等等。CCPD数据集一共包含将近30万张图片,每种图片大小720x1160x3。

CCPD数据集类型

一共包含8种类型,具体如下:

另外在2020年,CCPD专门增加了新能源车的类别。这个要注意,针对我这个项目,CCPD2020必须要下载,否则缺少新能源车的绿牌样本

CCPD部分图片展示

CCPD的标注格式

通过文件名来标注车牌相关的信息,例如下面的图片文件名:

由分隔符'-'将文件名分成几个部分:

  • 025为区域, 

  • 95_113 对应两个角度, 水平95°, 竖直113°

  • 154&383_386&473对应边界框坐标:左上(154, 383), 右下(386, 473)

  • 386&473_177&454_154&383_363&402对应四个角点坐标

  • 0_0_22_27_27_33_16为车牌号码,CCPD有两个映射字典。一个省份字典,即将各个省份映射为一个数字,另一个是字符字典,将各个字符映射为一个数字,部分字典如下图所示,详细的字典信息可以查看CCPD官网。

总结

感谢观众老爷能看到最后,这期主要讲解了事情的起因,以及网络的设计,数据的采集。下一期将要对网络进行训练和调试,期间会遇到什么问题呢,能否顺利采集到新能源车的比例,并回怼美女销售呢?敬请期待下一期。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值