区域、像素与实例类别与位置怎样成为可学习的区域目标?
P32 · Faster R-CNN:让候选区域也成为预测
按“参考框→RPN 候选→最终框”给图中的矩形分配身份,并把人工真值单独留在监督侧。RPN 让候选变为可学习预测。LAB10 采用共享原理的一阶段教学变体,不应把它说成原版 Faster R-CNN。
共享 F 分为 RPN 和区域预测;RPN 产生候选并供后级使用,参考框与偏移后的候选用不同颜色表示。 查看对应图解状态查看完整图解 Faster R-CNN 增加了区域建议网络,也就是 RPN。它在共享特征上判断一些参考框是否像前景,并预测位置修正,形成后面使用的候选。
请区分图上的三个对象:参考框是我们提供的几何起点,候选框是这一步的预测,最终检测框是后续处理后的结果。训练时,还要根据真实标注定义哪些参考框负责哪些对象。
至此,从外部产生区域、反复编码区域,到共享卷积、再学习候选,瓶颈被一段段重新组织。这条路线有跨团队与合作者的汇合,不能把原始 R-CNN、SPP-net 和 Faster R-CNN 都归给一个人。它们相连的是具体问题与可复用的计算。
RPN 在共享特征图上铺一组参考框。参考框由网格位置、预设尺度和长宽比决定;它们在看图之前就可生成,不能当成检测结果。网络为每个参考框输出物体性分数和四个偏移,经解码、筛选后形成 proposals,再交给区域头作更具体的类别判断和位置修正。
因此画面中的三个矩形有不同身份:anchor 是几何起点,proposal 是 RPN 的预测,最终 box 是整个检测流程交付的结果。训练真值是第四种对象,它负责给预测规定目标,并不在推理时送进模型告诉它答案。
同一张 F 可同时供 RPN 与后级区域头使用。它把“在哪里值得再看”从外部算法变成从图像特征学习的任务。这是 Faster R-CNN 与 Fast R-CNN 相比发生改变的具体一段,不能只记一个更快的名字。
LAB10 采用单层锚框直接分类与回归的一阶段教学检测器,不是原版两阶段 RPN。它与本页共享锚框、匹配、位置损失等原理,保留了可运行的学习闭环;读实验时应辨明哪些流程共用、哪些结构不同。
参考框是几何起点,RPN 输出 objectness 与偏移形成 proposals,后级再预测类别与框。图省略 NMS、采样与正负匹配阈值,它们在补充材料中保留。
区域、像素与实例类别与位置怎样成为可学习的区域目标?
给定参考框与真值的 IoU 矩阵,匹配规则把参考框变成训练样本。例如课堂教学阈值若设正例至少 0.7、背景小于 0.3,则 IoU 为 0.8、0.4、0.1 的三个框分别是正例、忽略、背景。只有正例有对应的框回归目标。忽略的用途是暂不把模糊覆盖强行当正或负,而不是悄悄改成背景。
真实 LAB10 使用另一组公开写明的阈值:正例至少 0.45,背景低于 0.25,中间忽略;再用逐次最大 IoU 为每个真值保留一个不同 anchor,避免某个对象完全收不到位置监督。强制匹配服务于学习,评价时不能为了“每个对象都匹配一次”照搬这条规则。
空图同样是有效训练输入。所有参考框都应学背景,回归项没有正例便归零。如果只训练总有物体的图片,模型可能从未被要求学会空输出。
负例远多于正例时,本实验选难负例参与分类损失,最多正例数的三倍、每图至少十二个。阅读代码时应看 loss 的掩码与归一化,而不只看 L=Lcls+λLbox 这一行总公式。
区域、像素与实例选读:输出组织与训练分配还可以怎样改变?
一阶段检测不先为每个 proposal 再做一套区域分类,而是在一个或多个特征网格上直接预测类别与位置。这个改变简化了输出路径,却没有消除参考几何、目标匹配、正负不平衡、重复预测与定位评价。
若 16×16 网格每格有 4 个参考框,共 1024 项;每项预测含背景的 3 类 logits 与 4 个偏移,就有 7168 个输出数。这些数还是结构化候选,需按同一位置顺序与参考框配对,随后解码并整理。张量 reshape 顺序错误时,模型的偏移可能被贴到另一个 anchor 上。
D2L TinySSD 在多尺度特征上构造参考框与预测。当前 LAB10 为保持 CPU 可运行,用 12×12 单层网格、每格两个尺寸,共 288 项;它保留图像输入到框输出的学习链,但不等于多尺度模型的全部能力。
本条作为从主讲移出的深入阅读:理解它有助于读实验代码,不要求课堂再开 SSD 全章。FPN 关注怎样形成不同尺度的表示,SSD 关注怎样在特征上预测;两者都出现多尺度,不意味着同一机制。