美文网首页
目标检测 | YOLOv3开启的回归网络下的多尺度策略

目标检测 | YOLOv3开启的回归网络下的多尺度策略

作者: yuanCruise | 来源:发表于2019-03-09 22:11 被阅读0次

1.简介

通过文章目标检测 | 让YOLOv1算法告诉你回归网络的能力目标检测 | 让YOLOv2告诉你Trick的力量讲述了YOLO算法的原理和部分改进策略。YOLO系列算法在刚被提出时其目的在于提升检测网络的速度,因此其算法的召回率和检测率相对于Faster RCNN系列算法会要低一些。作者为了提升YOLO算法的实用性,提出了YOLOv2,在不损失速度的情况下提升了网络精度。但从下图的左图中我们可以发现,在输入同等级分辨率图片的情况下,YOLOv2的精度是没有SSD系列算法好的。而YOLOv3的提出,彻底稳固了YOLO系列算法的地位,因为如下图右图所示YOLOv3使得YOLO系列算法的性能超越了SSD系列。因此本文就从原理上来简单阐述下YOLOv3算法的主要改进点,后续会针对YOLOv3算法解析darknet框架下的训练源码。

2.改进点

1.box是否含有物体改进
利用logistic回归计算每个bounding box是否含有物体(二分类:有或者没有)。在该过程中,之前的YOLOv2算法是看ground truth的位置中心坐标在哪,来判定当前bounding box是否含有物体。而在YOLOv3中将与ground truth的IOU最大的那个bounding box认为是包含该物体,因此YOLOv3的特点是每个ground truth都仅仅分配一个bounding box。对于那些没有被分配的bounding box,网络计算损失时,仅仅计算是否包含物体损失,不计算坐标和类概率损失。

2.类概率预测改进
对于类概率预测,在YOLOv2中是直接利用softmax进行类概率预测。而在YOLOv3中对于每一个类,使用独立的logistic分类器,使用交叉熵损失计算类概率损失。用这种策略的原因是,考虑到在利用softmax分类时,需要把所有的类别独立开来(one hot编码的特点),但是一旦遇到如(女人 ,人)这种包含类别时,用softmax就不是那么合适了。因此才引入logistic分类器结合多标签,来处理此类问题。

3.多尺度检测策略改进
YOLOv3的多尺度策略在三个不同的尺度作detection。
v2只有一个detection,v3一下变成了3个,在3个不同尺度的feature map上进行detection。在输入为416的情况下这三个特征图的尺度为13*13,26*26,52*52,这应该是对小目标影响最大的地方。
如下图所示,在输入为640*352的情况下,三个不同尺度的detection位置和特征图大小(分辨率搞成宽高不一样,感觉更直观一点)。

70  conv        27    1*1/1  20*11*256 ->  20*11*27 
71  detection
72  route       29
73  conv        256   3*3/2  80*44*128 ->  40*22*256
74  route      73 48  
75  conv        256   1*1/1  40*22*512 ->  40*22*256
76  conv        256   3*3/1  40*22*512 ->  40*22*256
77  conv        256   1*1/1  40*22*512 ->  40*22*256
78  conv        27    1*1/1  40*22*512 ->  40*22*27
79  detection
80  route       10
81  conv        128   3*3/2  160*88*64 ->  80*44*128
82  route      81 29  
83  conv        256   1*1/1  80*44*256 ->  80*44*256
84  conv        256   3*3/1  80*44*256 ->  80*44*256
85  conv        256   1*1/1  80*44*256 ->  80*44*256
86  conv        27    1*1/1  80*44*256 ->  80*44*27
87  detection

3.YOLOv3的网络框架图

如下图所示,左边虚线框就是YOLOv3网络的特征提取模块的示意图,以416分辨率的图像作为输入,根据网络的深入,会产生3中不同尺度的特征图(52,26,13),YOLOv3在这三个尺度上进行不同尺度的目标检测。


如上图的框架所示,我们发现整个网络中用到了上采样操作,这其实是一种相对比较耗时,而且性价比不高的手段,因此在我用YOLOv3网络时做了一点小改动,在不损失网络精度和网络思想的前提下去掉网络的上采样过程。思路就如下图所示,通过stride为2的卷积实现下采样,最终也能实现三个尺度的detection,而且可以不用到上采样操作。


本文简单介绍了一下YOLOv3的策略,后续会更新一些YOLOv3的源码解读,欢迎持续关注~

相关文章

  • 目标检测 | YOLOv3开启的回归网络下的多尺度策略

    1.简介 通过文章目标检测 | 让YOLOv1算法告诉你回归网络的能力和目标检测 | 让YOLOv2告诉你Tric...

  • SSD

    SSD YOLOv2在多尺度方面,只加了一个多尺度的训练检测网络,真正检测的时候,估计没有多尺度,还只是输入到网络...

  • mscnn

    目的:快速的多种尺度物体的检测(可以检测小目标)框架:proposal 子网络 + detecte 子网络原理:在...

  • “多尺度”目标检测问题

    一、 “多尺度”目标检测问题简介 在目标检测任务中,被测目标的大小经常是不固定的,自动驾驶相关检测任务可能要同时检...

  • 【转载】目标检测网络之 YOLOv3

    https://www.cnblogs.com/makefile/p/YOLOv3.html yolo-idea ...

  • 无人机、航空图像目标检测总结

    小目标检测几点总结 一、单阶段目标检测主要步骤: 1、特征提取骨干网络设计 2、分类头网络设计 3、回归头网...

  • 第 8 章 检测兴趣点

    本章包括以下内容: 检测图像中的角点; 快速检测特征; 尺度不变特征的检测; 多尺度FAST 特征的检测。 8.2...

  • 结合源码分析YOLOv3网络模型(一)

    本篇文章并没有涉及YOLOv3的训练内容,实际是根据原作者使用 PyTorch 实现基于YOLOv3的目标检测器的...

  • YOLO v1阅读笔记

    摘要 作者提出了一种目标检测的网络,将目标检测问题当做一种回归问题,同时回归出box和class,一种可以端到端训...

  • YOLOv3多类多目标检测

    yolov3在目标追踪方面是借鉴了其它算法的优点形成的,既加快了运算时间又提高了识别的精度。单类多目标的有...

网友评论

      本文标题:目标检测 | YOLOv3开启的回归网络下的多尺度策略

      本文链接:https://www.haomeiwen.com/subject/hzbieqtx.html