yolov5-v7.0版本正式发布,本次更新的v7.0则是全面的大版本升级,最主要的功能就是全面集成支持了实例分割,yolov5已经集成检测、分类、分割任务。
前面几篇文章已经介绍过关于Yolov5的一些方面
yolov5目标检测:https://blog.csdn.net/qq_45066628/article/details/129470290?spm=1001.2014.3001.5501
yolov5分类:https://blog.csdn.net/qq_45066628/article/details/129594154?spm=1001.2014.3001.5501
yolov5网络结构及训练策略简介:https://blog.csdn.net/qq_45066628/article/details/129715417?spm=1001.2014.3001.5501
识别图像中存在的内容,如下图,有人(person)、树(tree)、草地(grass)、天空(sky)
识别图像中存在的内容和检测其位置
对图像中的每个像素打上类别标签,如下图,把图像分为人(红色)、树木(深绿)、草地(浅绿)、天空(蓝色)标签,简而言之就是对一张图片上的所有像素点进行分类。
其实就是目标检测和语义分割的结合。相对目标检测的边界框,实例分割可精确到物体的边缘;相对语义分割,实例分割需要标注出图上同一物体的不同个体。对比上图、下图,如以人(person)为目标,语义分割不区分属于相同类别的不同实例(所有人都标为红色),实例分割区分同类的不同实例(使用不同颜色区分不同的人)
全景分割是语义分割和实例分割的结合。
跟实例分割不同的是:实例分割只对图像中的object进行检测,并对检测到的object进行分割,而全景分割是对图中的所有物体包括背景都要进行检测和分割。
git clone https://github.com/ultralytics/yolov5 # clone
cd yolov5
pip install -r requirements.txt # install
官网地址;https://github.com/ultralytics/yolov5/releases/v7.0
python segment/train.py --data coco128-seg.yaml --weights yolov5m-seg.pt --img 640 --cfg models/segment/yolov5m-seg.yaml
也可通过修改segment下的predict.py和val.py 或者直接执行命令,weights为自己训练后的模型best模型路径
验证:
python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640
推理:
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg
python export.py --weights runs/train-cls/exp4/weights/best.pt --include engine --device 0