基于深度学习的交通标识检测
更新日志
2024-05-11 -写UI中途发现版本兼容问题,现修正前期安装流程,更新了打包流程
2024-04-07 -新增遇到的问题分栏
2024-04-05 -简单记录了 Anaconda 的基本指令
2024-03-28 -完成了基础的环境搭建记录
前言
2024-03-28:时间过得很快,大学四年就这么匆匆溜走,最近也是进入了毕设阶段,目前已有一些进展,正好有时间,那就大致记录一下目前的情况吧。
2024-05-11:这可能是博主第一次接触深度学习领域,也可能是最后一次,希望这博客能对有需要的人有所帮助。
2024-07-16:项目已打包,点击此处跳转
一、环境搭建
下载并安装 Acnconda3
在官网下载Acnconda3,点击此处跳转
查看系统版本支持
选择 Tensorflow 版本
下载 cuda11.0 及 cuDNN8.0,安装 cuda11.0,并将 cuDNN 解压放入 cuda 安装文件夹
检查是否配置成功
1 | #### nvcc -V ##查看安装状态 |
用 Anaconda 配置虚拟环境 Tensorflow24
1 | conda create -n Tensorflow24 python=3.8 ##创建一个虚拟环境 |
检查是否安装成功
1 | python #进入python环境 |
安装必要的包文件
这些包都需要安装在Tensorflow24环境下。
1 | pip install opencv-python==4.9.0.80 #安装不上可以下载到本地安装 |
从 github 将 Tensorflow-yoloV6 项目克隆到本地
该项目是基于 bubbliiiing大佬的项目编写的,大部分保留了源代码。 点击此处跳转
数据准备和处理
自己做数据集,准备足够的带有交通标识的图片,然后在 Anaconda 里下载输入 pip install labelimg 命令下载安装 Labelimg。
重要:使用该软件进行数据集的标注,在使用时会有闪退报错的情况,提示传输的数据类型不正确,根据报错提示到指定文件的指定代码处进行修改,对预传输的数据进行强制转换成需要的数据类型即可。
使用公开的数据集,公开的数据集可能需要转换格式,需要自行编写代码转化成 VOC 格式,并放到指定目录,公开数据集的标注不一定适配想要的效果,建议还是自行准备数据集。
初步训练
打开 VScode,用搭建的 Anaconda 环境运行 train.py。
训练时长跟gpu核心数、数据集的大小、训练的世代次数有关,数据集的大小决定每个训练世代的时长,模型参数则可以设置训练的世代次数,训练的世代次数越多,训练时长也就越长,我的数据集花了 8 个小时去训练。
二、PyQt5
常见 GUI 框架
PyQt5:Qt 是一个跨平台的 C++图形用于界面库。QT 一度被诺基亚使用,后出售芬兰的软件公司 Digia Oyj。PyQt5 是基于 Digia 公司 Qt5 的 Python 接口,由一组 Python 模块构成。PyQt5 本身拥有超过 620 个类和 6000 函数及方法。在可以运行于多个平台,包括:Unix,Windows,Mac OS。
Pyside6:Pyside 是 QT 公司官方提供 Python 包,上一版本为 Pyside2,对应的是 QT5,最新版命名规则进行了调整,更改为 Pyside6,对应的是 QT6 版本。由于官方出品的比较看好,缺点是发布比较晚,资料没有 PyQt5 多。
Tkinter:Python 内置的 GUI 框架,使用 TCL 实现,Python 中内嵌了 TCL 解释器,使用它的时候不用安装额外的扩展包,直接 import,跨平台。不足之处在于 UI 布局全靠代码实现,只有 15 种常用部件,显示效果简陋。
编写UI界面需要一定的面向对象编程基础,理解程序设计模式。
在 Anaconda 下安装 pyqt5
1 | pip3 install pyqt5 |
安装 Qt Designer 并打开
方法一:安装 Anaconda3 时会自动安装,在Anaconda3输入命令就能打开
注意:需要在添加环境变量,否则无法在 conda 环境下调用,只能手动打开。
方法二:去 GitHub 开源项目地址下载。
Qt Designer 的简单使用
CSDN 上有许多博主写有相关教程,B 站上有许多 up 主出过很多相关视频
Qt Designer 里面的控件界面编写需要前端基础,有 CSS 基础的可以很快上手,没有基础的也可以通过查看官方文档去查看控件属性,然后在编写样式。
实现UI界面的功能
在Qt Designer将界面设计完成后,在vscode中输入指令将.ui文件转化成.py文件,转换完成后就会生成一个窗口类,然后新建一个python文件作为程序的入口,并继承这个窗口类,代码请参考项目具体内容
1 | pyuic5 -x fileName.ui -o fileName.py ##将.ui文件转化成.py文件 |
python 程序打包
安装 pyinstaller
在Tensorflow24环境中安装pyinstaller
1 | pip pyinstaller |
打包项目
在vscode中执行以下命令
1 | pyinstaller -D -c flieName.py ##生成带命令行窗口的文件夹包 |
Anaconda 常用指令
1 | conda info -e ##查看所有环境 |