YOLOv8 : 数据组织

1. 数据源

        首先YOLOv8是支持目标分类、检测和目标分割。当前以应用最为广泛的目标检测为例,简单说明数据相关的信息。

        一般情况下,建议将数据划分成images和labels,其中images存储图像,labels存储标签文件(YOLO格式)。如果是VOC数据形式,在“005_训练”部分会将如何从VOC到YOLO格式的转换。

        数据组织这一部分,和YOLOv5非常类似,官方代码中也有提供v5loader坐待可选项。因此,在数据组织这一部分,并不考虑花太多时间进行赘述。

2. 数据组织

        YOLOv8同样使用与YOLOv5一样的数据组织形式,初始化时会进行cache_labels。

        可以选择使用“rect”训练形式,会进行进一步的、按照batch进行重组织。

        YOLOv8官方代码中可以看到,在数据加载阶段可选继续使用v5loader,或使用新的build_yolo_datasest,进一步的,实际上是创建了一个YOLODataset对象,YOLODataset又继承自BaseDataset,BaseDataset继承自PyTorch自带的Dataset基类。

        从YOLODataset的collate_fn可以看出,不同于以往的列表形式,YOLOv8的DataLoader加载数据时,是以字典的形式。

3. 数据增强

        如前所述,YOLOv8整体数据处理情况和YOLOv5类似,数据增强也相似。YOLOv8使用的主要数据增强方式是Mosaic。Mosaic数据增强方式分为4张Mosaic和9张Mosaic,此处仅使用4张Mosaic。样例如图1所示。

YOLOv8 : 数据组织_第1张图片

图1 Mosaic增强及LetterBox

你可能感兴趣的:(YOLOv8,YOLO)