目标检测算法之YOLOV3

本博客中YOLO系列均为个人理解笔记,欢迎评论指出理解有误或者要讨论的地方

YOLOV3模型相比于v2来说,实质性的改进并不大,更多的是一些技术的堆叠。其并不像yolov2对于v1一样,由巨大的改变和提升。

其相对于yolov2,改变在于:
1) Yolov3模型骨干网络发生了改变。在这里插入图片描述
其并没有继续用v2的骨干网络DarkNet-19,而是改变为了Darknet-53.而网络深度增加也对提升效果做出了贡献。
注意:我们发现拥有152层的resnet效果还不如53层的darknet-53??其实对比两个模型我们可以发现,两个模型大体上类同,区别就在于resnet中实现了最大池化下采样操作,而在本backbone中没有用,不知道是不是这个原因??

2)在YOLOV2中,作者对v1中每个特征方格预测2个框的方法进行了修改,用聚类的方法确定scale和比例尺寸,由此来决定每个特征方格预测多少框。但是在v3中,仍然采用1:1,1:2,2:1三种尺寸来预测三个框。

看完改变后,下面看v3的整体结构图:在这里插入图片描述
V3网络一共会产生三个特征输出层,对应尺寸分别是13,26,52. 然后不同尺寸的特征层可以对应预测不同大小的目标,大的自然预测小目标,小的自然预测大目标。在上面每一个像素点上生成 3 * (4 + 1 + 80) 因为coco数据集是80类别的。
在这里插入图片描述

最终是根据1*1卷积层来生成预测输出的。将该卷积依次划过每一块方格,都会生成3种比例的anchor。但是,要记得,此时输出的四维回归参数不是和faster rcnn或者ssd一样,相对于anchor的偏移量,而是相对于该方格左上角的偏移量,因此在最终位置预测公式上,需要做出相对修改。这和v2是一致的。

有了模型架构,也知道最终生成多少框,那么我们现在要计算损失,就需要正负样本,V2,V3中正负样本的选择:
在这里插入图片描述

1)我们计算生成的框和真实框的IOU值,大于某一阈值的作为正样本待选样本
2)看物体中心点在哪个方框内,那么这个方框内的三种anchor谁的IOU大于阈值,谁就是正样本。
其实也可以看作,先看物体中心点属于哪一个方格,然后看该方格的三个anchor框与物体的IOU值,大于阈值的都是正样本。

v2v3中损失的计算:
和v1一样,由三部分组成。置信度损失,类别损失,回归参数损失,但是计算方法可大不相同。
在这里插入图片描述

1)置信度损失,这个其就是二至交叉熵损失函数
在这里插入图片描述
2)类别损失 也是二值交叉熵损失
在这里插入图片描述
3)回归参数损失 这个就需要根据我们公式,计算原理一致,但是公式稍稍不同,因为这里CX和cy不是anchor的原坐标,而是方格左上角坐标,所以还是减一下,得到真实偏差,然后和预测偏差做loss 均方误差 MSE
在这里插入图片描述

到这里,v3的重点就结束了,其实对于一个模型来说,我们最基本要知道和明白的就是:模型的结构,模型输入什么,模型输出什么,怎么选择正负样本计算loss,如何计算loss。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值