Lecture 03 学习讲义
正文
工具
按问题查找
区域、像素与实例区域采样怎样保住几何对应?

从四个邻点实际算出 2.5

解释、算例与证据

P42 · 连续位置的数值,怎样从四个邻点得到?

对 0、2、4、6 四邻值,按横向 1/4、纵向 1/2 算出 2.5。两步插值与四项加权是同一运算。读完算例后,接着看原论文的对照:对齐改善了哪些指标,区分“使用双线性插值”和“保持坐标对齐”的作用。

Lecture 03 课堂图解 P42F = [[0,2],[4,6]];x 向右,y 向下0246(.25, .5)xy上行:¾×0 + ¼×2 = 0.5下行:¾×4 + ¼×6 = 4.5再取两行中间值½×0.5 + ½×4.5 = 2.5四邻点权重:⅜,⅛,⅜,⅛权重和 = 1;结果 = 2.5一个连续采样点的双线性算例;完整 RoIAlign 还要组织分格、多个采样点与汇总。

F=[[0,2],[4,6]] 的四邻点与 (.25,.5) 采样点,横向两次插值和纵向一次插值连接到 2.5。

  • F = [[0,2],[4,6]];x 向右,y 向下
  • 0
  • 2
  • 4
  • 6
  • (.25, .5)
  • x
  • y
  • 上行:¾×0 + ¼×2 = 0.5
  • 下行:¾×4 + ¼×6 = 4.5
  • 再取两行中间值
  • ½×0.5 + ½×4.5 = 2.5
  • 四邻点权重:⅜,⅛,⅜,⅛
  • 权重和 = 1;结果 = 2.5
  • 一个连续采样点的双线性算例;完整 RoIAlign 还要组织分格、多个采样点与汇总。
F=[[0,2],[4,6]] 的四邻点与 (.25,.5) 采样点,横向两次插值和纵向一次插值连接到 2.5。 查看对应图解状态
查看完整图解

课堂讲述

这四个相邻位置的值分别是零、二、四、六。我们要读的位置在横向四分之一、纵向一半处,不正好落在其中任何一个整数点上。 先在上面一行按横向位置插值,得到零点五;下面一行同样插值得到四点五;再在两行的中间取值,得到二点五。也可以一次写成四个邻点的加权和,结果相同。 这段计算不是让你背四个权重,而是看清连续采样没有创造一张新图:它在已有特征之间,按指定位置构造读出。RoIAlign 会在区域的分格中组织这类采样与聚合。保持坐标对应,对需要细轮廓的任务就特别重要。

四个邻点如何读出 2.5

独立阅读

把左上、右上、左下、右下值依次记为 0、2、4、6。要读取的点相对左上角横向走了 α=1/4、纵向走了 β=1/2。上排插值为 (1−α)0+α2=.5(1-α)0+α2=.5,下排为 (1−α)4+α6=4.5(1-α)4+α6=4.5,再纵向插值得 (1−β).5+β4.5=2.5(1-β).5+β4.5=2.5。

也可直接写四点加权和:

v=(1−α)(1−β)F00+α(1−β)F10+(1−α)βF01+αβF11. v=(1-α)(1-β)F_{00}+α(1-β)F_{10}+(1-α)βF_{01}+αβF_{11}.

对应权重为 3/8、1/8、3/8、1/8,总和为 1。代入得 0+2/8+12/8+6/8=2.50+2/8+12/8+6/8=2.5。离左边更近,所以两项左邻的总权重是 3/4;纵向正好一半,上下各占 1/2。这些比例直接来自几何,而不是学出来的四个自由参数。

RoIAlign 在每个 bin 内组织多个这种连续采样点,再按实现聚合。它用原有特征构造位置相关读数,没有查到原图中的隐藏真值。改变特征图分辨率、RoI 或采样数量时,应重新计算位置;不能沿用旧邻点却声称只是换了 stride。

读完算例后,接着看原论文的对照:对齐改善了哪些指标,区分“使用双线性插值”和“保持坐标对齐”的作用。

图示条件与公式约定

四点为左上0、右上2、左下4、右下6,x=.25,y=.5,权重依次3/8、1/8、3/8、1/8,值2.5。它是单点插值,不是完整 RoIAlign。原论文每 RoI bin 内4个规则采样点后 max/average 聚合;图43进一步连接局部区域目标。

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

区域、像素与实例区域采样怎样保住几何对应?

在同一设置下比较 RoIPool、RoIWarp 与 RoIAlign

计算说明组件怎样工作;论文同条件对照再检验它是否改变任务表现。

原论文的对照:对齐改善了哪些指标

独立阅读

Mask R-CNN v3 的 Table 2 使用 COCO trainval35k 训练、minival 测试;表中未另说明时报告 mask AP。以下固定 ResNet-50-C4、stride 16,并选同为 max 聚合的行:

区域读取 是否保留对齐 是否双线性 mask AP mask AP75
RoIPool 否 否 26.9 26.4
RoIWarp 否 是 27.2 27.1
RoIAlign 是 是 30.2 31.8

RoIAlign 相比 RoIPool 的 AP 增加 3.3 点,AP75 增加 5.4 点。RoIWarp 也插值却没有同样改善,支持“保持坐标对应”这一机制判断。平均聚合的 RoIAlign 行是 AP30.3/AP75 31.5,引用时不能把不同聚合行混在一个对照里。Table 2(d) 换成 C5、stride32,mask AP 从 23.6 到 30.9;这是另一组设置。

这些是训练完整模型的论文结果,不是本课程重跑。它们说明读取位置值得修复,尤其严格定位受益;P44 则把输入 F 固定成完全相同,讨论任何确定性读出都无法创造差别。方法有效与构造例中的信息限制,可以同时成立。

沿着图解追问

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

学生:四点加权是不是已经把丢掉的像素补出来了?

教师:它按指定位置读取现有特征,不知道被删去的真实像素。图上 2.5 来自这四个数和坐标;如果甲乙给它同样四个数与坐标,它们的结果仍相同。

沿这个问题继续

先读本页解释与图,再到 LAB03 改一个坐标或对象。

按问题回查的讲解与短练习(1)