当前位置:   article > 正文

YOLO算法发展史 v1 v2 v3_yolov的演变

yolov的演变

YOLO系列算法在工程界应用广泛,在与其他检测算法精度相同时,可以达到3到4倍的前向速度。
1.YOLO v1:是一种Anchor-Free的算法
算法利用回归的思想,使用一阶网络直接完成了分类与位置定位两个任务,速度极快。
回归与分类的区别:
损失函数不同,回归问题建立了一个度量空间。分类问题建立了定性空间;

YOLO v1首先利用卷积神经网络进行了特征提取。输入图像的尺寸固定为448×448,经过24个卷积层与两个全连接层后,最后输出的特征图大小为7×7×30(30通道)。·实际上是将图像划分为了7x7的区域,每个区域均对应特征图上的一个点。v1在每个区域上均预测两个边框(边框的中心点落入区域之内)。
在这里插入图片描述
对于真是你的实物而言,其中心落入网格内时,则该网格负责预测该物体。检测GT与两个框间的IOU,选取其中大的一个框负责回归真实位置。
其预测的结果中包含:(V1中是物体的20分类)
(1)类别概率,只有20个值,两框框选的一定是同一个物体。(Faster rcnn将背景也当成一个类别,yolo则将置信度与物体类别分开处理)
(2)置信度,两框是否包含有物体,无论什么类别,一共2个值
(3)回归边框的位置,两框一共8个值
注意v1中并不存在先验框。
其损失值的计算方法为:
当真实物体中心落于任一区域时,该区域负责检测。其中IOU大的一个框为真值框,其置信度为1,该区域内另一边框为负样本,没有类别及位置损失,其置信度为0
在这里插入图片描述
优点:
处理速度极快,可以达到45 FPS。
缺点:每个区域只有两个框,一个预测类别,故其对靠得特别近的物体,及小物体的检测效果并不好。无先验框,对宽高比变动大的物体不适应。位置损失函数与物体大小直接相关,定位并不精确。
2.YOLO v2
(1)使用了名为DarkNet的新型网络结构,精度与VGG相同,但大幅降低了计算量。
加入了BN层,在每一个卷积之后,激活函数LeakyReLU之前。
利用Passthrough层进行了深浅层特征的融合(将浅层26×26×512的特征变换为13×13×2048)
(2)v2每个区域中有5个边框。每个边框有自己独立的类别值,故每个边框共预测有20个类别+1个置信度+4个位置共25个预测值
(3)引入了先验框,Faster rcnn中的先验框由手工进行设计。聚类算法实现先验框的尺度,预测先验框与真实物体的偏差。
损失的计算:
预测框与真实框的IOU小于0.6时,设置为负样本。
物体落入区域中心时,其中与GT最大的IOU设置为正样本(不受0.6的影响)。
同一区域内如果有多个 IOU大于0.6,取最大的一个进行计算,其余大于0.6的预测框不作为正样本也不作为负样本,不参与计算。
其损失函数最终如下图所示:
在这里插入图片描述
优点:模型的精度提升又保持速度优势。
缺点:工程化调参引入了损失函数,且对小物体检测的改善并不明显。
3 YOLO v3 多尺度特征融合:
(1)提出了创新型的网络结构:
darknet-53,固定416x416x3的网络输入:
网络大量使用了残差连接,牺牲了部分网络速度,进一步提升了精度。
(2)引入了多尺度预测:
YOLO v3输出了3个大小不同的特征图,从上到下分别对应深层、中层与浅层的特征。深层的特征图尺寸小,感受野大,有利于检测大尺度物体,而浅层的特征图则与之相反,更便于检测小尺度物体,这一点类似于FPN结构。
(3)使用聚类算法得到9种大小不同的先验框,并进行分配:
在这里插入图片描述
特征图上每点对应3个先验框。
(4)YOLO v3的另一个改进是使用了Logistic函数代替Softmax函数,以处理类别的预测得分。原因在于,Softmax函数输出的多个类别预测之间会相互抑制,只能预测出一个类别,而Logistic分类器相互独立,可以实现多类别的预测。Softmax可以被多个独立的Logistic分类器取代,并且准确率不会下降,这样的设计可以实现物体的多标签分类,例如一个物体如果是Women时,同时也属于Person这个类别。
总体而言,yolo算法在遮挡及拥挤的情况下,难以实现较好的检测精度,但检测速度较好。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/643885
推荐阅读
相关标签
  

闽ICP备14008679号