yolov1-5学习

yolov1

1.7*7个grid cell,每个网格预测2个bounding box,xywh,而且这个预测的两个值是在同一个特征向量里面,cxywhcxywhccccccccccccccc;

2.中心点落在哪个anchor就由哪个anchor去预测

yolov2:13*13
改进的地方:

1.更换backbone

1.使用了Batchnormalization,加速网络收敛,改善梯度,起到正则化的作用

2.在更大的图像分辨率数据上训练

3.引进了anchor机制,给了每个grid cell预测5种长宽大小尺度不同的anchor,奇数个网格,偶数个万一点落在中间不好分配

4.细粒度特征,底层的细粒度信息和高层的下采样信息拼接,粗粒度特征可能包括颜色、纹理、形状

5.多尺度训练,不同尺度大小的输入,貌似是yolov2里面有全局平均池化,所以尺度不同也没关系

6.YOLOv2引入一种称为passthrough层的方法在特征图中保留一些细节信息。具体来说,就是在最后一个pooling之前,特征图的大小是26*26*512,将其1拆4,直接传递(passthrough)到pooling后(并且又经过一组卷积)的特征图,两者叠加到一起作为输出的特征图。

(pw​,ph​)代表对应Anchor模板的宽度和高度

yolov3的结构:

1.backnone改变为了darknet-53

2.为了加强算法对小目标检测的精确度,YOLOv3中采用类似FPN的upsample和融合做法(最后融合了3个scale,其他两个scale的大小分别是26×26和52×52),在多个scale的feature map上做检测

3.13*13每个小格子就比较大,因此预设边界框就大,就预测大目标,或者说浅层预测出来的更好的保留了细节信息这对于小目标检测是有利的,因此52*52预测小目标。

损失函数:分类用的多类别交叉熵,置信度用的二分类交叉熵。只有正样本才参与class,xywh的loss计算,负样本只参与置信度loss。

focal loss:

yolov4:

1.预测值的改变

2.在YOLOv3中针对每一个GT都只分配了一个Anchor。但在YOLOv4包括之前讲过的YOLOv3 SPP以及YOLOv5中一个GT可以同时分配给多个Anchor,它们是直接使用Anchor模板与GT Boxes进行粗略匹配,然后在定位到对应cell的对应Anchor

3.Optimizer Anchors,yolov4中作者优化了anchor,以对应512*512;

4.在YOLOv3中定位损失采用的是MSE损失,但在YOLOv4中作者采用的是CIoU损失。之前在YOLO系列网络详解P4中很详细的讲解过IoU LossDIoU Loss以及CIoU Loss,这里不在赘述

5.CSPDarknet53网络结构,减少网络的计算量以及对显存的占用,同时保证网络的能力不变或者略微提升,

  • 工作原理:CSP将输入特征图一分为二,一部分直接进入下一层,另一部分则经过一系列卷积层后再与前者相加。这样做的目的是使得深层网络能够同时利用未经过多变换的原始特征以及经过多层抽象后的高级特征,避免过度依赖深层的复杂变换导致信息丢失。

yolov5:

1.两者的计算结果是一模一样的,但SPPFSPP计算速度快了不止两倍

2.

3.Mosaic,将四张图片拼成一张图片,讲过很多次了,

Copy paste,将部分目标随机的粘贴到图片中,前提是数据要有segments数据才行

Random affine(Rotation, Scale, Translation and Shear),随机进行仿射变换,但根据配置文件里的超参数发现只使用了ScaleTranslation即缩放和平移。

MixUp,就是将两张图片按照一定的透明度融合在一起,具体有没有用不太清楚,毕竟没有论文,也没有消融实验。代码中只有较大的模型才使用到了MixUp,而且每次只有10%的概率会使用到。

Augment HSV(Hue, Saturation, Value),随机调整色度,饱和度以及明度。

Random horizontal flip,随机水平翻转

4.训练策略

Fast rcnn:

这里对小目标检测效果不好,因为整个网络是在高层  featuremap上识别的,高层的featuremap对底层的细节信息保留的不好,而小目标恰恰就是这些细节信息。

  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
yolov1-yolov5是一系列基于深度学习的目标检测算法,以下是它们的主要特点和改进之处: - yolov1yolo系列的第一个版本,它采用了单个卷积神经网络来进行目标检测。整体思想是将输入图像分成网格,并在每个网格中预测边界框和类别。然后使用非极大值抑制来排除重叠的边界框,最终得到检测结果。 - yolov2是yolo系列的第二个版本,相比yolov1做了许多改进。其中包括使用批量归一化(batch normalization)来加速训练过程,引入更高分辨率的分类器(hi-res classifier)来提高检测精度,引入先验框(anchor boxes)和维度聚类(dimension priors)来更好地预测边界框的位置和尺寸。 - yolov3是yolo系列的第三个版本,它在yolov2的基础上进行了进一步的改进。主要的改动包括引入了残差网络(resnet)来提高特征提取的效果,使用多尺度预测来提高对不同大小目标的检测能力,并采用多标签分类网络来增加模型的表达能力。 - yolov4是yolo系列的第四个版本,它在yolov3的基础上进行了一系列优化和改进。其中包括使用更深的网络结构、引入更多的技巧来提高训练和推理速度,使用焦点损失函数(focal loss)来解决类别不平衡问题,引入自适应形态匹配(Adaptive Spatial Matching)等技术来提高检测的精度和稳定性。 - yolov5是yolo系列的最新版本,它在yolov4的基础上进行了一些改进。主要包括使用更轻量级的网络结构,引入新的数据增强方法和训练策略,以及改进的损失函数等。yolov5在保持检测精度的同时,显著提升了推理速度和模型大小。 总结来说,yolov1-yolov5是一系列不断改进的目标检测算法,它们在网络结构、特征提取、损失函数等方面进行了不同的改进和优化,从而不断提高了检测精度和速度。每个版本都有自己的特点和改进之处,选择适合的版本取决于具体的应用场景和需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值