Lecture 03 学习讲义
正文
工具
按问题查找
区域、像素与实例怎样直接学习一张像素类别地图?

让 logits、标签和有效像素一一对应

先建立像素坐标与类别标签的对应,再解释损失和忽略位置。

每个有效像素提供一项监督

独立阅读

对目标类别为 yuvy_{uv} 的像素,交叉熵是 −log⁡pyuv,u,v-\log p_{y_{uv},u,v}。若有效像素集合为 Ω,平均损失写成

L=−1∣Ω∣∑(u,v)∈Ωlog⁡pyuv,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”没有语义依据。先保证一处图像像素仍对应同一处目标,训练曲线才有解释价值。

区域、像素与实例怎样直接学习一张像素类别地图?

把粗网格放大时,先看输入有没有变

解释、算例与证据

P37 · 输出变细,不意味着信息自动变多

比较增加输出格子与增加输入证据。最近邻和双线性只规定怎样利用现有数值;离散标签与连续 logits 的插值又不同。8×8 算例清楚给出前景 IoU、背景 IoU、mIoU 和像素准确率,避免同一个小数换四个名字。

Lecture 03 课堂图解 P37已有 4 × 4 数值最近邻 · 16 × 16双线性 · 16 × 16唯一的数值来源复制邻近值过渡更平滑两种放大都只读原来的 16 个值,没有重新读取图像。二值数值场的插值算例;不是视觉模型预测。双线性按输出像素中心映射,边界夹取。

同一个 4×4 二值数值场放大到 16×16,最近邻和双线性并排;两者的计算输入完全相同。

  • 已有 4 × 4 数值
  • 最近邻 · 16 × 16
  • 双线性 · 16 × 16
  • 唯一的数值来源
  • 复制邻近值
  • 过渡更平滑
  • 两种放大都只读原来的 16 个值,没有重新读取图像。
  • 二值数值场的插值算例;不是视觉模型预测。双线性按输出像素中心映射,边界夹取。
同一个 4×4 二值数值场放大到 16×16,最近邻和双线性并排;两者的计算输入完全相同。 查看对应图解状态
查看完整图解

课堂讲述

把一个粗网格放大很容易。最近邻复制数值,双线性利用邻近位置作平滑过渡;它们可以给出更多输出位置,但没有额外读取原图。 如果深层表示中仍保存着相关差异,合适的解码和上采样能帮助利用它;如果两种不同边界已经被编码成完全一样的表示,单纯放大不会知道原来是哪一种。 所以像素预测不仅需要“把图片尺寸变回来”,还需要检查表示中保留的空间信息、解码时的读取和训练监督。不要把转置卷积叫成一般意义上的逆卷积,也不要把画面更平滑等同于边界更正确。下面看怎样把不同层次的信息结合起来。

图示条件与公式约定

同一 4×4 二值数值场,最近邻 floor(outindex×4/16);双线性按 (outindex+.5)×4/16−.5 映射并对边界夹取。可比较插值,不称为从图像预测 mask 的训练实验。

这条线索的展开与后续阅读

区域、像素与实例怎样直接学习一张像素类别地图?

用同一张 8×8 mask 核对四种指标

已知 mask 的缩放练习隔离采样;相同错误要按明确口径计数。

0.667 是前景 IoU,0.75 才是本例两类 mIoU

独立阅读

已知 8×8 真值 mask:前景 16、背景 48。平均降到 4×4,再最近邻还原并以 ≥.5 阈值化后,预测前景 24,其中 16 个正确、8 个误把背景当成前景;没有漏掉真前景。因此 TP=16、FP=8、FN=0、TN=40。

口径 分子与分母 结果
前景 IoU 16/(16+8+0) 2/3
背景 IoU 40/(40+0+8) 5/6
两类 mIoU,含背景 (2/3+5/6)/2 .75
像素准确率 (16+40)/64 .875

这个过程的输入就是已知 mask,因此它隔离的是采样与阈值,不是看 RGB 图像做分割。当前 LAB11 已将名称修正,并保留最近邻与双线性两个分支。双线性分支的两类 mIoU 为 .77564,前景 IoU 仍为 2/3;平滑改变的是错误的位置和类别组成,不是自动保证每项指标都变好。

读一项 mIoU 时至少应知道平均哪些类、是否含背景、空并集怎样处理,以及先累计整份混淆矩阵还是逐图计算再平均。这些口径会改变数字;具体口径比多显示小数位更重要。

区域、像素与实例哪些信息真的改善了像素预测?

给预测模块接入另一份细位置信息

上采样读取现有数值,跨层连接则把另一份特征交给预测模块。

上采样改变读数位置,跨层连接提供额外证据

独立阅读

从 12×12 分数图恢复到 48×48,可以用最近邻复制,也可以用双线性按邻域加权。输出格子多了,是为了在原图坐标上作决定;运算本身没有再次看原图。若细边界的信息已被编码成相同数值,单独放大同一张图不能判断它原来在哪。

但低分辨率并不意味着一切细节必丢。通道、相位与邻域响应可能保留可用线索,训练出的解码器可以利用它们;真正的判断是“差别有没有进入 F”,而不只是 F 的宽高。因此 P37 既不许诺放大恢复真实细节,也不否定学习上采样的价值。

跨层连接做了一件不同的事:把较细层的特征另行送进预测模块。它提供的不是同一粗特征的复制,而是另一份尚可能保留位置细节的输入。深层上下文可帮助识别这是杯子,较细响应可帮助定位杯柄与窄缝;二者仍需通过任务训练学习怎样组合。

转置卷积是可学习的线性运算形式,不是一般意义上可还原任意输入的“逆卷积”。是否保留细节,应通过同源输入、目标、预测与错误图观察。

P38 的杯柄照片只是原图参考:细、粗特征先做坐标对齐,再由预测模块学习组合,交付像素类别分数或掩码,而不是还原那张 RGB 照片。图中的特征格为结构示意,轮廓为教学标注;是否减少空洞和边界错误,要另看模型预测与目标的比较。

沿着图解追问

以下是备课用的模拟师生对话,不是课堂实录。

学生:双线性更平滑,是不是边界就更准?

教师:平滑只描述输出变化。是否更准要对照目标轮廓与同一指标;当前已知 mask 热身中,前景 IoU 并没有因双线性变好。

沿这个问题继续

沿 CLS08 的像素目标与指标阅读,再选 LAB11 查看已有预测和错误图。

出处:FCN (2015)