YOLOv1和YOLOv2

视频链接:视频链接
论文链接:yolov1论文

YOLOV1

论文思想:

  • 将一副图像分成SXS个网络(grid cell),如果某个object的中心落在这个网格中,则这个网络就负责预测这个object
  • 每个网格要预测B个bounding box ,每个bounding box除了要预测位置之外(x,y,w,h 其中x,y表示针对于中心网格所处的位置,范围处于0-1之间,w,h是物体与整个图像而言之间的比值,范围也是处于0-1之间),还要附带预测一个confidence值( P r ( O b j e c t ) ∗ I O U p r e d i c t t r u t h P_r(Object)*IOU_{predict}^{truth} Pr(Object)IOUpredicttruth),每个网格还要预测C个类别分数。
    在这里插入图片描述
    最终计算的时候我们计算的是目标概率乘上每个网格的置信度,即 P r ( C l a s s ) ∗ I O U p r e d t r u t h P_r(Class)*IOU_{pred}^{truth} Pr(Class)IOUpredtruth

损失函数

  • bounding box损失
    λ c o o o r d ∑ i = 0 S 2 ∑ j = 0 B I i j o b j [ ( x i − x i ^ ) 2 + ( y i − y i ^ ) 2 ] + λ c o o o r d ∑ i = 0 S 2 ∑ j = 0 B I i j o b j [ ( w i − w i ^ ) 2 + ( h i − h i ^ ) 2 ] \lambda_{cooord}\sum_{i=0}^{S^2}\sum_{j=0}^BI_{ij}^{obj}[(x_i-\hat{x_i})^2+(y_i-\hat{y_i})^2]+\lambda_{cooord}\sum_{i=0}^{S^2}\sum_{j=0}^BI_{ij}^{obj}[(\sqrt{w_i}-\sqrt{\hat{w_i}})^2+(\sqrt{h_i}-\sqrt{\hat{h_i}})^2] λcooordi=0S2j=0BIijobj[(xixi^)2+(yiyi^)2]+λcooordi=0S2j=0BIijobj[(wi wi^ )2+(hi hi^ )2]
    由于x,y表示的是相对位置,而w,h表示的是相对大小,针对于不同大小的目标而言,偏移相同的距离,小目标产生的误差比大目标要大,因此我们需要更加关注小目标的情况,所以我们可以进行开根号处理

  • confidence损失
    ∑ i = 0 S 2 ∑ j = 0 B I i j o b j [ ( C i − C i ^ ) 2 + λ n o o b j ∑ i = 0 S 2 ∑ j = 0 B I i j n o o b j ( C i − C i ^ ) 2 \sum_{i=0}^{S^2}\sum_{j=0}^BI_{ij}^{obj}[(C_i-\hat{C_i})^2+\lambda_{noobj}\sum_{i=0}^{S^2}\sum_{j=0}^BI_{ij}^{noobj}(C_i-\hat{C_i})^2 i=0S2j=0BIijobj[(CiCi^)2+λnoobji=0S2j=0BIijnoobj(CiCi^)2

  • class损失
    ∑ i = 0 S 2 I i j o b j ∑ c ∈ c l a s s ( p i ( c ) − p i ^ ( c ) ) 2 \sum_{i=0}^{S^2}I_{ij}^{obj}\sum_{c\in class}(p_i(c)-\hat{p_i}(c))^2 i=0S2Iijobjcclass(pi(c)pi^(c))2

其中 I i o b j I_i^{obj} Iiobj表示第i个网格中是否存在物体, I i j o b j I_{ij}^{obj} Iijobj表示利用第j个标定框取预测第i个网格。

YOLOv1存在的问题

(YOLOv1算法定位不准确导致)

  • YOLOv1本身对边界框较为敏感(SXS的格子中,每个格子只预测两个边界框,并且每个边界框只预测一个类别),当出现鸟群的时候,预测效果不是很好。
  • YOLOv1的边界框中本身是从数据中提取边界框的大小尺寸,所以当数据的尺寸发生变化的时候,效果并不是很好。

YOLOV2

YOLOv1版本本身的召回率和定位的效果交叉,因此YOLOv2版本主要用于解决此类问题,做出了以下七点尝试。

  • 归一化处理

    可以帮助模型收敛,对模型进行正则化处理,且Dropout层可以移。

  • 高分辨率分类器

    与传统的采用224X224的分类器不一样,我们主要采用448X448的分辨率,可以提高4%的mAP。

  • 基于anchor的目标边界框预测
    去预测偏移而不是坐标可以简化模型,并且让网络更加容易去训练,此时map下降了0.3%但是召回率上升了7%,召回率上升意味着有更大的改进空间。

    大的物体,往往占据图像的中心位置,所以最好在中心位置有一个位置来预测这些物体

  • 边界框聚类
    采用K-means聚类的方式来anchor的大小,获得先验知识,因为当先验框的效果更好,网络的预测效果也更好。

  • 直接位置预测
    在这里插入图片描述
    当直接对位置进行预测的时候,每个网格左上角的边界框可能不是预测自己本身,因此会导致模型的不稳定性,我们仍然可以预测其中的偏移,将数值规定在0-1之间,这样可以使模型更加的稳定。

  • 细腻度特征
    在这里插入图片描述 利用passthrough layer将图像的尺寸变为原来的1/4,通道数变为原来的四倍,可以不减少图像的信息,并且去结合更底层的信息,知道图像更多的细节。

  • 多尺度训练

    由于v1网络中采用了固定分辨率大小的图片,因此当输入的数据发生变化的时候,训练的效果不是很好,早v2中每迭代10次,随机的更换模型的输入分辨率,模型的鲁棒性效果更好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值