【YOLOv8】初识篇

发布于:2024-06-15 ⋅ 阅读:(130) ⋅ 点赞:(0)

【YOLOv8】初识篇

一、网络结构

ultralytics/cfg/models
|-- README.md
|-- rt-detr
|   |-- rtdetr-l.yaml                   # 百度的 RT-DETR 目标检测模型(L 规格),使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
|   |-- rtdetr-x.yaml                   # 百度的 RT-DETR 目标检测模型(X 规格),使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
|   |-- rtdetr-resnet101.yaml           # Backbone 使用 ResNet101 的 RE-DETR 目标检测模型,使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
|   `-- rtdetr-resnet50.yaml            # Backbone 使用 ResNet50  的 RE-DETR 目标检测模型,使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
|-- v3
|   |-- yolov3.yaml                     # YOLOv3 目标检测模型,使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
|   |-- yolov3-tiny.yaml                # YOLOv3 目标检测模型(Tiny 规格),使用的后处理模块为 Detect,💡  使用的预测特征图为 P4, P5,从原来擅长“小中大”目标变为“中大”目标
|   `-- yolov3-spp.yaml                 # 加入 SPP 的 YOLOv3 目标检测模型,使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
|-- v5
|   |-- yolov5.yaml                     # YOLOv5 目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
|   `-- yolov5-p6.yaml                  # YOLOv5-p6 目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Detect,💡  使用的预测特征图为 P3, P4, P5, P6,加强对大目标的检测能力
|-- v6
|   `-- yolov6.yaml                     # YOLOv6 目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
|-- v8
|   |-- yolov8.yaml                     # YOLOv8 目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
|   |-- yolov8-p2.yaml                  # YOLOv8 目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Detect,使用的预测特征图为 P2, P3, P4, P5,增加对小目标的检测能力
|   |-- yolov8-p6.yaml                  # YOLOv8 目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5, P6,增加对大目标的检测能力
|   |-- yolov8-ghost.yaml               # YOLOv8 目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Detect,使用的卷积是 GhostConv 和 C3Ghost,使用的预测特征图为 P3, P4, P5
|   |-- yolov8-ghost-p2.yaml            # YOLOv8 目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Detect,使用的卷积是 GhostConv 和 C3Ghost,使用的预测特征图为 P2, P3, P4, P5,增加了对小目标的检测能力
|   |-- yolov8-ghost-p6.yaml            # YOLOv8 目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Detect,使用的卷积是 GhostConv 和 C3Ghost,使用的预测特征图为 P3, P4, P5, P6,增加了对大目标的检测能力
|   |-- yolov8-cls.yaml                 # YOLOv8 分类模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Classify
|   |-- yolov8-cls-resnet50.yaml        # YOLOv8 分类模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Classify,使用的 Backbone 为 ResNet50
|   |-- yolov8-cls-resnet101.yaml       # YOLOv8 分类模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Classify,使用的 Backbone 为 ResNet101
|   |-- yolov8-seg.yaml                 # YOLOv8 分割模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Segment,使用的预测特征图为 P3, P4, P5
|   |-- yolov8-seg-p6.yaml              # YOLOv8 分割模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Segment,使用的预测特征图为 P3, P4, P5, P6,增加对大目标的分割能力
|   |-- yolov8-obb.yaml                 # YOLOv8 旋转目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 OBB,使用的预测特征图为 P3, P4, P5
|   |-- yolov8-pose.yaml                # YOLOv8 关键点/人体姿态估计模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Pose,使用的预测特征图为 P3, P4, P5
|   |-- yolov8-pose-p6.yaml             # YOLOv8 关键点/人体姿态估计模型(可选规格有:n、s、m、l、x),使用的后处理模块为 Pose,使用的预测特征图为 P3, P4, P5, P6,增加对大目标的估计能力
|   |-- yolov8-rtdetr.yaml              # YOLOv8 加上 RT-DETR 的目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 RTDETRDecoder,使用的预测特征图为 P3, P4, P5
|   |-- yolov8-world.yaml               # YOLOv8 加上 YOLO-World 的目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 WorldDetect,head 部分与 YOLOv8 差异较大,使用的预测特征图为 P3, P4, P5,❌ 不支持导出为 ONNX,mAP 低于 YOLOv8-Worldv2
|   `-- yolov8-worldv2.yaml             # 🌟  YOLOv8 加上 YOLO-World 的目标检测模型(可选规格有:n、s、m、l、x),使用的后处理模块为 WorldDetect,head 部分与 YOLOv8 差异较大,与 YOLOv8-World 也有一些区别,使用的预测特征图为 P3, P4, P5,✅ 支持导出为 ONNX,mAP 高于 YOLOv8-World
`-- v9
    |-- yolov9c.yaml                    # YOLOv6 目标检测模型(规格为 C,t->s->m->c->e),使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
    `-- yolov9e.yaml                    # YOLOv6 目标检测模型(规格为 E,t->s->m->c->e),使用的后处理模块为 Detect,使用的预测特征图为 P3, P4, P5
    |-- yolov9c-seg.yaml                # YOLOv6 分割模型(规格为 C,t->s->m->c->e),使用的后处理模块为 Segment,使用的预测特征图为 P3, P4, P5
    `-- yolov9e-seg.yaml                # YOLOv6 分割模型(规格为 E,t->s->m->c->e),使用的后处理模块为 Segment,使用的预测特征图为 P3, P4, P5

说明
增加P2和P6层是为了改进目标检测模型,让模型在处理不同尺寸的目标时更加高效和准确。这种策略特别适用于那些需要同时处理多种尺寸目标的应用场景的数据集,如街景图像分析、无人机视觉监控等。

  1. 增加P2层的好处:
    改善小目标检测:P2层通常有更高的分辨率,这使得模型能够更好地捕捉到小尺寸目标的细节。较高分辨率的特征图能够提供更多的空间信息,有助于检测小物体。
    更精细的特征:由于P2层处于网络的较浅层,它能够捕捉到更多的细粒度特征,这对于理解小目标的形状和纹理非常重要。
  2. 增加P6层的好处:
    提升大目标检测性能:P6层是一个较低分辨率但具有更大感受野的特征层。对于大尺寸目标,这意味着模型可以更有效地捕捉到整体的结构信息。
    降低计算复杂度:对于大目标,使用较低分辨率的特征图可以减少计算量,因为处理每个大目标需要的像素数较少。
  3. 适应性能力的提升:
    使用DynamicHead可以使模型根据不同尺寸的目标动态调整其检测策略,进一步提升模型的泛化能力和适应性,从而进一步提高精度。

参考


网站公告

今日签到

点亮在社区的每一天
去签到