车企目标检测分类模型调优

2024 年 5 月 5 日 星期日
/ , , , ,
3
摘要
警察/外卖员/指定品牌车的检测分类迭代。YOLOv5X plus 对比实验、自定义输入尺寸适配车端视角、场景优先级矩阵、BadCase 驱动的数据闭环。

阅读此文章之前,你可能需要首先阅读以下的文章才能更好的理解上下文。

车企目标检测分类模型调优

编写时间:2024-05

目标检测训练迭代,类别以若干车端业务目标为主,并讨论新增相近长尾类别。这不是一次单纯训练,而是训练、评测、数据清洗、量化评估、再训练的持续迭代。

训练迭代流程

Mermaid Loading...

在此之外,实验分支尝试更大的检测模型,同样走训练、评测、数据清洗的迭代。

大模型分支对比

阶段结论是:更大模型在主要类别上整体优于主模型,尤其是召回侧改善更明显;但这个结论只针对同条件离线对照,不代表一定能直接上车,因为车端还有量化、运行时、阈值策略和资源占用。

对比项主模型大模型分支结论
误检控制基准有提升,但需要看车端阈值
漏检控制基准↑↑改善更明显
小目标表现基准受输入尺寸和数据覆盖影响
量化后表现待评估待评估不能只看浮点结果
部署成本需要额外评估延迟和资源

评估指标

最早的目标很朴素:漏检可以先接受一些,误检不行,所以误检控制优先级更高,召回可以在后续迭代中逐步补齐。如果多模型、多框架对比,需要统一评估代码。

评估维度作用
误检控制车端体验非常敏感,优先级高
漏检控制和功能覆盖相关,需要持续补数据
框位置质量判断定位是否稳定,尤其是小目标
长尾场景表现看低频高风险场景是否被覆盖
量化后一致性确认离线收益是否能保留到车端
综合平衡避免单一指标提升掩盖业务退化

重点场景

场景表可以沉淀成模型评估 checklist:

类型场景难点
功能需求低照度高反光目标反光、雨滴、低照度
功能需求远距离特定车辆目标小目标、特征弱
BadCase镜头边缘畸变目标形变
常见挑战夜间/隧道低光、噪点、低饱和
常见挑战遮挡目标外观不完整、短时丢失
常见挑战过曝特征丢失

下图只表达相对优先级,坐标不对应真实统计数值。

Mermaid Loading...

自定义输入尺寸

为适配车端视角,训练里尝试过非正方形尺寸。YOLOv5 里不能只改一个参数,要同步检查 train.pydataloader.pyval.py、multi-scale、log 显示和 hyp['obj'] 缩放。

parser.add_argument('--imgsz', '--img', '--img-size', type=list, default=[H, W])

这个修改的经验是:自定义尺寸不是“能跑就行”,还要保证训练、验证、anchor、日志和导出链路一致。

数据闭环

这类车企视觉模型的重点不在某个 fancy backbone,而在持续闭环:数据集每次变更后要确认指标变化方向、BadCase 是否真的被覆盖、量化后阈值是否一致。模型只是闭环中的一环。

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...