赞
踩
本文以没有cpu为例。
anaconda
安装包下载链接:https://pan.baidu.com/s/13Mb7jKFxiSIDNKcdp3XTew?pwd=99o3
提取码:99o3
安装教程:
pycharm
安装教程及安装包:https://www.yutu.cn/softhtml/showsoft_4446.html
yolov5文件下载地址:
https://github.com/ultralytics/yolov5
点击code,再点击Download ZIP
权重文件
链接:https://pan.baidu.com/s/1NX23otAPdndwoBw7TRHxDQ?pwd=buky
提取码:buky
新建一个文件夹,起名yolov5train,注意该文件路径是不能有中文。
打开该文件,在此处输入cmd
再输入conda activate
,创建conda环境
再输入以下命令,更改下载源
conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
再将你下载的yolov5项目文件解压到这个文件夹内,并打开yolov5项目文件,并在标识处输入cmd
创建环境:
conda create -n py15 python==3.8.5
其中的py15是创建环境的名称
输入后,有个步骤要你输入y,回车
完成后
激活虚拟环境:
conda activate py15
安装pytouch
yolov5都可以使用cpu或gpu,只是cpu慢的抠se子使用gpu的小伙伴参考这个https://blog.csdn.net/ECHOSON/article/details/118420968
我用的cpu,输入命令:
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cpuonly
弹出
输入y,回车
完成后
cd到yolov5代码的目录下,直接执行下列指令即可完成包的安装。
pip install -r requirements.txt
安装图形化界面库
pip install pyqt5
将下载好的权重文件解压到yolov5-master的
pretrained目录下
测试一下可不可以使用
在终端中输入:
python detect.py --source data/images/bus.jpg --weights pretrained/yolov5s.pt
其中,data/images/bus.jpg代表你要检测的图片,pretrained/yolov5s.pt表示使用的权重文件。
要检测的图片:
检测结果放在yolov5-maskruns\detect\exp2目录下
好了,现在开始制作数据集。
使用labelimg工具,用于图片的标注
使用pip安装
输入
pip install labelimg -i https://mirror.baidu.com/pypi/simple
在终端中输入labelimg就会弹出窗口。
labelimg使用
注释:
首先点击open Dir 选择你要标注的图片的文件位置,
然后就会弹出下面的窗口,选择你保存标注的txt(就是你标注的bbox的标签会写入txt)。
然后开始标注:
点击next image
点击create Rectbox,再选中你要标记的物体,再输入类别,再点击ok。
然后右边的boxlabel就会出现你的标记
如果要修改类别,右键点击你要修改的标签,点击edit label
修改后点击ok。
如果要调整边界框的大小,点击edit rectbox
这张图片标记完后,点击next image,进行下一张图片的标注,所有图片标注完后,点击save,保存。
然后看看这波操作的结果
打开保存边界框的txt文件 ,
打开文件,其中数据的注释,每一行代表一个物体。
要使用的数据集目录:
其中dataset存放训练集、测试集,train是训练集,vaild是测试集,测试集、训练集的目录下都必须有images和labels文件,images中放的是图片,labels放的对应图片的标注文件。
开始训练
右键点击项目文件
项目文件配置:
1、新建一个data_yaml
#train 写存放训练集图片的文件地址#val 写存放测试集图片的文件地址
train: D:/wxl/test2/train/images
val: D:/wxl/test2/vaild/images
#nc 标注的种类数量,name 里面放的输种类的名称
nc: 7
names: ['Motor Vehicle', 'Non_motorized Vehicle', 'Pedestrian', 'Traffic Light-Red Light' ,'Traffic Light-Yellow Light', 'Traffic Light-Green Light', 'Traffic Light-Off']
2、本案例使用yolov5s权重文件,修改models目录下的yolov5s.yaml,将nc后的数字修改成你的数据集中标注的种类数量
3、开始训练,打开终端,进入项目文件的目录,激活conda环境。输入
python train.py --data data.yaml --cfg models/yolov5s.yaml --weights pretrained/yolov5s.pt --epoch 100 --batch-size 4 --device cpu
data.yaml指的是数据集的配置文件
mask_yolov5s.yaml 指的是模型的配置文件
pretrained/yolov5s.pt 使用yolov5spt的权重文件
size 后面的数字指是多少张图片一起训练
epoch 后面的数字表示跑的次数
cpu 指用cpu训练
训练结果保存在项目文件的run\train\exp文件中
我跑的数据较少,就准确率就很低了,
其中的weight存放的就是训练出来的模型,其中,best.pt是效果最好的,last.pt是最后一个。
来试下用训练出来的模型来预测。
在终端中输入:
python val.py --data data.yaml --weights runs/train/exp/weights/best.pt
data.yaml 存放你要预测的图片数据位置。 runs/train/exp_yolov5s/weights/best.pt 使用的模型。
预测的数据放在了项目文件中的runs\val\exp8中
。
结束,谢谢。菜鸟一个,如有错误,欢迎留言指正。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。