yolov8多任务模型+目标检测+车道线检测+可行驶区域检测-yolo多检测头代码+教程
你只需看一次实时且通用的多任务模型A-YOLOM 插图贡献轻量化集成模型我们开发了一种轻量级模型能够将三个任务整合到一个统一的模型中。这对于需要实时处理的多任务场景尤其有利。自适应连接模块特别为分割架构的颈部区域设计了新颖的自适应连接模块。此模块可以无需手动设计就能自动连接特征进一步增强了模型的泛化能力。简洁通用的分割头设计了一个轻量、简单且通用的分割头。对于同一类型的头部任务我们使用了统一的损失函数这意味着无需为特定任务定制设计它仅由一系列卷积层构成。广泛实验基于公开可用的自动驾驶数据集进行了大量实验证明我们的模型在推理时间和可视化方面优于现有工作。此外我们在真实道路数据集上也进行了测试结果表明我们的模型显著优于目前最先进的方法。结果参数与速度模型参数 (M)FPS (bs1)FPS (bs32)YOLOP7.926.0134.8HybridNet12.8311.726.9YOLOv8n(det)3.16102802.9YOLOv8n(seg)3.2682.55610.49A-YOLOM(n)4.4339.9172.2A-YOLOM(s)13.6139.796.2交通对象检测结果模型召回率 (%)mAP50 (%)MultiNet81.360.2DLT-Net89.468.4Faster R-CNN81.264.9YOLOv5s86.877.2YOLOv8n(det)82.275.1YOLOP88.676.5A-YOLOM(n)85.378.0A-YOLOM(s)86.981.1可行驶区域分割结果模型mIoU (%)MultiNet71.6DLT-Net72.1PSPNet89.6YOLOv8n(seg)78.1YOLOP91.6A-YOLOM(n)90.5A-YOLOM(s)91.0车道线检测结果模型准确度 (%)IoU (%)ENetN/A14.64SCNNN/A15.84ENet-SADN/A16.02YOLOv8n(seg)80.522.9YOLOP84.826.5A-YOLOM(n)81.328.2A-YOLOM(s)84.928.8消融研究 1: 自适应连接模块训练方法召回率 (%)mAP50 (%)mIoU (%)准确度 (%)IoU (%)YOLOM(n)85.277.790.680.826.7A-YOLOM(n)85.378.090.581.328.2YOLOM(s)86.981.190.983.928.2A-YOLOM(s)86.981.191.084.928.8消融研究 2: 不同多任务模型和分割结构的结果模型参数mIoU (%)准确度 (%)IoU (%)YOLOv8(segda)1,004,27578.1--YOLOv8(segll)1,004,275-80.522.9YOLOv8(multi)2,008,55084.281.724.3YOLOM(n)15,88090.680.826.7注意事项本工作中参考的工作包括 Multinet、DLT-Net、Faster R-CNN、YOLOv5s、PSPNet、ENet、SCNN、SAD-ENet、YOLOP、HybridNets 以及 YOLOv8。感谢他们的出色贡献。可视化实际道路系统要求Python 版本3.7.16PyTorch 版本1.13.1推荐 GPUNVIDIA GeForce RTX 4090 或更高性能的 GPU如果使用 NVIDIA GeForce GTX 1080 Ti建议批量大小为 16。尽管训练时间会更长但仍可行。强烈建议创建纯净环境并遵循指示进行设置以避免因 YOLOv8 自动检测环境包而可能引起的变量值变化问题。数据准备及预训练模型下载图像预训练模型A-YOLOM包含两个版本分别为 “n” 和 “s”下载检测标注下载可行驶区域分割标注下载车道线分割标注推荐的数据集目录结构如下# 根据 id 表示对应关系 ├─dataset root │ ├─images │ │ ├─train2017 │ │ ├─val2017 │ ├─detection-object │ │ ├─labels │ │ │ ├─train2017 │ │ │ ├─val2017 │ ├─seg-drivable-10 │ │ ├─labels │ │ │ ├─train2017 │ │ │ ├─val2017 │ ├─seg-lane-11 │ │ ├─labels │ │ │ ├─train2017 │ │ │ ├─val2017更新您的数据集路径于./ultralytics/datasets/bdd-multi.yaml文件中。训练设置训练配置文件./ultralytics/yolo/cfg/default.yaml运行python train.py开始训练可以根据需要修改train.py中的设置如模型路径、数据路径、GPU 设备编号等评估设置评估配置文件./ultralytics/yolo/cfg/default.yaml运行python val.py进行评估修改val.py中的相关路径和设置预测运行python predict.py进行预测修改predict.py中的源图像路径、设备选择、输出尺寸等参数扩展性代码易于扩展至任何多任务分割和检测任务只需修改模型 YAML 和数据集 YAML 文件中的信息并按照我们的标签格式创建您的数据集即可。请记住在检测任务名称中保留“det”在分割任务名称中保留“seg”。当您更改检测任务类别数量时请相应地调整dataset.yaml和model.yaml中的 “tnc” 值。“nc_list” 也需要更新应与您的 “labels_list” 顺序相匹配。例如如果您的 “labels_list” 包括检测对象、可行驶区域和车道线则 “nc_list” 应设置为 [7,1,1]。通过这些详细说明您可以开始使用 YOLOv8 多任务模型进行自己的项目开发。希望这能帮助您快速启动并在多个计算机视觉任务上取得优异成绩。最后yolov8多任务模型目标检测车道线检测可行驶区域检测-yolo多检测头代码教程