数据集增强相关方法
旋转(Rotation): 随机旋转图像以改变其方向。
缩放(Scaling): 改变图像的大小。
剪裁(Cropping): 从图像中随机剪裁出一个区域。
翻转(Flipping): 水平或垂直翻转图像。
裁剪(Clipping): 裁剪掉图像边缘的某些部分。
颜色抖动(Color Jittering): 随机调整图像的亮度、对比度和饱和度。
高斯噪声(Gaussian Noise): 向图像中添加随机的高斯噪声。
锐化(Sharpening): 增强图像的边缘和细节。
水平/垂直平移(Horizontal/Vertical Shifting): 将图像在水平或垂直方向上随机平移。
随机裁剪(Random Cropping): 从图像中随机裁剪出一个大小为输入尺寸的区域。
图像变换(Image Transformations): 应用一系列图像变换,如透视变换、旋转变换等。
Hue Shift: 改变图像的颜色通道,例如调整色调。
Gamma Correction: 调整图像的对比度。
Blur: 应用模糊效果。
Pixelation: 降低图像的分辨率,使其看起来像素化。
Histogram Equalization: 对图像的直方图进行均衡化,以改善图像的对比度。
Alpha Blending: 在图像上应用透明度。
Zooming: 对图像进行放大或缩小。
Random Erasing: 随机擦除图像的一部分,以模拟现实世界中的遮挡。
Mixup: 将两个图像及其标签按一定比例混合。
yolo相关参数
- imgsz: 训练时的目标图像尺寸,所有图像在此尺寸下缩放。
- save_period: 保存模型检查点的频率(周期数),-1 表示禁用。
- device: 用于训练的计算设备,可以是单个或多个 GPU,CPU 或苹果硅的 MPS。
- optimizer: 训练中使用的优化器,如 SGD、Adam 等,或 ‘auto’ 以根据模型配置自动选择。
- momentum: SGD 的动量因子或 Adam 优化器的 beta1。
- weight_decay: L2 正则化项。
- warmup_epochs: 学习率预热的周期数。
- warmup_momentum: 预热阶段的初始动量。
- warmup_bias_lr: 预热阶段偏置参数的学习率。
- box: 边界框损失在损失函数中的权重。
- cls: 分类损失在总损失函数中的权重。
- dfl: 分布焦点损失的权重。
最终尝试了增加训练轮次以及更换yolo模型的版本。在2轮训练的情况下yolov8m的表现仅为0.16左右,在训练10轮的情况下仅为0.08左右,有一定过拟合的情况。在10轮训练的情况下yolov8n的表现为0.14左右。
总结:在仅改动模型以及调参的情况下,用赛题所给数据训练轮数越多越有过拟合的倾向,同时yolo中最小的模型效果普遍好于更大的模型。