我用AI回怼美女汽车销售系列[yolo车牌识别](三)
前期回顾:
在上一期中,正当我信心满满的准备将模型应用在车牌识别的时候,遇到了很大的问题。就是在视频中,会把同一个车牌识别成很多不同的车牌号。这样会严重影响最终的统计精度。如下图所示,同一个这牌,由于拍摄角度不同会被识别出很多不同的车牌号。因此这期的主要目的就是要解决同一个车牌的不同角度下,被识别成不同车牌号的问题。
把该车牌在不同帧里面截取下来,进行预测,结果如下所示:
不同角度下,识别出了不同的车牌号,这显示是有问题的。
审核之前的数据增强
首先我对之前的车牌识别网络的数据增强做了审核,发现自己竟然使用了水平反转操作。要知道我们是7个车牌号一起识别的,水平翻转之后,车牌号的顺序是完全乱的,因此属于一个大Bug。我抑制住内心的激动,感觉找到了问题的本质。于是我删除了这个水平翻转的数据增强,重新进行了训练。最终的top1准确率从原来的0.9683提升到了0.9699,好像没有太大的提升。然后在同一个车牌的不同拍摄角度上进行测试,发现并没有实质性的改善。依然很糟糕的识别。
增加数据量
第一个直觉就是要增加数据量,但是由于ccpd中的蓝牌非常多,而绿牌非常的少,一共就1万张左右。因此通过增加数据量或许能够解决蓝牌的识别问题,但是依旧无法解决绿牌的识别问题。因此我pass掉了这个方案。
MixUp数据增强
再次审核代码,感觉数据增强确实有点少,但是对于现在这个特殊的车牌识别,左右顺序是非常重要的,因此不敢做一些几何增强。突然我想到了MixUp数据增强方式,刚好适合我这个项目。Mixup的原理非常简单。将多张图片按照比例粘贴在一起。计算loss的时候,分分计算两种图片的loss,再按照贴图的比例,加权loss。
使用了mixup数据增强之后,测试集的Top1准确率提升到了0.9806,相对于之前的0.9683有1.2个点的提升,看来还是有效果的。然后在之前的三个车牌上做测试,后面两个角度仍然出现了预测错误。
仿射变换数据增强
再次分析训练数据,由于在实际推理的时候,车牌的角度和透视形状往往是千差万别的,那么是否可以利用图像的彷射变换进行数据增强,从而提升精度呢?利用opencv的彷射变换函数,可以很方便的对车牌进行彷射变换,如下图所示:左边为原图,右边为经过彷射变换后的图片。
增加彷射变换之后,最终测试集的Top1准确率为0.9866,比mixup的0.9806提升了0.6个点,看来还是有效果的。然后在之前的三个车牌上做测试,发现第一个和第三个出现了错误。
由于增加mixup以及彷射变换后,都没有增加训练的epoch,理论上增加丰富的数据增强,需要增加epoch数目。于是,我将epoch从9增加到18个。最终的精度为0.991,推理可视化之后,效果非常nice。全部预测正确了。
模糊数据增强
同时考虑到车牌通常会有一些模型的情况,因此对车牌又增加了模糊处理,如下图所示,左边为原图,右边为模糊后的图片。期望能够增加模型的泛化性能。
训练后的最终top1精度0.9885,稍微差了一点,看看推理效果,如下图所示:
真实视频测试
通过上面的各种数据增强,已经训练出了比较好的模型,用之前拍摄的一些真实视频进行测试,发现仍然存在一个车牌被检测出多个不同的车牌号的情况发生。也就是说虽然模型在CCPD数据集里面已经拟合的很好,但是在真实环境下,准确率大大降低!因此不光从数据增强角度。还需要从网络设计等其他方面重新审视我们的车牌识别网络。真是道阻且长,但是不能放弃,坚持!
总结
这一期通过数据增强角度,对车牌识别进行了mixup,彷射变换,模糊处理等,最终在ccpd数据集的测试集上面将top1准确率从0.9683提升到了0.991(提升了2.3个点),但是在实际拍摄的视频中,仍然出现了很多的误检。将一个车牌的不同角度图片识别成很多个不同的车牌。虽然这期没有达到目的,但是也让我们更加清晰的认识到,深度学习项目落地的困难。并不是在公开数据集或者某一个数据集上效果很好,在落地项目中效果也会很棒。还是需要针对具体项目进行具体分析。下一期将会从网络结构等角度重新审视我们的车牌识别项目,敬请期待哦。
我用AI回怼美女汽车销售系列[yolo车牌识别](三)相关推荐
- 我用AI回怼美女汽车销售系列[yolo车牌识别](二)
前期回顾: 在上一期介绍了事情的起因,为什么要做yolo车牌识别,以及最终的网络结构.(链接在这里:(141条消息) 我用AI回怼美女汽车销售系列[yolo车牌识别](一)_cjnewstar111的 ...
- 我用AI回怼美女汽车销售系列[yolo车牌识别](五) 完结
上期回顾 上一期中,我们使用CTC技术,将蓝牌和车牌放在同一个网络里面训练和识别,取得了不错的效果.这一期主要是上路进行相关的统计,一方面检测程序的性能,一方面看看到底新能源车的占比有多少.结果还真是 ...
- 我用AI回怼美女汽车销售系列[yolo车牌识别](四)
上期回顾 上一期中,我们从数据增强角度,对车牌识别进行了mixup,彷射变换,模糊处理等,最终在ccpd数据集的测试集上面将t将top1准确率从0.9683提升到了0.991(提升了2.3个点),但是 ...
- 《Mastering Opencv ...读书笔记系列》车牌识别(I)
一.ANPR简介: Automatic Number Plate Recognition (ANPR),,是一种使用Optical Character Recognition (OCR)和其他分割.检 ...
- 华为回怼特朗普;中兴首款 5G 上市;iPhone 可免息分期购买 | 极客头条
Python这么火,为什么还不学? https://edu.csdn.net/topic/python115?utm_source=csdn_bw 「CSDN 极客头条」,是从 CSDN 网站延伸至官 ...
- “我有技术到哪都是一样的”?年薪40W测试工程师被裁,回怼的这一番话,令人沉思
一位年薪40W测试工程师被开除回怼道:"反正我有技术,在哪不一样" 一技傍身,万事不愁,当我们掌握了一技之长后,在职场上说话就硬气了许多,不用担心被炒,反过来还可以炒了老板,这一点 ...
- 一位年薪35W的测试被开除,回怼的一番话,令人沉思
一位年薪35W测试工程师被开除回怼道:"反正我有技术,在哪不一样" 一技傍身,万事不愁,当我们掌握了一技之长后,在职场上说话就硬气了许多,不用担心被炒,反过来还可以炒了老板,这一点 ...
- python 微信机器人自动聊天+回怼表情包+Adidas公众号自动抽签 四、获取表情包中的文字并进行同类型回怼
前言 在前文自动回怼表情包中, 只是做到爬取表情包存放在本地 ,然后当微信好友发送表情包给你的时候,随机抓取本地一个表情包进行回复.太不灵活 识别表情包中的文字 from __future__ imp ...
- 字节老板在群里diss员工:上班时间聊游戏,工作很闲吗?员工回怼:查聊天记录,看聊天时间占工作时间百分比!网友:真·扁平化管理!...
上班时间聊天是大多数社畜的现状,如果不小心被老板抓包怎么办? 这几天,几张截图在网上火了起来,截图显示这是一个字节跳动的游戏群,某天字节张老板突然在里面说了长长的一段话,内容如下: 看来张老板对员工上 ...
最新文章
- OpenCV持久化(二)
- Leangoo 6.2.6 版发布
- Tomcat参数设置,解决内存溢出问题
- 聚类算法 sklearn k_means (返回一维数据的最优聚类)
- 深入V8引擎-AST(2)
- 12.oauth密码模式identity server4实现
- RTX5 | 消息队列01 - 创建消息队列
- 关于PreparedStatement.addBatch()方法 (转)
- NHibernate使用--环境搭建
- (转)对SQLSERVER数据库事务日志的疑问
- 软件工程第一次作业——数独的求解与生成
- ADS板级PCIE_SI仿真
- Idea导入项目及相关环境配置
- bmp图片批量改成jpg
- JavaScript严格检查模式strict的使用
- JPA中@Basic注解详解
- chm文件显示“已取消网页导航”的解决办法
- 关于‘go list‘ failed with: error obtaining VCS status error obtaining VCS status: exit status 128问题的解决
- 毕业设计__系友录ByJavaweb
- 2021招银网络提前批笔试编程题C++