yolov5 快速上手
yolo是一个开源免费的目标检测模型,能够通过简单的训练实现对目标的各种检测。
使用到的软件等
pycharm、conda(python创建虚拟环境)
下载yolo代码
项目创建
新建一个文件夹,在该文件夹里面放项目代码,这里使用的项目名字为yolov5,给该项目配置python解释器,推荐使用conda新建一个虚拟环境,安装依赖的时候不容易出现各种报错
如果使用的是已有的python解释器,在安装依赖库的时候可能会遇到一些错误。
github链接
ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite (github.com)
点进去之后下载该项目下的代码到本地
-
可以直接下载zip文件
-
也可以使用git命令将代码进行copy
git命令
git clone https://github.com/ultralytics/yolov5.git
注意执行命令时所在的文件目录,会直接将代码copy到当前目录
将代码粘贴到项目文件夹里面,使用pycharm打开该文件夹
代码简单介绍(可以先跳过)
train.py 文件 :用来训练模型的代码
detect.py 文件:用来检测的代码
data文件夹:数据集文件夹
data文件夹下面的 yaml文件:模型参数的标记
可以打开一个看一下,
其中:
path 是数据集文件的存放位置
names下面的编号:训练之后的模型展示出来的标签,如下图
安装依赖库
注意要先切换到当前文件目录下面
比如我把代码放在了yolov5文件夹下面,此时终端的位置也要在yolov5文件夹下
如果使用的是conda环境,注意切换到新建的环境下面
执行代码pip install -r requirements.txt
安装所需要的依赖
使用yolo训练模型
这里用到的时项目自带的数据集,在copy代码的时候已经一同复制下来了
在终端执行命令python train.py --data coco128.yaml --weights yolov5s.pt --epochs 5
这里使用的是coco128的数据集,可根据需要进行选择
注意: 执行该代码可能需要科学上网,第一次执行还会下载一个配置文件,访问的链接是需要科学上网的,而且数据集文件会自动下载,也是需要的
python表示执行python文件
前面带
--
的表示终端的参数,这些参数具体都可以在train.py
文件夹下面的parse_opt
函数里找到,具体的含义可以去看一下--data 表示使用的模型文件, 这里选择的coco128是自带的数据集
--weights 表示使用的训练的版本
--epochs 表示训练的轮数(越高训练的结果越精准),默认是100轮,这里节省时间选择5轮
按回车键执行该代码,如果不报错的话,电脑开启训练模式,需要等待
一段时间,(这里选择的是使用cpu训练)如果使用gpu速度会更快。
训练结束后在终端的结尾,会告诉你模型的具体位置
一般会在runs文件夹下面的某个exp文件夹里面
这里的best.pt即为训练好的模型
展示效果
这里使用电脑的摄像头进行效果展示,也可以输入视频文件或者图片等进行获得效果
在终端里使用代码python detect.py --source 0 --weights runs/train/exp8/weights/best.pt
注意:
-
这里--socuce 0 表示使用摄像头
-
--weighs后面的参数是训练好的模型的位置,根据自己的结果进行更换
系统调出摄像头之后就能看到训练之后的结果了,
类似上图,自带的数据集里面的物理还是很丰富的,可以体验到识别成功的成就感。