目标检测同时定位对象并判断类别
从候选区域、边界框回归和分类理解目标检测,并说明重叠匹配、非极大值抑制与小目标评价的边界。
目标检测同时定位对象并判断类别
图像分类回答整幅图像主要属于什么类别,目标检测还要指出对象在哪里。一张街景可以同时出现车辆、行人和交通标志,检测器需要为每个对象给出类别、置信分数和边界框。输出因此不是固定长度的标签,而是一组数量可变、彼此可能重叠的候选结果。
这项任务把“识别什么”与“定位何处”放在同一个学习问题中。分类误差、位置偏移、漏检和重复框都可能使结果失效。判断检测器好坏时,不能只看分类准确率,也不能只检查几个可视化样例。
边界框是对象位置的近似表达
常用边界框由左上角和右下角坐标,或中心点、宽度和高度表示。矩形易于标注、计算和索引,但它会包含对象之外的背景,对细长、旋转或高度不规则的对象尤其粗糙。边界框适合回答大致位置,不适合替代轮廓、面积或朝向测量。
训练时,模型通常不直接从任意坐标开始搜索,而是围绕预设锚框或候选区域预测修正量。框回归学习中心偏移与尺度变化,分类分支判断候选属于某类还是背景。两项损失共同优化,却可能有不同尺度;若位置损失压过分类损失,模型会精修错误类别,反过来则会得到类别正确但位置松散的框。
对象与候选框的匹配多用交并比。IoU 是交集面积除以并集面积,范围在零到一之间。它提供统一的几何重叠度,却对小框的位置误差很敏感:同样移动几个像素,小目标的 IoU 下降通常比大目标更剧烈。
两阶段检测先提出区域再作判断
Faster R-CNN 将候选区域生成纳入神经网络。共享特征图上的区域提议网络预测可能包含对象的区域,再由检测头进行分类和边界框回归。区域提议不必准确识别具体类别,其职责是以有限数量的候选覆盖真实对象。
这种分工让候选生成和最终识别共享视觉特征,也保留了对每个区域进一步处理的机会。代价是推理链更长,候选数量、特征裁剪和逐区域计算都会影响延迟。所谓“两阶段”描述的是计算组织,不保证任何数据上都一定比单阶段方案更准确。
候选覆盖率需要单独检查。若区域提议阶段没有覆盖某类细小对象,后续分类器再强也无法恢复。候选过多虽然提高覆盖机会,却会增加计算和误报,因此阈值与上限应在代表性场景中选择。
非极大值抑制处理重复预测
同一对象附近常产生多个高分框。非极大值抑制按分数排序,保留最高分框,并删除与它重叠超过阈值的同类框。这个过程把密集候选压缩成可用结果,但它不是概率推理,只是一条基于重叠度的后处理规则。
拥挤场景最容易暴露 NMS 的限制。两个真实对象高度重叠时,一个正确框可能被另一个压制;阈值过高又会留下重复框。软抑制、类别无关抑制或学习式去重可以改变权衡,但仍需明确对象密度和业务容错。
分数阈值也不能只由展示效果决定。阈值提高通常减少误报、增加漏检;类别基准率和误判成本变化后,合适阈值也会变化。线上系统应保留原始分数、后处理版本和阈值,避免把后处理结果误认为模型唯一输出。
平均精度依赖匹配规则与样本构成
检测评价先按 IoU 阈值把预测与真实对象匹配,再计算精确率和召回率。一个真实对象通常只能匹配一个预测,多余框会成为假阳性。AP 汇总不同置信阈值下的精确率—召回率关系,mAP 再对类别或多个 IoU 条件求平均。
一个平均值会掩盖重要差异。小目标、遮挡对象、稀有类别和特定天气可能明显更差;某些类别样本很多,也可能左右总体结果。报告应列出类别、尺寸、拥挤程度和场景切片,并说明 IoU 阈值、忽略区域和难例规则。
标注本身也有边界不确定性。松框与紧框、截断对象是否标注、极小对象是否忽略,都会改变训练和评价。模型比较必须使用一致标注政策,不能把数据规范变化解释成算法进步。
部署要检查尺度、延迟与数据漂移
输入缩放会同时改变目标可见度和计算量。提高分辨率可能帮助小目标,却增加显存、延迟和候选数量;过度压缩则会让细节在进入模型前消失。生产配置要把预处理尺寸、颜色空间、归一化和裁剪方式固定为可审计版本。
真实场景中的类别比例、拍摄视角和成像条件常与训练集不同。应持续统计漏检、重复框、框尺寸和置信分布,并从人工复核中构造新的分层测试集。对安全相关对象,系统还需要定义低置信、遮挡或图像质量不足时的降级方式,而不是强迫检测器给出确定答案。
目标检测最终提供的是带不确定性的区域假设。只有把候选覆盖、匹配规则、后处理、分层评价和运行条件一起记录,边界框才是可用证据,而不只是看起来合理的矩形。
资料依据
- Original authors:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks,https://arxiv.org/abs/1506.01497
- Ian Goodfellow、Yoshua Bengio、Aaron Courville:Deep Learning,https://www.deeplearningbook.org/