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

这篇具有很好参考价值的文章主要介绍了Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目介绍

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

其他项目

水果蔬菜识别:基于卷积神经网络的水果识别项目

安装conda和pycharm

若已经安装好了请忽略。

在评论区获取:安装包的分享链接,包含Pycharm、Anaconda、Miniconda、TeamViewer(远程协助)、FormatFactory(格式工厂)。
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

安装aconda
可以自行选择Anaconda或者Miniconda两者安装方法和法是完全一样的。但是强烈建议选择Miniconda,因为它比较“轻”,占用内存极小,并且安装时间相对Anaconda耗时极短!

直接下一步,到了这个页面全部勾选,否则不会添加添加环境变量。
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

安装Pycharm
直接下一步,到了这个页面全部勾选。
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
安装远程协助软件
如果需要远程协助,请自行提前安装好TeamViewer。
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

项目展示

视频展示地址:交通标志识别视频展示
1.PYQT5界面:基于PYQT5的GUI界面实现交互,可以上传一张交通标志图像,点击识别结果。

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

2.Flask网页前端界面:基于Flask生产一个网页界面实现交互,可以上传一张交通标志图像,点击预测模型会输出每一个类别的置信度,并按照从大到小的降序排列展示在网页上,展示在最上面的类别即为最终模型的识别结果。

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

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

开发环境:

  • python==3.7
  • tensorflow==2.3

数据集(GTSRB):

德国交通标志基准测试是在2011年国际神经网络联合会议(IJCNN)上举行的多类单图像分类挑战赛。我们诚挚地邀请来自相关领域的研究人员参加:比赛旨在允许没有特殊领域知识的参与。我们的基准测试具有以下特性:

主要用于单图像、多类分类问题。43个class,其中训练集39209个样本,测试集12630个样总计超过 50,000 张图片大型、逼真的数据库。

Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
每个训练集和测试集中每个文件夹中存放数据类别如下图所示:
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

代码调试

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

在这里插入图片描述
拿到项目后,解压文件,解压后如下图所示:
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

Step1:打开项目文件夹

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

各个文件及代码介绍:
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

Step2:搭建开发环境

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

创建虚拟环境

输入cmd回车后,会打开一个命令终端,下面我们开始创建虚拟环境:
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
输入命令为:

conda create -n tf23_py37 python=3.7

输入命令回车后,出现下面提示,继续回车:
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

然后回车后,我们就创建了一个环境名称为“tf23_py37”的虚拟环境,它的python版本为3.7,如下图所示:

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

激活虚拟环境

复制这条命令,输入命令行,激活我们创建的虚拟环境:

conda activate tf23_py37

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

安装第三方依赖库

下面开始安装项目用到的第三方依赖库,比如tensorflow、matplotlib、pyqt5等。本次用到的依赖库全部记录在了requirements.txt文件中。下面开始安装:

在命令终端中输入以下命令。

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

注意:上面这条安装第三方依赖库的命令 “-i” 后面接的是国内的镜像源地址。如果安装失败提示我们指定的镜像源中没有对应的第三方库依赖的版本,可以考虑选择其他的镜像源。
国内常用镜像源地址

清华: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/

安装成功后,如下如所示:

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

打开项目配置环境

Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
如果出现下面提示:
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

如果出现下面提示:

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

选择解释器(我们上面创建的虚拟环境)

打开朋友charm后,在pycharm的右下角点击解释器选择,选择”Add Interpreter“选择添加解释器。

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

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

按照图片的提示操作即可,添加我们需要的“python解释器”,pycharm右下角显示如下图所示即为成功:

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

训练神经网络模型

打开项目“train_cnn.py”这个代码,根据图片中提示操作:

Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
成功运行效果如下图所示:

Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
成功运行后,接下来要做的事情就是“等待”,根据每个人电脑配置的高低,运行训练网络的代码时间也是不同的(几分钟–几个小时)等待运行完毕,不报错即为训练成功。

在训练成功后,在models文件夹中会生成"cnn_fv.h5"文件。

Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
在训练成功后,在result文件夹中,可以看到“results_cnn.png”图片,记录了训练过程中准确率和loss的变化情况。
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
同样按着运行”train_cnn.py”的逻辑步骤去运行”train_mobilenet.py“,就会训练mobilenet神经网络。运行的结果可以和CNN形成一组对照。更有利于我们写文章哦!

测试

在训练模型完毕后,我们开始测试模型(评估模型的性能),打开“test_model.py”

Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
按照图片提示操作。

运行成功后会在results文件夹下生成“heatmap_cnn.png”热力图(可以看到每个类别预测准确率的情况),如下所示:
因为类别较多所以显示的效果不是很好看(-_-)。
Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)

预测

PYQT5的GUI界面

在经过训练和测试之后,我们得到了一个可以用来做交通标志识别的神经网络权重,下面开始预测需要识别的交通标志图片。打开"windows.py"这个代码,直接点击运行,结果如下所示:

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

运行成功后得到一个pyqt5的GUI界面,然后我们就可以通过这个GUI操作去预测我们项目预测的水果图片啦!

Flask网页端展示

打开"app.py"这个代码,直接点击运行,结果如下所示:

Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)
点击控制台输出的链接,或者自己打开浏览器输入http://127.0.0.1:5000这个网址。即可跳转到flask前端页面,然后自行做交互,上传图片,点击预测,模型会输出每一个类别的置信度,并按照从大到小的降序排列展示在网页上,展示在最上面的类别即为最终模型的识别结果

Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)文章来源地址https://www.toymoban.com/news/detail-448886.html

到了这里,关于Python交通标志识别基于卷积神经网络的保姆级教程(Tensorflow)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于Yolov8的中国交通标志(CCTSDB)识别检测系统

    目录 1.Yolov8介绍 2.纸箱破损数据集介绍 2.1数据集划分 2.2 通过voc_label.py得到适合yolov8训练需要的 2.3生成内容如下 3.训练结果分析          Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的(SOTA)模型,它建立在先

    2024年02月09日
    浏览(83)
  • 基于深度学习的交通标志检测和识别(从原理到环境配置/代码运行)

    项目是一个基于Python和OpenCV的交通标志检测和识别项目,旨在使用计算机视觉和深度学习技术对交通标志进行检测和分类。本文将从介绍项目原理和框架开始,详细介绍该项目的实现过程和技术细节,最后给出项目的安装和使用方法。 Traffic-Sign-Detection项目的主要原理是使用

    2024年02月03日
    浏览(44)
  • 软件杯 深度学习 opencv python 实现中国交通标志识别_1

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的中国交通标志识别算法研究与实现 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:4分 工作量:4分 创新点:3分 🧿 更多资料, 项目分享: http

    2024年03月17日
    浏览(78)
  • 【目标检测】基于yolov5的交通标志检测和识别(附代码和数据集)

    写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 (专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内,不想订阅专栏的

    2024年02月04日
    浏览(59)
  • 交通信号标志识别软件(Python+YOLOv5深度学习模型+清新界面)

    摘要:交通信号标志识别软件用于交通信号标志的检测和识别,利用机器视觉和深度学习智能识别交通标志并可视化记录,以辅助无人驾驶等。本文详细介绍交通信号标志识别软件,在介绍算法原理的同时,给出 P y t h o n 的实现代码以及 P y Q t 的UI界面。在界面中可以选择各

    2024年02月02日
    浏览(47)
  • 【目标检测】基于yolov5的交通标志检测和识别(可识别58种类别,附代码和数据集)

    写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 (专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内,不想订阅专栏的

    2024年02月12日
    浏览(54)
  • 目标检测YOLO实战应用案例100讲-基于深度学习的交通标志小目标检测与识别研究

    目录 前言 目标检测算法相关理论  2.1 深度学习理论基础  2.1.2卷积神经网络 

    2024年02月11日
    浏览(50)
  • Python+Yolov5+Qt交通标志特征识别窗体界面相片视频摄像头

    程序示例精选 Python+Yolov5+Qt交通标志特征识别窗体界面相片视频摄像头 如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助! 这篇博客针对《Python+Yolov5+Qt交通标志特征识别窗体界面相片视频摄像头》编写代码,代码整洁,规则,易读。 学习与应

    2024年02月03日
    浏览(35)
  • Opencv交通标志识别

    本文使用的数据集包含43种交通标志,使用opencv以及卷积神经网络训练模型,识别交通标志,使用pyqt5制作交通标志识别GUI的界面。 如视频中所示,可以选择交通标志,然后可以进行图像预处理操作,如灰度化,边缘检测等,最后可以点击识别按钮进行识别。 交通标志识别

    2024年02月11日
    浏览(59)
  • win下YOLOv7训练自己的数据集(交通标志TT100K识别)

    预测结果: 数据集的准备包括数据集适配YOLO格式的重新分配以及相应配置文件的书写,此处可查看博主的TT100K2yolo的重新分配博文,该文章包括数据集划分,配置文件书写,以及最终的数据集层级目录组织,可以直接提供给下一步进行训练。 需要注意的是数据集的yaml文件有

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包