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

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,置信度和类概率都使用了二值交叉熵。

欢迎扫码关注:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值