为了账号安全,请及时绑定邮箱和手机立即绑定

【算法】YOLOv1,v2,v3的区别

标签:
Premiere
1.损失函数(各分量之间的系数)

损失函数:


webp

image


三个版本损失函数系数详情:

versionscoordobjclassnoobj
yolov110.515
yolov25111
yolov3111gt相关
2.网络输出形式
  • v1: num_cell * num_cell*(5 *  num_box+num_class )
    需要注意的是上述式子中5表示:当前 cell 所有  box 的四个坐标xywh + 当前 cell 所有 box 的confidence,以及当前 cell 所对应的一个 box 的类条件概率(这里当然也可以说是当前 cell 的类条件概率)。

  • v2,v3: num_cell * num_cell *( num_anchor * (num_class + 1 + 4))
    需要注意的是这里引入了anchor机制,和v1版本会有较大差别,但整体网络仍然是回归没有变。上述式子中1,4表示:当前cell预测num_anchor 个bounding box,然后每个bounding box预测5个值:tx,ty,tw,th和to(这里的to类似YOLOv1中的confidence),这里的tx,ty,tw,th和v1中的有点区别(当然前向都是一样的,我说的区别就是更新机制。)
    需要注意的是这是网络预测的输出,最终这几个输出都是要和标签一起根据损失函数的定义来计算loss,更新权重的。
    那么下面几个问题解释了对应的标签都是怎么得到的,因为给定的标签只有目标类别和目标框,需要通过这两个条件来通过一定的逻辑得到我们计算loss需要的标签。

按照损失行数的行数来说明loss需要的标签计算。
一:localization,坐标误差。(标签不用计算,直接从输入中获取)
二:含有object的box置信度误差。(标签需要计算)
三:不含有object的box置信度误差。(标签需要计算)
四:含有object的cell的那个“对应”box计算得到的类条件概率误差。(标签需要计算)


如何计算二,三两个标签,通过以下几个问题来回答~
问:什么是当前cell的所有box的confidence呢?
答:每一个box都会有一个confidence。
每一个box 的confidence计算公式:
Pr(Object)*IOUtruth/pred。
所以根据公式可知,如果当前cell中没有object,那么Pr(Object)=0,所以confidence=0,;如果当前cell中有object,那么Pr(Object)=0,所以confidence=IOUtruth/pred。
最后的confidece_label的标签是0和1,为0的有两种情况,第一就是上面所说的Pr(Object)=0,第二是IOUtruth/pred的阈值小于规定的值。而为1的就是IOUtruth/pred大于阈值。


如何计算四个标签,通过以下几个问题来回答~
问:那么为什么还要说是当前 cell 对应的 box 呢?
答:因为每一个cell在初始化的时候生成的初始化box是大于1个的,而最终参与类条件概率计算的时候只会用到一个 box,所以要说明对应的box。


问:那么怎么样从初始化的多个box中选出这个"对应"的box呢?
答:由于这多个box都是属于当前cell的,而每个cell都会负责小于等于一个目标(ground truth)。这多个初始化box与当前cell负责的ground truth计算IOU,那么拥有max_IOU的那个box就是而这个“对应”的box。因此这一个box就能够代表当前cell了。


问:那要是当前cell负责目标的个数为0,那怎么确定这个“对应”的box呢?
答:我的理解是当,当前cell负责的目标个数为0的时候,这个cell所有的box的confidence都=0,而且类条件概率也都是0。所以这个时候不需要知道这个“对应”的box是谁。


问:怎么确定当前cell是负责目标的,还是不负责目标的呢?
答:如果一个目标的ground truth的中心点坐标在这个cell中,那么这个cell就是包含这个目标,也就是说这个目标的预测就由该cell负责。


问:最后我得到了这个IOU最大的“对应”的box之后,怎么通过这个box计算我所需要的第四个标签呢?
答:这个标签其实就是判断一下当前cell负责的是哪一个object,那么对应的那个类概率就是1,其余都是0。所以。。。。。其实这个标签是直接可以通过类别和cell的位置来得到的,并不需要通过这个对应的box来得到。相当于每一个cell都包含一个类标签。当然和这个标签做loss的时候是要确定这个对应的box的。所以上述的解释对于理解还是有用的。



作者:yuanCruise
链接:https://www.jianshu.com/p/7cc2e8a465e3


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消