我是靠谱客的博主 现代毛衣,最近开发中收集的这篇文章主要介绍[深度学习从入门到女装]YOLOYOLO v1YOLO v2YOLO v3,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

最后

以上就是现代毛衣为你收集整理的[深度学习从入门到女装]YOLOYOLO v1YOLO v2YOLO v3的全部内容,希望文章能够帮你解决[深度学习从入门到女装]YOLOYOLO v1YOLO v2YOLO v3所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部