首页IT科技yolov3目标检测(目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程)

yolov3目标检测(目标检测,使用最新的yolov7训练自己的数据集,从零开始的手把手教程)

时间2025-08-03 03:12:30分类IT科技浏览6234
导读:目录...

目录

一                   、获取大佬的yolov7源码

二                         、配置深度学习环境

三        、准备数据集 

四              、用yolo v7训练自己的数据集

五                          、用训练好的模型测试

六            、用训练好的模型预测

一         、获取大佬的yolov7源码

yolov7源码地址                ,把ZIP文件下载后解压                           ,打不开链接记得使用魔法         ,魔法自己找这个没办法教                。或者也可以选择通过我分享的网盘下载:链接:百度网盘下载链接            ,提取码:yam3                           。

 打开解压后的文件夹应该可以看到这个页面         。

二                           、配置深度学习环境

我的环境是:WIN10                、RTX2060    、Python=3.7            。

这里推荐使用Anaconda来创建环境                          ,自己先在电脑上安装好conda的运行环境              ,这里特别注意在安装的时候记得把conda添加到环境变量中                          。具体怎么安装Anaconda网上教程一大堆        ,随手一搜都有                         ,如果这都搞不定建议暂时先别学深度学习了              。

再检查一下自己有没有安装好conda                   ,win+r输入cmd再按Enter    ,进入命令行界面后输入conda -V                        ,如果报错了就可能安装了anaconda但是没配置环境变量                       ,或者是其他问题导致的报错,建议先想办法解决一下这个问题                    ,如果显示的和下面一样那就是正常的                           ,可以继续往下看        。

 下一步新创建一个yolov7的环境    ,命令行输入:

conda create -n yolov7 python=3.7

激活环境:

conda activate yolov7

 下一步根据项目文件夹的requirements.txt下载安装所需要的包和库                ,在yolov7的环境下运行这条命令:

pip install -r 项目绝对路径/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

安装好后注意                           ,如果你是用GPU来训练的话         ,需要重新安装pytorch框架            ,上面通过requirements.txt安装的pytorch包不是GPU版本的                          ,需要另外重新安装GPU版本的pytorch              ,命令行运行这条命令重新安装pytorch:

pip install torch==1.8.2+cu111 torchvision==0.9.2+cu111 torchaudio===0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html -i https://pypi.tuna.tsinghua.edu.cn/simple

另外提醒一下这个pytorch的版本要根据自己GPU的型号来确定        ,有可能会因为cuda版本问题在train的时候出现报错                         ,不过这个问题我自己没遇到过                   ,现在安装的这个版本在2060和3090上都能直接跑数据集不会出现报错                         。

安装好后打开Pycharm    ,依次点击文件(file)-- 打开(open)-- 选择到项目文件夹(名字是yolov7-main)                   。

 最后再去设置里面把Python的解释器设置成刚开始用conda创建的yolov7环境

三                           、准备数据集 

准备yolo格式的数据集                        ,也就是每个图片要对应一个txt文件格式的标签    。目前很多目标检测的数据集都是voc格式的                       ,要把voc格式转化成yolo格式的                        。现在制作yolo格式数据集的方法和voc格式转yolo格式的方法都有很多,随手一搜都有的                       。因为每个人自己数据集的情况都不一样                    ,就不再这篇文章里介绍了                           ,建议根据自己数据集的实际情况对症下药。 注意自己数据集的文件结构    ,建议保持和下面的文件结构一致                ,不然可能会报错                    。  在data文件夹下面另外创建一个文件夹                           ,文件夹名自己取(我自己的叫boat_dataset)         ,里面保存自己的数据集                           。 在boat_dataset文件夹下面创建两个文件夹images和labels(为了展示所以只显示了几张图片            ,实际上我的训练集是很大的)    。 images和labels文件夹下面都再另外创建两个文件夹train和vaild                。 images文件夹里面保存原始图片                          ,labels文件夹下面保存txt文件格式的标签              ,这两个文件夹里面存的东西应该是一一对应的        ,里面文件的命名也应该是对应的                         ,也就是一张图片和对应标签的命名应该只有.jpg和.txt的区别                   ,命名别乱改                           。 在boat_dataset文件夹里面要有train.txt和valid.txt    ,里面保存了找到每个图片文件的路径         。 classes.txt里面保存要检测的目标的类别名称                        ,一个类别一行            。 以上介绍了yolo数据集的格式和文件结构                       ,如果还有不明白的地方可以去搜索关键字:yolo格式数据集                          。 然后在data文件夹下面创建一个叫boat_dataset.yaml的文件,里面写这些东西:

 再提醒以下文件结构                    ,如果是初学者的话                           ,最好是按照我上面说的    ,如果因为把文件摆在其他地方而导致了报错              。        。                         。                   。至此数据集就准备完毕了    。’

四                    、用yolo v7训练自己的数据集

首先在cfg/deploy里面选一个yolo的版本

 我选的是yolov7x.yaml                ,打开这个文件                           ,只需要改一个地方                        。

 下一步是在github上下载对应的权重文件         ,看清楚你在上一步选择的是哪个yolov7的模型            ,然后下载对应的权重文件                       。如果下载不下来可以看看我分享的百度网盘                          ,提取码:oz0g。

 然后在yolov7-main里面创建一个叫weights的文件夹              ,把你下载的权重文件放进去                    。

打开train.py        ,下拉找到代码里设置的命令行参数项                         ,按照自己的情况进行修改                           。

上面这些设置好之后运行train.py                   ,如果一切顺利的话    ,慢慢等训练完成就行了    。如果你没有改代码其他设置                        ,那么你可以在runs/train/exp文件夹下获取这次训练的有关信息                       ,runs/train/exp/weights文件夹里面保存了这次训练结束后整个网络模型的权重,后面进行检测时会用到                。

五、用训练好的模型测试

打开test.py                    ,找到命令行参数设置项

 设置好后点运行就是了                           ,运行结果会保存在runs/test/exp文件夹里面    ,我自己没有设置测试集                ,所以不展示运行结果了                           。注意如果你要测试的话一定要在自己数据集的.yaml文件里面写清楚test.txt文件的路径                           ,在文章上面也提到了         。

六                       、用训练好的模型预测

首先把需要预测的图片放在inference/images文件夹下

 然后打开detect.py文件         ,修改命令行参数            ,和上面的一样                          ,就不赘述了

 设置好后点击运行              ,运行结果保存在runs/detect/exp文件夹里面

以上就是yolov7训练的整个过程        ,有问题可以在评论区提问或者私信我            。也欢迎也欢迎私信和我讨论有关目标检测和目标跟踪方向的内容!

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
日本的服务器地址(日本服务器机房用SDN架构有哪些优势) js二级联动省市代码(Element UI 中国省市区级联选择器)