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