环境
- 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模型训练
