概述
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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复