一、YOLOv8默认使用的增强方式策略
1.1、 hsv_h
通过色轮的一小部分调整图像的色调,引入颜色可变性。帮助模型在不同的照明条件下进行概括。
默认数值为0.015,范围是0.0~1.0。
1.2、hsv_s
将图像的饱和度更改一小部分,从而影响颜色的强度。适用于模拟不同的环境条件。
默认数值为0.7,范围是0.0~1.0。
1.3、hsv_v
将图像的值(亮度)修改一小部分,有助于模型在各种照明条件下表现良好。
默认数值为0.4,范围是0.0~1.0。
1.4、translate
将图像水平和垂直方向平移图像的一小部分,有助于学习检测部分可见对象。
默认数值为0.1,范围是0.0~1.0。
1.5、scale
按增益因子缩放图像,模拟与摄影机相距不同距离的对象。
默认数值为0.5,范围是大于等于0.0都可以。
1.6、fliplr
以指定的概率将图像从左向右翻转(类似于左右镜像),这对于学习对称对象和增加数据集的多样性非常有用。
默认数值为0.5,范围是0.0~1.0。
1.7、mosaic
将四个训练图像组合为一个,模拟不同的场景组成和对象交互。YOLO最经典的数据增强方式。对复杂场景的理解非常有效。
默认数值为1.0,范围是0.0~1.0。
1.8、auto_augment
面向分类任务,自动应用预定义的增强策略(randaugment、autoaugment和augmix),通过使视觉特征多样化来优化分类任务。
默认数值为randaugment,范围是(randaugment、autoaugment和augmix)。
1.9、erasing
在分类训练过程中随机擦除图像的一部分,鼓励模型专注于不太明显的特征进行识别。
默认数值为0.4,范围是0.0~0.9。
1.10、crop_fraction
将分类图像裁剪到其大小的一小部分,以强调中心特征并适应对象比例,从而减少背景干扰。
默认数值为1.0,范围是0.1~1.0。
二、YOLOv8未使用的增强方式策略
注意:默认一下增强方式参数都为0.0
2.1、degrees
在指定的度数范围内随机旋转图像,提高模型识别不同方向对象的能力。选择旋转角度后,在选择的旋转角度范围内进行数据随机旋转。
范围是-180~+180。
2.2、shear
以指定的角度剪切图像,模仿从不同角度观看对象的效果。选择角度后,在选择的角度范围内进行数据随机剪切。
范围是-180~+180。
2.3、perspective
将随机透视变换应用于图像,增强模型理解三维空间中对象的能力。
范围是0.0~0.001。
2.4、flipud
以指定的概率将图像倒置,在不影响对象特性的情况下增加数据的可变性。
范围是0.0~1.0。
2.5、bgr
以指定的概率将图像通道从RGB翻转到BGR,这有助于提高对不正确通道排序的鲁棒性。
范围是0.0~1.0。
2.6、mixup
混合两个图像及其标签,创建合成图像。通过引入标签噪声和视觉可变性来增强模型的泛化能力。
范围是0.0~1.0。
2.7、copy_paste
将对象从一个图像中复制并粘贴到另一个图像上,这对于增加对象实例和学习对象遮挡非常有用。
范围是0.0~1.0。
三、使用方法
在进行训练时,直接加相对应的参数即可!例如添加使用flipud 增强策略:
model = YOLO(r"yolov8m-pose.pt") # 用于迁移训练的权重文件路径
results = model.train(data=r"E:\ultralytics-main\datasets\key-points.yaml",
imgsz=640, epochs=100, batch=4, flipud = 0.5, device = 0)
四、结语
以上数据增强策略均可用于目标检测,分割,骨干提取和分类等。有可能加了之后会导致结果指标下降,需要实际实验进行选取。
以上内容仅供学习参考使用!!希望对您有所帮助!!