【知识点】Mask R-CNN
编辑
2025-06-02
深度学习
00

目录

总体损失函数
详细说明:

https://arxiv.org/abs/1703.06870

https://blog.roboflow.com/mask-rcnn/

image.png

Mask R-CNN 是一种用于实例分割(Instance Segmentation)的深度学习模型,它在 Faster R-CNN 的基础上增加了对每个目标生成像素级掩码(Mask)的功能。因此,Mask R-CNN 的损失函数由以下几个部分组成:

  1. 分类损失(Classification Loss, LclsL_{cls}
    这是 Faster R-CNN 中的目标分类损失,用于预测每个候选区域(Region Proposal)属于哪个类别。通常使用交叉熵损失(Cross-Entropy Loss)来计算。

  2. 边界框回归损失(Bounding Box Regression Loss, LboxL_{box}
    这是 Faster R-CNN 中的边界框回归损失,用于调整候选区域的位置和大小,使其更准确地包围目标。通常使用平滑 L1 损失(Smooth L1 Loss)来计算。

  3. 掩码分支损失(Mask Loss, LmaskL_{mask}
    Mask R-CNN 增加了一个额外的分支,用于生成每个目标的像素级掩码。对于每个候选区域,掩码分支会输出一个 K×m×mK \times m \times m 的张量,其中 KK 是类别数,m×mm \times m 是掩码的分辨率。掩码损失通常使用逐像素的二值交叉熵损失(Binary Cross-Entropy Loss)来计算,且只针对真实类别对应的掩码进行监督。

总体损失函数

Mask R-CNN 的总体损失函数可以表示为:

L=Lcls+Lbox+LmaskL = L_{cls} + L_{box} + L_{mask}

详细说明:

  1. 分类损失 LclsL_{cls}

    Lcls=1Nclsi=1Ncls[yilog(pi)+(1yi)log(1pi)]L_{cls} = -\frac{1}{N_{cls}} \sum_{i=1}^{N_{cls}} \left[ y_i \log(p_i) + (1 - y_i) \log(1 - p_i) \right]

    其中:

    • NclsN_{cls} 是分类样本的数量。
    • yiy_i 是第 ii 个样本的真实标签(0 或 1)。
    • pip_i 是模型预测的第 ii 个样本属于正类的概率。
  2. 边界框回归损失 LboxL_{box}

    Lbox=1Nregi=1NregsmoothL1(titi)L_{box} = \frac{1}{N_{reg}} \sum_{i=1}^{N_{reg}} \text{smooth}_{L1}(t_i - t_i^*)

    其中:

    • NregN_{reg} 是边界框回归样本的数量。
    • tit_i 是预测的边界框参数(如中心点坐标、宽高)。
    • tit_i^* 是真实边界框参数。
    • smoothL1(x)\text{smooth}_{L1}(x) 是平滑 L1 损失函数,定义为:
      smoothL1(x)={0.5x2if x<1x0.5otherwise\text{smooth}_{L1}(x) = \begin{cases} 0.5x^2 & \text{if } |x| < 1 \\ |x| - 0.5 & \text{otherwise} \end{cases}
  3. 掩码分支损失 LmaskL_{mask} 掩码分支的损失是对每个像素的二值交叉熵损失求平均。假设对于某个候选区域的真实类别为 kk,则掩码分支的损失为:

    Lmask=1Nmaski=1Nmask[Milog(Pik)+(1Mi)log(1Pik)]L_{mask} = -\frac{1}{N_{mask}} \sum_{i=1}^{N_{mask}} \left[ M_i \log(P_i^k) + (1 - M_i) \log(1 - P_i^k) \right]

    其中:

    • NmaskN_{mask} 是掩码中像素的总数。
    • MiM_i 是第 ii 个像素的真实掩码值(0 或 1)。
    • PikP_i^k 是模型预测的第 ii 个像素属于类别 kk 的概率。

    需要注意的是,掩码分支的损失只对真实类别 kk 对应的掩码进行计算,其他类别的掩码不会参与损失计算。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!