交通标志识别教程(二)
项目结构图
下载好项目压缩包后解压,得到以上的文件,首先将画红圈的文件删除(如果有)
安装软件
解压软件包
安装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
如下图所示,我们用的数据集德国的交通标志的数据集,所以你得先知道各个交通标志的含义,自己百度一下。
交通标志识别教程(二)相关推荐
- 毕业设计-基于机器视觉的交通标志识别系统
目录 前言 课题背景和意义 实现技术思路 一.交通标志识别系统 二.交通标志识别整体方案 三.实验分析 四.总结 实现效果图样例 最后 前言
- Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
项目介绍 TensorFlow2.X 搭建卷积神经网络(CNN),实现交通标志识别.搭建的卷积神经网络是类似VGG的结构(卷积层与池化层反复堆叠,然后经过全连接层,最后用softmax映射为每个类别的 ...
- PaddleHub实现交通标志识别
文章目录 一.迁移学习 二.PaddleHub概述 三.PaddleHub进行交通标志识别 一.迁移学习 完成深度学习的过程一般是这个样子的: 由于数据.模型 和算力的限制,我们很难在短时间内完成一个 ...
- python识别简单训练模型_Python3+OpenCV实现简单交通标志识别
由于该项目是针对中小学生竞赛并且是第一次举行,所以识别的目标交通标志仅仅只有直行.右转.左转和停车让行. 数据集:https://pan.baidu.com/s/1sLl0CadEutv3PQXhmq ...
- opencv交通标志识别_教你从零开始做一个基于深度学习的交通标志识别系统
教你从零开始做一个基于深度学习的交通标志识别系统 基于Yolo v3的交通标志识别系统及源码 自动驾驶之--交通标志识别 在本文章你可以学习到如何训练自己采集的数据集,生成模型,并用yolo v3算法 ...
- 基于MATLAB 的道路交通标志识别
一.引言 当今社会交通已经非常发达,而道路交通仍占主 导地位.MATLAB利用图像处理工具箱,并结合其强大的数据处理能力,我们可不必关心图像文件的格式.读写.显示等细节,而把精力集中在算法研究上, 大 ...
- 交通标志识别 java_交通标志识别项目 putsi/tsaraisa · GitHub
问:识别交通标志,怎么确定图片里有交通标志,具体在哪里?答:这个应该算目标识别和物体识别,CV的经典教程都有object recognition的内容可以参考.具体到交通标志识别,Github上有些开 ...
- yolov3交通标志识别练习
目录 一.问题分析 3 1.问题描述 3 2. 数据集分析 3 3. 数据集标注 4 二.实验原理 5 论文摘要 5 Loss函数 7 内部网络架构 7 三.实验过程 8 实验环境 8 训练过程 8 ...
- 基于OpenCV的交通标志识别
前几天看新闻得知微软为美国执法机关研发了一套基于AI识别,追踪并提取编辑视频中出现的人脸的算法,只要输入一段带人脸信息的视频文件,运行后即可输出一段所有人脸已被提取并且按要求编辑好的视频文件.当然该算 ...
最新文章
- 2021-2027年中国涂装行业市场需求预测与投资战略规划分析报告
- C++ 面试题:子类与父类同名变量
- 【Nginx】浏览器请求URL遇到错误:no-referrer-when-downgrade
- [BUUCTF-pwn]——bjdctf_2020_babyrop2
- OpenJudge计算概论-最长单词2
- Apache Camel 2.21发布–新增功能
- swift解析html数据类型,ios-Swift:以标签或textVi显示HTML数据
- 取表单radio值时
- 【从入门到放弃-ZooKeeper】ZooKeeper入门
- 你不了解PHP的10件事情!
- php大作业含代码_目标检测 | 目标检测技巧大汇总(含代码与解读)
- Android中UI(View)的刷新
- C++中去掉string字符串中的\r\n等
- QM 、QA和QC的区别
- 阿里天池龙珠计划-SQL训练营-Task06
- NOIP前的刷题记录
- 闲云旅游项目开发-(第一篇:使用Element-ui实现主页轮播图)
- TensorFlow常用函数tf.where()、tf.gather()、tf.squeeze()详解!!
- 项目经理之如何做好项目经理
- 南京邮电大学汇编语言程序设计实验一:汇编语言语法练习与代码转换
热门文章
- css 图片自适应_104道 CSS 面试题,助你查漏补缺(下)
- 网络DHCP配置简单介绍
- 【后端开发】check the manual that corresponds to your MySQL server version for the right syntax to use nea
- 华为系统鸿蒙多少个月不卡,华为鸿蒙系统正式领证!你会支持华为手机吗?
- linux常用指令+实例
- editer js 插件_各种Js插件汇总;JavaScript插件
- 关于指针指向地址中“指向”二字的理解
- 管理员已阻止你运行此应用——一步解决方法
- 【以太网交换安全】--- 端口隔离运行原理及二层隔离三层通信实例配置讲解
- HTTTP 缓存机制