faster rcnn FPN损失项
Faster R-CNN with FPN(Feature Pyramid Network)是一个两阶段目标检测框架,其损失函数由RPN(Region Proposal Network)阶段和检测头(ROI Head)阶段的损失共同组成。以下是各损失项的详细解释:
损失项 | 作用阶段 | 优化目标 | 关键影响因素 |
---|---|---|---|
loss_rpn_cls | RPN | 区分前景/背景anchor | anchor设计、正负样本平衡 |
loss_rpn_loc | RPN | 调整anchor位置生成高质量proposal | 目标尺度多样性、定位难度 |
loss_cls | 检测头 | 准确分类RoI中的目标类别 | 类别多样性、样本均衡性 |
loss_box_reg | 检测头 | 精修候选框至真实目标位置 | 目标形变、遮挡、边界模糊 |
-
Faster R-CNN with FPN(Feature Pyramid Network)是一个两阶段目标检测框架,其损失函数由RPN(Region Proposal Network)阶段和检测头(ROI Head)阶段的损失共同组成。以下是各损失项的详细解释:
-
1. loss_rpn_cls (RPN分类损失)
物理含义:
评估RPN生成的anchor属于前景(包含目标)或背景(不包含目标)的分类能力。
计算方法: -
- 使用二分类交叉熵损失(Binary Cross Entropy)
- 每个anchor与所有GT框计算IoU,正样本(前景)标准:
- 与任意GT框的IoU > 0.7
- 或与最高IoU的GT框的IoU > 0.3(避免漏检)
- 负样本标准:与所有GT框的IoU < 0.3
- 通过正负样本的平衡采样(例如1:1比例)计算损失;
- 每个anchor与所有GT框计算IoU,正样本(前景)标准:
- 使用二分类交叉熵损失(Binary Cross Entropy)
-
2. loss_rpn_loc (RPN回归损失)
物理含义:
衡量RPN对anchor位置调整的准确性,使得proposal更接近真实目标框。
计算方法:- 使用Smooth L1损失(对离群点鲁棒)
- 仅对正样本(前景anchor)计算位置偏移损失
- 回归目标为4维参数:
-
3. loss_cls (检测头分类损失)
物理含义:
评估检测头对RoI(Region of Interest)中目标类别的分类能力。
计算方法:- 使用多分类交叉熵损失(Cross Entropy Loss)
- 输入为RoI特征经过全连接层后的类别概率分布
- 正样本:与GT框IoU > 0.5的RoI
- 负样本:与GT框IoU在[0.1, 0.5)的RoI(部分框架会过滤低IoU样本)
用户数据解读:
0.041的较低值表明检测头能较准确分类目标,但可能需注意类别不平衡问题;
-
4. loss_box_reg (检测头回归损失)
物理含义:
进一步精修候选框的位置,使其与真实框对齐。
计算方法:- 使用Smooth L1损失
- 仅对正样本(正确类别的RoI)计算位置偏移损失
- 回归目标与RPN阶段类似,但针对具体类别:
-
损失权重与平衡
- 默认配置中,RPN和检测头的分类/回归损失权重通常为1:1。
- 若某些损失显著高于其他(如loss_rpn_loc > loss_rpn_cls),可能反映模型更需优化定位能力。
- FPN通过多尺度特征缓解了尺度变化问题,但若loss_rpn_loc仍较高,可尝试:
- 调整anchor尺度/长宽比
- 增加正样本数量(降低IoU阈值)
- 使用GIoU损失替代Smooth L1