YoloV2学习笔记

Yolov2 学习笔记

1.动机

yolo本身还存在一些系列的问题。与经典的目标检测框架相比(Faster-RCNN等),yolo存在着比较高的bounding box定位误差和比较低的召回率。在保证最终的分类准确率不变的情况下,解决上述的两个问题,作者基于yolo框架提出了yolov2。

2.改进点

通常为了获得一个较好的结果,业界通用的做法是训练一个更宽更深的网络或者对多个模型进行模型融合。然而较深和较宽的网络以及模型融合无疑会增加网络推理的时间。为了兼顾准确率和实时性,yolov2做出了如下的改进。

 

首先作者简化了yolo使用的googlenet变形后的网络。

作者增加了batchnorm用于正则化网络,加快网络收敛并去掉了dropout层。

相比于先使用224*224的图像训练,再用448*448的图像进行检测,yolov2在分类训练阶段使用448*448的影像,再检测阶段使用416*416的影像

yolo使用全连接特征来直接预测bound ing box的坐标值。为了简化网络的学习,作者将Faster-RCNN中的anchor box概念引入了yolo框架,通过预测anchor box和bounding box的坐标偏移值来简化网络的学习。同时作者去掉了网络中的一层pool层,使得最终使用的特征图能够拥有更高的分辨率。在yolov2中,作者还去掉了yolo中的全连接结构,改为使用卷积层来对最后的结果进行预测。在yolo中,最后用于检测的特征图大小是7*7,而yolov2中最后一层的特征图是13*13。之所以特征图的尺寸是奇数是为了保证特征图上的一个元素映射回原图后其所涵盖的范围只有一个中心。对于每一个anchor box,网络需要预测其类别概率和置信度得分。与yolo相同的是,该置信度得分为预测的bounding box和真实的bounding box的IOU。

yolo对于每一个gridcell预测2个bounding box,由于yolo最有一层的特征图是7*7,因此yolo共需要预测7*7*2(98)个bounding box,当使用anchor box机制后,yolov2预测的bouding box达到了上千个,过多的bounding box导致yolov2的MAP略低于yolo,但recall缺大大提高。

在之前的目标检测框架中,如faster-RCNN,其anchor box的scale和aspect ratio都是人为指定的。以上两个参数决定了对于同一个anchor box需要变形的程度,scale和aspect ratio的个数越多说明对应的anchor box也越多。

yolov2并不是通过人的主观意识来选择anchor box的大小和数量。作者通过对数据集中的bounding box的宽高进行聚类,从而确定anchor box的大小。

 

由上图知,VOC数据中的bounding box要比COCO数据中的bounding box大一些,随着聚类数目的增多,最终聚类中心的宽高和真实bounding box的IOU越来越高。然而过多的anchor box会加大计算资源的消耗,于是作者做出了妥协,并将聚类数目定为5来平衡性能和速度。

在faster-rcnn中,边界框的定位是通过预测anchor box和bounding box的偏移值来确定的。

 

这是yolo论文中的公式,其中tx和ty都是网络预测的偏移值,wa和ha是anchor box的宽高,xa和ya是anchor box的中心的坐标。

这个公式和faster-RCNN中的不同。

 

在faster-RCNN中,预测bounding box的真实坐标应该是:

x = (tx * wa) + xa

y = (ty* ha)+ ya

所以我感觉yolo作者应该是把公式写错了。当然也有可能是我自己没理解到。

以上是通过预测bounding box的中心坐标相对于anchor box的中心坐标的偏移值来实现预测。yolov2的作者指出,这种做法会带来网络训练的不稳定性,要花很长的时间才会收敛。因为这种做法是无约束的做法,任意anchor box都能偏移至图像的任意位置。作者摒弃了这种做法,使用grid cell的坐标来预测bounding box的坐标。

 

其中cx和cy是grid cell的左上角坐标,先验框的宽高为tw和th,通过sigmoid函数将tx和ty限制在0-1之间,从而将预测的bx和by限制在当前cell中。

为了检测小目标,作者还将前面层的特征图用于检测,通过使用一个特殊的层passthrough layer来将26*26的特征图采样为4个13*13的新特征图,最后将该特征图与下层13 *13的特征按通道进行concat。

最后作者为了提高检测速度,自己定义了darknet-19网络结构,如上图。

训练阶段,为了学习多尺度的特征,作者使用了多分辨率的图进行训练

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值