课题:交通标志识别——设计思路与实现步骤记录

2023-10-27

(一)准备数据集
选取两个典型的交通标志数据集(德国交通标志数据集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)关闭摄像头

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

课题:交通标志识别——设计思路与实现步骤记录 的相关文章

  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • OpenCV 中的 Gabor 内核参数

    我必须在我的应用程序中使用 Gabor 过滤器 但我不知道这个 OpenCV 方法参数值 我想对虹膜进行编码 启动 Gabor 过滤器并获取特征 我想对 12 组 Gabor 参数值执行此操作 然后我想计算 Hamming Dystans
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 如何将 Opencv VideoWriter 与 GStreamer 结合使用?

    我正在尝试使用 Opencv VideoWriter 传输 h264 流 以使用 VideoCapture 将其传输到网络上的另一台电脑上 但是 我被困在 VideoWriter 上 执行此代码会返回错误 并且 out isOpened 始
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • Numpy 优化

    我有一个根据条件分配值的函数 我的数据集大小通常在 30 50k 范围内 我不确定这是否是使用 numpy 的正确方法 但是当数字超过 5k 时 它会变得非常慢 有没有更好的方法让它更快 import numpy as np N 5000
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject

随机推荐

  • LVM磁盘挂载&扩容

    磁盘不够了怎么使用逻辑卷的方式扩充磁盘呢 因为之前踩过坑 用混了fdisk和mount挂载 这次梳理下LVM挂盘和扩容方式 下载lvm2 预先下载程序包 若已下载则忽略 yum y install lvm2 离线下载可上腾讯软件源把rpm包
  • mysql数据库

    索引相当于字典的目录 用于查找数据 一般用B Tree索引 用该种数据结构来存储索引 InnoDB mysql的存储引擎 支持事务安全的引擎 支持外键 行锁 事务是他的最大特点 如果有大量的update和insert 转载于 https w
  • 玩转ChatGPT:Code interpreter (vol. 1)

    一 写在前面 喜大普奔 GPT 4传说中的Code interpreter插件已经可以用了 二 什么是Code interpreter 代码解释器 Code Interpreter 是一个工具 它能够读取和执行编程代码 这里有几个主要的功能
  • 如何将项目部署到服务器:从选择服务器到维护应用程序的全流程指南

    将项目部署到服务器是一个重要的技能 对于开发人员来说 它是必不可少的 在本文中 我将介绍一些关于如何将项目部署到服务器的最佳实践 一 选择服务器 在部署项目之前 你需要先选择一个适合你的服务器 如果你已经有一个可用的服务器 你可以直接使用它
  • 对象服务器文件服务器,传送对象到服务器

    h 文件中 h文件 png 代码如下 import interface LBNetWorkManager NSObject LBNetWorkManager netManager void Post NSString urlStr obj
  • nmap 操作系统探测

    1 操作系统探测原理 nmap 最著名的功能之一是用 TCP IP 协议栈 fingerprinting 进行远程操作系统探测 Nmap 发送一系列 TCP 和 UDP 报文到远程主机 检查响应中的每一个比特 在进行一打测试如 TCP IS
  • 【java】数组反转 已知一个数组 arr = {19, 28, 37, 46, 50}; 用程序实现把数组中的元素值交换,交换后的数组 arr = {50, 46, 37, 28

    public class Test05 public static void main String args 定义一个数组 用静态初始化完成数组元素的初始化 int arr 19 28 37 46 50 循环遍历数组 这一次初始化语句定义
  • 正则表达式校验邮箱

    正则表达式是一种用于匹配字符串的模式的工具 它可以用于验证邮箱地址的有效性 要用正则表达式校验邮箱地址 需要使用以下正则表达式 a zA Z0 9 a zA Z0 9 a zA Z0 9 0 61 a zA Z0 9 a zA Z0 9 a
  • ESP32的开发环境SDK4.3.1版本和编译环境搭建

    首先 到乐鑫的官网下载一个最完整的安装包 地址为 https dl espressif com dl esp idf idf 4 3 在这分为两种 在线安装和离线安装 在线安装与离线安装的区别 在线安装程序非常小 可以安装 ESP IDF
  • Mysql建表出现错误:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that correspo

    Mysql命令行sql语句建表报错 这里是你的SQL语法有错误 查看与MySQL服务器版本对应的手册 以确定使用 我的问题是sql语句里反引号用成了单引号 我这里用的是英文中的单引号 所以会有语法报错 正确的应该是键盘ESC键下的反引号 此
  • Python, Numpy求 list 数组均值,方差,标准差

    代码如下 import numpy as np array 1 3 5 7 9 求均值 arr mean np mean array 求方差 arr var np var array 求标准差 arr std np std array dd
  • 第二十八篇 SeNet模型解析

    文章目录 一 SENet概述 二 SENet 结构组成详解 三 详细的计算过程 SE模块代码详解 SENet 在具体网络中应用 代码实现SE ResNet 第一个残差模块 第二个残差模块 SEResNet18 SEResNet34模型的完整
  • 毕业设计 基于stm32的智能快递仓库环境监控系统 - 物联网 嵌入式

    本次设计的快递仓库的火灾报警系统通过主控单元将各个传感器的参数值采集回来 包括与消防安全相关的温度 湿度 烟雾等 主控制器 数据采集回来之后通过无线的方式将数据上传到远端的上位机上 由于这些参数都是有一个安全阈值的 当达到这个阈值的时候很可
  • ubuntu 17.10, cuda 9.1, cuDNN 7.0 安装caffe时runtest报错

    如果在runtest caffe时报如下错误 则 可将Makefile中 Debugging ifeq DEBUG 1 COMMON FLAGS DDEBUG g O0 NVCCFLAGS G else COMMON FLAGS DNDEB
  • 最全的cursor问题解答 The most complete Cursor question answer 2023.6.27

    2023 6 27 目前最新版本是Cursor Setup 0 2 35 x64 官网是https www cursor so 作者是https twitter com amanrsanger 使用操作 Ctrl k Edit Instru
  • 终于满足了我司QA的接口自动化测试统计报表要求

    以前我司接口测试用的工具比较多 有postman jmeter等 不同部门用的工具还不一样 即使同一部门开发自测用的接口测试工具和测试用的可能都不一样 项目到提测阶段 QA都会要求我们测试人员统计 项目有多少接口 是否每个接口都有被接口自动
  • 人生感悟之——因果关系

    2020年了 31岁 算是步入中年 偶有感悟 记录在案 待来年回头印证 近年来的感悟是 做事踏踏实实 实事求是很重要 有一是一 适当夸大我自己的能力是可以 但是夸的太大 未来的某一天我会付出代价 至少夸大的部分我需要花费足够的时间的努力来补
  • Protobuf如何集成到C++环境中(VS2019)

    文章目录 前言 下载安装Protocol Compiler和Protobuf Runtime 下载 编译安装Protobuf Runtime 使用Protocol Compiler生成 cc和 h文件 VS工程的配置 测试 前言 Proto
  • Spark集群搭建超详细教程

    Spark3 0 0集群搭建 前言 集群搭建具体步骤 Standalone模式 1 下载 spark 3 0 0 的jar包 2 上传并解压 3 配置SPARK HOME环境变量 4 修改配置 4 1 修改 spark defaults c
  • 课题:交通标志识别——设计思路与实现步骤记录

    一 准备数据集 选取两个典型的交通标志数据集 德国交通标志数据集GTSRB 与比利时交通标志数据集 选取两个数据集原因 1 便于后续对测试结果的对比 以及准确率差别的分析 2 二者图片格式相似 同样的程序二者兼容 无需重新编写代码 3 二者