YOLO v2-v3

概述
  • yolo v1的缺点是对物体的定位的精度不够准确,且召回率较低,v2在v1的基础上做了改进升级,提升了定位准确度及召回率,从而提高了模型的mAP。

    在VOC2007上的精度和速度比较,如下图所示:
    在这里插入图片描述
    yolo v2的改进策略及mAP值得比较如下图所示:
    在这里插入图片描述

接下来详细的介绍具体的每一个改进策略:
  1. YOLO v2在卷积层后边加入了batch Normalization,Batch Normalization可以提升模型的收敛速度,起到一定的正则化效果,降低了模型的过拟合问题,在加入BN后map提高了2.4个百分点。

  2. 高分辨率分类器(High Resolution Classifier)
    ImageNet分类模型基本采用大小为 224X224的图片作为输入,分辨率相对较低,不利于检测模型,所以yolo v1先以 224X224的图片大小进行训练,之后将分辨率调到448X448,使用这个高分别率在检测网络上进行微调,由于直接切换为高分辨率检测模型训练难以快速适应高分辨率,所以yolo v2在以224X224的大小在ImageNet上训练160个epoch后,再以448X448的大小训练10个epoch,接着再在检测网络上进行微调,mAP提高了4个百分点。

  3. 在YOLOv1中,输入图片最终被划分为 7X7单元格,每个单元格预测2个边界框。YOLOv1最后采用的是全连接层直接对边界框进行预测,其中边界框的宽与高是相对整张图片大小的,而由于各个图片中存在不同尺度和长宽比的物体,YOLOv1在训练过程中学习适应不同物体的形状是比较困难的,这也导致YOLOv1在精确定位方面表现较差;YOLOv2借鉴了Faster R-CNN中RPN网络的先验框(anchor boxes)策略,采用先验框使得模型更容易学习,为了使检测所用的特征图分辨率更高,移除其中的一个pool层。在检测模型中,YOLOv2通过缩减网络,使用416x416的输入,采样的总步长32,最后得到13x13的特征图,,每个单元格的各个anchor box都单独预测一套分类概率值。使用anchor boxes之后,YOLOv2的mAP有稍微下降,但是召回率大大提升,由原来的81%升至88%

  4. 维度聚类
    在Faster R-CNN,先验框的维度(长和宽)都是手动设定的,选取合适的先验框维度,使得模型更容易学习,从而做出更好的预测,为了选择合适的因此先验框,YOLOv2采用k-means聚类方法对训练集中的边界框做了聚类分析,为了选择预测框与ground truth的IOU重合度高的Anchor,聚类分析时选用box与聚类中心box之间的IOU值作为距离指标:
    在这里插入图片描述
    YOLOv2最终采用了5种Anchor

  5. Darknet-19
    YOLOv2采用了一个新的基础模型,称为Darknet-19,结构:19个卷积层和5个maxpooling层,如下图所示。主要采用 3X3卷积,并且采用 2X2 的maxpooling层之后,特征图维度降低2倍,同时将特征图的channles增加两倍,Darknet-19最终采用global avgpooling做预测,并且在3X3卷积之间使用 1X1卷积来压缩特征图channles以降低模型计算量和参数。
    在这里插入图片描述

  6. 直接位置预测(Direct location prediction )
    YOLOv2借鉴RPN网络使用anchor boxes来预测边界框相对先验框的offsets。边界框的实际中心位置(x,y),需要根据预测的坐标偏移值 (tx,ty),先验框的尺度(wa,hb) 以及中心坐标 (xa,ya)来计算:
    Xi
    YOLOV2没有使用FasterRCNN预测偏移和尺度变换,而是沿用YOLOv1的方法,就是预测边界框中心点相对于对应单元格左上角位置的相对偏移值,为了将边界框中心点约束在当前cell中,使用sigmoid函数处理偏移值,这样预测的偏移值在(0,1)范围内,计算公式如下图所示:
    其中边界框预测的4个offsets 为(tx,ty,tw,th),(cx,cy)为单元格的左上角坐标,该单元格对应的box维度的长和宽分别为(pw,ph)
    在这里插入图片描述
    通过聚类分析得到先验框与这种预测方法,YOLOv2的mAP值提升了约5%

  7. 多尺度训练(Multi-Scale Training )
    由于YOLOv2模型中只有卷积层和池化层,所以YOLOv2的输入可以不限于 416X416大小的图片。为了增强模型的鲁棒性,YOLOv2采用了多尺度输入训练策略.

训练损失计算
  • yolo v2使用的损失函数在v1的基础上做了修改,bbox的w和h的损失计算方式去掉了二次根号。
YOLO V3
  • 相比YOLOv2,YOLOv3使用残差模型和采用FPN架构,,因为包含53个卷积层,所以称为Darknet-53,YOLOv3采用了3个不同尺度的特征图来进行目标检测,分别为13x13,26x26,52x52,用来检测大、中、小三种目标;也没有使用softmax, 在训练过程中,使用二元交叉熵损失进行类别预测。
    在这里插入图片描述
    YOLOV3的详细结构如下:
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值