最全的YOLO系列汇总【个人笔记】

本文记录不同yolo的特点(如有不对的地方,请帮忙指出,谢谢)

细节请自行查看相关论文~

  1. yolov3: anchor-based,一个网格点只能预测一个物体,即预测该物体的正样本数目只有一个;
  2. yolov4: anchor-based
    1. 输入端:这里指的创新主要是训练时对输入端的改进,主要包括Mosaic数据增强、cmBN、SAT自对抗训练
    2. BackBone主干网络:将各种新的方式结合起来,包括:CSPDarknet53、Mish激活函数、Dropblock
    3. Neck:目标检测网络在BackBone和最后的输出层之间往往会插入一些层,比如Yolov4中的SPP模块、FPN+PAN结构
    4. Head: 一体头,同时预测分类和回归
    5. 标签分配策略: 简单来说选取与gt具有最大iou的anchor,用这个anchor来回归bbox
    6. Prediction: CIOU_Loss和其他
      注意: yolov4与yolov3相同,一个网格点预测一个物体。
  3. yolov5: anchor-based
    1. 输入端:Mosaic数据增强、自适应锚框计算、自适应图片缩放
    2. Backbone:Focus结构,CSP结构
    3. Neck:FPN+PAN结构
    4. Head: 一体头,同时预测分类和回归
    5. 标签分配策略: 与yolov4相比,不同之处在于不止选择最大iou的anchor,还选着了其他较大iou的anchor,让它们一起回归预测
    6. Prediction:GIOU_Loss和其他
      注意: 不同于yolov3/v4,其GT可以跨层预测,即可以用多个网格点预测同一个物体。增加正样本数目。
  4. yolov6: anchor-free
    1. Backbone: EfficientRep
    2. Neck: Rep-PAN
    3. Head: Decoupled Head,分别预测分类和回归。
    4. Prediction:SIOU_Loss和其他
    5. 标签分配策略:SimOTA
      注意: yolov6也可以用多个网格点预测同一个物体。增加正样本数目。
  5. yolov7: anchor based
    1. backbone: ELAN
    2. Neck: FPN+PAN结构
    3. Head: 一体头,同时预测分类和回归
    4. Prediction:lead head和auxiliary head多层次监督训练和其他损失
    5. 标签分配策略:SimOTA
      注意: yolov7可以用多个网格点预测同一个物体。增加正样本数目。
  6. yolox: anchor-free
    1. backbone: darknet
    2. Neck: FPN+PAN结构
    3. Head: Decoupled Head,分别预测分类和回归
    4. Prediction:Iou_loss or Giou_loss和其他
    5. 标签分配策略:SimOTA
      注意: yolox可以用多个网格点预测同一个物体。增加正样本数目。
  7. scaled-yolov4: yolov4的基础上探索了模型的缩放,如深度、宽度、分辨率等。(因为它是基于yolov4的,我没找到具体的模型图,下面的结构是我估计的,若是不对,请读者指出)
    1. backbone: darknet
    2. Neck: FPN+PAN结构
    3. Head: 一体头,同时预测分类和回归
    4. Prediction:CIOU_Loss和其他
    5. 标签分配策略: 简单来说选取与gt具有最大iou的anchor,用这个anchor来回归bbox
      一个网格点预测一个物体?
  8. yolor: 在scaled-yolov4的基础上,加入了隐性知识的学习。(因为它是基于scaled-yolov4的,我没找到具体的模型图,下面的结构是我估计的,若是不对,请读者指出)
    1. backbone: darknet
    2. Neck: FPN+PAN结构
    3. Head: 一体头,同时预测分类和回归
    4. Prediction:CIOU_Loss和其他
    5. 标签分配策略: 简单来说选取与gt具有最大iou的anchor,用这个anchor来回归bbox
      一个网格点预测一个物体?
  9. yolof: 丢弃了fpn,设计了新的neck,指出FPN最成功之处在于将优化问题分治的策略而不是多尺度特征融合。
    1. backbone: RetinaNet
    2. Neck: 膨胀编码器,膨胀卷积和普通卷积
    3. Head: Decoupled Head,分别预测分类和回归
    4. Prediction:未知
    5. 标签分配策略: 采用最接近的gt的k个anchor作为正anchor。
      多个网格点预测同一个物体。增加正样本数目。
  10. ppyolo ppyolov2 ppyoloe ppyoloe+: 都是百度出品的,这里只介绍ppyoloe,anchor-free。
    1. backbone: repcspnet
    2. Neck: FPN+PAN结构
    3. Head: 也是Decoupled Head,但不是普通的解耦头,是task-aligned head(T-head)
    4. Prediction:正负样本分类varifocal loss+回归GIoULoss+bbox回归的l1 loss+限制分布的损失DF Loss
    5. 标签分配策略: Task-Aligned Sample Assignment。
      多个网格点预测同一个物体。增加正样本数目。
  11. yolos:基于transformer的目标检测,略~
  12. yolop:分割的,略~

有什么最新的有名的yolo,欢迎补充,本文对您有用的话,点个赞和收藏吧,谢谢

你可能感兴趣的