一、为什么微调而不是从零训练
从零训练好比"从小学读起",模型必须从像素级别重新学习一切模式;而微调则是"站在巨人肩膀上"——加载 COCO 预训练权重后,主干网络的特征提取能力直接可用,只需调整检测头以适配新类别。Ultralytics 框架对此做了自动化处理:当加载 .pt 文件并调用 train() 时,形状兼容的权重会自动迁移(例如从 COCO 80 类微调到 5 类时,708 个权重张量中有 606 个直接迁移),无需手动编写迁移学习代码。对于医疗影像、卫星图等与自然图像差异较大的领域,可配合层冻结(freeze 参数)先固定主干、只训练检测头,再逐步解冻,避免小数据集破坏已学到的通用特征。
二、微调前的数据准备
数据质量是微调效果的天花板。需要准备符合 YOLO 规范的数据集:images/ 与 labels/ 按 train、val 分目录存放,每张图片对应同名 txt 标注文件,每行格式为"类别id x_center y_center width height",坐标归一化到 0~1。数据配置文件 data.yaml 需明确训练集路径、验证集路径、类别数量与类别名称。实践中的常见坑是图片与标注未一一配对——缺失标注的图片会被当作背景图处理,直接影响最终召回率。
三、训练参数设置与调优
微调的核心参数包括:epochs(小数据集建议 50~100)、imgsz(默认 640,小目标可提高到 1280)、batch(显存允许范围内尽量大)、patience(早停耐心值,验证指标不再提升时自动停止,防止过拟合)。数据增强是性价比最高的优化手段:Mosaic 拼接增强复杂场景、HSV 色域变换适应光照变化、随机翻转扩充样本,能让模型在数据量有限的情况下获得更强泛化能力。模型规格选择上,n/s/m/l 依次增大,需在精度、速度与显存占用之间权衡——边缘部署优先小模型,精度优先则选大模型。
四、效果评估与迭代优化
训练完成后通过 mAP、精确率、召回率三个指标综合评估:mAP50 衡量综合检测精度,精确率反映误报程度,召回率反映漏检程度。工业检测场景中漏检代价远高于误报,应重点关注召回率。若效果不达标,优先补充难样本(此前识别失败的图片)重新训练,这比盲目增加普通图片更有效;同时清洗脏数据、平衡各类别样本数量。过拟合时增加数据量或降低模型复杂度,精度不足时检查标注质量与训练轮次。
结语
YOLO 微调是一条"预训练权重 + 高质量数据 + 合理参数 + 迭代优化"的完整链路。真正决定上限的是数据质量与标注水平,参数调优只是在这个上限内逼近最优。掌握这条链路,通用模型就能快速落地为解决具体业务问题的专用工具。