## 另起像素路线:整图直接预测类别地图 ## 解释、算例与证据 # P36 · FCN:另一条路线,直接为像素作预测 FCN 从逐像素类别图出发,独立于区域检测路线。将 `[B,C,H,W]` logits 与 `[B,H,W]` 标签一一对应,理解分割损失和 ignore 像素。LAB11 从图像预测 mask;已知 mask 的缩放练习只检验采样,不检验视觉预测。 图内标签与数值:Lecture 03 课堂图解 P36;区域路线与像素路线,目标不同;R-CNN → Fast → Faster;一组对象:类别 + 框;FCN · 每位置类别分数;语义类别地图;Long · Shelhamer · Darrell,2014 预印本 / CVPR 2015;FCN 是密集像素预测路线,不是 Faster R-CNN 的下一代。 区域检测路线与 FCN 像素路线分开;全图到空间特征再到语义 mask,署名 Long、Shelhamer、Darrell。 - 区域路线与像素路线,目标不同 - R-CNN → Fast → Faster - 一组对象:类别 + 框 - FCN · 每位置类别分数 - 语义类别地图 - Long · Shelhamer · Darrell,2014 预印本 / CVPR 2015 - FCN 是密集像素预测路线,不是 Faster R-CNN 的下一代。区域检测路线与 FCN 像素路线分开;全图到空间特征再到语义 mask,署名 Long、Shelhamer、Darrell。 [查看对应图解状态](/#/l3-r2-p36/0)[查看完整图解](/course/figures/l3-r2-p36-0.html) ## 课堂讲述 前面以区域为单位组织检测。另一个问题是:能不能直接为整张图上的每个位置给出类别?这就是语义分割的像素预测路线。 FCN 把分类网络中的计算改造成适合密集输出的形式,让空间位置对应到类别预测。它不是 Fast 或 Faster R-CNN 后面的自然“下一代”,而是有独立目标的一条路线。Long、Shelhamer 和 Darrell 的工作,要在这个问题里理解。 请把两种输出摆在一起看:检测输出一组对象,语义分割输出一张类别地图。如果我们的科研任务关心组织、地表或材料区域的归属,后者就是直接的任务接口。接下来真正困难的是:网络深层的空间网格通常已经变粗,怎样交付像素级结果? ### FCN 直接学习一张类别地图 [独立阅读](/course/blocks/fcn-independent-route.html) 如果用途是给组织切片的每个像素指定类别,先列一组外接框可能并不是自然起点。FCN 从空间网格出发:把分类网络改成可对不同输入大小输出空间分数图的计算,接受逐像素标签训练,再恢复到目标分辨率。 一个 C 类分割模型可以交付 `[B,C,H,W]` logits,每个像素有 C 个实数;目标 `[B,H,W]` 保存该像素的整数类别。类别维 softmax 决定“同一位置是哪类”,空间维则保留“这个判断在哪里”。如果把所有空间位置先平均成一个类别向量,就改了任务。 FCN 与区域检测是两条并行问题线:前者组织像素类别,后者组织对象集合。两条线都能利用分类预训练,却不能把 FCN 描述为 Faster R-CNN 的后继版本。原始 2014/2015 FCN 摘要报告 VOC 2012 的 mean IU 为 62.2%;2016 扩展版本有不同数字,引用时需区分版本。 最值得带回科研任务的是这个接口改变:表示能迁移,并不意味着原输出头能直接交付新答案。标注的单位变成像素,损失与评价也须随之改变。 **出处:**[FCN 原论文,2014/2015版本](https://arxiv.org/abs/1411.4038) · [D2L §14.11 FCN](https://d2l.ai/chapter_computer-vision/fcn.html) #### 图示条件与公式约定 FCN 是 Long、Shelhamer、Darrell 的独立密集预测路线。不要把课堂先讲 Faster 的顺序理解成 FCN 历史上后继于 Faster。 #### 这条线索的展开与后续阅读 - [每个位置,都要一个类别](/supplement.html?return=l3-r2-p36/0#/l3-fcn/0) 本页说明 - [FCN 是独立的密集预测路线|问题从哪里出现](/supplement.html?return=l3-r2-p36/0#/l3-fcn-dense-problem/0) 本页说明 - [FCN 是独立的密集预测路线|核心改动怎样工作](/supplement.html?return=l3-r2-p36/0#/l3-fcn-dense-mechanism/0) 本页说明 - [FCN 是独立的密集预测路线|什么结论还不能推出](/supplement.html?return=l3-r2-p36/0#/l3-fcn-dense-boundary/0) 本页说明 ## 让 logits、标签和有效像素一一对应 先建立像素坐标与类别标签的对应,再解释损失和忽略位置。 ### 每个有效像素提供一项监督 [独立阅读](/course/blocks/pixel-cross-entropy.html) 对目标类别为 $y_{uv}$ 的像素,交叉熵是 $-\log p_{y_{uv},u,v}$。若有效像素集合为 Ω,平均损失写成 $ L=-\frac{1}{|\Omega|}\sum_{(u,v)\in\Omega}\log p_{y_{uv},u,v}. $ 三类 logits `[B,3,H,W]` 与整数目标 `[B,H,W]` 相配;不要把类别 ID 当成连续数直接算回归平方误差。二类分割也可只预测一个前景 logit,用 sigmoid 与二元交叉熵,这时标签与输出接口跟三类方案不同。 未标注位置常用 ignore=255。它表示“不在这里计算监督和指标”,不表示第四类,也不等于背景。LAB11 的损失和混淆矩阵都排除这些位置;否则模型可能因为迎合不存在的背景标签而产生错误梯度。 图像翻转、裁剪或缩放时,目标地图必须接受同一几何变换。RGB 图能用连续插值,离散 mask 通常用最近邻;把类 1 与类 3 插出“类 2”没有语义依据。先保证一处图像像素仍对应同一处目标,训练曲线才有解释价值。 **出处:**[D2L §14.11 FCN](https://d2l.ai/chapter_computer-vision/fcn.html) ## 进入 LAB11:保留简单基线再看条件变化 有了机制假设,再用已有同条件结果判断额外结构的实际作用。 ### 同一组分割实验里,简单模型为何值得留下 [独立阅读](/course/blocks/pixel-model-positive-result.html) 当前 LAB11 同时训练逐像素 RGB 线性读出和小型 FCN。输入 48×48 RGB,标签是背景、红矩形、蓝椭圆;384 张训练图与 128 张保留图按场景种子分开。FCN 用粗分数与细分支融合,RGB 基线则只用 `Conv2d(3,3,1)`,共 12 个参数,不能看邻域。 已有 2026-09-22 本地完整运行中,原始合成图的 RGB 基线三类 mIoU=1,FCN=.99041;对输入做 5×5 模糊后,二者变为 .84996 与 .92397。原分布上简单模型胜出说明颜色已足够决定类别;模糊使边缘颜色混合,FCN 利用邻域在该干预下更稳健。两项观察共同说明为什么需要基线:它既暴露任务太容易的地方,也帮助找出复杂结构实际增加能力的条件。 同一 FCN 参数,推理时仅把双线性改为最近邻,mIoU 变成 .91180。这检验训练/推理采样约定的敏感性,没有分别重训两种网络,不能当成插值方式的普遍排名。 本轮整理只复用已有记录,没有重跑。完整学习证据在 RGB→模型→logits→mask 链条;P37 的已知 mask 缩放热身则解释采样,二者都保留,作用分清。 ## 沿这个问题继续 沿 CLS08 的像素目标与指标阅读,再选 LAB11 查看已有预测和错误图。 #### 按问题回查的讲解与短练习(1) **出处:**[FCN (2015)](https://arxiv.org/abs/1411.4038)