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