box 的 gt_class --> target_class
- ciou:以往box检测框的损失函数都会使用的一项。
考虑三种几何参数:重叠面积、中心点距离、长宽比。ciou就是在diou的基础上增加了检测框尺度的loss,增加了长和宽的loss,这样预测框就会更加的符合真实框。 - distribution focal loss (dfl):使用向量表达边界与基准点的距离,然后结合softmax交叉熵计算得dfl项的loss
将边界距离基准点的距离记为y,则可将基准点转换为(tl, tr),两者对应的权重为(wl, wr)。y.shape = tl.shape = tr.shape= [batch, n, 4]。
tl.view(-1).shape = tr.view(-1).shape = [batc*n*4](假设左边界距离y=5.6,则 t l = 5 tl=5 tl=5, t r = 6 tr=6 tr=6, t l = 0.4 tl=0.4 tl=0.4, w r = 0.6 wr=0.6 wr=0.6)
此时网络输出的边界为pred_dist,pred_dist.shape=[batc*n*4,16]。则损失函数如下,:loss = (f.cross_entropy(pred_dist, tl.view(-1), reduction='none').view(tl.shape) * wl + f.cross_entropy(pred_dist, tr.view(-1), reduction='none').view(tl.shape) * wr).mean(-1, keepdim=true)
发表评论