YOLO网络理解

yolo基本理论

  1. 将一幅图像分解成SxS个网格(cell),如果在拿到图片对目标进行人工标注的结果框(box)中心落在某一个网格内,那这个网格就负责预测这个目标。
  2. 每个网格预测b个box(一般是2),除了预测每个box的位置(x y w h)之外,还要预测一个confidence值(一个box一共五个要被预测的值)。再加上要预测的类别的分数(准确度)。一共参数有30个参数要预测。
    假设一张图被分割成7x7个网格,那么一张图就有7x7x30这么一个tensor。
    note:x,y是相对于整个图像的中心点的位置(0-1之间)
    w,h也是相对于整个图像而言的(0-1之间)
    而针对单个cell的confidence是相对于原始标注框的交并比计算出来的。 P r ( O b j e c t ) ∗ I O U p r e d t r u t h Pr(Object)*IOU^{truth}_{pred} Pr(Object)IOUpredtruth,这里的 P r ( O b j e c t ) Pr(Object) Pr(Object)就是说这个网格是否和人工标注的框有交集,有交集就是1,没有就是0。至于后面的 I O U p r e d t r u t h IOU^{truth}_{pred} IOUpredtruth这个就是交集区域面积闭上并集区域面积了。
    每个类别的分数计算方法就是
    P r ( C l a s s i ∣ O b j e c t ) ∗ P r ( O b j e c t ) ∗ I O U p r e d t r u t h Pr(Class_i|Object)*Pr(Object)*IOU^{truth}_{pred} Pr(ClassiObject)Pr(Object)IOUpredtruth
    而这里的 P r ( C l a s s i ∣ O b j e c t ) Pr(Class_i|Object) Pr(ClassiObject)指的是如果这个object是类别i那就是1不是就是0。
  3. 损失函数计算分为三个部分,box损失,confidence损失,class损失
    box损失中x,y的损失是点和点的损失,点与点之间的损失就直接用维度空间的距离计算求和就可以了 [ ( x i − x i ^ ) 2 + ( y i − y i ^ ) 2 ] [(x_i-\hat{x_i})^2+(y_i-\hat{y_i})^2] [(xixi^)2+(yiyi^)2],w,h的损失就需要先开方相减再求和了 [ ( w i − w i ^ ) 2 + [ ( h i − h i ^ ) 2 ] [(\sqrt{w_i}-\sqrt{\hat{w_i}})^2+[(\sqrt{h_i}-\sqrt{\hat{h_i}})^2] [(wi wi^ )2+[(hi hi^ )2],原因是小目标框重叠度相比较大目标重叠度要小,可能看起来相同的重叠情况,但是计算iou的时候差别却很大。
    confidence计算过程中,计算正负样本的损失 [ ( C i − C i ^ ) 2 + λ n o o b j ( y i − y i ^ ) 2 ] [(C_i-\hat{C_i})^2+\lambda_{noobj}(y_i-\hat{y_i})^2] [(CiCi^)2+λnoobj(yiyi^)2],希望yolo不仅识别正样本可以准确,同样的,yolo不识别负样本也准确。
    最后就是类别损失,略。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值