首页 > 其他分享 >机器学习—车辆种类图片识别

机器学习—车辆种类图片识别

时间:2022-12-25 00:55:20浏览次数:42  
标签:机器 训练 学习 epoch 车辆 识别 数据 图片

机器学习—车辆种类图片识别

一、选题的背景

       随着城市化建设不断发展,我国对交通建设的需求也不断增长,成为了世界上在交通领域基础设施建设最快的国家之一,但车辆管控问题、道路交通问题、车辆违章问题等层出不穷,很难做到全面、有效的管理。马路上的摄像头每天拍摄下的许多汽车照片,怎么在大量的图片中筛选出是汽车的图片,并且识别出车辆种类,这时车辆识别就显得尤为重要。

二、机器学习案例设计方案

1.本选题采用的车辆不同种类数据集来自于网站,总共包含十种不同的车辆,分别为公交车、房车、消防车、卡车、吉普、小型客车、赛车、SUV、出租车和货车。在训练之前,把同种类型的车辆图片放到一个相同的文件夹并命名分类,在训练时因为图片像素大小不同而采用进行数据处理。

2.选题采用的机器学习框架为:使用的anaconda3环境下的pytorch深度学习库,pytorch版本为1.13.1,python的版本为3.9,cuda版本为11.3,开发环境为pycharm 2022.3。

3.涉及到的技术难点与解决思路:首先是构建深度学习环境时遇到了各种困难,比如安装pytorch时与python版本不一致,不知道怎么创建anaconda的虚拟环境,使用conda或pip安装不了一些库,不知道怎么预处理数据以及传入神经网络等。解决方式是在csdn等网站搜索相关问题并尝试解决。最终确定的最终方案是:划分数据集-用csv文件索引数据集-预处理图片数据(比如resize,totensor等)-构建神经网络-将数据输入网络进行训练以及测试-验证网络模型

三、机器学习的实现步骤

1.数据集的准备(十分类问题):

下载所需要的数据集:

2.导入需要用到的库:

3,遍历所有文件并对标签进行编号,划分训练集、验证集与测试集:

4. ,建立csv文件保存图片的数据与标签:

5.设置getitem方法得到某个位置的数据和标签并做图像预处理:

利用pytorch库中的transformes方法将图片先用rgb格式打开,然后统一缩放为104X104的像素格式以便于输入网络进行训练,利用totensor函数将图片转换成向量的格式并利用ImageNet提供的均值和方差mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]

进行归一化处理,以便于数据可以在(-1,1)之间,减小数据量以及使其服从正态分布。

处理前和处理后的图片的对比:

处理前的图片

                                                                  处理后的图片

6.读取训练集和测试集的照片:

7.构建神经网络:

神经网络采用经典的lenet-5网络,两个卷积层,两个池化层,一个全连接层,最后输出为10维的向量:

8.设置前向传播函数,优化器选择sgd,参数为lr=0.005, momentum=0.5,如果有显卡,设置可以使用cuda进行加速:

9.封装函数进行训练,设置每训练20次输出一次loss值,设置每一次epoch进行一次test来验证当前神经网络的准确率:

10.每次epoch进行一次网络模型的保存,一共设置20次epoch:

11.训练过程展示:

第一次epoch后准确率为35%

第三次epoch训练过程中的梯度下降展示:

训练时读取图片与标签展示:

在第七次epoch时,准确率已达到93%:

四、总结

本次的程序设计主要内容是机器学习的图片标签分类学习,通过本次课程设计,加深了我对于机器学习以及图片分类任务的理解。

机器学习其实就是通过让计算机理解数据,并对数据进行对比处理进而获得一种模型对未被训练过的数据进行预测的一种方法.此次学习主要是对图片的十分类问题进行实践,多分类函数使用的是softmax,可以计算矩阵中不同维度模块的比重,且具有归一与非线性激活作用。而卷积层可以对矩阵进行维度扩大,从而获得更大的感受野,进而可以感知到图片中更多的特征。损失函数使用带有向量的sgd函数可以使训练在遇到死点时更好的跨越过去从而保证梯度的下降。

本次程序实际的不足:没有做到训练过程中图片的可视化,可以进一步学习matplotlib库或者vidsom库进行训练的可视化。可以使用更好的神经网络结构进行训练,比如vgg-16或者resnet等。

 

以下附上完整代码

标签:机器,训练,学习,epoch,车辆,识别,数据,图片
From: https://www.cnblogs.com/he-huamin/p/17003483.html

相关文章

  • 机器学习--苹果和西红柿分类
    一、选题背景苹果和西红柿有着相似的外表和颜色,一个属于蔬菜类,一个属于水果类。在果蔬加工厂中凭借工人的肉眼很难对苹果和西红柿做到又快又准的分类效果。所以,在效率......
  • 机器学习——对吸烟动作进行简单分类
    (一)选题背景:本来比较讨厌吸烟这种危害健康的行为。本次课程设计选择识别行人是否抽烟,该任务可以应用在一些禁止吸烟的地方,以达到对人群进行检测的目的。 (二)机器学习设......
  • 机器学习——车牌号码识别
    一、选题背景商场地下车库的监控可以识别车牌号码,可以识别号码并让其进去,当用户想要离开车库时,可以自动识别并放行 二、机器学习案例设计方案下载数据集,整理和处理好......
  • 机器学习——住房价格预测
    一、选题背景房价问题事关国计民生,已经成为全民关注的焦点议题之一。房地产更是我过最大的产业之一,对每个人对至关重要。本文主要对房价的合理性进行分析,估测了房价未......
  • 程序机器级表示
    计算机执行机器代码时,实际上就是用字节编码低级的操作计算机在发展过程中,x86-64处理器系列的指令是向后兼容的,即支持过去的指令集,即使是过去的指令集在现在的平台上也是可以......
  • 机器学习——花的种类识别
    (一)选题背景:自古以来花便是人们生活中常见的点缀物,也是人们诸多情绪的寄托品,有许多诗人文豪托物言志写下了许多的传世佳作,探望病人时人们会送百合、康乃馨以示祝福......
  • 傅里叶变换在机器视觉的运用
    傅里叶变换在机器视觉的运用这样一幅图像1、是如何生成的?2、体现了什么?3、如何处理并用来增强原始图片数据?一、这样的图像是如何生......
  • 机器学习---花卉识别
    一、选题的背景因为我以前的专业是林学,平时需要上山出外业经常遇到一些不认识的花,那时候问老师或者自身学习记住了不少,但是渐渐的也忘记了,所以我选了花卉识别作为题目。......
  • 机器学习——机动车图片识别
    一、选题的背景随着城市化建设不断发展,我国对交通建设的需求也不断增长,成为了世界上在交通领域基础设施建设最快的国家之一,但车辆管控问题、道路交通问题、车辆违章问题......
  • 机器学习——自动生成古诗词
    自动生成古诗词一、选题背景自动生成古诗词的初衷是想培养中小学生的传统文化,感受中华上下五千年的古诗词魅力,并培养他们的作词能力,陶冶情操二、机器学习的实现步骤从......