环境
- ubuntu 18.04 64bit
- GTX 1070Ti
- anaconda with python 3.8
- pytorch 1.8
- cuda 10.1
前言
yolov5
官方在4月12日,发布了正式版5.0,这次的发布主要实现了 YOLOv5-P6
模型以及重新训练了 YOLOv5-P5
模型。相较于 YOLOv5-P5
的3个 output layer
即 P3
、P4
、P5
,YOLOv5-P6
模型的输出层多了一个 P6
,主要是为了检测高分辨率下的大目标,因此,模型训练时 img
参数也由 --img 640
更改为 --img 1280
。
具体来讲,5.0版本有如下的更新
- 整合
youtube
,也就是可以直接测试youtube
的在线视频 - 整合亚马逊的
AWS
,也就是在AWS
平台上方便的使用YOLOv5
,可以参考 https://github.com/ultralytics/yolov5/wiki/AWS-Quickstart - 整合
supervise.ly
,supervise.ly
是一个可以帮助你解决cv
任务的web
平台,需要docker
支持和本地gpu
,建议在linux
上操作 - 优化了
W&B
,可以参考前文 https://xugaoxiang.com/2021/01/27/yolov5-wandb/
总的来说,5.0的更新并不大
本地图片检测
同样的,跑一个测试代码。 创建个独立的虚拟环境,python
版本3.8
conda create -n yolov5v5.0 python=3.8
conda activate yolov5v5.0
# 要求pytorch>1.7
pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html
接下来编辑下 requirements.txt
,将其中的 torch
和 torchvision
这两项注释掉,也就是在行前加个 #
符号
然后执行下面命令,安装其它的依赖包
pip install -r requirements.txt
环境安装好后,直接开始检测吧
(yolov5v5.0) xugaoxiang@1070Ti:~/workshop/yolov5-5.0$ python detect.py
Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.25, device='', exist_ok=False, img_size=640, iou_thres=0.45, name='exp', nosave=False, project='runs/detect', save_conf=False, save_txt=False, source='data/images', update=False, view_img=False, weights='yolov5s.pt')
YOLOv5 ? 2021-4-12 torch 1.7.1+cu101 CUDA:0 (GeForce GTX 1070 Ti, 8116.4375MB)
Downloading https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt to yolov5s.pt...
100%|██████████████████████████████████████████████████████████████████████████████████████████████| 14.1M/14.1M [02:36<00:00, 94.3kB/s]
Fusing layers...
Model Summary: 224 layers, 7266973 parameters, 0 gradients, 17.0 GFLOPS
image 1/2 /home/xugaoxiang/workshop/yolov5-5.0/data/images/bus.jpg: 640x480 4 persons, 1 bus, 1 fire hydrant, Done. (0.013s)
image 2/2 /home/xugaoxiang/workshop/yolov5-5.0/data/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.011s)
Results saved to runs/detect/exp2
Done. (0.099s)
(yolov5v5.0) xugaoxiang@1070Ti:~/workshop/yolov5-5.0$
检测过程中,代码会帮我们去下载 yolov5s.pt
模型文件,放在代码的根目录下
youtube视频检测
找一个 youtube
视频链接,使用参数 --source 视频链接
可以看到,代码会帮我们去下载依赖的库 pafy
,它是负责去解析视频地址的,另外还有个视频下载的工具 youtube-dl
,这个工具前面我们已经介绍过,请移步 https://xugaoxiang.com/2021/06/07/youtube-dl/
训练
数据集的准备和训练过程,跟之前的没有差异,可以参考前面的文章 yolov5模型训练