当前位置:   article > 正文

可能是全网最详细的YOLO-v5目标检测入门教程-从环境搭建到训练自己的数据集_yolov5 入门

yolov5 入门


系统环境

        中央处理器CPU:Intel® Core™ i5 7400 3.00 GHz
        运行内存:16 GB
        图形处理器GPU:NVIDIA- Tesla M40 12G
        系统:Windows 10专业版22H2操作系统

环境安装地址

        YOLO-v5(官方地址):YOLO-v5
        Pytorch(官方地址):Pytorch
        Miniconda(清华镜像):Miniconda


一、环境搭建

1)下载YOLO-v5

        首先,进入GitHub下载YOLO-v5框架。
YOLO-v5-GitHub
        在pycharm中配置环境,并安装相应的库,使用清华的镜像源下载速度会更快。

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

        库的版本太新,可能会报错,可以参考我安装的版本

库名版本
python3.9.13
torch1.12.1+cu113
torchvision0.13.1+cu113
torchaudio0.12.1
pandas2.0.3
Pillow9.5.0
numpy1.25.1
matplotlib3.7.2

2)创建‘weights‘文件夹

        创建一个新的文件夹,用于存放YOLO-v5官方提供的预训练权重
创建weights权重文件夹
        此时我们返回到YOLO-v5-GitHub官方下载权重文件,点击蓝色超链接即可进行下载
在这里插入图片描述
        这是我们已经下载好的权重文件
在这里插入图片描述

3)环境测试

        需要的环境和文件都已经准备完成了,接下来我们就可以进行detect(检测)测试环境搭建是否正常。

python detect.py --weights weights/yolov5s.pt --source data/images
  • 1

        --weights的意思是指定权重文件,–source的意思是指定检测文件地址
在这里插入图片描述
        来看看我们训练之后的结果,进入runs–>detect–>exp 里面有所有预测好的照片
在这里插入图片描述
        可以正常检测出人、巴士,说明我们YOLO环境搭建没有问题


经过上面的学习,我们的YOLO-v5环境搭建已经完成了,接下来教大家如何使用YOLO-v5制作自己的数据集


二、制作数据集

1)使用labelimg标注

        准备yolo格式的数据集,大部分CVer都会使用labelImg进行数据的标注。

pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 1

在这里插入图片描述
        得到YOLO格式的txt文本文件。
在这里插入图片描述
        一张张图片进行标注,得到全部数据。
在这里插入图片描述

博主这里制作了54张苹果图像标签,其中训练集34张,测试集20张,如有需要可滴滴博主获取。

2)创建’datasets‘文件夹

        在YOLO-v5框架的中创建一个文件夹‘datasets’,用于存放数据集。
在这里插入图片描述
        制作完的YOLO数据标签后需要分门别类,图片文件夹中就是存放图片,标签文件夹就是存放标签,所以在datasets中创建需要新建两个文件夹,一个是图片,一个是标签。
在这里插入图片描述
        在images(图片)和labels(标签)中还需分别再创建两个文件夹,一个是train(训练),一个是val(测试)存放图片数据和标签数据。
在这里插入图片描述
在这里插入图片描述

        总体的文件夹架构如图所示。
在这里插入图片描述
        这块创建的文件夹有点多,有点绕,希望大家能看懂。


经过上面的学习,我们的数据集已经准备好了,接下来教大家如何在YOLO框架中添加数据源和修改网络模型


三、配置数据源和网络模型

1)配置数据源

        修改数据源:\data\coco128-apple.yaml,先复制一份,避免把配置搞乱无法复原。
        首先,修改数据集的训练数据源地址,需要将datasets文件夹的路径填入。其次,需要更改为你所需目标检测的标签名称(博主这里只检测苹果一种)。
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e83bc5c83f3443708bd41fbc65bea19d.png

2)修改网络模型

        修改模型配置文件:models/yolov5x-leaf.yaml
        这里只需要修改nc数,nc数指的是你目标检测的种类数,博主这只检测苹果,所以nc=1。

在这里插入图片描述

经过上面的学习,我们的一切准备工作都已就绪,接下来教大家如何在YOLO框架中训练自己的数据集


四、训练数据集

1)训练数据集

        现在就可以开始网络训练了!!!
        使用预训练权重yolov5s.pt,使用默认yolov5s网络框架进行训练,训练轮次为100轮。

python train.py  --weights weights/yolov5s.pt
  • 1

在这里插入图片描述

2)得到训练数据

        最后可以在run文件夹中查看训练后的数据文件。
在这里插入图片描述

五、查看训练效果

        使用detect.py进行测试,–weights选择训练完毕的权重文件,–source选择需要测试的图片。

python detect.py --weights run/train/exp/weights/best.pt --source data/images
  • 1

在这里插入图片描述

六、小提示

        我在训练中代码报错,提示没有将git添加进环境变量
在这里插入图片描述

只需要在train.py中添加这行代码即可!

os.environ["GIT_PYTHON_REFRESH"] = "quiet"      # 把git加入环境变量中
  • 1

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/680108
推荐阅读
相关标签
  

闽ICP备14008679号