交通标志识别教程(二)

项目结构图

在这里插入图片描述
在这里插入图片描述

下载好项目压缩包后解压,得到以上的文件,首先将画红圈的文件删除(如果有)

安装软件

解压软件包

安装Anaconda

直接下一步,到了这个页面全部勾选,否则不会添加添加环境变量。
在这里插入图片描述

安装Pycharm

直接下一步,到了这个页面全部勾选。
在这里插入图片描述

安装格式工厂

如果需要语音提示功能,会用音频的格式转化。需要安装格式工厂。
安装步骤:直接一直下一步
使用方法:选择转化为WAV格式。
在这里插入图片描述

项目代码调试

在这里插入图片描述

在这里插入图片描述
在上图中这个位置输入cmd回车,即可打开命令终端。用这样的方式打开命令终端可以确保输入命令的位置就是当前文件夹所在的位置:

接下来我们开始虚拟环境的创建虚拟环境,并且安装本项目中python用到的第三方库

创建虚拟环境

conda create -n tranfficSignRec python=3.7.3

激活虚拟环境

activate tranfficSignRec

国内常用镜像源地址

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:https://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/

安装项目所需的包

安装格式如下(==版本号可以省略)

pip install XXX==版本号 -i 镜像源地址

直接一部到位

pip install -r requirements.txt

用pycharm打开项目

打开pycharm后鼠标在左上角找到File点击Open
在这里插入图片描述
选择项目所在路径,选择项目对应的文件夹点击打开。注意图片中文件夹下面的黑点表示之前打开过这个项目,相当于一个小标记,方便我们寻找自己的项目文件。
在这里插入图片描述

选择python解释器(也就是我们创建的虚拟环境)

在这里插入图片描述

运行训练神经网络的代码(train_cnn.py)

![在这里插入图片描述](https://img-blog.csdnimg.cn/7e3aefcd06344a378fbbd5d197f40d41.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zi_5p2-5Li2,size_20,color_FFFFFF,t_70,g_se,x_16在这里插入图片描述
选择train_cnn.py,修改数据集路径然后点击运行,训练CNN卷积神经网络
在这里插入图片描述

等到训练完成后经训练过程输出的所有记录,复制粘贴到"cnn训练过程.txt"文件中,
然后选择train_mobilenet.py,修改数据集路径然后点击运行,同理记录训练过程中的输
出信息到"mobilenet训练过程.txt"文件中(记录的数据写论文的时候要用到,训练完了不要忘记记录了

整个神经网络训练的过程大概需要“30分钟–3个小时“,具体取决于你的电脑的性能。

运行测试的代码(test_model.py)

打开train_model.py修改分别修改测试cnn和mobilenet所用数据集的路径。然后运行
在这里插入图片描述
在这里插入图片描述

运行完代码后将输出的信息记录到"测试记录.txt"文件中。

运行预测的代码

关于python路径的小科普

在此之前简单科普一下Python中的正斜杠与反斜杠:
首先,"/“左倾斜是正斜杠,”"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Linux和Web用正斜杠/,Windows用反斜杠。

比如我们要用python读取windows电脑中的一张图片它的路径为C:\Users\47382\Desktop\tranfficSignRec\prediction\pre.jpg
在这里插入图片描述
直接用path = “C:\Users\47382\Desktop\tranfficSignRec\prediction\pre.jpg"是会报错的。
因为python代码默认会对”\t"、"\r"等进行转义,正确方式如下:

# 1.可以再加一个反斜杠"\"进行反转义,
path = "C:\\Users\\47382\\Desktop\\tranfficSignRec\\prediction\\pre.jpg"
# 2.或是在最前面加上一个"r"取消转义。
path = r"C:\Users\47382\Desktop\tranfficSignRec\prediction\pre.jpg"
# 3.直接用正斜杠"/"拼接路径(同时适用Linux和Windows的python环境)
path = r"C:/Users/47382/Desktop/tranfficSignRec/prediction/pre.jpg"

运行预测的代码windows.py

打开windows.py修改语音包路径后点击运行,就能显示我们的GUI界面了,然后我们就可以操作这个界面做交通标志识别了。
在这里插入图片描述

关于语音提示功能

本项目额外的一个功能是识别出交通标志的同时给出语音提示。打开文件voice_library这个文件夹里面有对应(0-42)一共43个标志的语音提示。
在这里插入图片描述
上图这(0-42)一共43个标志的语音提示,对应的就是下图的顺序。这个交通标志的语音提示,需要我们自己录一下(可以根据自己的喜好弄得有个性一点哦*-*),但是注意语音包的命名和格式需要跟上面保持一致。命名是0-42,格式是wav格式。可以下载一个叫“格式工厂”的软件转化一下,很简单弄的。
然后还需要安装一个python的语音模块的第三方库:

# 安装之前同样需要先进入我们创建的虚拟环境
pip install playsound ==1.3.0

如下图所示,我们用的数据集德国的交通标志的数据集,所以你得先知道各个交通标志的含义,自己百度一下。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度长文:Power Automation 帮助企业实现数字化转型

01自动化始于您在Ignite 2019上,我们宣布将Flow更改为Power Automate,并在UI Flow连接器的公开预览中引入了机器人流程自动化(RPA)。我们对几种激动人心的功能感到兴奋,这些功能将在今年全面上市,并想花一点…

什么样的女生适合学计算机?

我需要在这一行中加一些字数,为什么呢?因为我的字数不够300字,无法声明原创,所以我会在这里加一些字数,它们是白色的,你应该看不到,如果你此刻看到了,那你真的太机智了。300字&#…

ora-00923数据类型不一致_小白学 Python(2):基础数据类型(上)

如果我的文章对您有帮助,请关注支持下作者的公众号:极客挖掘机,获取最新干货推送:)人生苦短,我选Python引言前文传送门小白学 Python(1):开篇接触一门新的语言,肯定要先了解它的基础数据类型。啥…

如何将项目上传到github详细完整版

今天介绍如何利用pycharm创建一个新的项目,然后将项目上传到github,以便日后的学习记录,和版本管理。比如现在我想创建一个项目专门用来学习和研究时间序列算法。 创建虚拟环境 # 创建一个新的虚拟环境 conda create -n TimeSeries python3…

[Abp vNext微服务实践] - 搭建租户管理服务

一、简介ABP模板项目中已经提供了租户登录和管理功能,但是模板项目是单体应用结构,无法单独部署租户服务,所以难以满足微服务的需求。本篇文章将会介绍搭建ABP租户管理服务,并单独部署应用。二、创建工程2.1 创建TenantService.Ho…

编写高性能的C#代码(三)使用SPAN

原文来自互联网,由长沙DotNET技术社区编译。如译文侵犯您的署名权或版权,请联系小编,小编将在24小时内删除。作者介绍:史蒂夫戈登(Steve Gordon)是Microsoft MVP,Pluralsight的作者,…

pycharm配置git拉取项目代码,并添加版本控制

安装Git 打开网页进入git官网,找到git官网下载地址,下载git工具并且安装。 pycharm配置git 点击File -> Settings -> Version Control -> Git 选择Git安装的路径,点击OK 选择一个项目 进入我们需要拉取的项目,点击…

.NET Core开发实战(第22课:异常处理中间件:区分真异常与逻辑异常)--学习笔记(上)...

22 | 异常处理中间件:区分真异常与逻辑异常这一节我们来讲解一下错误处理的最佳实践系统里面异常处理,ASP.NET Core 提供了四种方式1、异常处理页2、异常处理匿名委托方法3、IExceptionFilter4、ExceptionFilterAttribute源码链接:https://gi…

MYSQL开窗函数详解

基本概念 MYSQL8.0支持窗口函数(Window Function),也称分析函数。窗口函数与组分聚合函数类似,但是每一行数据都会生成一个结果。如果我们将mysql与pandas中的DataFrame做类比学习的话他们的对应关系如下: SQL分组聚…

你可能需要了解一下的中台

【中台学习】| 作者 / Edison Zhou这是恰童鞋骚年的第201篇原创文章在数字化转型热潮下,各家企业都想建设中台,那么中台是怎么发展起来的?有哪些类型的中台?中台到底是个啥?本文为你一一解答这些问题。1学习背景与前言…

github运行不流畅问题

快速流畅访问Github工具 下载链接如下: 链接:https://pan.baidu.com/s/1RwdrNK__Vx-AEuUr8sM6pg 提取码:a0tw –来自百度网盘超级会员V3的分享 下载后解压,双击运行.exe文件 运行后长这样,给它丢一边不管就行了。

聊聊微信的Dark模式

大家好,我是Z哥。这周微信公布了一个我期待已久的好消息。周一的时候对外公布说,已经完成了iOS版本的Dark模式开发,可能会在下一个版本上线。▲截图来源于微博,版权归原作者所有真的是千呼万唤使出来,很多人期待这个功…

chrome浏览器快速访问stackoverflow

原因:国内网非常多的网站都使用免费的 Google CDN 服务来加载某些 js、字体样式库以提升网页浏览体验,例如 jQuery、Google Fonts。但是目前 Google 的大多数网站在大陆无法正常访问,因此这些本身是加快网页载入的库反而成为了阻塞网站加载的…

【开源要闻】Canonical发布新OpenStack工具、Kubernetes访客引导方法

Canonical发布支持CephFS的OpenStack Charms 20.02Canonical近日宣布了OpenStack Charms 20.02的全面上市,这是用于在Ubuntu上设计,构建和管理OpenStack私有云的强大工具的主要版本。OpenStack Charms 20.02是一个令人兴奋的版本,它增加了主要…

开窗函数(1)-部门工资前三员工

已知表 题目 公司的主管们感兴趣的是公司每个部门中谁赚的钱最多。一个部门的 高收入者 是指一个员工的工资在该部门的 不同 工资中 排名前三 。 编写一个SQL查询,找出每个部门中 收入高的员工 。 以 任意顺序 返回结果表。 示例 参考答案 selectbase.Departmen…

Asp.Net Core 中IdentityServer4 授权中心之自定义授权模式

一、前言上一篇我分享了一篇关于 Asp.Net Core 中IdentityServer4 授权中心之应用实战的文章,其中有不少博友给我提了问题,其中有一个博友问我的一个场景,我给他解答的还不够完美,之后我经过自己的学习查阅并阅读了相关源代码&…

缺失值处理

处理思路 在数据预处理过程中,难免会有数据的确实情况,无论是自己爬虫获取的还是从公开数据源上获取的数据集,都不能保证数据集是完全准确的,难免会有一些缺失值。而以这样数据集为基础进行建模或者数据分析时,缺失值…

在线教育,异军突起,有一种华丽转身,叫做.NET在线讲师!(全职/兼职皆可)...

在线教育2020年,注定是不平凡的一年,疫情来袭,人们只能潜伏在家,很多人因此没有了收入甚至没有了工作,各个行业,也正在快速升级和重新洗牌,这其中,有一个行业,异军突起&a…

python计算相关系数

皮尔逊相关系数 用numpy实现 import numpy as npx np.array([1, 4, 3, 5]) y np.array([1, 3, 4, 5]) pc np.corrcoef(x, y)print(pc)输出结果: 调用scipy.stats中的pearsonr方法 from scipy.stats import pearsonr import numpy as npx np.array([1, 4, 3,…

领域模型

领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。学会了面向对象的思想,却依然写不出好的面向对象的…