基于飞桨的单阶段目标检测YOLO-V3模型的简易实现

本文介绍了YOLO-V3目标检测模型的设计思想,包括单阶段检测、候选区域生成、锚框、预测框调整和损失函数。详细讲解了如何利用Darknet53骨干网络提取特征,并预测物体位置和类别。此外,还涵盖了模型的损失计算和多尺度检测策略。
摘要由CSDN通过智能技术生成

模型介绍

0.

YOLO-V3使用单个网络结构,在产生候选区域的同时即可预测出物体类别和位置。(不需要像R-CNN等系列双阶段目标检测算法,先产生候选区域,再预测出物体类别和位置)并且,在YOLO-V3模型中一个真实框只对应一个正的候选区域。

1.设计思想

① 按照一定的规则在图片上产生一系列候选区域,然后根据这些候选区域和图片上物体真实框之间的位置关系对候选区域进行标注。

  • 将与真实框足够接近的(用交并比来衡量)那些候选区域标注为正样本(objectness=1),同时将真实框的位置作为正样本的目标位置;
  • 将那些与真实框偏离较大的候选区域标记为负样本(objectness=0)(负样本不需要预测位置或类别);
  • 在YOLO-V3模型中,由于一个真实框只对应一个正的预测框,那么对于那些和真实框足够接近但不是最接近的预测框而言,直接设为负样本是不合理的。因此YOLO-V3算法设置了一个IoU阈值iou_threshold,当预测框的objectness不为1,但是其与某个真实框的IoU大于iou_threshold时,设置objectness=-1,不参与损失函数的计算。

② 使用卷积神经提取图片特征并对候选区域的位置和类别进行预测。
③ 那么,可以将每个预测框看成一个样本,然后根据真实框相对其的位置和类别进行标注进而获得标签值,通过将网络模型预测其位置和类别与网络预测标签值进行对比建立Loss。
YOLO-V3算法训练流程图

2. 产生候选区域

① 按一定的规则在图片上生成一系列位置固定的锚框,将这些锚框看作是可能的候选区域。
② 对锚框是否包含目标物体进行预测。如果包含目标物体,还需要预测所包含物体的类别,以及预测框相对于锚框位置需要调整的幅度。

2.1.生成锚框

将原始图片划分成m*n个小块,选定单个小块的区域尺寸就可以确定m和n。YOLO-V3算法会在每个区域的中心根据不同anchor生成一系列的锚框。

2.2.生成预测框

由于生成的锚框的大小和位置是固定的,几乎没有可能会和真实框的边界重合;而对于正样本要进行预测位置和类别,因此需要对锚框进行微调形成预测框。
// 锚框:[ c x c_x cx, c y c_y cy, p w p_w pw, p h p_h ph]
// 预测框:[ b x b_x bx, b y b_y by, b w b_w bw, b h b_h bh]
// 调整幅度:[ t x t_x tx, t y t_y ty, t w t_w tw, t h t_h t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值