前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >13.YOLO系列算法详解1:YOLOV2

13.YOLO系列算法详解1:YOLOV2

作者头像
和蔼的zhxing
发布2019-03-11 14:50:58
1.2K0
发布2019-03-11 14:50:58
举报

这部分基本是在YOLOV1的基础上的一些改进,并且还提出了YOLO9000(9000类检测,恐怖)。 文章主要是三个部分,名字也起的很简洁: BetterFaster,Stronger

1. Better。

作为YOLO来说,有两个缺点:

  1. 定位不够准确。
  2. 和基于region proposal类的方法相比召回率更低。
1.1 Batch Normalization.

简单来讲就是在每个卷积层的后面(也就是每个卷积层的输入)都加了BN层,这样会收敛快一点,加入BN之后把dropout去掉,实验证明可以提高2%的mAP. (作者也就只讲了这一段,所以就这样了)

1.2 High Resolution Classifier.

这个主要是介绍了一下检测模型的一般训练策略。一般都不会从随机初始化所有的参数来开始的,一般都是用预训练好的网络来fine-tuning自己的网络,预训练的网络一般是在ImageNet上训练好的分类网络。 在fine-tuning的时候:

  • YOLOV1预训练的时候使用224*224的输入,检测的时候采用的是448*448的输入,这会导致分类切换到检测的时候,模型需要适应图像分辨率的改变。
  • YOLOV2中将预训练分成两步:①:先用224*224的输入来训练大概160个epoch, 然后再把输入调整到448*448再训练10个epoch,然后再与训练好的模型上进行fine-tuning,检测的时候用448*448就可以顺利过渡了。

这个方法竟然提高了4%的mAP.

1.3 Convolutional With Anchor Boxes

这段作者简单借鉴了Faster Rcnn的做法,引入anchor. YOLOV2主要做了下面的改变:

  1. 删除了全连接层和最后一个pooling层,使得最后的卷积层可以有更高的分辨率。
  2. 缩减网络,用416*416的输入代替448*448,这样做是希望得到的特征图都是奇数大小的宽和高,奇数大小的宽和高会使得每个特征图在划分cell的时候只有一个中心cell,因为大的目标一般会占据图像的中心,所以希望用一个中心cell去预测,而不是四个中心cell。

YOLOv1中将输入图像分成77的网格,每个网格预测2个bounding box,一共只有772=98个box。 YOLOv2中引入anchor boxes,输出feature map大小为1313,每个cell有5个anchor box预测得到5个bounding box,一共有13135=845个box。增加box数量是为了提高目标的定位准确率。 作者:零尾 来源:CSDN 原文:https://blog.csdn.net/lwplwf/article/details/82895409

按照作者的说法,这个改进的的效果是非常small的,YOLOV1只需要预测98个box,而加入anchor的话快要上千,召回率从0.81上升到0.88, mAP从69.5下降到69.2。

1.4:Dimension Clusters

作者说他们在试图吧anchor box用在YOLO的时候遇到了两个issues。

  1. Faster R-CNN中的anchor box的大小和比例是按照经验来设定的(hand picked),然后在训练的时候调整anchor box的尺寸,

作者想的是可不可以通过一定的方式事先确定这样的候选框呢,最终作者采用了K-means方法,但是如果用标准的K-means(欧式距离)的话会导致大的box会比小的box获得更大的误差,更准确的方式是使用IOU来算,所以作者定义了IOU距离,按照IOU越高距离越小的需求,很容易写出这样的公式:

d(box,centroid)=1-IOU(box,centroid)
d(box,centroid)=1-IOU(box,centroid)

上图是在VOC和COCO上的聚类结果,综合来说,随着K的增加,平均的IOU是增加的,但是为了综合考虑模型的复杂度和召回率。最终选择K=5

作者还发现:The cluster centroids are significantly different than hand-picked anchor boxes. There are fewer short, wide boxes and more tall, thin boxes.这个是个无关紧要的结论了。

最终实验对比发现:

  1. 采用聚类的5中box就能达到Fast-RCNN 9中box的效果。
  2. 采用聚类分析得到的先验框比手动设置的平均的IOU值更高,模型更容易训练和学习。


未完待续

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.02.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Better。
    • 1.1 Batch Normalization.
      • 1.2 High Resolution Classifier.
        • 1.3 Convolutional With Anchor Boxes
          • 1.4:Dimension Clusters
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档