美文网首页
【机器学习】目标检测(3)损失函数

【机器学习】目标检测(3)损失函数

作者: 章光辉_数据 | 来源:发表于2020-12-22 23:51 被阅读0次

    连着两篇未完待续了,以后再补吧……

    这篇主要讲讲目标检测里的损失函数。

    总体的目标损失函数定义为 定位损失(loc, location loss)置信度损失(conf, confidence loss) 的加权和:

    L(x,c,l,g) = \frac{1}{N}(L_{conf}(x,c)+\alpha L_{loc} (x,l,g))

    其中:

    • N 是匹配到 GT(Ground Truth)的 prior bbox 数量;
    • α 用于调整 confidence loss 和 location loss 之间的比例,默认 α=1 ;
    • 如果 N=0 ,则将损失设为 0

    confidence loss 是在多类别置信度(c)上的 softmax loss,公式如下:

    L_{conf}(x,c) = -\sum_{i \in Pos}^N x^{p}_{ij} log(\hat{c}^{p}_{i}) - \sum_{i \in Neg} log(\hat{c}^{0}_{i})

    \hat{c}^{p}_{i} = \frac{exp(c^{p}_{i})}{\sum_p exp(c^{p}_{i})}

    其中:

    • i 指代搜索框序号;
    • j 指代真实框序号;
    • p 指代类别序号,p=0 表示背景;
    • x^{p}_{ij}=\left\{1,0\right\},表示第 i 个 prior bbox 是否匹配到第 j 个类别为 p 的 GT box,匹配到取 1 ,反之取 0;
    • c^{p}_{i} 表示第 i 个搜索框对应类别 p 的预测概率。

    location loss(位置回归)是典型的 smooth L1 loss。

    L_{loc}(x,l,g) = \sum_{i \in Pos m \in \left\{c_x, c_y, w, h\right\}}^N \sum x^{k}_{ij} smooth_{L1}(l^{m}_{i}-\hat{g}^{m}_{j})
    \hat{g}^{c_x}_{j}=(g^{c_x}_{j}-d^{c_x}_{i})/d^{w}_{i}
    \hat{g}^{c_y}_{j}=(g^{c_y}_{j}-d^{c_y}_{i})/d^{h}_{i}
    \hat{g}^{w}_{j}=log(\frac{g^{w}_{j}}{d^{w}_{i}} )
    \hat{g}^{h}_{j}=log(\frac{g^{h}_{j}}{d^{h}_{i}})

    其中:

    • l 为预测框;
    • g 为ground truth;
    • (cx, xy) 为补偿 (regress to offsets) 后的默认框 d 的中心;
    • (w, h) 为默认框的宽和高。

    相关文章

      网友评论

          本文标题:【机器学习】目标检测(3)损失函数

          本文链接:https://www.haomeiwen.com/subject/nowenktx.html