1. 输入阶段
输入:一张图像(如 1024×1024)
预处理:图像归一化(均值方差)、resize、padding(满足尺寸要求)
2. Backbone 特征提取器
使用 ResNet-101 提取特征
分为 5 个阶段输出特征层(C1~C5),HTC 通常使用 C2-C5
3. FPN(特征金字塔网络)
输入:Backbone 输出的多层特征(如 C2~C5)
目的:融合不同尺度的语义信息
输出:多尺度特征图 P2 ~ P5(增强了小目标与大目标的表示能力)
4. RPN(区域建议网络)
输入:FPN 各层特征
输出:多个 anchor proposals(候选框)
每个 anchor 会:
预测一个目标是否存在(分类)
调整其形状(回归边界框)
5. Proposal ROI Align
将 RPN 生成的候选框提取出对应区域的特征
使用 RoIAlign 精确对齐到固定尺寸(如 7×7 或 14×14)
6. 三级 Cascade 的 RoI Head(核心)
第 1 阶段:
BBox Head-1:
分类(前景/背景)
边界框回归
Mask Head-1:
对应的实例分割
语义分支(Semantic Head):
利用全图语义特征辅助 mask 分支(info flow)
第 2 阶段:
将上阶段预测框进行 refinement
BBox Head-2、Mask Head-2 同样处理 refined proposals
第 3 阶段:
再次 refinement
最终输出更精确的分类、边框和 mask
⚠️ 每阶段之间有 信息流交互(Mask Info Flow),帮助 mask 学习更好的上下文。
7. 输出结果
最终的:
BBox:检测框
Label:类别
Mask:分割结果
后处理:
NMS(非极大值抑制)
保留得分高的目标(如 score > 0.5)