基于深度学习的电动自行车头盔佩戴检测系统

文章目录

  • 1. 文档说明
  • 2. 运行环境说明
    • 2.1 硬件配置
    • 2.2 软件配置
    • 2.3 程序依赖库
  • 3. 基本环境配置
    • 3.1 软件安装
      • 3.1.1 集成开发环境安装与配置
      • 3.1.2 数据库安装与配置
      • 3.1.3 编程语言安装
      • 3.1.4 CUDA和cuDNN安装与配置
      • 3.1.5 机器学习库安装
    • 3.2 依赖库安装
  • 4. 运行程序
  • 资源下载地

1. 文档说明

本文档是毕业设计——基于深度学习的电动自行车头盔佩戴检测系统的开发环境配置说明文档,该文档包括运行环境说明以及基本环境配置两大部分。在程序运行前请认真查看此文档,并按照此文档说明对运行程序的设备环境进行对应配置。

在这里插入图片描述

2. 运行环境说明

2.1 硬件配置

设备硬件配置及其参数规格:

配置名称参数规格
中央处理器CPUIntel® Core™ i5-7300HQ CPU @2.50GHz
图形处理器GPUGeForce GTX 1050Ti(4.0GB DDR5 768 CUDA)
机带RAM16.0 GB (15.9 GB可用) DDR4

2.2 软件配置

程序运行所需软件及其版本信息:

软件名称版本信息
操作系统Windows10 64位操作系统,基于x64的处理器
集成开发环境Visual Studio Code v1.56.2
Visual Studio Code插件Code Runner v0.11.4
数据库MySQL 5.7.33-log MySQL Community Server (GPL)
编程语言Python 3.7.6
CUDA版本cuda_11.1.0_456.43_win10
cuDNN版本cudnn-11.1-windows-x64-v8.0.5.39
机器学习库Pytorch 1.7.1

2.3 程序依赖库

程序运行所依赖库及其版本信息(见程序主目录下requirements.txt文件):

依赖库名称版本信息
wandb0.10.28
seaborn0.11.1
torchvision0.8.2
requests2.22.0
opencv_python4.5.1.48
torch1.7.1
thop0.0.31.post2005241907
matplotlib3.3.3
Flask1.1.1
Flask_SocketIO5.0.1
PyMySQL1.0.2
scipy1.4.1
numpy1.19.3
pandas1.0.1
coremltools4.0
tqdm4.42.1
onnx1.8.1
easydict1.9
ipdb0.13.7
motmetrics1.2.0
pafy0.5.5
Pillow8.2.0
PyYAML5.4.1

3. 基本环境配置

请确保设备使用系统为Windows10 64位操作系统再进行以下操作。若为其他操作系统请自行下载软件对应版本。

3.1 软件安装

3.1.1 集成开发环境安装与配置

(1)程序所使用的集成开发环境为Visual Studio Code,具体版本不作要求,下载最新版本即可。

(2)安装Code Runner插件,具体版本不作要求,下载最新版本即可。

3.1.2 数据库安装与配置

(1)程序所使用的数据库为MySQL,请下载v5.7版本非v8.0版本。

(2)配置root用户密码为123456

具体操作参考链接

3.1.3 编程语言安装

(1)程序所使用的编程语言为Python,下载并按照Anaconda,请下载64位Python v3.7版本。

3.1.4 CUDA和cuDNN安装与配置

(1)设备图形处理器GPU为GeForce GTX 1050Ti(4.0GB DDR5 768 CUDA),请根据设备具体图形处理器GPU下载对应CUDA,请下载v11.1.0版本

(2)下载CUDA对应版本的cuDNN,CUDA v11.1.0对应cuDNN版本为v8.0.5

(3)修改系统环境变量

具体安装过程参考链接

(4)验证安装

通过执行以下命令验证安装是否成功

nvcc -V

3.1.5 机器学习库安装

(1)程序所使用的机器学习库为Pytorch,请下载对应CUDA 11.1的版本。

(2)验证安装

通过执行以下命令验证安装是否成功

python
import torch
print(torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())

3.2 依赖库安装

通过执行以下命令对程序依赖库进行安装

pip install -r requirements.txt

4. 运行程序

在运行程序前需要执行如下操作:

(1)利用MySQL导入程序主目录下database文件夹下的eb_helmet.sql数据库文件

(2)在webcam数据表下填入相应信息:

字段名类型含义
devicevarchar(10)监控视频设备名
longitudefloat(9,6)监控视频所处地理位置的经度
latitudefloat(9,6)监控视频所处地理位置的纬度
sourcevarchar(100)监控视频RTSP地址

设置完成后执行程序主目录下的app.py即可运行程序,在浏览器中输入127.0.0.1:8000即可显示系统界面

在D:/#Data/Detect/目录下可见到截取下来的电动自行车驾驶员JPG格式图片,若要修改图片存储路径或图片格式,修改程序主目录下的app.py第18、19行代码即可

资源下载地

https://download.csdn.net/download/MuRanstr/89046755

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

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

相关文章

MySQL - 基础二

6、表的增删改查 CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除) 6.1、Create 语法: INSERT [INTO] table_name[(column [, column] ...)]VALUES (value_list) [, (value_list)] ...value_list: v…

城市道路井盖破损丢失目标检测数据集VOC-1377张

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):1377 标注数量(xml文件个数):1377 标注类别数:4 标注类别名称:["jg","jg…

这个故事有点长 - 东方绿舟

这个故事有点长 - 东方绿舟 这个地方很大,游玩一天是没有问题。东方绿舟的1号门入口处,是一个人工瀑布,上边写着东方绿舟几个大字。远远看去,这个瀑布非常壮观,水的流淌让人感到凉爽,很适合在那里拍照打卡。…

网络安全 | 什么是负载均衡器?

关注WX: CodingTechWork 介绍 负载均衡是在多个服务器之间有效分配网络流量的过程。负载均衡的目的是优化应用程序的可用性,并确保良好的终端用户体验。负载均衡可协助高流量网站和云计算应用程序应对数百万个用户请求,从而保证客户请求不会…

转让1000万不良资产处置公司包变更需要多久

随着经济的发展和市场的变化,越来越多的公司需要进行资产的处置和转让,以提言公司的效益和盈利。山东不良资产处置公司作为一家专门服务于资产处置和转让的企业,其流程与变更步骤对于资产转让的操作至关重要。可以致电咨询我或者来公司面谈。…

Leetcode - 127双周赛

目录 一,3095. 或值至少 K 的最短子数组 I 二,3096. 得到更多分数的最少关卡数目 三,3097. 或值至少为 K 的最短子数组 II 四,3098. 求出所有子序列的能量和 一,3095. 或值至少 K 的最短子数组 I 本题需要知道一个知…

「每日跟读」英语常用句型公式 第3篇

「每日跟读」英语常用句型公式 第3篇 1. I don’t know how to ____ 我不知道如何_____ I don’t know how to play soccer (我不知道怎么踢足球) I don’t know how to study(我不知道如何学习) I don’t know how to play chess (我不知道如何下国…

mysql 安装与连接

关系型数据库 SQL: MySql Oracle 非关系型数据库 NoSql : redis MangoDB 关系型数据库有局限性,它的局限性由非关系型数据库弥补。 手机端常用的数据库是:SqlLite mysql下载 https://www.mysql.com/ 社区版本(免费) -> 推荐第二种方式 安装 …

Java_自定义实体类的列表List<T>调用remove()失败讲解

示例1 前提: 新建一个主类Demo1。 需求: 在一个列表中有三条String的数据,想要使用remove(Object o)删掉其中一条。 结果: remove(Object o)成功把数据删掉。 示例2 前提: 新建一个自定义实体类DataExample和一个主…

使用Vite创建一个vue3项目

一、vite是什么? vite 是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成: 一个开发服务器,它基于原生 ES 模块提供了丰富的内建功能,如速度快到惊人的模块热更新(HMR)。 …

页面静态化:Freemarker入门案例和常用指令教程

页面静态化其实就是将原来的动态网页(例如通过ajax请求动态获取数据库中的数据并展示的网页)改为通过静态化技术生成的静态网页,这样用户在访问网页时,服务器直接给用户响应静态html页面,没有了动态查询数据库的过程。 那么这些静态HTML页面…

MySql 实战大数据查询-(表分区实现)

一 mysql分区: 分区是将单个表按照某种规则划分成多个子集,每个子集称为一个分区。常见的分区策略包括按照时间范围、范围值、列表等进行分区。 优点: 查询性能更好,涉及分区键的查询,数据库引擎可以只扫描特定分区&…