自从YOLOv5诞生依赖,社区就很活动,官方的更新频度也很高,检测系列一路迭代升级,集成融合了各种新颖的技术和tricks,目前最新已经更新到了v6.1版本,在我之前的博客里面也有详细教程讲解,感兴趣的话可以自行移步,文章如下:
《基于自建数据集【海底生物检测】使用YOLOv5-v6.1/2版本构建目标检测模型超详细教程》
而v6.2版本则是将图像识别的功能也整合了进来在我之前的博客里面也有详细讲过。感兴趣的话可以前去看下,文章如下:
《基于YOLOv5-v6.2全新版本模型构建自己的图像识别模型超详细教程》
本次更新的v7.0则是全面的大版本升级,最主要的功能就是全面集成支持了实例分割,虽说之前网上也有一些教程基于yolov5实现了实例分割,但是这个毕竟是官方更新的,很多技术方法和tricks都是非常值得借鉴学习的,据说已经能够实现在CPU端实时实例分割了,难怪在官方的声明里面会专门说到:“yolov5的实例分割是最快最准的!”
今天趁着午休的时间先来整体学习一下v7.0,之后有时间再详细研究。
yolov5官方项目在这里,首页截图如下所示:
可以看到:官方此次更新主要的内容就是全面支持实例分割功能了。
同时,官方也贴心的给出来了五种模型的预训练模型,如下:
实例分割的基础使用方法也给出来了,如下:
【训练】
- # Single-GPU
- python segment/train.py --data coco128-seg.yaml --weights yolov5s-seg.pt --img 640
-
- # Multi-GPU DDP
- python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --data coco128-seg.yaml --weights yolov5s-seg.pt --img 640 --device 0,1,2,3
【评估】
- bash data/scripts/get_coco.sh --val --segments # download COCO val segments split (780MB, 5000 images)
- python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # validate
【推理】
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg
【转化】
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0
想要使用v7.0的话可以按照下图下载:
我选择点击tags,如下:
点击进入,如下:
我下载了官方的模型,简单本地推理了一下,如下:
看着效果还是很不错的,我用的是最轻量级的模型yolov5n-seg.pt,所以速度还是很快的。
这里先简单给出来五个系列模型的结构图,后面有时间再详细学习。
yolov5n-seg:
yolov5s-seg:
yolov5m-seg:
yolov5l-seg:
yolov5x-seg:
记录一下。