分享

目标检测 | Yolo3算法学习笔记

 taotao_2016 2020-04-25

Yolo3的backbone是基于DarkNet-53网络结构,Yolo2的backbone是基于DarkNet-19网络结构。

Yolo3的网络结构如下图:

由上图可知,Yolo3输出3种不同尺度的feature map,边长分别为:13,26,52。采用不同尺度的feature map可以检测出更精细的目标对象。通过上采样输出不同尺寸的feature map。

yolo3算法的损失函数:

每个grid cell的Bounding Box包含了矩形框的中心坐标(x,y)、宽(w)、高(h)、置信度(c)和类(class)信息。

yolo3计算损失函数处理利用均方差外,还使用了二值交叉熵。

损失函数代码:

xy_loss = object_mask * box_loss_scale * K.binary_crossentropy(raw_true_xy, raw_pred[..., 0:2],
from_logits=True)
wh_loss = object_mask * box_loss_scale * 0.5 * K.square(raw_true_wh - raw_pred[..., 2:4])
confidence_loss = object_mask * K.binary_crossentropy(object_mask, raw_pred[..., 4:5], from_logits=True) + \
(1 - object_mask) * K.binary_crossentropy(object_mask, raw_pred[..., 4:5],
from_logits=True) * ignore_mask
class_loss = object_mask * K.binary_crossentropy(true_class_probs, raw_pred[..., 5:], from_logits=True)

xy_loss = K.sum(xy_loss) / mf
wh_loss = K.sum(wh_loss) / mf
confidence_loss = K.sum(confidence_loss) / mf
class_loss = K.sum(class_loss) / mf
loss += xy_loss + wh_loss + confidence_loss + class_loss

如上代码,Bounding Box的宽高信息利用均方差表示,其他预测信息如x,y,置信度和类概率都使用了二值交叉熵。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多