(一)准备数据集
选取两个典型的交通标志数据集(德国交通标志数据集GTSRB
比利时交通标志数据集
选取两个数据集原因
1.便于后续对测试结果的对比,以及准确率差别的分析
2.二者图片格式相似,同样的程序二者兼容,无需重新编写代码
3.二者都分为训练集和测试集,同时都有存贮着ROI特征区域信息的.csv文件,对图片处理过程相同
4.二者标签数量以及各个标签下的图片数量不同,便于对比

(二)图片处理&数据集修改完善(imagedeal.py)
1.数据库详细介绍:两个数据库的图片存储格式都为.ppm格式,每个类别文件夹(分类标签)下面除相应的交通标志外,还存有一个.scv文件,此文件用Excel可以打开,存储了该文件夹下的所有图片信息,包括图片名、长、宽、ROI特征区域的坐标(X1,Y1,X2,Y2)以及分类标签号,后面将根据csv文件中存贮的信息对图像进行处理。课题:交通标志识别——设计思路与实现步骤记录
2.载入模型之前,对图片进行处理。
用imagedeal.py程序对图片进行ROI区域提取,图片大小统一为 32*32,并将图片格式转化为JPG。

(三)图片预处理(Trafficsign_Main.py)
搭建步骤:
1.导入相关库
2.定义相关参数
3.导入训练图片
4.将图片分为测试集与训练集(注:模型训练与测试来自同一Dataset,按照比例将该Dataset分为测试集与训练集)
5.读取.csv文件
6.显示所有标签中的一些样本图片(N个标签*5张)
课题:交通标志识别——设计思路与实现步骤记录

7.用直方图显示每个标签中所含样本数目
课题:交通标志识别——设计思路与实现步骤记录

8.对输入的图片进行预处理
(1)BGR转换为灰度图
(2)直方图均衡化
(3)图像增广
9.显示预处理后的部分图片样本
课题:交通标志识别——设计思路与实现步骤记录

(四)搭建卷积神经网络模型(Trafficsign_Main.py)

模型逐层参数如下(运行程序获得):
课题:交通标志识别——设计思路与实现步骤记录

(五)模型训练(Trafficsign_Main.py)
第一轮测试:
课题:交通标志识别——设计思路与实现步骤记录
课题:交通标志识别——设计思路与实现步骤记录
第二轮测试:
课题:交通标志识别——设计思路与实现步骤记录
第五轮测试:
课题:交通标志识别——设计思路与实现步骤记录
最后一轮测试:
课题:交通标志识别——设计思路与实现步骤记录

(六)绘制loss曲线与accuracy曲线(Trafficsign_Main.py)
课题:交通标志识别——设计思路与实现步骤记录
课题:交通标志识别——设计思路与实现步骤记录

(七)模型测试、实时测试(TrafficSign_Test)
1.导入相关库
2.设置摄像头参数、**摄像头
3.读入之前训练保存的模型
4.定义图片处理函数
(1)BGR转换为灰度图
(2)直方图均衡化
(3)图像归一化
5.定义标签与图片描述相对应的函数
6.while True中依次执行:
(1)读取图片
(2)图片处理
(3)图片标签预测
(4)显示预测结果
(5)关闭摄像头

相关文章:

  • 2021-08-05
  • 2021-12-29
  • 2021-12-05
  • 2021-12-21
  • 2021-10-14
  • 2021-12-29
  • 2022-01-10
  • 2021-12-31
猜你喜欢
  • 2021-11-14
  • 2021-12-29
  • 2021-12-13
  • 2021-12-29
  • 2021-11-27
  • 2021-07-13
  • 2022-02-06
相关资源
相似解决方案