Yolo-nas-l模型微调咨询:需多少图像?是否需扩充训练集?
行人检测YOLO-NAS-L微调问题咨询
我计划针对行人类别微调YOLO-NAS-L模型,目前已标注的行人类别图像分为:
- 训练集:3979张
- 验证集:1135张
- 测试集:569张
经过100轮训练后,模型的mAP@0.50:0.95表现尚可,但Precision(精确率)和Recall(召回率)指标较差,现咨询两个核心问题:
- 微调YOLO-NAS-L模型需要多少张图像?
- 是否需要扩充训练集?
训练参数
train_params = { 'silent_mode': False, "average_best_models": True, "warmup_mode": "LinearEpochLRWarmup", "warmup_initial_lr": 1e-6, "lr_warmup_epochs": 3, "initial_lr": 5e-4, "lr_mode": "cosine", "cosine_final_lr_ratio": 0.1, "optimizer": "Adam", "optimizer_params": {"weight_decay": 0.0001}, "zero_weight_decay_on_bias_and_bn": True, "ema": True, "ema_params": {"decay": 0.9, "decay_type": "threshold"}, "max_epochs": MAX_EPOCHS, "mixed_precision": True, "loss": PPYoloELoss( use_static_assigner=False, num_classes=len(dataset_params['classes']), reg_max=16 ), "valid_metrics_list": [ DetectionMetrics_050( score_thres=0.3, top_k_predictions=100, num_cls=len(dataset_params['classes']), normalize_targets=True, post_prediction_callback=PPYoloEPostPredictionCallback( score_threshold=0.01, nms_top_k=500, max_predictions=150, nms_threshold=0.7 ) ), DetectionMetrics_050_095( score_thres=0.3, top_k_predictions=100, num_cls=len(dataset_params['classes']), normalize_targets=True, post_prediction_callback=PPYoloEPostPredictionCallback( score_threshold=0.01, nms_top_k=500, max_predictions=150, nms_threshold=0.7 ) ), ], "metric_to_watch": 'mAP@0.50:0.95' }
100轮训练结果
Valid_PPYoloELoss/loss_cls: 0.8076702356338501 Valid_PPYoloELoss/loss_iou: 0.329728901386261 Valid_PPYoloELoss/loss_dfl: 0.44104906916618347 Valid_PPYoloELoss/loss: 1.5784482955932617 Valid_Precision@0.50: 0.48968252539634705 Valid_Recall@0.50: 0.9280189275741577 Valid_mAP@0.50: 0.8829154372215271 Valid_F1@0.50: 0.6410865187644958 Valid_Precision@0.50:0.95: 0.3704988658428192 Valid_Recall@0.50:0.95: 0.7021487355232239 Valid_mAP@0.50:0.95: 0.6309549808502197 Valid_F1@0.50:0.95: 0.4850526750087738
问题解答
1. 微调YOLO-NAS-L模型需要多少张图像?
没有固定的绝对数量,核心取决于数据质量、场景复杂度和预期精度:
- 针对单类别行人检测的基础任务,1000-3000张训练图就能满足基本检测需求;
- 如果场景复杂(比如夜间、密集人群、极端天气、远距离遮挡等),则需要5000-10000张甚至更多数据,保证覆盖所有可能的目标状态;
- 你当前的3979张训练数据已经超过基础规模,但如果数据多样性不足,依然会导致Precision和Recall拉胯。
2. 是否需要扩充训练集?
结合你的训练指标,优先排查数据质量,再决定是否扩充:
- 从结果看,
Recall@0.50高达0.928,说明模型几乎能找出所有真实行人,但Precision@0.50仅0.489,意味着模型误判大量非行人目标为行人(假阳性过多); - 先做现有数据的自查:
- 检查训练集标注是否存在错误(比如把非行人标成行人、标注框偏移/漏标);
- 确认数据多样性:是否缺少容易误判的场景(比如相似外观的非行人目标、低光照/远距离行人);
- 如果自查后数据质量没问题,但场景覆盖有明显缺口,再考虑扩充训练集:
- 优先补充与假阳性相关的样本(比如容易被误判的背景物体、难识别的行人样本);
- 也可以先尝试数据增强(翻转、裁剪、亮度调整、MixUp等),在现有数据基础上提升多样性,成本更低且见效快。
内容的提问来源于stack exchange,提问作者Bhautik pithadiya
相关产品推荐
相关产品推荐

