YOLO系列演化,各版本区别

YOLO系列输入尺寸和格子选取

yolo输入画格子(grid)
yolov1train:224x224xx3
test:448x448x3
7x7x((4+1)x2+20)
yolov2train:224x224xx3X160+448x448x3X10
test:多尺度图片
13x13x5x((4+1)+20)
yolov3train:416x416x3
test:多尺度图片
(13x13+26x26+52x52)x3x((4+1)+80)
yolov4train:416x416x3
test:多尺度图片
(13x13+26x26+52x52)x3x((4+1)+80)
yolov5train:640x640x3 or 1280x1280x3
test:多尺度图片
(20x20+40x40+80x80)x3x((4+1)+80)
yolov6同上同上
yolov7同上同上
yolov8同上(20x20+40x40+80x80)x(4(x16)+80)

YOLO系列网络层区别

yolobackboneneckhead
yolov1类似于GoogleNet的darknet19全连接(FC)
yolov2DarkNet19、加入BNpassthrough layer1x1卷积
yolov3DarkNet53、加入了残差FPN三个头
卷积
yolov4CSPDarkNet53SPP+PAN同上
yolov5New CSPDarkNet53(C3)SPPF+NewCSP-PAN同上
yolov6EfficientRep
CSP-Block修改为RepBlock
SimSPPF+
基于Rep和PAN构建了Rep-PAN
解耦头
(分开了目标检测中的边框回归过程、类别分类过程和置信度)
yolov7加入ELAN模块SPPCSPC+基于E-ELAN和PAN构建了ELAN-PAN和yolov5一样,未使用解耦头
yolov8New CSPDarkNet53(C2F)SPPF+NewCSP-PAN解耦头
(分开了目标检测中的边框回归过程和类别分类过程(r融合置信度))

YOLO系列茅框类型损失和正样本选择策略

yoloAnchorLoss(回归、class分类、object分类)正样本选择(和GTBox进行损失运算的Bbox)
yolov1MSEGTBox中心点所在的格子预测出的两个Bbox中IOU较大的为正样本
yolov2用K-means⽣成5个Anchor Box的尺度MSEGTBox中心点所在的格子生成的5个Anchorbox中IOU较大的为正样本,一个GT对应一个AnchorBox
yolov3用K-means⽣成大中小三种尺寸的3个Anchor Box的尺度MSE+BCE所有框Max_IOU(Gtbox,AnchorBox)
yolov4给定了与yolov3不同的大中小三种尺寸的3个Anchor Box的尺度BCE+CIOU所有的的AnchorBox的IOU>阈值
yolov5AnchorTempBCE+CIOUGTBox中心点所在的格子和离中心点最近的两个格子所产生的AnchorBox的宽高比小于Anchor_t(Anchor_t=4
yolov6AnchorPoint分类损失最终采用VAriFocal Loss,回归用SIOU/GIOU,分类用二元交叉熵  TAL :
①在各个特征层计算gt与预测框IoU及与分类得分乘积作为score,进行分类检测任务对齐
  ②对于每个gt选择top-k个最大的score对应bbox
  ③选取bbox所使用anchor的中心落在gt内的为正样本
  ④若一个anchor box对应多个gt,则选择gt与预测框IoU最大那个预测框对应anchor负责该gt
yolov7用K-means⽣成大中小三种尺寸的3个Anchor Box的尺度回归损失用CIOU, 置信度用交叉熵,分类用二元交叉熵正样本选择:
1)选出与GT中心点相近的3个graid_cell对应的3个anchor_Temp。anchor_Temper的 宽高在1/4至4之间时能包含整个GT,该anchor_Temper为预选正样本(Bbox)。
OTA算法:
2)动态确认真正需要的正样本数量:计算GT与上述Anchor_Temp的IOU,IOU从大到小排序,前10个IOU的值求和,得到的值就为正样本数量K。
3)取GT_box 与预选正样本的的iou的交叉熵损失 A(pre  置信度 * pre 分类)和GT_box置信度的交叉熵损失B计算cost = B + 3 * A,将每个预选框按照cost从小到大排序,取前K个,该K个Bbox就为最终的正样本
4)如果存在1个Bbox被多个GT选中,选择cost最小的GT。
yolov8AnchorPoint分类采用BCE Loss,
回归采用了DFL + CIoU
GTBox框住格子的中心点的Anchor point作为候选,用候选框和GTBox进行IOU,用IOU和置信度计算align_metric(对齐指数),再选取top10,如果有一个Bbox对应多个GTBox,选取IOU最大的

YOLO系列编解码方式、时间和作者

yolo解码(tbox->Bbox)发布时间作者
yolov1bx=tx+Gx
by=ty+Gy
bw=tw
bh=th
2015\6\8Joseph Redmon(小马哥)
yolov2b:Bbox S:sigmod t:偏移 G:Grid A:AnchorBox
bx=S(tx)+Gx
by=S(ty)+Gy
bw=Aw*e^tw
bh=Ah*e^th
2016\12\15Joseph Redmon(小马哥)
yolov3同上2018\4\28Joseph Redmon(小马哥)
yolov4bx=(2*S(tx)-0.5)+Gx
by=(2*S(ty)-0.5)+Gy
bw=Aw*e^tw
bh=Ah*e^th
2020\4\24Alexey Bochkovskiy(俄罗斯)
yolov5bx=(2*S(tx)-0.5)+Gx
by=(2*S(ty)-0.5)+Gy
bw=Aw*(2*S(tw))^2
bh=Ah*(2*S(th))^2
2020\5\27Glenn Jocher(没论文、ultralytics团队)
yolov6bx=(2*S(tx)-0.5)+Gx
by=(2*S(ty)-0.5)+Gy
bw=Aw*e^tw
bh=Ah*e^th
2023\1\13
(论文时间)
‌Chuyi Li(美团)
yolov7bx=(2*S(tx)-0.5)+Gx
by=(2*S(ty)-0.5)+Gy
bw=Aw*e^tw
bh=Ah*e^th
2022\7\7Alexey Bochkovskiy(俄罗斯,和yolov4是同一人)
yolov8bx=(2*S(tx)-0.5)+Gx
by=(2*S(ty)-0.5)+Gy
bw=Aw*(2*S(tw))^2
bh=Ah*(2*S(th))^2
2023\1\10Glenn Jocher(没论文、ultralytics团队,和yolov5是同一人)

YOLO系列优势和不足

yolo优势与不足问题
yolov1优势:与二阶段检测算法相比,利用直接回归的方式,大大缩小了计算量,提升了运行速度。
不足:每一个网格仅2个预测框,当存在多物体密集挨着的时候或者小目标的时候,检测效果不好。
yolov2优势:利用passthrough操作对高低层语义信息进行融合,在一定程度上增强了小目标的检测能力。采用小卷积核替代7x7大卷积核,降低了计算量。同时改进的位置偏移的策略降低了检测目标框的难度。
不足:尚未采用残差网络结构。且当存在多物体密集挨着的时候或者小目标的时候,检测效果有待提升。
1、为什么加⼊了BN层后,就不再需要再使⽤drop out?
  答:因为BN层是将每⼀个神经元转换为均值为0偏差为1的数字,所以其⽅差较⼩,⽽
drop out会丢弃⼀部分神经元,导致⽅差过⼤,造成信息丢失,所以不能两者同时使⽤.
yolov3优势:基本解决了小目标检测的问题,在速度和精度上实现了较好的平衡。IOU-->GIOU-->DIOU-->CIOU:CIOU在DIOU(面积+中心点的距离)的基础上增加了宽高比
Focal Loss
yolov4优势:对比v3和v4版本,在COCO数据集上,同样的FPS等于83左右时,Yolov4的AP是43,而Yolov3是33,直接上涨了10个百分点。
yolov5集大成者数据增强:
七分数据、三分算法
样本越多,多样性越好,平衡性,模型训练会越好
yolov6对耗时做了进一步的优化,进一步提升YOLO检测算法性能。
yolov7参数量和计算量大幅度减少,但性能仍能保持少量的提升。使用重参数化
yolov8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值