[深度学习从入门到女装]YOLO

YOLO v1

论文地址:You Only Look Once: Unified, Real-Time Object Detection

 

You Only Look Once(YOLO)能够快速进行目标检测,不想R-CNN需要进行region proposal、exact feature、svm回归等分多个步骤,YOLO只需要输入需要检测的图像便可以直接出结果

1、首先将输入图像分为n*n的grid,如果object的中心落在这个grid中,这个grid负责检测这个object的类型和位置

2、每个grid需要预测B个bounding box和confidence score,confidence定义为Pr(Object)*IoU,如果这个grid中没有object,那么confidence应该为0

3、每个bounding box含有五个需要预测的值:x、y、w、h和confidence,(x,y)为box相当于gird的坐标中心,w、h为width和height是关于整个图像的

4、每个grid还要预测C种类型概率

对于本文S=7,B=2,C=20

也就是把输入图像分为7*7的grid,每个单元格预测2个bounding box,一共有20种分类

 

整体网络结构如上

使用了leaky ReLU

loss functioin:

 

输出tensor为S*S*(B*5+C)

也就是S*S对应input image的网格划分,1*(B*5+C)对应到input image中的一个grid,B对应了每个grid中存在B个bounding box,C对应了grid中对应每个类别的概率

 

推荐听吴恩达讲的YOLO,比较容易理解https://mooc.study.163.com/learn/2001281004?tid=2001392030

 

YOLO v2

论文地址:YOLO9000: Better, Faster, Stronger

相较于YOLO v1的改进

1、加入了Batch normalization

对所有卷积层都加入BN,mAP提高了2%,增加正则化效果,可以移除dropout

2、高分辨率的分类器

目前基本上所有算法都使用ImageNet进行pre-trained,YOLO v1使用224*224的图像进行pre-trained,在detection的时候使用的是448*448

在YOLO v2上使用了ImageNet中448*448进行10epoch的fine-tuning,这让网络可以在高分辨率下表现更好

3、在卷积层上使用anchor box

移除了YOLO v1中的FC层,使用anchor来预测bounding box,移除了一层pooling得到更高分辨率的feature map,将输入分辨率收缩为416*416以方便确定中心,最终的feature map为相较于输入缩小32倍的13*13

在YOLO v1每张图片只进行98次detection,在v2使用anchor box的情况下,可以进行上千次detection

4、Dimension Clusters

使用anchor机制会产生两个问题,第一个就是anchor是需要手工选择的,anchor选择的好坏影响到最终的结果。在本文中提出使用k-means聚类来自动选择anchor

我们使用来定义距离,

最终根据实验结果表明,当k=5,也就是anchor数量为5的时候,效果和效率最平衡,和手工选择的anchor相比,很少有宽短的anchor,更多是长瘦的anchor

5、Direct location prediction

对于使用anchor box的另一个问题就是模型不稳定,特别是在早期过程中。较多的不稳定发生在对box(x,y)位置的预测

对于output feature map的每个cell需要预测5个anchor box,对于每个box需要预测五个值,每个cell的左上角为,bounding box宽高为

 

6、Fine-Grained Features.

对于使用output feature map尺寸为13*13的时候,对于大目标的检测效果很好,为了提高对小目标的检测,需要融入高分辨率的feature map的信息,和SSD不同的地方在于,SSD是对于高分辨率的feature map也是使用对低分辨率feature map相同的操作,都进行预测,而YOLO v2是将上一层26*26的feature map通过调整通道数和13*13的feature map concatenate在一起,类似于ResNet中对于不同尺寸feature map映射的方法一样,也就是把26*26*512变成13*13*2048就可以和之前13*13的feature map concatenate

7、多尺度训练

为了YOLO可以对于多尺寸输入更鲁棒,每10个batch随机选取一次新的输入尺寸,,这就使得网络可以对于多尺寸的输入更好的应对

8、Darknet-19

GoogLeNet比VGG16更好,文本还自己提出了一种分类的网络Darknet-19用来作为YOLO v2的主干网络,像VGG一样使用3*3小卷积核进行卷积,借鉴(NetWork in network)MIN中global average pooling来进行预测,还在3*3卷积前使用1*1卷积降维,使用BN来加速收敛和正则化

最终本文的模型Darknet-19含有19个卷积层,5个maxpooling

 

 

YOLO v3

论文地址:YOLOv3: An Incremental Improvement

(建议大家看看原论文,这篇文章写得很随意,完全不像是论文,开头写自己最近一年没怎么做研究,花了很多时间在twitter上,还玩了一段时间GAN,对于YOLO的改进完全没有什么兴趣,只是采用一点小改动让它变得更好,最后结尾说不要@他,他终于离开Twitter)

1、Bounding Box Prediction

 

2、Class Prediction

使用logistic classfier取代softmax,使用binary cross-cross-entropy loss来训练

 

3、Predictions Across Scales

YOLOv3在3个不同scale上预测box,使用feature pyramid networks提取各scale feature,最后的tensor为,其中3个box,4个box的offset,80种类别,1个ojbect分类

 

4、Feature Extractor

提出了新网络,加入了residual,含有53个卷积层,称为Darknet-53

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值