基于深度学习的电动自行车头盔佩戴检测系统
文章目录
- 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 硬件配置
设备硬件配置及其参数规格:
| 配置名称 | 参数规格 |
|---|---|
| 中央处理器CPU | Intel® Core™ i5-7300HQ CPU @2.50GHz |
| 图形处理器GPU | GeForce GTX 1050Ti(4.0GB DDR5 768 CUDA) |
| 机带RAM | 16.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文件):
| 依赖库名称 | 版本信息 |
|---|---|
| wandb | 0.10.28 |
| seaborn | 0.11.1 |
| torchvision | 0.8.2 |
| requests | 2.22.0 |
| opencv_python | 4.5.1.48 |
| torch | 1.7.1 |
| thop | 0.0.31.post2005241907 |
| matplotlib | 3.3.3 |
| Flask | 1.1.1 |
| Flask_SocketIO | 5.0.1 |
| PyMySQL | 1.0.2 |
| scipy | 1.4.1 |
| numpy | 1.19.3 |
| pandas | 1.0.1 |
| coremltools | 4.0 |
| tqdm | 4.42.1 |
| onnx | 1.8.1 |
| easydict | 1.9 |
| ipdb | 0.13.7 |
| motmetrics | 1.2.0 |
| pafy | 0.5.5 |
| Pillow | 8.2.0 |
| PyYAML | 5.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数据表下填入相应信息:
| 字段名 | 类型 | 含义 |
|---|---|---|
| device | varchar(10) | 监控视频设备名 |
| longitude | float(9,6) | 监控视频所处地理位置的经度 |
| latitude | float(9,6) | 监控视频所处地理位置的纬度 |
| source | varchar(100) | 监控视频RTSP地址 |
设置完成后执行程序主目录下的app.py即可运行程序,在浏览器中输入127.0.0.1:8000即可显示系统界面
在D:/#Data/Detect/目录下可见到截取下来的电动自行车驾驶员JPG格式图片,若要修改图片存储路径或图片格式,修改程序主目录下的app.py第18、19行代码即可
资源下载地
https://download.csdn.net/download/MuRanstr/89046755
相关文章:
基于深度学习的电动自行车头盔佩戴检测系统
文章目录 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.…...
GO - 泛型编程
go - 泛型编程 介绍 泛型即开发过程中编写适用于所有类型的模板,只有在具体使用的时候才能确定其真正的类型。随着Go 1.18版本的发布,泛型正式成为了Go语言的一部分。 在编写代码时,我们经常会遇到需要处理不同类型的数据的情况。传统上&am…...
TouchableOpacity和TouchableWithoutFeedback区别
TouchableOpacity和TouchableWithoutFeedback都是React Native中定义的可触摸组件,但它们之间有一些区别: 点击效果:TouchableOpacity在被按下时会有一个透明度变化的点击效果,而TouchableWithoutFeedback则没有点击效果。 子组…...
MySQL EXISTS 语句和IN语句有啥区别
在 MySQL 中,EXISTS 和 IN 是用于子查询的两种不同方式,它们有一些区别: 1. **IN 语句**: - IN 子句用于在 WHERE 子句中指定多个值,并检查主查询中的某个列是否在子查询返回的结果集中。 - IN 子句适用于子查询…...
Java集合体系面试题
1. Java中有哪些主要的集合接口? 答案:Java中主要的集合接口有Collection、List、Set、Queue和Map。 2. 请解释List和Set之间的主要区别。 答案:List和Set的主要区别在于元素的顺序和唯一性。List是有序的集合,允许存储重复的元…...
React-2-useState-获取DOM-组件通信
一.useState useState 是一个 React Hook(函数),它允许我们向组件添加一个状态变量, 从而控制影响组件的渲染结果 本质:和普通JS变量不同的是,状态变量一旦发生变化组件的视图UI也会跟着变化**(数据驱动视…...
使用nodejs搭建脚手架工具并发布到npm中
使用nodejs搭建脚手架工具并发布到npm中 一、安装环境依赖及脚手架搭建过程二、搭建Monorepo 风格的脚手架工程三、脚手架的必备模块命令参数模块获取命令参数设置子命令用户交互模块文件拷贝模块脚手架中的路径处理目录守卫文件拷贝模块动态文件生成模块mustache简介自动安装依…...
【面经】3月29日 美团/美团平台/后端/一面/1h
面试官先介绍自己部门的业务:存储中心,涉及到大量数据的离线处理(亿级别)。 手撕(删除链表倒数第k个节点) 自我介绍 项目介绍(还没说完被打断了,面试官说你这个感觉就是把功能说了一…...
CSS:CSS的基础了解
css概述 CSS(Cascading Style Sheets,层叠样式表) 是用于控制网页样式和布局的一种样式表语言。用于描述网页的样式和布局,包括字体、颜色、大小、间距、边框等方面。 前端三🗡客:HTML,CSS,JavaScript&am…...
Android Framework学习笔记(2)----系统启动
Android系统的启动流程 启动过程中,用户可控部分是framework的init流程。init是系统中的第一个进程,其它进程都是它的子进程。 启动逻辑源码参照:system/core/init/main.cpp 关键调用顺序:main->FirstStageMain->SetupSel…...
项目管理中的估算活动资源
在项目管理中,资源估算是一项至关重要的任务。正确地估算活动资源可以确保项目的顺利进行,避免资源浪费和不必要的延误。以下是对项目管理中常见的活动资源类型的详细分析。 一、人力资源 人力资源是项目管理中最基本的资源之一。它包括项目团队成员的技能、知识和经验。在…...
java中的set集合及其子类
Set系列集合:添加的元素是无序(添加的数据的顺序和获取出数据顺序不一样),不重复,无索引 如:HashSet:无序,不可重复,无索引 LinkedHashSet:有序,不重复,无索…...
shell脚本查询匹配文件进行操作
1.寻找文件并赋权 查询当前目录及子目录下所有以“sh”结尾的文件,并赋执行权限。 #!/bin/bash # 将当前目录及子目录下所有以“sh”结尾的文件添加可执行权限 find ./ -name "*.sh" -type f -exec chmod x {} 2.寻找文件并删除 查询当前目录及子目录下存…...
vulnhub----natraj靶机
文章目录 一.信息收集1.网段探测2.端口扫描3.版本服务探测4.漏扫5.目录扫描 二.漏洞利用1.分析信息2..fuzz工具 三.getshell四.提权六.nmap提权 一.信息收集 1.网段探测 因为使用的是VMware,靶机的IP地址是192.168.9.84 ┌──(root㉿kali)-[~/kali/vulnhub] └─…...
Web Component 组件库有什么优势
前言 前端目前比较主流的框架有 react,vuejs,angular 等。 我们通常去搭建组件库的时候都是基于某一种框架去搭建,比如 ant-design 是基于 react 搭建的UI组件库,而 element-plus 则是基于 vuejs 搭建的组件库。 可能你有这种体…...
如何配置vite的proxy
1.前言 vite项目,本地开发环境可以通过配置proxy代理实现跨域请求。但是生产环境,该配置不生效,一般使用 nginx 转发,或者后端配置cors 2.解释 server: {port: 9000,proxy: { // 本地开发环境通过代理实现跨域,生产…...
Linux CentOS基础操作
Linux CentOS基础操作 1. 查看Linux服务器当前主机名等 hostname 2. 查看当前系统日期和时间 date -d -y 3. 显示网络接口信息,获取当前网卡状态,启动、停止网卡,网卡等闪烁显示30秒,配置网卡(网卡名称:eth1)的IP地址…...
最佳情侣身高差
题目描述 专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)1.09 (男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。 下面…...
谷歌开发者账号防关联:如何选择性价比高的VPS,阿里、腾讯、酷鸟、AWS?
在Google Play上架应用的开发者朋友们,可能需要多个开发者账号来上架马甲包或矩阵式上架应用。但谷歌那边又不让一个人搞多个账号,所以,要想不被谷歌抓包,就得做好防关联的功课,确保每个账号都像是独立的个体。 而说到…...
Virtual digital asset $E=$eaco. EarthChain
Virtual digital asset $E$eaco. EarthChain Виртуальный цифровой актив $E $eaco. Цепочка Земля. 仮想デジタル資産$E$eaco.アースチェーン. Activos digitales virtuales $e $oaco. cadena terrestre. Virtuelles digitales Asset $E…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...
