xanylabeling高级设置

中文手册:https://gitcode.com/gh_mirrors/xa/X-AnyLabeling/blob/main/docs/zh_cn/user_guide.md

截图中展示的 X-AnyLabeling 高级设置,是为其集成的模型训练功能而设计的。它允许你在标注好数据后,直接对模型进行精细的调参和训练,相当于一个简化版的 YOLO 训练配置界面。

🎯 1. 训练策略 (Training Strategy)

  • Time (h): 训练时长(小时)。超时后训练将自动停止。若不设置则训练直到完成指定轮数。
  • Patience (100): 早停耐心值。若连续 100 轮验证集精度没有提升,训练将提前终止,可防止过拟合和节省时间。
  • Close Mosaic (10): 关闭马赛克增强的轮数。训练的最后 10 轮不再使用马赛克增强,有助于模型微调,稳定收敛。
  • Optimizer (auto) : 自动选择优化器。auto 下,系统会根据模型大小自动选择,例如 AdamW
  • Cosine LR : 这是 "Cosine Annealing LR" 的缩写。一种学习率衰减策略,学习率会按照余弦函数曲线周期性变化,有助于模型跳出局部最优。
  • AMP : 自动混合精度 (Automatic Mixed Precision)。开启后,训练会部分使用 float16 半精度计算,能显著节省显存并加速训练。
  • Multi Scale: 多尺度训练。每隔一定迭代,输入图像的尺寸会在一个范围内随机变化,能增强模型对物体大小的鲁棒性。

📉 2. 学习率 (Learning Rate)

  • LR0 (0.01): 初始学习率。模型开始训练时的步长,过大会导致不收敛,过小会导致收敛太慢。对于小数据集,通常会适当调小。
  • LRF (0.01): 最终学习率。训练结束时的学习率,它是初始学习率 Lr0 的一个倍数。最终学习率 Lr_final = Lr0 × LRF。
  • Momentum (0.937): 动量。帮助加速 SGD 收敛并逃离局部极小,一般保持默认 0.937。
  • Weight Decay (0.0005): 权重衰减。L2 正则化系数,防止模型过拟合,通常保持 0.0005。

🌡️ 3. 预热参数 (Warmup)

  • Warmup Epochs (3.0): 预热轮数。训练初期用较小的学习率热身,避免初始梯度爆炸。
  • Warmup Momentum (0.8): 预热动量。预热阶段使用的动量值,比正常稍低,以稳定初始训练。
  • Warmup Bias LR (0.1): 预热偏置学习率。预热阶段,网络偏置项(bias)的学习率倍数,比主体更低,也是一种稳定策略。

✨ 4. 数据增强 (Augmentation)

这些参数用于在训练时实时生成多样化的图片,增强模型泛化能力。

  • HSV Hue (0.015): 色调偏移。随机改变图片颜色的色相。
  • HSV Saturation (0.7): 饱和度偏移。随机改变颜色的饱和度。
  • HSV Value (0.4): 明度偏移。随机改变图片的明暗程度。
  • Rotation (0.0): 旋转。图片随机旋转的角度(度数),对于非对称物体可适当开启。
  • Translate (0.1): 平移。图片随机水平和垂直平移的比例。
  • Scale (0.5): 缩放。图片随机缩放的倍数范围,帮助模型适应不同大小的物体。
  • Shear (0.0): 剪切。图片随机剪切变换的程度。
  • Perspective (0.0) : 透视变换。随机进行透视变换的程度,模拟视角变化。此项为 0,对计算资源消耗较大

🧩 5. 正则化 (Regularization)

  • Dropout (0.0): 随机丢弃率。在每个训练批次中,随机"丢弃"一部分神经元,是防止过拟合的有效手段。
  • Fraction (1.0): 数据集使用比例。用于仅取部分数据快速验证训练流程,正式训练时保持 1.0。
  • Rectangular: 矩形训练。在训练时不对图像进行强制正方形缩放,保留原始宽高比,能减少信息变形。通常建议开启。

⚖️ 6. 损失权重 (Loss Weights)

  • Box (7.5) : 边界框回归损失(box_loss)的权重。它是定位精度最重要的人为干预参数
  • Cls (0.5) : 分类损失(cls_loss)的权重。
  • DFL (1.5): 分布焦点损失(Distribution Focal Loss)的权重。专门用于优化边界框位置的预测精度。
  • Pose (12.0) : 姿态关键点损失(pose_loss)的权重。仅在训练姿态估计模型时生效。
  • Kobj (2.0) : 关键点存在性损失(keypoint_obj_loss)的权重。也是仅用于姿态估计任务。

💾 7. 检查点与验证 (Checkpoint and Validation)

  • Save Period (Disabled) : 保存周期。每隔多少轮保存一次模型,若为 Disabled,则只保存训练结束时效果最好的模型。
  • Validation (Plots): 验证与绘图。在验证集上评估模型并绘制PR曲线、混淆矩阵等图表。
  • Save (Resumé) : 断点续训保存。模型不仅会保存在最后的checkpoint,还会额外保存一个用于断点续训的文件。
  • Cache (Skip Empty Files): 数据缓存策略。将数据预加载到RAM(内存)中加速训练,"Skip Empty Files"指自动跳过无效图片。
  • Only Checked Files: 仅使用已勾选文件。通常配合界面上方的文件列表复选框使用,实现选择性训练。

🎯 训练参数调优建议

根据不同任务,这里有一些基础的调参思路,供你参考:

  • 通用目标检测起步

    1. Batch Size: 在你的GPU显存允许的情况下,设置得越大越好(例如16, 32, 64)。更大的批次通常能带来更稳定的梯度估计。
    2. 训练轮数 (Epochs) : 可以先设为300,配合Patience=100的早停机制,让训练在精度不再提升时自动停止。
    3. Multi Scale: 建议保持开启,它对模型的鲁棒性提升很有帮助。
  • 针对特定场景微调

    • 小目标检测 (如无人机航拍、细胞检测等):
      • 降低 Scale(如 0.3):避免过度放大图片,防止小目标被过度拉伸导致失真。
      • 调高 Box 损失权重(如 10.0 或更高):让模型更加关注边界框的定位精度。
      • Rectangular: 必须开启,有助于保持小目标的原始形状。
    • 模型收敛不稳定
      • 调低 LR0(如 0.001):降低学习率,让模型更稳定地朝着最优方向更新。
      • 延长 Warmup Epochs(如 5.0):用更长时间稳定训练初期的梯度。
相关推荐
fengbingchun5 个月前
标注工具X-AnyLabeling的使用
x-anylabeling
Stara05111 年前
基于多模态提示融合的交互式图像标注系统设计与实现
人工智能·深度学习·神经网络·目标检测·计算机视觉·标注工具·x-anylabeling