(保姆级教程)基于YOLOX(pytorch)的安全帽检测
文章目录
前言
一、资料下载
1.YOLOX代码及YOLOX预训练权重文件下载
2.安全帽数据集下载
二、环境配置
1.在anconda中创建虚拟环境并激活
2.配置pytorch-gpu
3.检查pytorch-gpu是否配置成功
4.其他库的配置
三.数据集标注
四.训练以及预测
五.预测结果展示
前言
本文章是基于pytorch利用YOLOX对安全帽进行检测,也可扩展为自己训练自己想要训练的数据集.https://gitee.com/mazhichengccc/yolox-pytorch这个文章高包括具体的训练步骤与预测方法,本文是对这篇文章的补充与完善,内容详细,特别适合于新手小白。
一、资料下载
1.YOLOX代码及YOLOX预训练权重文件下载
https://gitee.com/mazhichengccc/yolox-pytorchhttps://gitee.com/mazhichengccc/yolox-pytorch下载完毕并解压之后,如下图:
划黑线的result文件夹是自己后来创建的,用来保存测试结果的
剩下两个划黑线的是后面生成的,在后面会说明如何生成
其余的文件都是下载后都有的,接下来一一介绍:
img:用来存放需要测试的图片
logs:用来存放训练后生成的权重文件
model_data:用来存放yolox的预训练权重文件以及要训练的类别类型
nets:用来存放yolox的网络框架
utils:用来存放yolox参数的配置文件
VOCdevkit:用来存放待训练的数据集
get_map.py:计算评估结果(评估阶段)
predict.py:生成预测结果
README:解释说明性文件
requirements:需要配置的库(可不看)
summary.py:展示yolox的网络框架(可不看)
train.py:用来训练生成权重文件
voc_annotation.py:运行之后生成划黑线的两个文件,即2007_train,2007_val
yolo.py:yolox的主干网络
2.安全帽数据集下载
http://链接:https://pan.baidu.com/s/1NaFiW7I1ozc7z_8jFXiLUA 提取码:0jxkhttp://链接:https://pan.baidu.com/s/1NaFiW7I1ozc7z_8jFXiLUA 提取码:0jxk
将下载好的数据集放在VOCdevkit文件夹下的JPEGImages文件夹下,剩下两个文件夹的作用分别是:Annotations存放标注好的文件,ImageSets存放数据集序列
如果你要训练自己的数据集,需要别的数据集,可参考我上一篇文章,获取数据集
https://blog.csdn.net/mazhicheng123456/article/details/121517164?spm=1001.2014.3001.5501
二、环境配置
1.在anconda中创建虚拟环境并激活
代码如下:
#创建虚拟环境
conda create -n 自己要创建的环境名字 python=3.6例如:
conda create -n torch1.7 python=3.6#激活上面创建的虚拟环境conda activate 自己上面创建环境的名字例如:
conda activate torch1.7
电脑中若未安装anconda,请参考https://blog.csdn.net/wq_ocean_/article/details/103889237?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165180699516782248561279%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165180699516782248561279&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-103889237-null-null.142^v9^control,157^v4^control&utm_term=anconda%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187https://blog.csdn.net/wq_ocean_/article/details/103889237?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165180699516782248561279%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165180699516782248561279&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-103889237-null-null.142%5Ev9%5Econtrol,157%5Ev4%5Econtrol&utm_term=anconda%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187
2.配置pytorch-gpu
https://blog.csdn.net/qq_42005540/article/details/110237468?ops_request_misc=&request_id=&biz_id=102&utm_term=torch-gpu%E5%BA%93%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-110237468.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187https://blog.csdn.net/qq_42005540/article/details/110237468?ops_request_misc=&request_id=&biz_id=102&utm_term=torch-gpu%E5%BA%93%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-110237468.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187
3.检查pytorch-gpu是否配置成功
(1)在anconda中输入python,激活python环境
再输入:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
如果输出结果为True,表示配置成功
例如:
4.其他库的配置
若缺少其他库,可直接输入如下代码进行安装
pip install 所缺少的库
如下载的速度太慢,可在后面加镜像源,如:
pip install 锁缺少的库 -i https://pypi.tuna.tsinghua.edu.cn/simple
至此,虚拟环境配置完毕
三.数据集标注
使用labelimg软件进行标注
1.在anconda中下载
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple labelimg
因为我下载过了,所以显示:Requirement already satisfied
2.直接输入:labelimg
就可以自动打开软件了,如下图:
3.Open Dir是选择要标注的数据集文件夹路径,点击 Open Dir 选择你上面你下载数据集保存的文件路径,即VOCdevkit文件夹下的JPEGImages文件
4.Change Save Dir是保存标注好的文件路径,选择VOCdevkit文件夹下的Annotations文件
5.在View中选中Auto Save mode,目的是是标注好的图片标注自动保存
6.开始标注文件
选中Create RectBox,框选出要识别的物体(如:安全帽),类别类型填写你要识别的物体(如:hat),如下图:
7.然后通过D键切换下一张图片,按上一步骤依次标注
四.训练以及预测
按照https://gitee.com/mazhichengccc/yolox-pytorch训练步骤更改需要修改的参数并进行训练以及训练完毕后的预测
五.预测结果展示
可见识别效果良好,能达到接近90%的准确率
(保姆级教程)基于YOLOX(pytorch)的安全帽检测相关推荐
- 【模型+代码/保姆级教程】使用Pytorch实现手写汉字识别
前言 参考文章: 最初参考的两篇: [Pytorch]基于CNN手写汉字的识别 「Pytorch」CNN实现手写汉字识别(数据集制作,网络搭建,训练验证测试全部代码) 模型: EfficientNet ...
- 【深度学习】保姆级教程,用PyTorch构建第一个神经网络
PyTorch是一个基于python的科学计算包,主要针对两类人群: 作为NumPy的替代品,可以利用GPU的性能进行计算 作为一个高灵活性.速度快的深度学习平台 在PyTorch中搭建神经网络并使用 ...
- 保姆级教程!基于声网 Web SDK实现音视频通话及屏幕共享
前言 大家好,我是 @小曾同学,小伙伴们也可以叫我小曾- 如果你想实现一对一音视频通话和屏幕共享功能,不妨来看看这篇文章,保姆级教程,不需要从零实现,直接集成声网 SDK 即可轻松上手. 本文也分享了 ...
- 【保姆级教程】基于WordPress在阿里云服务器上搭建个人博客网站
写之前先回答几个问题: 1,网上类似的教程非常多,为什么写这篇教程? 答:博客网站我搭建过好几次,但是每次搭建都需要再去网上搜教程:然而网上的教程坑很多,甚至有些是错误的,不能完美解决自己的问题,有时 ...
- 天才少年稚晖君 | 【保姆级教程】个人深度学习工作站配置指南
天才少年稚晖君 | [保姆级教程]个人深度学习工作站配置指南 来源:https://zhuanlan.zhihu.com/p/336429888 0. 前言 工作原因一直想配置一台自己的深度学习工作站 ...
- AI绘图–Disco Diffusion使用指南+本地化保姆级教程
文章封面为个人AI绘图训练结果 项目传送门:传送门 (谷歌警告) 该项目为免费使用的AI绘图项目,并且可以在本地搭建部署环境. AI绘图对于人脸处理仍处于较为实现困难的阶段,因此该项目更适合用于各类场 ...
- 【NLP保姆级教程】手把手带你RNN文本分类(附代码)
写在前面 这是NLP保姆级教程的第二篇----基于RNN的文本分类实现(Text RNN) 参考的的论文是来自2016年复旦大学IJCAI上的发表的关于循环神经网络在多任务文本分类上的应用:Recur ...
- 从购买服务器到网站搭建成功保姆级教程~超详细
??从购买服务器到网站搭建成功保姆级教程~真的超详细,各位看官细品 ??前言 ??预备知识 ??什么是云服务器? ??什么是域名? ??什么是SSL证书? ??服务器选配 ??阿里云[官网链接](ht ...
- 保姆级教程:手把手教你搭建个人网站
保姆级教程:手把手教你搭建个人网站 前言 准备与搭建 1.Git管理工具的下载与安装 2.nodejs环境安装 3.hexo博客框架下载 npm换国内源 使用npm下载hexo博客框架 初始化mybl ...
最新文章
- 上班第一天(1)--一个程序员的成长史(10)
- OprenCV学习之路一:将彩色图片转换成灰度图
- 5分钟快速掌握 Python 定时任务框架
- Java集合之TreeMap源码解析上篇
- [BZOJ4008]亚瑟王
- 求AOE图的 拓扑排序 及关键路径长度(java实现)
- springboot项目中mybatis实现数据的基本查询
- 计算机句法分析的研究现状,计算机理论论文融合语义和句型信息的中文句法分析方法研究与实现...
- 机器学习9-案例1:银行营销策略分析
- 意外收获——我与FPGA的第一次
- [5-26]绿色精品软件每天更新[uc23整理]
- 戴尔笔记本电脑 N4010 14R-468 BOIS简单解析
- mac ios自动化 appium-doctor 安装opencv4nodejs爬坑记录
- cad插入块_如何实现CAD图纸块的插入及合并操作
- php数据可视化相关内容_漏刻有时基于Echarts的php数据管理后台的数据可视化大屏代码...
- 2022-2028全球姿势矫正器行业调研及趋势分析报告
- 5G时代到底会发生什么
- 问题 F: 解救小哈
- 怎么求最大公因数和最小公倍数
- 新款 MacBook Pro 评测:更好的性能、免费的刘海和更好的显示器