项目结构图

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

安装软件

安装Anaconda

安装Pycharm

安装格式工厂


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

如果不放心,可以输入dir验证一下:

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

创建虚拟环境

conda create -n tranfficSignRec python=3.8

激活虚拟环境

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 tensorflow-cpu==2.5.0
pip install pandas==1.4.1
pip install matplotlib==3.5.1
pip install scikit-image==0.19.2
pip install playsound ==1.3.0
# 如果报错尝试加上在版本号后面加上( --user)或者(-i 镜像源地址)比如:
# pip install tensorflow-cpu==2.5.0 --user
# pip install tensorflow-cpu==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
# pip install tensorflow-cpu==2.5.0 -i --user https://pypi.tuna.tsinghua.edu.cn/simple
# 如果还是报错可以选择相近的版本,比如:
# pip install tensorflow-cpu==2.4.0

方案二

一步到位直接安装requirements.txt中所有的依赖包,确保requirements.txt文件在当前文件夹,如果不在当前文件夹就需要加上requirements.txt的路径。

pip install -r requirements.txt

用pycharm打开项目

打开pycharm后鼠标在左上角找到File点击Open

选择项目所在路径,选择项目对应的文件夹点击打开。注意图片中文件夹下面的黑点表示之前打开过这个项目,相当于一个小标记,方便我们寻找自己的项目文件。

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

运行代码


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

预测部分的代码

在此之前简单科普一下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"

用训练好的神经网络识别交通标志

关于语音提示功能

本项目额外的一个功能是识别出交通标志的同时给出语音提示。打开文件voice_library这个文件夹里面有对应(0-42)一共43个标志的语音提示。

上图这(0-42)一共43个标志的语音提示,对应的就是下图的顺序。这个交通标志的语音提示,需要我们自己录一下(可以根据自己的喜好弄得有个性一点哦*-*),但是注意语音包的命名和格式需要跟上面保持一致。命名是0-42,格式是wav格式。可以下载一个叫“格式工厂”的软件转化一下,很简单弄的。
然后还需要安装一个python的语音模块的第三方库:

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

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

预测我们选择的一张交通标志

找一张交通标志图像(格式最好是jpg)将它放在prediction这个目录下面.

复制这个图片的路径:
右击选择copy path选项,可以选择图片的绝对路径:
我这里是:C:\Users\47382\Desktop\tranfficSignRec\prediction\pre.jpg

用这中方法将代码predict.py里的路径换成自己实际的路径。然后运行就可以实现交通标志的识别和语音提示了。

点击运行

交通标志识别项目教程相关推荐

  1. 交通标志识别 java_交通标志识别项目 putsi/tsaraisa · GitHub

    问:识别交通标志,怎么确定图片里有交通标志,具体在哪里?答:这个应该算目标识别和物体识别,CV的经典教程都有object recognition的内容可以参考.具体到交通标志识别,Github上有些开 ...

  2. 深度学习交通标志识别项目

    主要内容 在本文中,使用Python编程语言和库Keras和OpenCV建立CNN模型,成功地对交通标志分类器进行分类,准确率达96%.开发了一款交通标志识别应用程序,该应用程序具有图片识别和网络摄像 ...

  3. 无人驾驶之交通标志识别项目--对TT100K数据集进行类别标注补充

    补充数据集: 1.筛选出不存在在已给labels的类别,找到对应的xml文件 # -*- coding: utf-8 -*- """ Created on Mon May ...

  4. python tensorflow 交通标志识别

    如果有问题,欢迎下方评论 交通标志识别,识别效果如下所示: 该模型一共可以识别42种交通标志,其中每种交通标志对应的标签如下所示: 0:'no traffic sign',1:'ban honking ...

  5. Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

    项目介绍 TensorFlow2.X 搭建卷积神经网络(CNN),实现交通标志识别.搭建的卷积神经网络是类似VGG的结构(卷积层与池化层反复堆叠,然后经过全连接层,最后用softmax映射为每个类别的 ...

  6. 交通标志识别教程(二)

    项目结构图 下载好项目压缩包后解压,得到以上的文件,首先将画红圈的文件删除(如果有) 安装软件 解压软件包 安装Anaconda 直接下一步,到了这个页面全部勾选,否则不会添加添加环境变量. 安装Py ...

  7. 交通标志识别系统-tensorflow项目

    介绍 交通标志识别系统,可作为计算机类专业毕设项目.机器学习,人工智能,深度学习,模式识别项目.基于tensorflow,采用 Inception-ResNet-v2模型实现对58个类别的接近6K张交 ...

  8. 人工智能项目实践-交通标志识别

    交通标志识别-基于卷积神经网络模型 导入有关库 import urllib.request import os # python中的os模块用于处理文件和目录 import tarfile impor ...

  9. PaddleHub实现交通标志识别

    文章目录 一.迁移学习 二.PaddleHub概述 三.PaddleHub进行交通标志识别 一.迁移学习 完成深度学习的过程一般是这个样子的: 由于数据.模型 和算力的限制,我们很难在短时间内完成一个 ...

最新文章

  1. shuoj 418 丢史蒂芬妮(素数筛+sg函数)
  2. 在mysql表中如何变换列和行_在SQL中转换列和行的简单方法?
  3. Excel VBA - 文件及目录操作
  4. 今日测试:javascript笔试最常见的一道题
  5. JAVA------华为----------句子逆序
  6. Android的ADT的安装
  7. 易筋SpringBoot 2.1 | 第八篇:Mybatis访问MySQL
  8. 入局智能健身镜,小度破圈进行时
  9. 什么是计算机网络体系结构?
  10. 人体一机竞技格斗机器人_在格斗机器人比赛中,如何判断输赢?
  11. 华为Java机试题__转载
  12. 树莓派4B环境搭建及初步设置
  13. Python 和 Elasticsearch 构建简易搜索
  14. 【米哈游】2022春季校园招聘
  15. Murmur Hash 例子
  16. artemis mq配置开机启动 (centos7)(artemis Init Script)
  17. php web 简单的系统,一个简单的Webmail系统_PHP
  18. rmvb压制中高级技巧
  19. html+css+js好看的梅花
  20. 解密pdf-3(输入我们本国的文字--中文)

热门文章

  1. Android之UI线程与子线程交互设计的5种方法
  2. 李宏毅Reinforcement Learning强化学习入门笔记
  3. “对不起,我们只招父母毕业于名牌院校的孩子”:最可怕的,是你还以为学历不重要...
  4. 这几个关乎我们一生教养的原则,每个人都应该知道。
  5. java里面什么时候环境变量_Java的环境变量什么时候需要设置?
  6. python多线程 不在main_从python线程(不是main)启动pyQt线程有什么不...
  7. java 数组下标 变量_Java基础语法:数组
  8. 求职学习笔记|并发编程知识点常见问题总结(一)
  9. python xpath定位不到_Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)...
  10. c语言字符串倒置,单词倒置,用C++实现,将一句话里的单词进行倒置的方法详解