Yolov5同时进行目标检测和分割分割

该博客介绍了基于YOLOv5(v6.0)的多任务检测和分割模型的实现,包括解耦头的实验、类别权重调整以及添加分割头以实现语义分割。在VOC数据集上进行了训练,比较了模型在检测和分割任务上的性能。源码链接和相关论文参考也一并提供。

目标检测实战:仪表盘指针识别

保姆级 YOLOv8/9/10 教程,附完整数据集与源码

基于yolov5(v6.0分支)的多任务检测和分割模型。

之前很早就萌生idea在yolov5基础上添加一个分割头用于语义分割,近期正好也有论文YLOLOP是这么做的.

这里基于yolov5最新分支修改,主要改动如下:

1 . 解耦头:实验在小数据集上有一定效果(map 1%+ ),大数据集上提升不明显;

2. 类别权重:在长尾分布的数据集上提升较为明显.

3.添加分割头用于语义分割。

整体框架

上图是在yolop模型上修改的,侵删。

整个模型分为三个部分:

1) backbone:这里使用yolov5骨干;

2)neck: panet;

3)head:检测头+分割头

检测头参考了YOLOX进行了解耦;针对不同数据和任务可能会有一定提升。

数据集

这里使用VOC数据集进行训练,具体的,检测训练集为VOC07+12的训练集,测试集为VOC07的测试集;分割使用VOC12的分割训练集,测试集为其测试集,主要是方便和SSD进行对比:

 使用yolov5s进行实验,输入也为512;设置训练300epoch;但是这里节省时间训练快到200 epoch停止:

modelVOC2007 test
SSD51279.8
yolov5s+seghead(512)79.2

Demo

源码:https://github.com/midasklr/yolov5dshttps://github.com/midasklr/yolov5ds

参考:

1.[YOLOP: You Only Look Once for Panoptic Driving Perception](https://arxiv.org/abs/2108.11250)

2. GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLiteYOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/yolov5 development by creating an account on GitHub.https://github.com/ultralytics/yolov5

目标检测实战:仪表盘指针识别

保姆级 YOLOv8/9/10 教程,附完整数据集与源码

评论 79
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值