IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 我用AI回怼美女汽车销售系列[yolo车牌识别](三) -> 正文阅读

[人工智能]我用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个点),但是在实际拍摄的视频中,仍然出现了很多的误检。将一个车牌的不同角度图片识别成很多个不同的车牌。虽然这期没有达到目的,但是也让我们更加清晰的认识到,深度学习项目落地的困难。并不是在公开数据集或者某一个数据集上效果很好,在落地项目中效果也会很棒。还是需要针对具体项目进行具体分析。下一期将会从网络结构等角度重新审视我们的车牌识别项目,敬请期待哦。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 20:50:48  更:2022-03-21 20:53:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:36:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码