从类别像素走向逐个对象
按问题继续
像素损失、IoU口径、粗细表示、实例身份与集合输出
从类别像素走向逐个对象
把像素标为杯子类别,只声明“这里属于杯子集合”。实例标注还声明“这里属于杯一,那里属于杯二”。两只杯子即使同色、接触甚至相互遮挡,实例任务仍需给出两份对象身份。
考虑一行标签 [1,1,2,2],其中 1、2 是两只杯子的实例号。将它们都映射到类别杯子=1,就得到 [1,1,1,1]。另一个实例划分 [1,2,2,2] 经同样映射也得到同一类别行。因此类别图不能唯一反推出实例边界。
连通域可以在“每个对象互不接触”的特定条件下帮忙计数,但一旦两只杯子相接,一个连通块可含两个对象;反过来同一被遮挡的对象还可能产生不连通的可见部分。对象身份不是连通性规则自动保证的属性。
区域路线给每个候选一份身份,像素路线给精细轮廓。把它们结合,就可以在“这个候选对象”之内预测局部 mask。这是进入 Mask R-CNN 的具体需求,而不是为了再增加一种模型名称。
选读:不同尺度与无序集合,分别改变哪一部分?
把“有跳连”当成一个共同名字,容易遮住任务差异。FCN 的跳接把较细层的空间线索与粗语义预测结合,服务于逐像素输出;U-Net 的编码—解码路径将高分辨率特征接到相应解码层;FPN 自顶向下融合与横向连接,形成可供不同尺度对象使用的特征层级。
| 观察点 | 应在计算图里找什么 |
|---|---|
| 较细信息从哪里来 | 原图或编码器哪个中间层,而非只看上采样箭头 |
| 怎么对齐 | 两条支路的步长、尺寸、坐标约定 |
| 怎样组合 | 相加或拼接,组合后是否再有可学习预测 |
| 服务哪个目标 | 单张类别图、多尺度框、局部实例 mask |
如果原图中 4×4 像素的目标进入 stride16 网格,其连续跨度只有 1/4×1/4 格;这使位置读取困难,但不能仅据小于一格断言信息必全丢,通道仍可能记录响应。更细输入或跨层特征带来新的观测机会,是否改善要在指定任务上检查。
保留这份比较,是为学生读到结构名时有判断坐标;本轮主讲不再把它拆为几个平行论文段落。
大量背景参考框已经很容易分类,却可能因数量占优而贡献大量总损失。focal loss 在基本交叉熵外乘 。取 γ=2,正确类概率 .9 的样本权重 .01,概率 .5 的权重 .25,后者相对贡献更大。这是在调整哪些样本值得继续关注,不直接增加空间信息,也不指定哪项预测负责哪只对象。
对象匹配回答另一件事:当真值是一组无序对象,预测槽位该怎样对应它们?给两预测、两真值的代价矩阵 [[2,.3],[.4,2]],对角总代价 4,交叉 .7,所以选择交叉。交换标注数组顺序不该改变对象集合本身,匹配用于消除这个任意顺序。
LAB 20 从类别概率、框 L1 与 IoU 实际构造成本,再穷举 2! 分配;它是足够透明的解析练习。这里没有图像编码器学习,也不是完整 DETR。主讲保留对象身份的必要性,这些损失组织细节进入选读即可,不必为保持课程丰富而重新开一章。
LAB 20 尺度与集合短算例 保留实际成本构造;不需要为了理解像素目标先学完 DETR。完整注意力结构留在第五讲,不在这里展开。